/*
 * hr
 * Copyright(c) 2006-2007, tylzhuang.
 */

var GridUI = function() {

	var showBtn;
	var showBtn3;  
	var key_showBtn;
	var loginUrlssss = "#";
	var isOpenWindow = "false";
	function initShowBtn()
	{
        showBtn = Ext.get('show-dialog-btn');
		showBtn3 = Ext.get('show-dialog-btn3');

		if(showBtn)
		{
        // attach to click event
	        showBtn.on('click', showLoginDialog, this);
		}
		if(showBtn3)
		{
        // attach to click event
	        showBtn3.on('click', showLoginDialog, this);
		}
		key_showBtn = Ext.get('checkCode');
		if(key_showBtn)
		{
			key_showBtn.on('keypress', filterKeys, this);
		}

	}	
	
	return {
		init : function() {
			initShowBtn();
		}	
	}		
}();
Ext.onReady(GridUI.init, GridUI, true);

	function filterKeys(e){
        var k = e.getKey();
		//alert(k);
		if(k == 13)
		{
			doLogin();
		}
//        if(!Ext.isIE && (e.isNavKeyPress() || k == e.BACKSPACE || (k == e.DELETE && e.button == -1))){
//            return;
//        }
//        var c = e.getCharCode(), cc = String.fromCharCode(c);
//        if(Ext.isIE && (e.isSpecialKey() || !cc)){
//            return;
//        }
//        if(!this.maskRe.test(cc)){
//            e.stopEvent();
//        }
    }
	var AjaxLoginDialog;

	function showLoginDialog(){
		AjaxLoginDialog = getLoginDialog("",false);
        AjaxLoginDialog.show();
    }
	function showLoginDialog2(){		
		showLoginDialog();
		Ext.MessageBox.alert('提示框', "该功能要求会员权限，请先登陆！");
    }
	function showLoginDialog4(v1 ,v2){		
		AjaxLoginDialog = getLoginDialog(v1,v2);
        AjaxLoginDialog.show();
		Ext.MessageBox.alert('提示框', "该功能要求会员权限，请先登陆！");
    }
    function showLoginDialog5(v1){
		AjaxLoginDialog = getLoginDialog(v1,false);
        AjaxLoginDialog.show();
    }
	function showLoginDialog6(v1 ,v2){		
		AjaxLoginDialog = getLoginDialogTwo(v1,v2);
        AjaxLoginDialog.show();
		Ext.MessageBox.alert('提示框', "该功能只有注册用户，且帐号激活后才可以使用，请先注册，并激活帐号再登陆使用！");
    }
	function getLoginDialog(v1,v2)
	{

		var myDialog = AjaxLoginDialog;
        if(!myDialog){ // lazy initialize the AjaxLoginDialog and only create it once
            myDialog = new Ext.LayoutDialog("qry-dlg", { 
                    modal:true,
                    width:310, 
                    height:220,
                    shadow:false,
                    minWidth:310,
                    minHeight:220,
                    proxyDrag: false,                        
                 center: {
                     autoScroll:false,
                     tabPosition: 'top',
                     closeOnTab: false,
                     alwaysShowTabs: false
                 }
            });
            myDialog.addKeyListener(27, myDialog.hide, myDialog);			

			myDialog.addButton('登陆', doLogin, myDialog);
			myDialog.addButton('注册', doReg, myDialog);
            //myDialog.addButton('关闭', myDialog.hide, myDialog);
            
            var myLayout = myDialog.getLayout();
            myLayout.beginUpdate();
			 myLayout.add('center', new Ext.ContentPanel('qryPanel', {title: '登陆对话框'}));
			 myLayout.endUpdate();
        }
		loginUrlssss = v1;
		isOpenWindow = v2;
		return myDialog;
	}
	function getLoginDialogTwo(v1,v2)
	{
//Ext.MessageBox.alert("9999999999999");
		var myDialog = AjaxLoginDialog;
        if(!myDialog){ // lazy initialize the AjaxLoginDialog and only create it once
            myDialog = new Ext.LayoutDialog("qry-dlg", { 
                    modal:true,
                    width:310, 
                    height:220,
                    shadow:false,
                    minWidth:310,
                    minHeight:220,
                    proxyDrag: false,                        
                 center: {
                     autoScroll:false,
                     tabPosition: 'top',
                     closeOnTab: false,
                     alwaysShowTabs: false
                 }
            });
            myDialog.addKeyListener(27, myDialog.hide, myDialog);			

			myDialog.addButton('登陆', doLoginTwo, myDialog);
			myDialog.addButton('注册', doReg, myDialog);
            //myDialog.addButton('关闭', myDialog.hide, myDialog);
            
            var myLayout = myDialog.getLayout();
            myLayout.beginUpdate();
			 myLayout.add('center', new Ext.ContentPanel('qryPanel', {title: '登陆对话框'}));
			 myLayout.endUpdate();
        }
		loginUrlssss = v1;
		isOpenWindow = v2;
		return myDialog;
	}
	function doReg()
	{
		window.location= myPath + "/jsp/user/registor.jsp";
	}
	function doLogin()
	{
		var userName = Ext.getDom("userName").value;
		var pwd = Ext.getDom("pwd").value;
		var checkCode = Ext.getDom("checkCode").value;
		
		if(userName == "" )
		{
			alert("登陆用户名，必须输入！")
				Ext.getDom("userName").focus();
			return;
		}
		if( pwd == "")
		{
			alert( "登陆密码，必须输入！");
				Ext.getDom("pwd").focus();
			return;
		}
		if( checkCode == "" )
		{
			alert("登陆校验码，必须输入！");
			Ext.getDom("checkCode").focus();
			return;
		}
		//alert(bh);
		var jsonData = "[{";
		jsonData = jsonData + "\"userName\":\"" + userName + "\"";
		jsonData = jsonData + ",\"password\":\"" + pwd + "\"";
		jsonData = jsonData + ",\"checkCode\":\"" + checkCode + "\"";
		jsonData = jsonData + "}]";
		//alert(jsonData);
//		var uploadForm = Ext.get('AjaxLoginForm');  
//		var myUrl = myPath + '/AjaxLogin.do?eventSubmit_doLogin=doLogin&whereData=' + jsonData;
//		//alert(myUrl);
//		Ext.Ajax.request({
//			method:'post',                  
//		   url: myUrl,
//			//params:{whereData:jsonData},
//		   callback:doAjaxResult,
//		   form: uploadForm,
//		   scope: uploadForm,
//		   isUpload : true
//		});
			var myUrl = myPath + '/user/userAction.do?eventSubmit_doAjaxLogin=doAjaxLogin&whereData=' + jsonData;
			var uploadForm = new Ext.BasicForm(
				Ext.get('AjaxLoginForm'),
				{
	            fileUpload: false,
	            url: myUrl			
				}
			);	
	
			uploadForm.submit({
				waitMsg: '正在登陆中，请等待...',
				waitTitle: '进度条',
	            reset: false,
				success: function(isOk, a) {
					//alert(document.all.hiddenUrl.value);					
					Ext.getDom("pwd").value = "";
					Ext.getDom("checkCode").value = "";
					if(a.result.success == 'false')
					{
						Ext.MessageBox.alert('提示框', a.result.msg);
						flashImg();
					}
					else
					{
						//Ext.getDom("userName").value = "";
///						alert(document.all.outHiddenUrl.value);
						if(loginUrlssss != "" && loginUrlssss.length > 4)
						{
							if(isOpenWindow == "true")
								window.open(loginUrlssss,'star','height=650, width=800, top=10, left=20, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=n o, status=no');   
							else
								window.location = loginUrlssss;
						}
						else
						{
							Ext.MessageBox.alert('提示框', "登陆成功，请等待系统自动跳转。。。");
							window.setInterval("location.reload()",0.5*1000); 
							//window.location = document.all.hiddenUrl.value;
						}

						AjaxLoginDialog.hide();
						//gotoApp();
					}

					//window.location=myPath + '/DesUserAction.do';
					if(isOk){

					}	
				}                      
	        });
		//AjaxLoginDialog.hide();		
	}
	function doLoginTwo()
	{
		var userName = Ext.getDom("userName").value;
		var pwd = Ext.getDom("pwd").value;
		var checkCode = Ext.getDom("checkCode").value;
		//Ext.MessageBox.alert("checkCode == " + checkCode);
		if(userName == "" )
		{
			alert("登陆用户名，必须输入！")
				Ext.getDom("userName").focus();
			return;
		}
		if( pwd == "")
		{
			alert( "登陆密码，必须输入！");
				Ext.getDom("pwd").focus();
			return;
		}
		if( checkCode == "" )
		{
			alert("登陆校验码，必须输入！");
			Ext.getDom("checkCode").focus();
			return;
		}
		//alert(bh);
		var jsonData = "[{";
		jsonData = jsonData + "\"userName\":\"" + userName + "\"";
		jsonData = jsonData + ",\"password\":\"" + pwd + "\"";
		jsonData = jsonData + ",\"checkCode\":\"" + checkCode + "\"";
		jsonData = jsonData + "}]";
		//alert(jsonData);
//		var uploadForm = Ext.get('AjaxLoginForm');  
//		var myUrl = myPath + '/AjaxLogin.do?eventSubmit_doLogin=doLogin&whereData=' + jsonData;
//		//alert(myUrl);
//		Ext.Ajax.request({
//			method:'post',                  
//		   url: myUrl,
//			//params:{whereData:jsonData},
//		   callback:doAjaxResult,
//		   form: uploadForm,
//		   scope: uploadForm,
//		   isUpload : true
//		});
			var myUrl = myPath + '/user/userAction.do?eventSubmit_doAjaxLogin2=doAjaxLogin2&whereData=' + jsonData;
			//alert(myUrl);
			var uploadForm = new Ext.BasicForm(
				Ext.get('AjaxLoginForm'),
				{
	            fileUpload: false,
	            url: myUrl			
				}
			);	
	
			uploadForm.submit({
				waitMsg: '-----------正在登陆中，请等待...',
				waitTitle: '进度条',
	            reset: false,
				success: function(isOk, a) {
					//alert(document.all.hiddenUrl.value);					
					Ext.getDom("pwd").value = "";
					Ext.getDom("checkCode").value = "";
					if(a.result.success == 'false')
					{
						Ext.MessageBox.alert('提示框', a.result.msg);
						flashImg();
					}
					else
					{
						//Ext.getDom("userName").value = "";
						//alert(a.result.errorCode);
						if(a.result.errorCode == "0")
							window.location = myPath + "/jsp/user/update_user_info.jsp";
						else
						{
							if(loginUrlssss != "" && loginUrlssss.length > 4)
							{
								if(isOpenWindow == "true")
									window.open(loginUrlssss,'star','height=650, width=800, top=10, left=20, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=n o, status=no');   
								else
									window.location = loginUrlssss;
							}
							else
							{
								Ext.MessageBox.alert('提示框', "登陆成功，请等待系统自动跳转。。。");
								window.setInterval("location.reload()",0.5*1000); 
								//window.location = document.all.hiddenUrl.value;
							}
						}

						AjaxLoginDialog.hide();
						//gotoApp();
					}

					//window.location=myPath + '/DesUserAction.do';
					if(isOk){

					}	
				}                      
	        });
		//AjaxLoginDialog.hide();		
	}
	function flashImg()
	{
		var checkImgUrl = myPath +  "/jcaptcha?now=" + new Date().getTime();
		Ext.getDom("checkCodeImg").src = checkImgUrl;	
	}
	function gotoApp()
	{
		//window.location = myPath + '/DesUserAction.do';
		//alert("00000000000");
	}
