﻿/*
 * **********************************************************************
 * -- MINGMING MUSIC v1.0.0.0 - mymingming by coding
 * -- Author: mymingming
 * -- QQ: 154674958
 * -- Msn: chongchong2008@msn.com
 * -- Web: http://www.yc330.net
 * -- Date: 2008-08-30
 * -- LastDate: 2008-09-02
 * -- Note: 
 * -- Copyright(C) 2008 mymingming  7# YanJiang Road YiChang HuBei CHINA                   
 * **********************************************************************
 */

(function(){
    //创建div元素
    var __CLIENT_PASSPORT;
    var oWebpartPassport; 
    var oPassportUI = document.createElement("div");
    var isShowValidateImage;
  
    oPassportUI.id = "passport_ui"; 
 
    //公开给外部使用
    var __clientPassport = window.__clientPassport = function(containerID){            
        return new __clientPassport.grid.init(containerID);
    };

    __clientPassport.validate = __clientPassport.prototype =
    {
        login:function(){
            __httpRequest.options.global = false;         
            __httpRequest.options.type = 'post';
            __httpRequest.options.url = __global.webSite.root + __global.webSite.requestURL;
            __httpRequest.options.data = {'subSystem':$('#subSystem').val(),'module':$('#module').val(),'verb':801111,'username':$('#username').val(),'password':$('#password').val(),'persistent':$('#persistent').val(),'validateCode':$('#validateCode').val()};
            __httpRequest.options.dataType = 'json';                
            __httpRequest.beforeRequestCallback = this.beforeRequestCallback;
            __httpRequest.options.successCallback = this.successCallback;
            __httpRequest.options.errorCallback = this.errorCallback;

            __httpRequest.request();
        },

        logout:function(){
            __httpRequest.options.global = false;         
            __httpRequest.options.type = 'post';
            __httpRequest.options.url = __global.webSite.root + __global.webSite.requestURL;
            __httpRequest.options.data = {'subSystem':$('#subSystem').val(),'module':$('#module').val(),'verb':801112};
            __httpRequest.options.dataType = 'json';                
            __httpRequest.beforeRequestCallback = this.beforeLogoutRequestCallback;
            __httpRequest.options.successCallback = this.successLogoutCallback;
            __httpRequest.options.errorCallback = this.errorCallback;

            __httpRequest.request();
        },

        validateMessage:function(){
            return {
                username: '请输入用户名',
                password: '请输入密码'
            }   
        }(),

        initFormEvent:function(){
            $('#username').bind('blur change',function(){
                __clientValidate.validate.requireValidate($(this),{message:__clientPassport.validate.validateMessage.username});
            });
            $('#password').bind('blur change',function(){
                __clientValidate.validate.requireValidate($(this),{message:__clientPassport.validate.validateMessage.password});
            });
        },

        validateForm:function(){
            var isValid = false;
            if( !__clientValidate.validate.requireValidate($('#username'),{message:__clientPassport.validate.validateMessage.username}) ){
            }else if( !__clientValidate.validate.requireValidate($('#password'),{message:__clientPassport.validate.validateMessage.password}) ){
            }else{
	            isValid = true;
            }
            return isValid;
        },

        showClientUI:function(){
                    if(__global.cookie.get(".aspnetForms") == ""){
	                __clientPassport.grid.createLoginUI();                        
                        __clientPassport.validate.initFormEvent();
                    }else{
                        oWebpartPassport.appendChild(oPassportUI);             
                        __clientPassport.validate.showUI(__global.cookie.get("dataSource"));
                    }
        },

        showSuccessUI:function(dataSource){            
            var dtNow = new Date();
            var dtExpireYear = 50;
            var dtExpire = new Date(dtNow.getFullYear()+dtExpireYear,dtNow.getMonth(),dtNow.getDate(),dtNow.getHours(),dtNow.getMinutes(),dtNow.getSeconds(),dtNow.getMilliseconds());
            __global.cookie.set("dataSource",dataSource,dtExpire.toUTCString());

            __clientPassport.validate.showUI(dataSource);
        },

        showUI:function(dataSource){
            var oDataSource = eval("("+dataSource+")");

            oPassportUI.innerHTML = "<div style=\"margin:15px;\">";
            oPassportUI.innerHTML += "<p>"+oDataSource.Username+"，欢迎你！</p>";
            oPassportUI.innerHTML += "<p>上次登陆时间是："+__global.date.get(oDataSource.LastLoginDate)+"</p>";
            oPassportUI.innerHTML += "<p><a href=\"#\" onclick=\"javascript:__clientPassport.validate.logout()\">注销登录</a></p>";
            oPassportUI.innerHTML += "</div>";

            oPassportUI.innerHTML += "<hr/>";

            oPassportUI.innerHTML += "<div style=\"margin:15px;\">";
            oPassportUI.innerHTML += "<p><a href=\""+__global.webSite.root+"Manage/RequestManage.aspx?subSystem=90&module=9011&verb=102\" target=\"_blank\">管理</a/></p>";
            oPassportUI.innerHTML += "</div>";
            oPassportUI.innerHTML += "<div id=\"requestMessage\" ></div>";
            oPassportUI.innerHTML += "<input id=\"persistent\" name=\"persistent\" type=\"hidden\" value=\"1\"/> ";
            oPassportUI.innerHTML += "<input id=\"validateCode\" nage=\"validateCode\" type=\"hidden\" value=\"1\"/> ";
            oPassportUI.innerHTML += "<input id=\"subSystem\" nage=\"subSystem\" type=\"hidden\" value=\"80\"/> ";
            oPassportUI.innerHTML += "<input id=\"module\" nage=\"module\" type=\"hidden\" value=\"8011\"/> ";
            oPassportUI.innerHTML += "<input id=\"module\" nage=\"verb\" type=\"hidden\" value=\"801112\"/> ";
        },

        beforeRequestCallback:function(){
            var isClientValidate;
            isClientValidate = __clientPassport.validate.validateForm();

            if(isClientValidate){
                var oRequestMessage = document.getElementById('requestMessage');
                document.getElementById('passport_ui').className = "requestGridMask";
                document.getElementById('passport_ui').disabled = true;

                oRequestMessage.className = 'requestLoading' ;
                oRequestMessage.style.display = 'block';
                oRequestMessage.style.visibility = 'visible';
                oRequestMessage.style.left =  __global.position.getPos(oWebpartPassport,'left') + (oWebpartPassport.offsetWidth - oRequestMessage.offsetWidth)/2 ; 
                oRequestMessage.style.top = __global.position.getPos(oWebpartPassport,'top') + (oWebpartPassport.offsetHeight - oRequestMessage.offsetHeight)/2;         
                oRequestMessage.innerHTML = __global.webSite.requestMessage;
            }

            return isClientValidate;
        },

        successCallback:function(msg){
            var oRequestMessage = document.getElementById('requestMessage');

	    if(msg.Message == 'success'){
                __clientPassport.validate.showSuccessUI(msg.Data)                
            }else{
                alert(msg.Data);
            }

            document.getElementById('passport_ui').className = "";
            document.getElementById('passport_ui').disabled = false;
            oRequestMessage.className = '';
            oRequestMessage.innerHTML = '';
        },

        beforeLogoutRequestCallback:function(){
            var isClientValidate = true;

            if(isClientValidate){
                var oRequestMessage = document.getElementById('requestMessage');
alert(oRequestMessage);
                document.getElementById('passport_ui').className = "requestGridMask";
                document.getElementById('passport_ui').disabled = true;

                oRequestMessage.className = 'requestLoading' ;
                oRequestMessage.style.display='';
                oRequestMessage.style.visibility = 'visible';
                oRequestMessage.style.left =  (document.body.clientWidth - oRequestMessage.offsetWidth)/2 * 1.2 ; 
                oRequestMessage.style.top = (window.screen.availHeight - oRequestMessage.offsetHeight)/2 * 0.65 ;         
                oRequestMessage.innerHTML = "<img src='" + __global.webSite.root + "Resources/Image/loading.gif'/><p>Please Wait Loading...</p>";
            }

            return isClientValidate;
        },

        successLogoutCallback:function(msg){
            var oRequestMessage = document.getElementById('requestMessage');

	    if(msg.Message == 'success'){
                isShowValidateImage = false;
                __clientPassport.validate.showClientUI();             
            }else{
                alert(msg.Data);
            }

            document.getElementById('passport_ui').className = "";
            document.getElementById('passport_ui').disabled = false;
            oRequestMessage.className = '';
            oRequestMessage.innerHTML = '';
        },
            
        errorCallback:function(msg){
            var oRequestMessage = document.getElementById('requestMessage');                                
            document.getElementById('passport_ui').className = "";
            document.getElementById('passport_ui').disabled = false;
            oRequestMessage.className = '';
            oRequestMessage.innerHTML = '';
            alert("Load Error ... " + msg.responseText);
        }
    };
	
    __clientPassport.grid = __clientPassport.prototype =
    {
        init:function(containerID){
            __global.loadScript2( __global.webSite.root + 'Resources/Script/request.js' ); 
            __global.event.add(window,"load",function(){
                    oWebpartPassport = document.getElementById(containerID);
                    __clientPassport.validate.showClientUI();
                }                
            );
        },

        //创建LoginUI
        createLoginUI:function(){
            /*
                                "<dd><ul><li>持久化：</li><li><select id=\"persistent\" name=\"persistent\">"+
                                        "<option value=\"0\">不保存</option>"+
                                        "<option value=\"1\">保存1天</option>"+
                                        "<option value=\"2\">保存1个星期</option>"+
                                        "<option value=\"3\">保存3个月</option>"+
                                    "</select>"+
                                "</li></ul></dd>"+
                                "<dd><ul><li>验证码：</li><li><input type=\"text\" id=\"validateCode\" name=\"validateCode\" onclick=\"__clientPassport.grid.showValidateImage()\"/></li></ul></dd>"+
                                "<dd><ul><li id=\"validateContianer\"></li></ul></dd>"+
                                "<dd><ul><li><img src=\""+__global.webSite.root+"Resources/Image/btnPost.gif\" onclick=\"javascript:__clientPassport.validate.login()\"/></li></ul></dd>"+
            */

            oPassportUI.innerHTML = "<form action=\"passport.html\" target=\"_blank\">" +
                                     "<ul>" + 
                                         "<li>用户：<input id=\"username\" type=\"text\"/></li>" +
                                         "<li>密码：<input id=\"password\" type=\"password\"/></li>" +
                                         "<li><img src=\""+__global.webSite.root+"Resources/Image/btnLogin.jpg\" onclick=\"javascript:__clientPassport.validate.login()\"/></li>" +
                                         //"<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" value=\"  登陆  \"/></li>" +
                                     "</ul>" +
                                     "<div id=\"requestMessage\" ></div>" + 
                                     "<dl>" +
                                         "<dd><a href=\"blank.html\" target=\"_blank\">用户注册</a></dd>" +
                                         "<dd><a href=\"blank.html\" target=\"_blank\">忘记密码</a></dd>" +
                                     "</dl>" +
                                     "<input id=\"persistent\" name=\"persistent\" type=\"hidden\" value=\"1\"/> " + 
                                     "<input id=\"validateCode\" nage=\"validateCode\" type=\"hidden\" value=\"1\"/> " + 
                                     "<input id=\"subSystem\" nage=\"subSystem\" type=\"hidden\" value=\"80\"/> " + 
                                     "<input id=\"module\" nage=\"module\" type=\"hidden\" value=\"8011\"/> " +
                                     "<input id=\"module\" nage=\"module\" type=\"hidden\" value=\"801111\"/> " +
                                 "</form>";
            oWebpartPassport.appendChild(oPassportUI);
        },

        //插入数据到表头
        loadHeadData:function(){        
            /*for(i=0;i<columnMode.data.length;i++){        
                oCell = document.createElement("TH");
                oCell.innerHTML = columnMode.data[i].header;
                oRow.appendChild(oCell);
            }*/
        },

        //ajax加载数据
        load:function(){
            __httpRequest.options.global = false;         
            __httpRequest.options.type = 'post';
            __httpRequest.options.url = __global.webSite.root + __global.webSite.requestURL;
            __httpRequest.options.data = {'subSystem':document.getElementById('subSystem').value,'module':document.getElementById('module').value,'verb':52,'categoryID':document.getElementById('categoryID').value,'pageIndex':__clientTemplateUI.paging.pageIndex,'pageSize':__clientTemplateUI.paging.currentPageSize};
            __httpRequest.options.dataType = 'json';                
            __httpRequest.beforeRequestCallback = this.beforeRequestCallback;
            __httpRequest.options.successCallback = this.successCallback;
            __httpRequest.options.errorCallback = this.errorCallback;

            __httpRequest.request();
        },

        //插入数据到表体
        loadData:function(dataSource){
            //根据皮肤生成内容

            //alert(document.getElementById('manager_grid').innerHTML);
            //document.getElementById('template_homepage').href = __global.webSite.homepage;
            //document.getElementById('template_heade_title').innerHTML = dataSource.data[0].categoryName;
                
            this.loadFootData();
        },
        
        //插入数据到表脚
        loadFootData:function(opt){
        },

        showValidateImage:function(){
            var oValidateContianer = document.getElementById("validateContianer");
            if(!isShowValidateImage){
                isShowValidateImage = true;
                oValidateContianer.innerHTML = "认证码：<img id=\"validateImage\" name=\"validateImage\" src=\"" + __global.webSite.root +"Passport/?img="+Math.random()+"\" alt=\"看不清楚，双击图片换一张\" title=\"看不清楚，双击图片换一张\"  ondblclick=\"this.src = '"+__global.webSite.root+"Passport/?img=' + Math.random()\" style=\"margin:5px 0;border:1px solid #000\"/>";                    
            }
        },
        
        //刷新表体数据
        refresh:function(){
            this.load();                
            //alert(document.getElementById('manager_grid').innerHTML);
        }
    };

    __clientPassport.grid.init.prototype = __clientPassport.grid;

})()