/**
 * 石化产业信息服务公共平台2.0
 * 
 * 进行权限控制的js
 */

/**
 * 权限控制函数，注意服务端返回的数据格式是：
 * {success:true/false,
 *  result:true/false ,
 *  data:要处理的数据}
 * @param {Object} param   发送请求时的参数
 * @param {string} url     目标servlet     
 * @param {function} callback 成功时，调用的函数
 */
var SHCY = (typeof SHCY=="object")?SHCY:{};
document.write('<script type="text/javascript" src="/SHCY/common/js/ui.core.js">'+
'</script><script type="text/javascript" src="/SHCY/common/js/ui.resizable.js"></script>'+
'<script type="text/javascript" src="/SHCY/common/js/ui.draggable.js"></script>'+
'<script type="text/javascript" src="/SHCY/common/js/ui.dialog.js"></script>');
$(document).ready(function(){
	SHCY.accesscontrol = function(param,url,callback){
    $.ajax({
        type: 'POST',
        url: url,
        data: param,
        success: function(data){
            var json;
            try {
                json = eval("(" + data + ")");
            } 
            catch (e) {
                throw e;
            }
            if (typeof json == "object") {
                if (json.success && json.result) {
                    if (typeof callback == "function") {
                        callback(json.data);
                    }
                }
                else if (!json.success) {
                        SHCY.login(param, url, callback);
                }
                else {
                    /**
                     * 服务器处理出错，该如何提示。。。
                     */
					alert("对不起，在连接服务器时出现未知错误，为你带来的不便请原谅!");
                }
            }
        },
        error: function(data){
			alert("对不起，在连接服务器时出现未知错误，为你带来的不便请原谅!");
        }
    });
}

/**
 * 获取页面ID与路径参数
 */
SHCY.getpageparam = function(){
    var url = window.location.search;
    var param = {};
    if(url.indexOf('?') != -1){
        url = url.substr(1);
        var list = url.split('&');
        for(var i=0; i<list.length;i++){
            var name = list[i].split('=')[0];
            var value = list[i].split('=')[1];
            param[name] = value;
                     }
          }
    
    param.pageid = $('#PageID').attr('PageID');
    
    return param;
}

/**
 * 这个函数属于权限控制的时候所用的登录函数,
 * 登录不成功时弹出一个层，要求登录，注意登陆框的ID为：loginWindow
 * @param {Object} param
 * @param {Object} url
 * @param {Object} callback
 */
SHCY.login = function(param,url,callback){
    var div = "<div id='loginWindow'></div>";
    var loginwindow = $("#loginWindow");

    if (loginwindow.size() > 0) {
        loginwindow.dialog('open');
		$('#loginWindow input').val('');
    }
    else {
        $("body").append(div);
        $("#loginWindow").load('/SHCY/login/login0.html', {}, function(){
			$('select').css('display',"none");
            $("#loginWindow").dialog({
                modal: true,
                title: "  请登录",
                resizable: false,
				close:function(){
					$('select').css('display',"");
				},
                buttons: {
                    "登录": function(){
						var input = $('#loginWindow input');
						
						var pr = {};
						pr.name = input[0].value;
						pr.password = input[1].value;
						
						if($.trim(pr.name).length == 0 || $.trim(pr.password).length == 0){
							alert("请输入账号和密码!");
						}
						
                        $.ajax({
                            url: "/SHCY/login/Login0",
                            type: "POST",
                            data: pr,
                            success: function(data){
                                var json
                                try {
                                    json = eval("(" + data + ")");
                                } 
                                catch (e) {
                                    throw e;
                                }
                                
                                if (typeof json == "object") {
                                    if (json.success && json.result) {
                                        $("#loginWindow").dialog("close");
                                        SHCY.accesscontrol(param, url, callback);
                                    }
                                    else {
                                        alert("登陆失败，请确认账号密码是否正确！");
                                    }
                                }
                            },
                            error: function(data){
                                //错误
                            }
                        });
                    },
                    "取消": function(){
                        $("#loginWindow").dialog("close");
                    },
                    "注册":function(){
                        window.open("/SHCY/login/register1.html","会员注册");
                    }
                }
            });
        });
    }
}
});

