
function topPos(el) {
	return doPosLoop(el, "Top");
}

function leftPos(el) {
	return doPosLoop(el, "Left");
}

function doPosLoop(el, val) {
	var temp = el;
	var x = temp["offset" + val];
	while (temp.tagName!="BODY") {
		temp = temp.offsetParent;
		x += temp["offset" + val];
	}
	return x;
}
function showMenu(n){
	var obj = document.getElementById("menu"+n);
	if(obj.style.visibility=="visible") return;
	var tdObj = document.getElementById("td"+n)
	obj.style.top = topPos(tdObj)+14;
	obj.style.left = leftPos(tdObj);
	obj.style.visibility="visible";
	hideSelect(obj );
	
/*
	for (i=0;i<3;i++){
	;
		mObj = eval(menu[i]);
		if (i!=n) mObj.style.visibility="hidden";
	}*/
}

function hideMenu(n) {
	var obj = document.getElementById("menu"+n);
	//var obj = eval(menu[n]);
	obj.style.visibility="hidden";
	showSelect();

}

function getAbsolutePos (el) {
	var SL = 0, ST = 0;
	//alert(el.tagName);
	var tagName = el.tagName;
	//alert(tagName)
	var is_div =  (tagName);
	if (is_div && el.scrollLeft)
		SL = el.scrollLeft;
	if (is_div && el.scrollTop)
		ST = el.scrollTop;
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
	if (el.offsetParent) {
		var tmp = this.getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}
function hideSelect(el){
		

		
	var p = getAbsolutePos(el);
	var EX1 = p.x;
	var EX2 = el.offsetWidth + EX1-150;
	var EY1 = p.y;
	var EY2 = el.offsetHeight + EY1+30;
	EX2 =(EX2<0)?0:EX2;
	var ar = document.getElementsByTagName("select");
	var cc = null;

	for (var i = ar.length; i > 0;) {
		cc = ar[--i];

		var _parEl=cc;
		try{
		while(_parEl.className!="calendar" && _parEl.tagName!="BODY"){
			_parEl=_parEl.parentElement;
		}
		} catch(e){
			continue;
		}

		if(_parEl.className=="calendar") continue;//表明元素是嵌套在日期控件里面的

		p = getAbsolutePos(cc);
		var CX1 = p.x;
		var CX2 = cc.offsetWidth + CX1;
		var CY1 = p.y;
		var CY2 = cc.offsetHeight + CY1;
		// 不在范围之内
		if ((CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
			
			//alert();
		} else{
			cc.style.visibility = "hidden";	
		}
	}
}

function showSelect(){
	var tags = new Array("select");
	
		//alert()
	for (var k = tags.length; k > 0; ) {
		var ar = document.getElementsByTagName(tags[--k]);
		var cc = null;

		for (var i = ar.length; i > 0;) {
			cc = ar[--i];

			var _parEl=cc;
			try{
				while(_parEl.className!="calendar" && _parEl.tagName!="BODY"){
						_parEl=_parEl.parentElement;
				}
			} catch(e){
					continue;
			}
			cc.style.visibility = "visible";
		}
	}
}

				
var scriptroot='/ipproot';   
var contextPath='' ;  
var login = new Buffalo("/ipproot/loginAction.do");   
function getUserName() {  
	var p = new Array();  
	p[0]=$("StrongIPPUserName").value;  
	login.remoteCall("userLoginService.getUserName",p, function(reply) {  
 		var message=reply.getResult();  
		if(message.isSuccessful) {  
			var org=message.messageData["LOGIN_USER_ORG"];				
			if(org.length>0) { 
				$("userLoginName").value=$("StrongIPPUserName").value;  
				$("StrongIPPUserName").value=message.messageContent;  
					createOrgInfo(org);	  
			} else { 
				alert("对不起该站点下面没有此用户！");	
			} 
		} else { 	

			alert(message.messageContent);	
		}  
	})  
} 
    
    function checkUser() {  
		//alert("checkUser");
        var p = new Array();   
		   p[0]=$("userLoginName").value;  
        p[1]=document.form.elements("password").value;  
		   p[2]=$("checkCode").value;		   p[3]="9";  
		   p[4]=$("loginOrg").value;  
        if(p[0]=="") {  
			   if($("StrongIPPUserName").value=="") {   
			       alert("用户名不能为空！");  
			   } else { 
		           p[0]=$("StrongIPPUserName").value;  
			   } 
            return;  
        }  
        if(p[1]=="") { 
		   	  alert("密码不能为空！");  
           return;  
		   }  
		   if(p[2]=="") {  
		      alert("验证码不能为空！");   
           return;  
        }  
        if(p[4]=="") {  
           alert("请选择组织机构！");  
           return; 
        }  
        login.remoteCall("userLoginService.checkUser",p, function(reply) { 
            var message=reply.getResult();  
            if(message.isSuccessful) {  
                goToDefault();  
            } else {  
				
                if(message.messageKey=="url") {  
				       location=message.messageContent;  
                } else { 
                    alert(message.messageContent);  
                    refreshimg();  
                }  
            }  
        })  
    }  

    function selectOrg(orgID) { 
    	   login.remoteCall("userLoginService.selectOrg",[orgID], function(reply) {  
            var message=reply.getResult();  
            if(message.isSuccessful) {  
                 goToDefault();  
                alert("选择组织机构出错，请重新登入。");	 
            } 
        }) 
    }  
 
    function createOrgInfo(orgs) { 
        var loginOrg=document.all.loginOrg;	
        while(length!=0) {  
            var length=loginOrg.options.length;  
            for(var i=0;i<length;i++)  
                loginOrg.options.remove(i);  
            length=length/2;  
        }  
        for(var i=0;i<orgs.length;i++) {  
            var opt=new Option(orgs[i]["LOGIN_USER_ORG_NAME"],orgs[i]["LOGIN_USER_ORG_ID"]); 
              loginOrg.options[loginOrg.options.length]=opt;  
         }  
    }  
    function refreshimg() { 
    }  
    if(self!=top) { 
        top.location=self.location;  
    }  
    function onSubmit(field, event) { 
        var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; 
        if (keyCode == 13) { 
            checkUser();  
        }  
    } 
    function goToDefault() { 
        var w=screen.availWidth-10;  
        var h=screen.availHeight-50;  
		document.form.elements["password"].value="";
        window.open("/ipproot/main.do", '', 'toolbar=0, scrollbars=0, status=yes, resizable=1, width='+w+', height='+h+', top=0, left=0');  
    }  


//*************************************************************************
//登录办公系统 start
//*************************************************************************
//var scriptroot='/ipproot';   
//var contextPath='' ;  
var login = new Buffalo("/ipproot/loginAction.do");   
function getOAUserName() {  
	var p = new Array();  
	p[0]=$("OAStrongIPPUserName").value;  
	login.remoteCall("userLoginService.getUserName",p, function(reply) {  
 		var message=reply.getResult();  
		if(message.isSuccessful) {  
			var org=message.messageData["LOGIN_USER_ORG"];				
			if(org.length>0) { 
				$("OAuserLoginName").value=$("OAStrongIPPUserName").value;  
				$("OAStrongIPPUserName").value=message.messageContent;  
					createOAOrgInfo(org);	  
			} else { 
				alert("对不起该站点下面没有此用户！");	
			} 
		} else { 	

			alert(message.messageContent);	
		}  
	})  
} 



    function checkOAUser() {  
		//alert("checkUser");
        var p = new Array();   
		   p[0]=$("OAuserLoginName").value;  
        p[1]=document.OAform.elements("OApassword").value;  
		   p[2]=$("OAcheckCode").value;		   p[3]="9";  
		   p[4]=$("OAloginOrg").value;  
        if(p[0]=="") {  
			   if($("OAStrongIPPUserName").value=="") {   
			       alert("用户名不能为空！");  
			   } else { 
		           p[0]=$("OAStrongIPPUserName").value;  
			   } 
            return;  
        }  
        if(p[1]=="") { 
		   	  alert("密码不能为空！");  
           return;  
		   }  
		   if(p[2]=="") {  
		      alert("验证码不能为空！");   
           return;  
        }  
        if(p[4]=="") {  
           alert("请选择组织机构！");  
           return; 
        }  
        login.remoteCall("userLoginService.checkUser",p, function(reply) { 
            var message=reply.getResult();  
            if(message.isSuccessful) {  
                goToOA();  
            } else {  
				
                if(message.messageKey=="url") {  
				       location=message.messageContent;  
                } else { 
                    alert(message.messageContent);  
                    refreshimg();  
                }  
            }  
        })  
    }
		
    function goToOA() { 
        var w=screen.availWidth-10;  
        var h=screen.availHeight-50;  
		document.OAform.elements("OApassword").value="";
        window.open("/ipproot/office.do", '', 'toolbar=0, scrollbars=0, status=yes, resizable=1, width='+w+', height='+h+', top=0, left=0');  
    } 

	function selectOAOrg(orgID) { 
    	   login.remoteCall("userLoginService.selectOrg",[orgID], function(reply) {  
            var message=reply.getResult();  
            if(message.isSuccessful) {  
                 goToOffice();  
                alert("选择组织机构出错，请重新登入。");	 
            } 
        }) 
    }  
 
    function createOAOrgInfo(orgs) { 
        var loginOrg=document.all.OAloginOrg;	//modify
        while(length!=0) {  
            var length=loginOrg.options.length;  
            for(var i=0;i<length;i++)  
                loginOrg.options.remove(i);  
            length=length/2;  
        }  
        for(var i=0;i<orgs.length;i++) {  
            var opt=new Option(orgs[i]["LOGIN_USER_ORG_NAME"],orgs[i]["LOGIN_USER_ORG_ID"]); 
              loginOrg.options[loginOrg.options.length]=opt;  
         }  
    } 

    function onOASubmit(field, event) { 
        var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; 
        if (keyCode == 13) { 
            checkOAUser();  
        }  
    } 
//*************************************************************************
//登录办公系统 end
//*************************************************************************




// 验证是否 Email
function isEmail( strValue )
{
	// Email 必须是 x@a.b.c.d 等格式 或者为空
	if( isEmpty( strValue ) ) return true;

	//return checkExp( /^\w+@(\w+\.)+\w+$/gi, strValue );	//2001.12.24测试出错 检查 jxj-xxx@yysoft.com时不能通过
	//Modify By Tianjincat 2001.12.24
	var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
	return checkExp( pattern, strValue );

}

// 验证是否 为空
function isEmpty( strValue )
{
	if( strValue == "" )
		return true;
	else
		return false;
}

// 验证是否 数字
function isNumeric( strValue )
{
	// 数字必须是 0123456789 或者为空

	//return checkExp( /^\d*$/g, strValue );
	return !isNaN(strValue);

	//return  checkExp(/\ \^(-|\+)?\d+(\.\d+)?$/g, strValue );
}

// 验证是否 整数
function isInt( strValue )
{
	// 数字必须是 0123456789 或者为空

	return checkExp( /^\d*$/g, strValue );

	//return  checkExp(/\ \^(-|\+)?\d+(\.\d+)?$/g, strValue );
}


// 验证是否 货币
function isMoney( strValue )
{
	// 货币必须是 -12,345,678.9 等格式 或者为空
	if( isEmpty( strValue ) ) return true;

	return checkExp( /^[+-]?\d+(,\d{3})*(\.\d+)?$/g, strValue );
}

function isMoney1( strValue )
{
	// 货币必须是 1111.43等格式 或者为空
	if( isEmpty( strValue ) ) return true;

	return checkExp( /^[+-]?\d{1,6}\.\d{2}$/g, strValue );
}

//翁乃彬新增(decimal)
function isDecimal( strValue ){

	if( isEmpty( strValue ) ) return true;
	if (isNumeric(strValue)==false)
		return false;
	var iPos =0,strInt, strScale;
	iPos = strValue.indexOf(".");
	if (iPos < 0){
		strInt = strValue;
		strScale ="";
	} else {
		strInt = strValue.substring(0,iPos);
		strScale = strValue.substring(iPos+1, strValue.length)
	}
	if (strInt.length>14){
		return false;
	}
	if (strScale.length>4){
		return false;
	}
	return true;


}
// 验证是否 电话
function isPhone( strValue )
{
	// 普通电话	(0755)4477377-3301/(86755)6645798-665
	// Call 机	95952-351
	// 手机		130/131/135/136/137/138/13912345678
	// 或者为空
	if( isEmpty( strValue ) ) return true;

	return checkExp( /(^\(\d{3,5}\)\d{6,8}(-\d{2,8})?$)|(^\d+-\d+$)|(^(130|131|132|133|134|135|136|137|138|139)\d{8}$)/g, strValue );
}

// 验证是否 邮政编码
function isPostalCode( strValue )
{
	// 邮政编码必须是6位数字
	return checkExp( /(^$)|(^\d{6}$)/gi, strValue )
}


// 验证是否 URL
function isURL( strValue )
{
	// http://www.yysoft.com/ssj/default.asp?Type=1&ArticleID=789
	if( isEmpty( strValue ) ) return true;

	var pattern = /^(http|https|ftp):\/\/(\w+\.)+[a-z]{2,3}(\/\w+)*(\/\w+\.\w+)*(\?\w+=\w*(&\w+=\w*)*)*/gi;
	// var pattern = /^(http|https|ftp):(\/\/|\\\\)(\w+\.)+(net|com|cn|org|cc|tv|[0-9]{1,3})((\/|\\)[~]?(\w+(\.|\,)?\w\/)*([?]\w+[=])*\w+(\&\w+[=]\w+)*)*$/gi;
	// var pattern = ((http|https|ftp):(\/\/|\\\\)((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)/gi;

	return checkExp( pattern, strValue );

}


//-- Added by linhs 2004-3-12 [begin] --
/*
*不含'<' 、'>' 、'&'、 '"'、 '\''。
*/
function exceptLawlessChar(strValue) {
	if (strValue.indexOf('<') >= 0 || strValue.indexOf('>') >= 0
		|| strValue.indexOf('&') >= 0 || strValue.indexOf('"') >= 0
		|| strValue.indexOf('\'') >= 0){
		return false;
	} else {
		return true;
	}
}
//-- Added by linhs 2004-3-12 [ end ] --


// 检查字段长度
//
//	strValue	字符串
//	strParam	检查参数，形如：L<10, L=5, L>117
//
function checkLength( strValue, strParam )
{
	if( isEmpty( strValue ) )	return true;

	// 参数形如：L<10, L=5, L>117
	if( strParam.charAt( 0 ) != 'L' )	return false;

	var l = strValue.length;
	var ml = parseInt( strParam.substr( 2 ) );

	switch( strParam.charAt( 1 ) )
	{
		case '<' :
			if( l >= ml )
				return false;
			break;

		case '=' :
			if( l != ml )
				return false;
			break;

		case '>' :
			if( l <= ml )
				return false;
			break;

		default :
			return false
	}

	return true;
}




// 为 String 类增加一个 trim 方法
String.prototype.trim = function()
{
    // 用正则表达式将前后空格用空字符串替代。
    return this.replace( /(^\s*)|(\s*$)/g, "" );
}

// 使用正则表达式，检测 s 是否满足模式 re
function checkExp( re, s )
{	
	return s.match(re)!=null;
	//return re.test( s );
}




function doUrlCenter(url,width,height){
		var w = screen.availWidth-width;
	var h = screen.availHeight-height;
	var iLeft = (screen.availWidth-w)/2;
	var iTop= (screen.availHeight-h)/2;
	iTop -=10;
	if (iTop<0)
	{iTop=10;
	}
	var sOpen = "width="+w +", height="+h +", top="+iTop+", left="+iLeft +", toolbar=no, menubar=no, scrollbars=no, resizable=yes,location=no, status=no";

	var passform = window.open(url, '',sOpen);



	passform.focus();
	//passform.moveTo((screen.availWidth-280)/2,(screen.availHeight-220)/2);
}

function doUrlCenter2(url,width,height){
		var w = screen.availWidth-width;
	var h = screen.availHeight-height;
	var iLeft = (screen.availWidth-w)/2;
	var iTop= (screen.availHeight-h)/2;
	iTop -=10;
	if (iTop<0)
	{iTop=10;
	}//有滚动条
	var sOpen = "width="+w +", height="+h +", top="+iTop+", left="+iLeft +", toolbar=no, menubar=no,scrollbars=yes, resizable=yes,location=no, status=no";

	var passform = window.open(url, '',sOpen);



	passform.focus();
	//passform.moveTo((screen.availWidth-280)/2,(screen.availHeight-220)/2);
}

function checkStrLen(str){
	  num=str.length   
	  var   arr=str.match(/[^\\\\\\\\\\\\\\\\x00-\\\\\\\\\\\\\\\\x80]/ig)   
      if(arr!=null)num+=arr.length   
	  return num;

}
function checkInputLen(text,length) {
	if(event.keyCode == 8 || event.keyCode == 46 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 9)
		return true;
	if(checkStrLen(text.value) >= length) 
		return false;	   
}