function nologin(){
//   alert("该功能要求会员权限,请先登录"); 
   //Ext.MessageBox.alert('提示框', "该功能要求会员权限，请先登陆！");
   showLoginDialog2();
	Ext.getDom("userName").focus();
}
function nologin4(v1, v2){
//   alert("该功能要求会员权限,请先登录"); 
   //Ext.MessageBox.alert('提示框', "该功能要求会员权限，请先登陆！");
//   alert(v2);
   showLoginDialog4(v1 ,v2);
	Ext.getDom("userName").focus();
}
function nologin5(v1){
//   alert("该功能要求会员权限,请先登录"); 
   //Ext.MessageBox.alert('提示框', "该功能要求会员权限，请先登陆！");
//   alert(v2);
   showLoginDialog5(v1);
	Ext.getDom("userName").focus();
}
function nologin6(v1, v2){
//   alert("该功能要求会员权限,请先登录"); 
   //Ext.MessageBox.alert('提示框', "该功能要求会员权限，请先登陆！");
//   alert(v2);
   showLoginDialog6(v1 ,v2);
	Ext.getDom("userName").focus();
}
//Get the XMLHttpRequest from browser specific object.
function getXHRObject() {
    var XHRobj = null;
    try {
        //Older IE's
        XHRObj = new ActiveXObject("Msxml2.XMLHTTP")
    } catch(e) {
        try {
            //Newer IE's
            XHRObj = new ActiveXObject("Microsoft.XMLHTTP")
        } catch(oc) {
            XHRObj = null
        }
    }
    if (!XHRObj && typeof XMLHttpRequest != "undefined") {
        //Mozila/Safari
        XHRObj = new XMLHttpRequest()
    }
    return XHRObj;
}