//*** Extend the string object's capacity

//trim spaces before or after the string
String.prototype.trim = function()
{
    // 用正则表达式将前后空格
    // 用空字符串替代。
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

//get the length of the string in which it's length double when the char is chinese
String.prototype.byteLength = function(){
	var iOriginalLen = this.length;
	var iActualLen = iOriginalLen;
	for (var iChar=0;iChar<iOriginalLen;iChar++){
		if (this.charCodeAt(iChar)<0 || this.charCodeAt(iChar)>255) iActualLen++;
	}
	return iActualLen++;
}

























// Login Page
function ViewLoginPage(sUrl, sWinName){
	if(!sUrl) sUrl = "/none.htm";
	if(!sWinName) sWinName = "LoginForm";
	//var sWinName = "";
	var iW = 350;
	var iH = 180;
	
	var ViewLoginPageWin = OpenWin(sUrl, sWinName, iW, iH, true);
	if(ViewLoginPageWin && ViewLoginPageWin.focus) ViewLoginPageWin.focus();
	return true;
}






// Open New Browser Window
function OpenWin(sUrl, sWinName, iW, iH, bNoScroll, bFullWin){
	if(!sUrl && sUrl!="") return false;
	if(!bFullWin) bFullWin = false;
	if(!sWinName) sWinName = "";
	if(!iW){ iW = 450;}else{  iW = parseInt(iW)}
	if(!iH){ iH = 500;}else{  iH = parseInt(iH)}
		
	var iLPos = parseInt((window.screen.width-iW)/2);
	var iTPos = parseInt((window.screen.height-iH)/2);
	var sScroll = "yes";
	if(bNoScroll==true) sScroll = "no";
	if(!bFullWin){
		return window.open(sUrl, sWinName, "scrollbars="+sScroll+",width="+iW+",height="+iH+",resizable=no,top="+iTPos+",left="+iLPos);
	}else{/*
		var oFullWin = window.open("", sWinName, "fullscreen=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width="+iW+",height="+iH);
		oFullWin.resizeTo( Math.ceil(iW), Math.ceil(iH) );
		oFullWin.moveTo  ( Math.ceil( iLPos ) , Math.ceil( iTPos ) );
		//if(oWin) return oWin;
		if(oFullWin){
			oFullWin.document.open("text/html", "replace");
			oFullWin.document.write("<html>");
		//	oFullWin.document.write("<style type='text/css'>\n body                  { border: 1px solid #000000; overflow: hidden; margin: 0pt;}");
		//	oFullWin.document.write("#stillloadingDiv 	{ position: absolute; left: 0px; top: 0px; width: 100%px; height: 19px; z-index: 1; background-color: #C0C0C0; layer-background-color: #C0C0C0; clip:rect(0,100%,19,0);}");
		//	oFullWin.document.write("</style>\n");
			oFullWin.document.write("<body onload=\"top.document.location.replace('" + escape(sUrl) + "')\" TOPMARGIN=0 LEFTMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 scroll='no'>");
		//	oFullWin.document.write("<div id=stillloadingDiv><table width=100% height=22 cellspacing=0 cellpadding=0><tr><td align=left valign=middle width=100%><FONT size=1 face=verdana color=#000000>&nbsp;&nbsp;loading ...</font></td></tr></table></div>");
			oFullWin.document.write("</body></html>");
			oFullWin.document.close();
			return oFullWin;
		}*/
		return window.open(sUrl, sWinName, "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width="+iW+",height="+iH+",top="+iTPos+",left="+iLPos);
	}
}








//Goto a URL with parameters sent by post method(with form)
function SendWithForm(sFormName, sURL, sTargetName){
	if(!sFormName) sFormName = "SendingDataFm";
	if(!sURL) sURL = "";
	if(!sTargetName) sTargetName = "_self";
	
	var aPara = SendWithForm.arguments;
	if((aPara.length-3)%2==0){
		var sHTMLCode = "<form name=\""+sFormName+"\" method=\"post\" action=\""+sURL+"\" target=\""+sTargetName+"\">";
		for(var iEle=3; iEle<aPara.length; iEle+=2){
			sHTMLCode += "<input type=\"hidden\" name=\""+aPara[iEle]+"\" value=\""+aPara[iEle+1] +"\">";
		
		}
		sHTMLCode += "</form>";
		
		if(!document || !document.body){
			document.write("<html><head><title></title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=big5\"></head><body></body></html>");
		}
		
		document.body.insertAdjacentHTML("beforeEnd", sHTMLCode);
		var oForm;
		if(oForm=MM_findObj(sFormName)){
			oForm.submit();
		}
		
		oForm.outerHTML = "";
		return true;
	}else{
		alert("Wrong number of arguments!");
		return false;
	}
}












function publicCheckForm(hForm){
	var vReturnObj = new Object();
	vReturnObj.elements = new Array();
	
	/* -- instruction --
	*
	* ** textFormat: text format of the inputed value, such as "email" or "tel", for validating the format of the inputed value
	*
	* ** required: If the element must be inputed or selected, the required property must be set with "true", "yes" or "1";
	*	value of text type of elements must not be empty; value of selection type of elements must not be "-1"
	*
	*/
	
	var oSubmitOK;
	for(var iNum=0; iNum<hForm.elements.length; iNum++){
		var bChecked = false;
		var bRequired = false;
		var oRE;
		var oEle = hForm.elements[iNum];
		var sEleType = oEle.type.toLowerCase();
		var sValue = oEle.value.trim();
		//text, password, button, submit, reset, select-one, file, radio, checkbox
		
		
		if(oEle.maxLength && oEle.value.trim().byteLength()>oEle.maxLength){
			bChecked = true;
			alert("Exceeding-length of the string in the text box!");
			oEle.focus();
			return(false);
		}
		
		if(oEle.required){
			oEle.required = oEle.required.toLowerCase();
			if(oEle.required=="true" || oEle.required=="yes" || oEle.required=="1")
				bRequired = true;
		}
		if(bRequired){
			bChecked = true;
			if(sEleType=="select-one"){
				var iIndex = oEle.selectedIndex;
				sValue = oEle.options[iIndex].value.trim();
				if(sValue=="-1"){
					alert("请在下拉菜单中选择一个项目");
					oEle.focus();
					return(false);
				}
			}else if(sValue==""){
				alert("此栏为必填项，请输入相关信息。");
				oEle.focus();
				return(false);
			}
		}
		
		if(oEle.value.trim()!="" && oEle.textFormat && oEle.textFormat.toLowerCase().substr(0,6)=="number"){
			bChecked = true;
			if( isNaN(oEle.value) ){
				alert("请输入数值");
				oEle.focus();
				return(false);
			}else{
				var sLimit = oEle.textFormat.substr(6).trim();
				if(sLimit!=""){
					oRE = /^\s*\{(\d+)\,(\d+)\}\s*$/gi;
					if( oRE.exec(sLimit) ){
						var iLowValue = parseInt(RegExp.$1, 10);
						var iHignValue = parseInt(RegExp.$2, 10);
						var iInputNum = parseInt(oEle.value, 10);
						if(iInputNum<iLowValue || iInputNum>iHignValue){
							alert("超出允许输入的数值范围{0,23}");
							oEle.focus();
							return(false);
						}
					}else{
						alert("Invalid attribute textFormat");
						oEle.focus();
						return(false);
					}
				}
			}
		}
		
		if(oEle.value.trim()!="" && oEle.textFormat && oEle.textFormat.toLowerCase()=="email"){
			bChecked = true;
			oRE = /^\w[\w.-]+@\w+(\.\w{2,})+$/gi;
			if( !oRE.test(oEle.value) ){
				alert("The format sample of Email text: account@servername.com.hk");
				oEle.focus();
				return(false);
			}
		}
		
		if(oEle.value.trim()!="" && oEle.textFormat && oEle.textFormat.toLowerCase()=="tel"){
			bChecked = true;
			oRE = /^(\d{2,4}-)*(\d{6,15})(-\d{1,4})?$/gi;
			if( !oRE.test(oEle.value) ){
				alert("电话(传真)号码格式为: 123456 或 86-020-1234567-102");
				oEle.focus();
				return(false);
			}
		}
		
		if(oEle.value.trim()!="" && oEle.textFormat && oEle.textFormat.toLowerCase()=="datetime"){
			oRE = /^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/gi;
			if( !oRE.test(oEle.value) ){
				alert("日期时间格式例子: 2000-12-30 21:30:56");
				oEle.focus();
				return(false);
			}
		}
		
		if(oEle.value.trim()!="" && oEle.textFormat && oEle.textFormat.toLowerCase().indexOf("date")!=-1){
			bChecked = true;
			if(oEle.textFormat.toLowerCase()=="date"){
				oRE = /^(\d{4})-(\d{1,2})-(\d{1,2})$/gi;
			}else{
				oRE = /^(\d{4})-(\d{1,2})-(\d{1,2})/gi;
			}
			if( !oRE.test(oEle.value) ){
				alert("日期格式例子: 2000-12-30");
				oEle.focus();
				return(false);
			}else{
				oRE.exec(oEle.value);
				var iYear = parseInt(RegExp.$1);
				var iMonth = parseInt(RegExp.$2);
				var iDay = parseInt(RegExp.$3);
				var iEndDay;
				if(iYear<1950 || iYear>( (new Date()).getFullYear() )){
					alert("非法年份");
					oEle.focus();
					return(false);
				}
				if(iMonth<1 || iMonth>12){
					alert("非法月份");
					oEle.focus();
					return(false);
				}
				switch(iMonth){
					case 1:
					case 3:
					case 5:
					case 7:
					case 8:
					case 10:
					case 12:
						iEndDay = 31;
						break;
						case 4:
						case 6:
					case 9:
					case 11:
						iEndDay = 30;
						break;
					case 2:
						if(iYear%4==0){iEndDay = 29;}else{iEndDay = 28;}
				}
				if(iDay<1 || iDay>iEndDay){
					alert("非法日期");
					oEle.focus();
					return(false);
				}
			}
		}
		
		if(oEle.value.trim()!="" && oEle.textFormat && oEle.textFormat.toLowerCase().indexOf("time")!=-1){
			bChecked = true;
			if(oEle.textFormat.toLowerCase()=="time"){
				oRE = /^(\d{1,2}):(\d{1,2}):(\d{1,2})$/gi;
			}else{
				oRE = /(\d{1,2}):(\d{1,2}):(\d{1,2})$/gi;
			}
			if( !oRE.test(oEle.value) ){
				alert("时间格式例子: 21:30:56");
				oEle.focus();
				return(false);
			}else{
				oRE.exec(oEle.value);
				var iHour = parseInt(RegExp.$1);
				var iMinute = parseInt(RegExp.$2);
				var iSecond = parseInt(RegExp.$3);
				if(iHour<0 || iHour>23){
					alert("非法 '时' 数值");
					oEle.focus();
					return(false);
				}
				if(iMinute<0 || iMinute>59){
					alert("非法 '分' 数值");
					oEle.focus();
					return(false);
				}
				if(iSecond<0 || iSecond>59){
					alert("非法 '秒' 数值");
					oEle.focus();
					return(false);
				}
			}
		}
		
		if(oEle.value.trim()!="" && oEle.textFormat && oEle.textFormat.toLowerCase()=="encryptfile"){
			bChecked = true;
			//if(!oEle.encryptedFilePath || !oEle.keyFilePath){
			if(!oEle.disabled){
				alert("The file must be encrypted first!");
				oEle.focus();
				return(false);
			}
		}
		
		if(oEle.textFormat && oEle.textFormat.toLowerCase()=="nosubmit"){
			bChecked = true;
			oEle.disabled = true;
		}
		
		
		if(oEle.fieldType){
			bChecked = true;
			switch(oEle.fieldType){
				case "VARYING":
					
					break;
				case "TIMESTAMP":
					oRE = /^(\d{4}-\d{1,2}-\d{1,2})?(#)?(\d{4}-\d{1,2}-\d{1,2})?$/;
					if( oEle.value!="" ){
						if( !oRE.test(oEle.value) ){
							alert("This date-time field inputing format: [StartTime]#[EndTime]\nSample: 2002-1-1#2002-12-30");
							oEle.focus();
							return(false);
						}else{
							oRE.exec(oEle.value);
							if( (RegExp.$1!="" && !valiDate(RegExp.$1, "-")) || (RegExp.$3!="" && !valiDate(RegExp.$3, "-")) ){
								oEle.focus();
								return(false);
							}
						}
					}
					break;
				case "BLOB":
					//if(oEle.value!=""){
					//	alert("This field can't be inputed.");
					//	oEle.focus();
					//	return(false);
					//}
					break;
				case "LONG":
					if(isNaN(oEle.value) || oEle.value.indexOf(".")!=-1){
						alert("This field must be enter with integer.");
						oEle.focus();
						return(false);
					}
					break;
				case "DOUBLE":
					if(isNaN(oEle.value)){
						alert("This field must be enter with number.");
						oEle.focus();
						return(false);
					}
					break;
			}
		}
		
		if(oEle.name=="SubmitOK"){
			oSubmitOK = oEle;
		}
		//eval("vReturnObj.abc=\"\\\"123\"");
	}
	
	
	//if(!bSubmitOKAdded){
	if(!oSubmitOK){
		oSubmitOK = document.createElement("INPUT");
		oSubmitOK.type = "hidden";
		oSubmitOK.name = "SubmitOK";
		hForm.appendChild(oSubmitOK);
	}
	
	//vReturnObj = null;
	vReturnObj.SubmitOK = oSubmitOK;
	vReturnObj.elements[vReturnObj.elements.length] = oSubmitOK;
	return(vReturnObj);
}







function valiDate(sDT, dtSpliter, noAlert){
	var aDate = sDT.split(dtSpliter);
	if( aDate.length!=3 ){
		if(!noAlert) alert("Wrong date format");
		return(false);
	}
	if( aDate[0].length!=4 || isNaN(aDate[0]) ){
		if(!noAlert) alert("4-digit year number is needed.");
		return(false);
	}
	if( aDate[1].length>2 || isNaN(aDate[1]) || (parseInt(aDate[1], 10)<1 || parseInt(aDate[1], 10)>12) ){
		if(!noAlert) alert("Wrong month number");
		return(false);
	}
	if( aDate[2].length>2 || isNaN(aDate[2]) ){
		if(!noAlert) alert("Wrong day number");
		return(false);
	}else{
		var sBigMon = "-1-3-5-7-8-10-12-";
		var iMonEndDay = 30;
		if( aDate[1]=="2" ){
			if( (parseInt(aDate[0], 10)%4)==0 ){
				iMonEndDay = 29;
			}else{
				iMonEndDay = 28;
			}
		}else if(sBigMon.indexOf("-"+aDate[1]+"-")!=-1){
			iMonEndDay = 31;
		}
		var iDay = parseInt(aDate[2], 10);
		if( iDay<1 || iDay>iMonEndDay ){
			if(!noAlert) alert("Wrong day number");
			return(false);
		}
	}
	return(true);
}








// set the opition(whose value is equal to the designated one) in the list box selected
function setDefaultIndex(oSelect, sEqualValue){
	for(var iNum=0; iNum<oSelect.options.length; iNum++){
		var oOp = oSelect.options[iNum];
		if(oOp.value==sEqualValue){oOp.selected = true;}
	}
}












// Menu Link swaping
function MM_findObj(n, d) { //v4.0
  var p,i,x;
  if(!d){ d=document;}
  if((p=n.indexOf("?"))>0 && parent.frames.length) {
    	d=parent.frames[n.substring(p+1)].document;
    	n=n.substring(0,p);
  }
  /*if(!(x=d[n])&&d.all){
  	x=d.all[n];alert(n);
  }*/
  if(d.all){ x = d.all[n]; }
  
  for (i=0;!x&&i<d.forms.length;i++){ x=d.forms[i][n];}
  for(i=0;!x&&d.layers&&i<d.layers.length;i++){ x=MM_findObj(n,d.layers[i].document);}
  if(!x && document.getElementById){ x=document.getElementById(n);}
  return x;
}









function getAdjacentElement(oEle, iOffset){
	var iIndex = -1;
	var oForm = oEle.form;
	if(!iOffset) iOffset = 0;
	for(var iNum=0; iNum<oForm.elements.length; iNum++){
		if(oForm.elements[iNum]===oEle){
			iIndex = iNum;
		}
	}
	if(iIndex==-1){
		return(null);
	}
	var iNewIndex = iIndex + iOffset;
	if(iNewIndex<0 || iNewIndex>=oForm.elements.length){
		return(null);
	}
	return(oForm.elements[iNewIndex]);
}













// Get current tag's absolute position in the document
function AbsPosition(oTagObj){
	if(!oTagObj || !oTagObj.tagName){
		//var oErr = new Error(-1, "Invalid parameter! A html dom tag object is needed.");
		return null;
	}
	
	var iMh = oTagObj.offsetHeight;
	var iMw = oTagObj.offsetWidth;
	var iMl = 0;
	var iMt = 0;
	var oParent = oTagObj;
	do{
		iMl += oParent.offsetLeft;
		iMt += oParent.offsetTop;
		if (!oParent.offsetParent) {break;}
		oParent = oParent.offsetParent;
	}while (oParent.tagName.toUpperCase() != "BODY")
	
	this.left = iMl;
	this.right = iMl + iMw;
	this.top = iMt;
	this.bottom = iMt + iMh;
	this.width = iMw;
	this.height = iMh;
	this.properties = "left, right, top, bottom, width, height";
	this.methods = "none";
	
	return this;
}












// 将物体1置于物体2的中间，取物体1的坐标
function setMiddlePosition(oToSet, oReferTo){
	if(!oToSet || !oToSet.tagName || !oReferTo || !oReferTo.tagName){
		alert("2 HTML DOM tag objects are needed");
		return false;
	}
	
	var iToSet_w = oToSet.offsetWidth;
	var iToSet_h = oToSet.offsetHeight;
	
	var iReferTo_w = oReferTo.offsetWidth;
	var iReferTo_h = oReferTo.offsetHeight;
	var iReferTo_t = 0;
	var iReferTo_l = 0;
	if(oReferTo.tagName.toUpperCase() != "BODY"){
		var oAP = new AbsPosition(oReferTo);
		iReferTo_t = oAP.top;
		iReferTo_l = oAP.left;
		oAP = null;
	}
	var iReferTo_scrollLeft = 0;
	var iReferTo_scrollTop = 0;
	if(oReferTo.scrollLeft && oReferTo.scrollTop){
		iReferTo_scrollLeft = oReferTo.scrollLeft;
		iReferTo_scrollTop = oReferTo.scrollTop;
	}
	
	
	oToSet.style.left = Math.round(iReferTo_l + (iReferTo_w - iToSet_w)/2 + iReferTo_scrollTop)+"px";
	oToSet.style.top  = Math.round(iReferTo_t + (iReferTo_h - iToSet_h)/2 + iReferTo_scrollTop)+"px";
}





//Show hide the list
function AdjustRow(rowID, action){
	var oFs = parent.DBViewer;
	if(!oFs){return(false)}
	var rows;
	if(oFs.rows){
		rows = oFs.rows.split(",");
	}
	if(oFs.cols){
		rows = oFs.cols.split(",");
	}
	var iNormalSize = Math.round(100/rows.length*10)/10 + "%";
	if(rowID>=rows.length || rowID<0){
		alert("Invalid frame-row number");
		return(false)
	}
	switch(action.toLowerCase()){
		case "max":
			for(var iNum=0; iNum<rows.length; iNum++){
				rows[iNum] = "13";
			}
			rows[rowID] = "*";
			break;
		case "mid":
			if(rows[rowID]!="*"){
				rows[rowID] = iNormalSize;
			}else{
				for(var iNum=0; iNum<rows.length; iNum++){
					rows[iNum] = iNormalSize;
				}
			}
			break;
		case "min":
			for(var iNum=0; iNum<rows.length; iNum++){
				rows[iNum] = "*";
			}
			rows[rowID] = "13";
			break;
	}
	if(oFs.rows){
		oFs.rows = rows.join(",");
	}
	if(oFs.cols){
		oFs.cols = rows.join(",");
	}
	
}







// get cookie data
function GetCookie(CookieName, CookieKey){
	// cookies are separated by semicolons
	var aCookie = document.cookie.split(";");
    	// a name/value pair (a crumb) is separated by an equal sign
	var aCrumb = new Array(2);
	for(var i=0; i < aCookie.length; i++){
		var ckRE = /\s*(\w+)=(\S*)/gi;
		ckRE.exec(aCookie[i]);
		//if (CookieName == aCrumb[0].trim())
		aCrumb[0] = RegExp.$1;
		aCrumb[1] = RegExp.$2;
		//alert(aCrumb[0]);
		if(CookieName==aCrumb[0]){
			if(!CookieKey){
				return(unescape(aCrumb[1]));
			}else{
				if(aCrumb[1].indexOf("=")==-1){
					// no keys in the cookie
					return(null);
					//return("no keys");
				}else{
					//get cookie from sub-key
					var aCookieKey = aCrumb[1].split("&");
					for(var j=0; j < aCookieKey.length; j++){
						ckRE = /\s*(\w+)=(\S*)/gi;
						ckRE.exec(aCookieKey[j]);
						aCrumb[0] = RegExp.$1;
						aCrumb[1] = RegExp.$2;
						//alert(aCrumb[0] + ":" + aCookieKey[j]);
						if(CookieKey==aCrumb[0]){
							//return(DecodeCookie(unescape(aCrumb[1])));
							return(unescape(aCrumb[1]));
						}
					}
				}
			}
		}
	}
	
	// a cookie with the requested name does not exist
	return(null);
	//return("no cookie");
}

//Set cookie data
function SetCookie(CookieName, CookieKey, CookieValue){
	var cookieset = false;
	// cookies are separated by semicolons
	var aCookie = document.cookie.split(";");
    	// a name/value pair (a crumb) is separated by an equal sign
	var aCrumb = new Array(2);
	for(var i=0; i < aCookie.length; i++){
		var ckRE = /\s*(\w+)=(\S*)/gi;
		ckRE.exec(aCookie[i]);
		//if (CookieName == aCrumb[0].trim())
		aCrumb[0] = RegExp.$1;
		aCrumb[1] = RegExp.$2;
		if(CookieName==aCrumb[0]){
			if(!CookieKey){
				aCrumb[1] = escape(CookieValue);
				cookieset = true;
			}else{
				if(aCrumb[1].indexOf("=")!=-1){
					//get cookie from sub-key
					var aCookieKey = aCrumb[1].split("&");
					var aCrumbKey = new Array(2);
					for(var j=0; j < aCookieKey.length; j++){
						ckRE = /\s*(\w+)=(\S*)/gi;
						ckRE.exec(aCookieKey[j]);
						aCrumbKey[0] = RegExp.$1;
						aCrumbKey[1] = RegExp.$2;
						//alert(aCrumb[0] + ":" + aCookieKey[j]);
						if(CookieKey==aCrumbKey[0]){
							aCrumbKey[1] = escape(CookieValue);
							aCookieKey[j] = aCrumbKey.join("=");
							aCrumb[1] = aCookieKey.join("&");
							cookieset = true;
							break;
						}
					}
					if(!cookieset){
						aCrumbKey[0] = CookieKey;
						aCrumbKey[1] = escape(CookieValue);
						aCookieKey[j] = aCrumbKey.join("=");
						aCrumb[1] = aCookieKey.join("&");
						cookieset = true;
					}
				}
			}
			
			if(i>0) aCrumb[0] = " " + aCrumb[0];
			aCookie[i] = aCrumb.join("=");
			break;
		}
	}
	if(!cookieset){
		aCrumb[0] = CookieName;
		if(!CookieKey){
			aCrumb[1] = escape(CookieValue);
		}else{
			var aCrumbKey = new Array(2);
			aCrumbKey[0] = CookieKey;
			aCrumbKey[1] = escape(CookieValue);
			aCrumb[1] = aCrumbKey.join("=");
		}
		aCookie[aCookie.length-1] = aCrumb.join("=");		// should be 'length-1', I don't know why
		cookieset = true;
	}
	
	//cant find the corresponding cookie
	//if(i==aCookie.length);
	var cookies = aCookie.join("; ");
	document.cookie = cookies;//escape(cookies);
	//document.cookie = "";
	return(cookies);
}


function clearCookie(CookieName){
	// cookies are separated by semicolons
	var aCookie = document.cookie.split(";");
	var newCookies = new Array(aCookie.length-1);
	var newCookieNum = 0;
	var removeCookieOK = false;
    	// a name/value pair (a crumb) is separated by an equal sign
	var aCrumb = new Array(2);
	for(var i=0; i < aCookie.length; i++){
		var ckRE = /\s*(\w+)=(\S*)/gi;
		ckRE.exec(aCookie[i]);
		//if (CookieName == aCrumb[0].trim())
		aCrumb[0] = RegExp.$1;
		aCrumb[1] = RegExp.$2;
		//alert(aCrumb[0]);
		if(CookieName!=aCrumb[0]){
			newCookies[newCookieNum++] == aCookie[i];
		}else{
			removeCookieOK = true;
		}
	}
	
	var cookies;
	if(removeCookieOK){
		cookies = newCookies.join(";");
	}else{
		cookies = aCookie.join(";");
	}
	document.cookie = cookies;
	return(cookies);
}
/*
//暂无效---
//cookie中文编码程序：
function CodeCookie(str)
{
　var strRtn="";

　for (var i=str.length-1;i>=0;i--)
　{
　　strRtn+=str.charCodeAt(i);
　　if (i) strRtn+="a"; //用a作分隔符
　}
　return strRtn;
}

//cookie中文解码程序：
function DecodeCookie(str)
{
　var strArr;
　var strRtn="";

　strArr=str.split("a");

　for (var i=strArr.length-1;i>=0;i--) 
　strRtn+=String.fromCharCode(eval(strArr[i]));

　return strRtn;
}
*/







function WinSizeAdapter(){
	var oBody = window.document.body;
	var oTable = oBody.firstChild;
	
	//check if the window is opened with specific width and height
	if(window.name && window.opener && !window.opener.closed && window.opener.location.hostname==window.location.hostname){
		return false;
	}
	
	if(oBody.offsetWidth<=800 && oBody.firstChild && oBody.firstChild.tagName=="TABLE"){
		oTable.width = "778";
	}else if(oBody.firstChild && oBody.firstChild.tagName=="TABLE" && oTable.width=="778"){
		oTable.width = "100%";
	}
}

//window.attachEvent("onresize",WinSizeAdapter);





function keyDown(){
	if(event.keyCode==78&&event.ctrlKey){
		return(false);
	}	     
}
document.attachEvent("onkeydown",keyDown);
//document.attachEvent("oncontextmenu",function(){return(false)});