﻿function $() {
	return document.getElementById(arguments[0]);
}

function $G() {
	return document.getElementById(arguments[0]);
}

function LTrim(str){
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1){
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1){
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}
function RTrim(str){
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
	if (whitespace.indexOf(s.charAt(s.length-1)) != -1){
	    var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1){
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}
function Trim(str){
	return RTrim(LTrim(str));
}

function genTxtIsNull(strTxt){
	if( strTxt==null || strTxt=="" ){
		return true;
	}else if (Trim(strTxt)==""){
		return true;
	}else{
		return false;
	}
}

function HTMLEncode(sVal) {
	if ( typeof( sVal ) != "string" ) {
		sVal = sVal.toString() ;
	}
	sVal = sVal.replace(/\n/g, "<br />");
	return sVal ;
}
function HTMLDecode(sVal) {
	if ( typeof( sVal ) != "string" ) {
		sVal = sVal.toString() ;
	}
	sVal = sVal.replace(/&amp;/g, "&") ;
	sVal = sVal.replace(/&quot;/g, '"') ;
	sVal = sVal.replace(/&lt;/g, "<") ;
	sVal = sVal.replace(/&gt;/g, ">") ;
	sVal = sVal.replace(/&#39;/g, "'") ;
	return sVal ;
}

// 显示倒计时
function genShowCountDown(strExpireTime,strContainHtmlID){
	if( $(strContainHtmlID)!=null){
		var dtExpire=new Date(strExpireTime);
		var dtNow=new Date();
		var nTimeDiff=(dtExpire.getTime()-dtNow.getTime());
		var nDiffSecond=nTimeDiff/1000
		var strSecondDiff=Math.floor(nDiffSecond);
		var nPerDay=24*60*60*1000
		var nDiffDays=nTimeDiff/nPerDay
		var strDaysOldDiff=Math.floor(nDiffDays);
		var strHrsDiff=(nDiffDays-strDaysOldDiff)*24;
		var strHrsOldDiff=Math.floor(strHrsDiff);
		var strMinDiff=(strHrsDiff-strHrsOldDiff)*60;
		var strMinOldDiff=Math.floor((strHrsDiff-strHrsOldDiff)*60);
		var strSecDiff=Math.floor((strMinDiff-strMinOldDiff)*60);
		if (strDaysOldDiff<0 || strHrsOldDiff<0 || strMinOldDiff<0 || strSecDiff<0) {
			$(strContainHtmlID).innerHTML=genLang.HasExpire
			return;
		}
		$(strContainHtmlID).innerHTML=strDaysOldDiff+genLang.Day+strHrsOldDiff+genLang.Hour+strMinOldDiff+genLang.Minute+"<span class='COMMON_CountDown_Second_span'>"+strSecDiff+"</span>"+genLang.Second;
		window.setTimeout("genShowCountDown('"+strExpireTime+"','"+strContainHtmlID+"')", 1000);
	}
}

function genIsNumber(oNum) {
	if(!oNum) return false;
	var strP=/^\d+(\.\d+)?$/;
	if(!strP.test(oNum)) return false;
	try{
		if(parseFloat(oNum)!=oNum) return false;
	} catch(ex) {
		return false;
	}
	return true;
}

function genIsValidUserName(strNick)
{
	var patrn=/^[A-Za-z][A-Za-z0-9_]+[A-Za-z0-9]$/;
	if (!patrn.exec(strNick)){
		alert(genLang.AlertInvalidNick);
		return false;
	}else{
		return true;
	}
}

function genHtmlIsBlank(strText)
{
	var patrn=/^<+[Pp]+>+[&#160;]+<+\/[Pp]+>$/;
	if (!patrn.exec(strText)){
		return false;
	}else{
		return true;
	}
}

function genIsValidEmail(strEmail){
	var patrn=/^[\w-\.]+@([\w-]+\.)+[a-zA-Z]{2,4}$/;
	if (!patrn.exec(strEmail)){ 
		alert(genLang.AlertInvalidEmail);
		return false;
	}else{
		return true;
	}	
}

function genCreateCookie(name,value,days) {
	var expires;
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
    	expires= "; expires="+date.toGMTString();
	}else{
		expires = "";
	}
	document.cookie = name+"="+value+expires+"; path=/";
}

function genReadCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function genEraseCookie(name) {
	genCreateCookie(name,"",-1);
}

function genCopyText(obj) {
	ie = (document.all)? true:false
	if (ie){
		var rng = document.body.createTextRange();
		rng.moveToElementText(obj);
		rng.scrollIntoView();
		rng.select();
		rng.execCommand("Copy");
		rng.collapse(false);
	}
}

function genGetElementHeight(strHtmlID){
	var emDes=$(strHtmlID);
	var nDesHeight=0;
	if( emDes!=null){
		var strBrowser=navigator.appName;
		if (strBrowser=="Microsoft Internet Explorer"){
			nDesHeight=emDes.currentStyle.height;
		}else{
			nDesHeight=window.getComputedStyle(emDes,null).height;
		}	
		nDesHeight=nDesHeight.substring(0,nDesHeight.length-2);
		nDesHeight=nDesHeight-0;
	}	
	return nDesHeight;
}

function genReCode(strText){
	return String(strText).replace(/\+/g,"%2B");
}

function genEscape(strText){
	return genReCode(encodeURIComponent(strText));
}

function genTextNotNullInit(emParent){
	if( emParent==null) emParent=document;
	var arremText=emParent.getElementsByTagName("INPUT");
	for (i=0;i<arremText.length;i++){
		if (arremText[i].className=="COMMON_NotNull_text") {
			genAddEvent(arremText[i],"focus",genTextNotNullRetClass);
		}
	}
}

function genTextNotNullRetClass(evt){
    evt = evt ? evt : (window.event ? window.event : null);
	if (window.event) {
		if( evt.srcElement.className=="COMMON_Alert_text"){
			evt.srcElement.className="COMMON_NotNull_text";
		}
	}else{
		if( evt.target.className=="COMMON_Alert_text"){
			evt.target.className="COMMON_NotNull_text";
			evt.preventDefault();
		}
	}
}
function genTextCheckNotNull(strParentHtmlID,strParamPrefix){
	var emParent=$(strParentHtmlID);
	if( emParent==null){
		return false;
	}
	
	var arremTemp=emParent.getElementsByTagName("INPUT");	
	var bOK=true;
	var strReqForm="";
	var strParamName="";
	for (i=0;i<arremTemp.length;i++){
		if( arremTemp[i].type=="text" || arremTemp[i].type=="password" ){
			if( (arremTemp[i].className=="COMMON_NotNull_text" || arremTemp[i].className=="COMMON_Alert_text") && (genTxtIsNull(arremTemp[i].value)==true)){
				bOK=false;
				arremTemp[i].className="COMMON_Alert_text";				
			}else{
				if(strParamPrefix==""){
					strParamName=arremTemp[i].id;
				}else{
					strParamName=strParamPrefix+(i+1);
				}
				strReqForm+="&"+strParamName+"="+genEscape(arremTemp[i].value);
			}
		}
	}
	if(bOK==false){
		alert(genLang.AlertNotNull);
		return false;
	}else{
		return strReqForm;
	}
}

function genAddEvent(obj, evenTypeName, fn){
 if (obj.addEventListener){
    obj.addEventListener(evenTypeName, fn, true);
    return true;
 } else if (obj.attachEvent){
    return obj.attachEvent("on"+evenTypeName, fn);
 } else {
    return false;
 }
}
function genRemoveEvent(obj, evenTypeName, fn){
	if (obj.removeEventListener){
		obj.removeEventListener(evenTypeName, fn, true);
		return true;
	} else if (obj.detachEvent){
		var r = obj.detachEvent("on"+evenTypeName, fn);
		return r;
	} else {
		alert("Handler could not be removed");
	}
}

function genRetPromptClear(strHtmlID){
	genDelElement(strHtmlID);
}
function genRetPrompt(strPrompt,strParentHtmlID){
	var emParent=$(strParentHtmlID);
	if( emParent!=null){
		var strPromptHtmlID=strParentHtmlID+"_prompt";
		var emPrompt=$(strPromptHtmlID);
		if(emPrompt!=null){
			emPrompt.innerHTML=strPrompt;			
		}else{
			emParent.innerHTML=emParent.innerHTML+"<div class=\"COMMON_CenterRow_div\" id=\""+strPromptHtmlID+"_out\"><div class=\"COMMON_Prompt_div\" id=\""+strPromptHtmlID+"\">"+strPrompt+"</div></div>";
		}
		var strTemp="genRetPromptClear('"+strPromptHtmlID+"_out')";
		window.setTimeout(strTemp,10000);
	}
}	

function genDrawAvatar(emImage){ 
	var objImage=new Image(); 
	objImage.src=emImage.src;
	alert(objImage.width);
}

function genDrawImage(emImage,nMaxWidth){ 
	var objImage=new Image(); 
	objImage.src=emImage.src;
	if(objImage.width>0 && objImage.height>0 ){
		if( (nMaxWidth<=0 || nMaxWidth==null)){
			nMaxWidth=screen.width*0.7;
		}		
		if(emImage.width>=nMaxWidth){ 
			emImage.width=nMaxWidth;
			emImage.height=(objImage.height*nMaxWidth)/objImage.width;
		}
	}
	//emImage.style.padding='2px';
} 

function genSetElementHeight(strHtmlID,nHeight){
	var emDes=$(strHtmlID);
	if( emDes!=null){
		emDes.style.height=nHeight+"px";
		emDes.style.minHeight=nHeight+"px";				
	}	
}

function genChangeElementDisplay(strHtmlID,bDesStatus) {
	var emDes = $(strHtmlID);
	if (emDes !=null) {
		if (bDesStatus==true) {
			emDes.style.display="";	
		} else {
			emDes.style.display="none";
		}	
	}
}
function genSwitchElementDisplay(strHtmlID) {
	$(strHtmlID).style.display = $(strHtmlID).style.display == "none" ? "" : "none";
}

function genChangeElementBold(strHtmlID,bDesStatus) {
	var emDes = $(strHtmlID);
	if (emDes != null) { 
		if (bDesStatus==false){
			emDes.style.fontWeight="";
		} else {
			emDes.style.fontWeight="bold";
		}
	}
}
function genDelElement(strHtmlID) {
	var emDes = $(strHtmlID);
	if (emDes !=null) {
		emDes.parentNode.removeChild(emDes);
	}
}

function genChangeAHref(strHtmlID,strDesUrl) {
	var emDes = $(strHtmlID);
	if (emDes != null) {
		emDes.href = strDesUrl;	
	}
}

function genChangeElementClass(strHtmlID,strDesClassName) {
	var emDes = $(strHtmlID);
	if (emDes != null) {
		emDes.className = strDesClassName;	
	}
}

function genPromptTextOnBlur(emText){
	if (emText.value.length==0 || emText.className =="COMMON_PromptEdit_Idle_text"){
		emText.className ="COMMON_PromptEdit_Idle_text";
		emText.value = emText.title;
	}
}

function genPromptTextOnFocus(emText){
	if (emText.className=="COMMON_PromptEdit_Idle_text"){
	   emText.value='';
	   emText.className ="COMMON_PromptEdit_Normal_text";
	}
}

function genTextOnKeyDown(e,pEnterFunc,strParam){
	e = e || event ;
	if( e.keyCode ==13)	{
		pEnterFunc(strParam);
	}
}

function genChangeRowsCheckStatus(strCheckHtmlName,bChecked,nLevel){
	var arremRowCheck=document.getElementsByName(strCheckHtmlName);
	if( arremRowCheck!=null){
		for (var i=0;i<arremRowCheck.length;i++) {
			arremRowCheck[i].checked=bChecked;
			genRowCheckOnClick(arremRowCheck[i],nLevel);
		}
	}
}

function genGetCheckedRowsValues(strCheckHtmlName,strToken){
	var bDesStatus=false;
	var strCheckedRowstrHtmlIDs = "";
	var strTemp = "";
	var arremRowCheck = document.getElementsByName(strCheckHtmlName);
	for (i=0;i<arremRowCheck.length;i++){
		if (arremRowCheck[i].checked){
			bDesStatus=true;
			strCheckedRowstrHtmlIDs += strTemp+arremRowCheck[i].value;
			strTemp=strToken;
		}
	}
	if ( strCheckedRowstrHtmlIDs==""){
		strCheckedRowstrHtmlIDs=arremRowCheck.value;	
	}
	if(arremRowCheck.checked==true||bDesStatus==true){
		return strCheckedRowstrHtmlIDs;
	} else {
		return "";
	}
}

function genRowCheckOnClick(emRowCheck,nLevel){
	if( nLevel>0){
		var emRow=emRowCheck;
		for(var i=0;i<nLevel;i++){
			emRow = emRow.parentNode;
		}
		genRowSetCheckStatus(emRow,emRowCheck.checked);
	}
}

function genRowSetCheckStatus(emRow,bchecked){
	if(bchecked) {
		emRow.style.background="#FFFFCE";
	} else {
		emRow.style.background="";
	}
}

function genRowClearFoucs(strHtmlID){
	var emRow=$(strHtmlID);
	if( emRow!=null){
		genRowSetCheckStatus(emRow,false);
	}
}

function genRowSetFocus(strHtmlID){
	var emRow=$(strHtmlID);
	if( emRow!=null){
		genRowSetCheckStatus(emRow,true);
		var strTemp="genRowClearFoucs('"+strHtmlID+"')";
		window.setTimeout(strTemp,3000);
	}
}

// 切换展开区域的显示
function genSwitchExpandArea(strSwitchHtmlID,strAreaHtmlID,strSwitchCloseClass,strSwitchOpenClass){
	// 设置两种状态对应的单元显示状态
    var	strCloseDesDisplayStatus = "none";
    var	strOpenDesDisplayStatus = "";
		
	var nCurStatus = 0;
	var emSwitch = $(strSwitchHtmlID);
	if( emSwitch ==null){
		return;
	}
	var strDesName = emSwitch.innerHTML.replace(/\&nbsp\;/g, "");
	var emDes = $(strAreaHtmlID);
	if (emDes != null) {
		if( genTxtIsNull(strSwitchCloseClass)==true) strSwitchCloseClass="COMM0N_Expand_Switch_Close_a";
		if( genTxtIsNull(strSwitchOpenClass)==true) strSwitchOpenClass="COMM0N_Expand_Switch_Open_a";
		if (emDes.style.display == strOpenDesDisplayStatus) {
			nCurStatus = 0;
			emDes.style.display = strCloseDesDisplayStatus;
			if( emSwitch !=null){
				emSwitch.className =strSwitchCloseClass ;
				emSwitch.title = genLang.ClickDisplay+strDesName;			
			}
		} else {
			nCurStatus = 1;
			emDes.style.display = strOpenDesDisplayStatus;
			if( emSwitch !=null){
				emSwitch.className=strSwitchOpenClass;
				emSwitch.title = genLang.ClickHide+strDesName;
			}
		}
	}	
	//return nCurStatus;
}

// 动态切换展开对象区域，如果还不存在，则先请求
function genDynamicSwitchExpandArea(strSwitchHtmlID,strAreaHtmlID,strReqURL,strReqForm,strSwitchCloseClass,strSwitchOpenClass){
	var emArea = $(strAreaHtmlID);
	if(emArea.style.display=="none" && emArea.innerHTML=="" ){
		// 向服务器申请构造对应编辑操作界面
		function responseProcess(strResponseHtml){
			emArea.innerHTML = strResponseHtml;
			genSwitchExpandArea(strSwitchHtmlID,strAreaHtmlID,strSwitchCloseClass,strSwitchOpenClass);
		}		
		genXMLHttpReq(1,strReqURL,strReqForm,responseProcess);
	}else{
		genSwitchExpandArea(strSwitchHtmlID,strAreaHtmlID,strSwitchCloseClass,strSwitchOpenClass);
	}
}

function genGetViewportHeight() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight; 
	return window.undefined; 
}
function genGetViewportWidth() {
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 
	return window.undefined; 
}

function genShowLoader(){
	var emLoad=$("loader_div");
	if( emLoad!=null){ 
		var theBody = document.documentElement;
		
		var scTop = parseInt(theBody.scrollTop,10)+10;
		var scLeft = parseInt(theBody.scrollLeft,10)+10;
						
		emLoad.style.top = (scTop ) + "px";
		emLoad.style.left =  (scLeft+(genGetViewportWidth()*7/8)) + "px";
		emLoad.style.display="block";
	}
}

function genHideLoader(){
	var emLoad=$("loader_div");
	if( emLoad!=null){ 		
		emLoad.style.display="none";
	}
}

function genCreateXMLHTTP(){
	var objXMLHTTP=null;
	if (window.XMLHttpRequest) {
    	objXMLHTTP = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
    	objXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHTTP;
}

function genXMLHttpReq(nReqType,strReqOpenUrl,strReqParam,pResponseFunc,bNoLoader){
	if( nReqType<0 || nReqType>1)
		return;
	var objXMLHTTP = genCreateXMLHTTP();
	if (objXMLHTTP!=null){
		function responseProcess() {
			if (objXMLHTTP.readyState==4){
				pResponseFunc(objXMLHTTP.responseText);
				genHideLoader();
			}else{
				if(bNoLoader!=true){
					genShowLoader();
				}
			}
		}
		objXMLHTTP.onreadystatechange = responseProcess;
		if( nReqType==0){
			objXMLHTTP.open("GET",strReqOpenUrl,true);
			objXMLHTTP.send(null);
		}else{
			objXMLHTTP.open("POST",strReqOpenUrl,true);
			objXMLHTTP.setRequestHeader("content-type","application/x-www-form-urlencoded");
			objXMLHTTP.send(strReqParam);
		}		
	}
}

//=================提醒加亮样式================
var arrNotice = new Array();
var objNoticeClass = new Object();
var tmpNotices = new Array();;
var tiNotice = new Array();
var ctNotices = 4;

function genNoticeInput(obj,hTarget){
	var noticeObj= $(obj);
	if (noticeObj) {
		try{if (arrNotice[obj].status) {return}}catch(e){}
		with(noticeObj.style){
			objNoticeClass.backgroundColor=backgroundColor;
			objNoticeClass.borderColor=borderColor;
			objNoticeClass.borderStyle=borderStyle;
			objNoticeClass.hiddenTarget=$(hTarget);
			objNoticeClass.status=true;
		}
		arrNotice[obj]=objNoticeClass;
		noticeObj.style.backgroundColor = "#ff9";
		noticeObj.style.borderColor = "#f60";
		noticeObj.style.borderStyle = "solid";
		noticeObj.select();
		genAddEvent(noticeObj,"keydown",genNoticeClear);
		window.clearInterval(tiNotice[obj]);
		tmpNotices[obj]=1;
		genNoticeAction(obj);
		tiNotice[obj] = window.setInterval("genNoticeAction('"+obj+"')",400)
	}
}

function genNoticeAction(obj){
	var noticeObj= $(obj);
	if (tmpNotices[obj]>=ctNotices) {window.clearInterval(tiNotice[noticeObj.id]);return}
	with(noticeObj.style){
		if (Math.pow(-1,tmpNotices[obj])<0) {
			backgroundColor = "#ff9";
			borderColor = "#f60";
			borderStyle = "solid";
		}
		else
		{
			backgroundColor = arrNotice[noticeObj.id].backgroundColor;
			borderColor = arrNotice[noticeObj.id].borderColor;
			borderStyle = arrNotice[noticeObj.id].borderStyle;
		}

	}
	tmpNotices[obj]++;
}

function genNoticeClear(evt){
	var evtSrc;
    evt = evt ? evt : (window.event ? window.event : null);
	if (window.event) evtSrc=evt.srcElement; else evtSrc=evt.target; 
		with(evtSrc.style){
			window.clearInterval(tiNotice[evtSrc.id]);
			backgroundColor = arrNotice[evtSrc.id].backgroundColor;
			borderColor = arrNotice[evtSrc.id].borderColor;
			borderStyle = arrNotice[evtSrc.id].borderStyle;
			if (arrNotice[evtSrc.id].hiddenTarget) {arrNotice[evtSrc.id].hiddenTarget.style.display="none"}
			arrNotice[evtSrc.id].status=false;
		}
		genRemoveEvent(evtSrc,"keydown",genNoticeClear);
}

function genPopSelectSwitch(strCurItemHtmlID,strSwitchHtmlID,strValueHtmlID,strOldValue,strNewValue,pReturnFunc){
	var emCurItem=$(strCurItemHtmlID);
	var emSwitch=$(strSwitchHtmlID);
	emSwitch.innerHTML=emCurItem.innerHTML;
	var strTemp=emSwitch.href;
	strTemp=strTemp.replace(strOldValue,strNewValue);	
	emSwitch.href=strTemp;
	var emValue=$(strValueHtmlID);
	if( emValue!=null){
		emValue.value=strNewValue;
	}
	if( pReturnFunc!=null){
		pReturnFunc(strOldValue,strNewValue,emCurItem);
	}
	genPopSelectClose(null,1);
}

function genGetPos(emDes){
	this.Left=0;
	this.Top=0;
	var strTempLeft="";  
	this.Width=emDes.offsetWidth;
	this.Height=emDes.offsetHeight;
	while (emDes.tagName.toLowerCase()!="body"){
		this.Left+=emDes.offsetLeft;
		this.Top+=emDes.offsetTop;
		emDes=emDes.offsetParent;
		strTempLeft+=emDes.offsetLeft+",";
	}
}

function genPopSelectOpenByID(strSwithcHtmlID,strContentHtmlID){
	  var emSwitch=$(strSwithcHtmlID);
	  if( emSwitch != null) {
		  	genPopSelectOpen(emSwitch,strContentHtmlID);
	  }	
}

function genPopSelectOpen(emSwitch,strContentHtmlID){
	var strPopInHtml=$(strContentHtmlID).innerHTML;
	genPopSelectOpenInner(emSwitch,strPopInHtml);
}
function genPopSelectOpenInner(emSwitch,strPopInHtml){
	var getAPos=new genGetPos(emSwitch);
	var emPopSelect=$("ps_Container_div");
	if (emPopSelect!=null) {
		emPopSelect.parentNode.removeChild(emPopSelect);
	}
	var emPopSelect=document.createElement("DIV");
	emPopSelect.id="ps_Container_div";
	emPopSelect.className="PS_Container_div";
	emPopSelect.innerHTML=strPopInHtml;
	emPopSelect.style.position="absolute";
	emPopSelect.style.zIndex="201";
	emPopSelect.style.left=getAPos.Left+"px"; 
	//emPopSelect.style.width=getAPos.Width+40+"px";
	emPopSelect.style.top=getAPos.Top+getAPos.Height+2+"px";
	document.body.appendChild(emPopSelect);
	genAddEvent(document.body,"mousedown",genPopSelectClose)
}

function genPopSelectClose(evt,n){
	evt = genGetEvent(evt)
	var emPopSelect=$("ps_Container_div");
	var theBody = document.documentElement;
	if (!n && parseFloat(emPopSelect.style.left)<parseFloat(evt.clientX) && (parseFloat(emPopSelect.style.left)+parseFloat(emPopSelect.offsetWidth))>parseFloat(evt.clientX) && parseFloat(emPopSelect.style.top)<(parseFloat(evt.clientY)+parseFloat(theBody.scrollTop)) && (parseFloat(emPopSelect.style.top)+parseFloat(emPopSelect.offsetHeight))>(parseFloat(evt.clientY)+parseFloat(theBody.scrollTop))) {
		return;
	}
	
    if (emPopSelect!=null) emPopSelect.parentNode.removeChild(emPopSelect);
	genRemoveEvent(document.body,"mousedown",genPopSelectClose)
}

function genGetEvent(evt){
	evt=evt?evt:(window.event?window.event:null);
	return evt
}

function genInplaceEditSwitch(strHtmlIDPrefix,nObjID,strHtmlIDSuffix,strTagName,pFunc,strReqOpenUrl,strReqForm){
	var emSrcRow=$(strHtmlIDPrefix+nObjID+strHtmlIDSuffix);	
	var emEditRow=$(strHtmlIDPrefix+nObjID+"_Edit"+strHtmlIDSuffix);
	if( emEditRow.style.display=="none"){
		function responseProcess(strResponseHtml){
			strResponseHtml+="&nbsp;<input type=\"button\" class=\"COMMON_button\" onclick=\"genInplaceEditSwitch('"+strHtmlIDPrefix+"',"+nObjID+",'"+strHtmlIDSuffix+"','"+strTagName+"','');\" value=\""+genLang.Cancel+"\">";			
			emEditRow.innerHTML=strResponseHtml;
			genTextNotNullInit(emEditRow);
			emEditRow.style.display="";		
			if( emSrcRow!=null)	emSrcRow.style.display="none";
		}
		if( genTxtIsNull(strReqOpenUrl)==true){
			var strTemp="",strTextFlag="",strTextClass="COMMON_text";
			var arremItem = emSrcRow.getElementsByTagName(strTagName);	
			for (var i=0; i<arremItem.length; i++ ){ 
				if( arremItem[i].id !="" ){
					if( arremItem[i].getAttribute("notnull")=="1"){
						strTextFlag="<font color=\"#FF0000\">*</font>";
						strTextClass="COMMON_NotNull_text";
					}else{
						strTextFlag="";
						strTextClass="COMMON_text";
					}
					strTemp+="&nbsp;"+arremItem[i].title+strTextFlag+"<input id=\""+arremItem[i].id+"_text\" type=\"text\" class=\""+strTextClass+"\" title=\""+arremItem[i].title+"\" value=\""+Trim(arremItem[i].innerHTML)+"\"/>&nbsp;"
				}
			}		
			strTemp+="<input type=\"button\" class=\"COMMON_button\" onclick=\""+pFunc+";\" value=\"";
			if (nObjID>0){
				strTemp+=genLang.Update;
			}else{
				strTemp+=genLang.New;
			}
			strTemp+="\">"
			responseProcess(strTemp);
		}else{
			genXMLHttpReq(1,strReqOpenUrl,strReqForm,responseProcess);
		}		
	}else{
		if( emSrcRow!=null && parseInt(emEditRow.getAttribute("mID"))>0) {
			emSrcRow.style.display="";		
		}
		emEditRow.style.display="none";	
	}
}


/*tooltip*/
// Extended Tooltip Javascript
// copyright 9th August 2002, 3rd July 2005
// by Stephen Chapman, Felgall Pty Ltd

// permission is granted to use this javascript provided that the below code is not altered/
var DH = 0;var an = 0;var al = 0;var ai = 0;
if (document.getElementById) {
	ai = 1; DH = 1;
}else {
	if (document.all) {
		al = 1; DH = 1;
	} else { 
		browserVersion = parseInt(navigator.appVersion); 
		if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {
			an = 1; DH = 1;
		}
	}
} 
function fd(oi, wS) {
	if (ai) return wS ? $(oi).style:$(oi); 
	if (al) return wS ? document.all[oi].style: document.all[oi]; 
	if (an) return document.layers[oi];
}
function pw() {
	return window.innerWidth != null? window.innerWidth: document.body.clientWidth != null? document.body.clientWidth:null;
}
function mouseX(evt) {
	if (evt.pageX) 
		return evt.pageX; 
	else if (evt.clientX)
		return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); 
	else
		return null;
}
function mouseY(evt) {
	if (evt.pageY) 
		return evt.pageY; 
	else if (evt.clientY)
		return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 
	else return 
		null;
}
function genTipPopUp(evt,oi) {
	if (DH) {
		var wp = pw(); 
		ds = fd(oi,1); 
		dm = fd(oi,0); 
		st = ds.visibility; 
		if (dm.offsetWidth) 
			ew = dm.offsetWidth; 
		else if (dm.clip.width) 
			ew = dm.clip.width; 
		if (st == "visible" || st == "show") { 
			ds.visibility = "hidden"; 
		} else {
			tv = mouseY(evt) + 20; 
			lv = mouseX(evt) - (ew/4); 
			if (lv < 2) lv = 2; else if (lv + ew > wp) lv -= ew/2; 
			if (!an) {lv += 'px';tv += 'px';} 
			ds.left = lv; 
			ds.top = tv;
			ds.visibility = "visible";
		}
	}
}

                  
