﻿//获取window.Event对象，兼容firefox和ie
function getEvent() {
    if (document.all) {
        //如果是ie
        return window.event;
    }
    var func = getEvent.caller;
    while (func != null) {
        var arg0 = func.arguments[0];
        if (arg0) {
            if ((arg0.constructor == Event || arg0.constructor == MouseEvent)
               || (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {
                return arg0;
            }
        }
        func = func.caller;
    }
    return null;
}
//去除前后空格
function trim(objValue) {
    return objValue.replace(/(^\s*)|(\s*$)/, "");
}
//==========================
//======2007年7月12日=======
// 统计图位置(没有启用)
//
function f_GetGraphPosition( Graph_Type )
{   
    var x=0,y=0;
    x = (document.documentElement.scrollLeft || document.body.scrollLeft);
    y = (document.documentElement.scrollTop || document.body.scrollTop);
	
    var theWidth=0,theHeight=0;
	
    if (window.innerWidth) 
    { 
      theWidth  = window.innerWidth;
      theHeight = window.innerHeight; 
    } 
    else if (document.documentElement && document.documentElement.clientWidth) 
    { 
      theWidth  = document.documentElement.clientWidth;
      theHeight = document.documentElement.clientHeight; 
    } 
    else if (document.body) 
    { 
      theWidth  = document.body.clientWidth;
      theHeight = document.body.clientHeight; 
    }
    // onload="javascript:f_GetGraphPosition( 'CURVE' );"
    if ( Graph_Type == "CURVE" )
    {
        // x:0 w:775 sw:748  (775 - 748)/2 + 80 = 93.5
        // y:0 h:650 sh:430  (650 - 430)/2 + 25 = 135
        if ( x == "0" ) x = 78;
        if ( y == "0" ) y = 65;  // 25
    }
    // onload="javascript:f_GetGraphPosition( 'CAKE' );"
    else if ( Graph_Type == "CAKE" )
    {
        // x:0 w:775 sw:748  (775 - 748)/2 + 80 = 93.5
        // y:0 h:650 sh:430  (650 - 430)/2 + 55 = 165
        if ( x == "0" ) x = 78;
        if ( y == "0" ) y = 225;  // 55
    }
    theWidth  = (theWidth  - fst.offsetWidth) / 2 + x;
    theHeight = (theHeight - fst.offsetHeight) / 2 + y;
    theWidth  = Math.floor( theWidth );
    theHeight = Math.floor( theHeight );
    document.getElementById("nTop").setAttribute( "value", theHeight );
    document.getElementById("nLeft").setAttribute( "value", theWidth );

}
//
// 获取每一个参数值
//
function f_getParam( paramName, paramLine )
{

	if (paramName == "") return false;	
	var nPos = paramLine.indexOf( paramName + "=" );
	
	if ( nPos > 0 )
	{
	
		if ( paramLine.substring( nPos - 1, nPos ) == "?" || paramLine.substring( nPos - 1, nPos ) == "&" )
		{
			
			var nEndPos;
			nPos   +=  paramName.length;
			nEndPos =  paramLine.indexOf( "&", nPos );
			
			if ( nEndPos > 0 )
			{
				 return paramLine.substring( nPos + 1, nEndPos )
			}
			else
		    {
				 return paramLine.substring( nPos + 1 );
			}
			
		}
		else
		{
			 return "";
		}
				
	}
	else
	{
		return "";
	}
	
	return "";

};
// 屏蔽键盘值
function f_ShieldKey()
{
    //onkeydown="javascript:if(event.keyCode >= 8 && event.keyCode <= 222) event.returnValue = false;"
    if ( event.keyCode >= 8 && event.keyCode <= 222 )
    {
        event.returnValue = false;
    }
};
// 模式窗口
function f_KMessageBoxShow( sTitle, sMsg )
{
    KMessageBox.ShowInfo('icon_alarm.gif','icon_big_info.gif',sTitle,sMsg,'OK');
};
// 会员登录
function f_UserLogin()
{
    var strUName = document.getElementById("name").value;       // 会员名称
    var strUPwd  = document.getElementById("password").value;   // 会员密码
    var strCCode = document.getElementById("chkcode").value;    // 验证码
    var objMsg   = document.getElementById("ErrMsg");           // 错误信息显示
    if (trim(strUName) != "" && trim(strUPwd) != "" && trim(strCCode) != "") {
        KVAssociator.Login.AssociatorLogin(strUName, strUPwd, strCCode, function(rtn){
            if (rtn.value != null)
            {                
                switch ( rtn.value )
                {
                    case "0":
                        document.location.href = "Default.aspx";
                        break;
                        
                    case "1":
                        objMsg.innerHTML = "用户名、密码或者验证码为空！";
                        break;
                        
                    case "2":
                        objMsg.innerHTML = "用户名或者密码错误！";
                        break;
                        
                    case "3":
                        objMsg.innerHTML = "无法连接服务器，请您稍候再试！";
                        break;
                        
                    case "4":
                        objMsg.innerHTML = "您尚未开通邮件登录功能！";
                        break;
                        
                    case "5":
                        objMsg.innerHTML = "未知错误，登录失败！";
                        break;
                        
                    case "6":
                        objMsg.innerHTML = "会员兑奖活动期已经截止，暂停登录，<br />更多信息请您联系江民公司！";
                        break;
                        
                    case "7":
                        objMsg.innerHTML = "验证码不正确！";
                        break;
                        
                    default:
                        objMsg.innerHTML = "登录失败！";
                        break;
                }               
            }
            else {
                document.getElementById("codeImg").click();
            }                    
        });
    }
    else {
        objMsg.innerHTML = "请输入各项值！";
        document.getElementById("codeImg").click();     
    }    
};
function CheckIsLogin()
{
    var event = getEvent();
    if (event.keyCode==13) {
        f_UserLogin();
    }        
}
// 表格统计[sheet]
function f_RR_SheetStat()
{
    var StatType = document.getElementById("AArea_StatType").value;
    var TimeType = document.getElementById("AArea_TimeType").value;
    var Province = document.getElementById("AArea_Province").value;
    var City     = document.getElementById("AArea_City").value;
    var SDate    = document.getElementById("f_date_c1").value;
    var EDate    = document.getElementById("f_date_c2").value;

    PageMethods.RR_SheetStat( StatType, TimeType, Province, City, SDate, EDate, function(rtn){
    //KVAssociator.Modules.Stat.DevAssociatorStat.RR_SheetStat( StatType, TimeType, Province, City, SDate, EDate, function(rtn){
        if ( rtn != "1" )
        {
            f_KMessageBoxShow( "没有统计数据", "该日期范围内没有统计数据，请选择其他日期再试！" );
        }
    });
};
// 饼图统计[cake]，0－会员，1－回执卡
function f_AS_CakeStat( strTblType )
{
    var nTop     = document.getElementById("nTop").value;           // 距离顶部高度
    var nLeft    = document.getElementById("nLeft").value;          // 距离左侧宽度
    var StatType = document.getElementById("AArea_StatType").value; // 统计类型：0－全国，1－省份，2－城市
    var TimeType = document.getElementById("AArea_TimeType").value; // 时间类型：0－按年，1－按月，2－按日
    var Province = document.getElementById("AArea_Province").value; // 省份ID
    var City     = document.getElementById("AArea_City").value;     // 城市ID
    var SDate    = document.getElementById("f_date_c1").value;      // 起始日期
    var EDate    = document.getElementById("f_date_c2").value;      // 结束日期
    // 会员
    if ( strTblType == "0" )
    {
        PageMethods.AS_CakeStat( StatType, TimeType, Province, City, SDate, EDate, 
            nTop, nLeft, function(rtn){
            NoDataString.innerHTML     = "";
            DetailStringView.innerHTML = ""
            if ( rtn != "" )
            {
                ViewString.innerHTML = rtn;
                SetWinHeight(parent.window.mainFrame);
            }
            else
            {
                f_KMessageBoxShow( "没有统计数据", "该日期范围内没有统计数据，请选择其他日期再试！" );
            }
        });
    }
    // 回执卡
    else
    {
        PageMethods.RR_CakeStat( StatType, TimeType, Province, City, SDate, EDate, 
            nTop, nLeft, function(rtn){
            NoDataString.innerHTML     = "";
            DetailStringView.innerHTML = ""
            if ( rtn != "" )
            {
                ViewString.innerHTML = rtn;
                SetWinHeight(parent.window.mainFrame);
            }
            else
            {
                f_KMessageBoxShow( "没有统计数据", "该日期范围内没有统计数据，请选择其他日期再试！" );
            }
        });
    }
};
// 曲线图统计[curve]，0－会员，1－回执卡
function f_AS_CurveStat( strTblType )
{
    var nTop     = document.getElementById("nTop").value;           // 距离顶部高度
    var nLeft    = document.getElementById("nLeft").value;          // 距离左侧宽度
    var StatType = document.getElementById("AArea_StatType").value; // 统计类型：0－全国，1－省份，2－城市
    var TimeType = document.getElementById("AArea_TimeType").value; // 时间类型：0－按年，1－按月，2－按日
    var Province = document.getElementById("AArea_Province").value; // 省份
    var City     = document.getElementById("AArea_City").value;     // 城市
    var SDate    = document.getElementById("f_date_c1").value;      // 起始日期
    var EDate    = document.getElementById("f_date_c2").value;      // 截止日期
    // 会员
    if ( strTblType == "0" )
    {
        PageMethods.AS_CurveStat( StatType, TimeType, Province, City, SDate, EDate, 
            nTop, nLeft, function(rtn){
            NoDataString.innerHTML     = "";
            DetailStringView.innerHTML = ""
            if ( rtn != "" )
            {
                ViewString.innerHTML = rtn;
                SetWinHeight(parent.window.mainFrame);
            }
            else
            {
                f_KMessageBoxShow( "没有统计数据", "该日期范围内没有统计数据，请选择其他日期再试！" );
            }
        });
    }
    // 回执卡
    else
    {
        PageMethods.RR_CurveStat( StatType, TimeType, Province, City, SDate, EDate, 
            nTop, nLeft, function(rtn){
            NoDataString.innerHTML     = "";
            DetailStringView.innerHTML = ""
            if ( rtn != "" )
            {
                ViewString.innerHTML = rtn;
                SetWinHeight(parent.window.mainFrame);
            }
            else
            {
                f_KMessageBoxShow( "没有统计数据", "该日期范围内没有统计数据，请选择其他日期再试！" );
            }
        });
    }
};
// 详细信息统计，strTblType【0－会员，1－回执卡】
function f_AssociatorDetail( strTblType, strProvince, strCity, strDate )
{
    //alert( strProvince + " | " + strCity + " | " + strDate );
    var strSType    = document.getElementById("AArea_StatType").value;  // 统计类型：0－全国，1－省份，2－城市
    var strTimeType = document.getElementById("AArea_TimeType").value;  // 时间类型：0－按年，1－按月，2－按日
    // 数据为空
    if ( strSType == "" || strTimeType == "" || strProvince == "" || strCity == "" || strDate == "" )
    {
        f_KMessageBoxShow( "没有统计数据", "数据错误！" );
    }
    else
    {
        // 两个统计日期
        var strDate1, strDate2;
        // 按“日”统计
        if ( strTimeType == "2" )
        {
            strDate1 = strDate;
            strDate2 = strDate;
        }
        // 按“月”统计
        else if ( strTimeType == "1" )
        {
            strDate1 = strDate + "-1";
            strDate2 = strDate + "-28";
        }
        // 按“年”统计
        else
        {
            strDate1 = strDate + "-1-1";
            strDate2 = strDate + "-12-31";
        }
        // 0－会员详细信息统计
        if ( strTblType == "0" )
        {
            PageMethods.AssociatorDetailStat( strSType, strTimeType, strProvince, strCity, strDate1, strDate2, function( rtn ){
                if ( rtn != null )
                {
                    DetailStringView.innerHTML = rtn;
                    SetWinHeight(parent.window.mainFrame);
                }
                else
                {
                    DetailStringView.innerHTML = "";
                    f_KMessageBoxShow( "没有统计数据", "没有该地区统计数据！" );
                } 
            });
        }
        // 1－回执卡详细信息统计
        else
        {
            PageMethods.AssociatorDetailStat( strSType, strTimeType, strProvince, strCity, strDate1, strDate2, function( rtn ){
                if ( rtn != null )
                {
                    DetailStringView.innerHTML = rtn;
                    SetWinHeight(parent.window.mainFrame);
                }
                else
                {
                    DetailStringView.innerHTML = "";
                    f_KMessageBoxShow( "没有统计数据", "没有该地区统计数据！" );
                } 
            });
        }
    }
};
// 选择权限树结点
//--当选择根节点时所有的子节点都要被选择-----//
//--当选择子节点时相应的根节点也要被选择-----//
//--当所有子节点取消选择时根节点也要取消选择-//
function client_OnTreeNodeChecked() 
{ 
    var ele = event.srcElement; 
    if(ele.type=='checkbox') 
    { 
        var childrenDivID = ele.id.replace('CheckBox','Nodes');
        var div = document.getElementById(childrenDivID); 
        if(div != null)
        {
            var checkBoxs = div.getElementsByTagName('INPUT'); 
            for(var i=0;i<checkBoxs.length;i++) 
            { 
                if(checkBoxs[i].type=='checkbox') 
                checkBoxs[i].checked=ele.checked; 
            }
        }
        else
        {
            var div = GetParentByTagName(ele,'DIV');
            var checkBoxs = div.getElementsByTagName('INPUT'); 
            var parentCheckBoxID = div.id.replace('Nodes','CheckBox');
            var parentCheckBox = document.getElementById(parentCheckBoxID);
            for(var i=0;i<checkBoxs.length;i++) 
            {
                if(checkBoxs[i].type=='checkbox' && checkBoxs[i].checked)
                {
                    parentCheckBox.checked = true;
                    return;
                }
            }
            parentCheckBox.checked = false;
        }        
    }
}
// 选择权限树结点
function GetParentByTagName(element, tagName)
{
    var parent = element.parentNode;
    var upperTagName = tagName.toUpperCase();
    while (parent && (parent.tagName.toUpperCase() != upperTagName))
    {
        parent = parent.parentNode ? parent.parentNode : parent.parentElement;
    }
    return parent;
}
// Exit
function f_ExitSystem()
{
    PageMethods.ExitSys( function( rtn ){
        if ( rtn != "" )
        {
            document.location.href = "Login.aspx";
        } 
    });
}
//检验用户名
function uName_Check()
{
    var re= /^[0-9A-Za-z_]{5,20}$/; 
    var objAName  = document.getElementById("name");
    var objErrMsg = document.getElementById("ErrMsg");
    objAName.style.backgroundColor = ""; 
    objErrMsg.innerHTML = ""; 
    if( objAName.value !="") 
    { 
         if(!(re.exec(objAName.value) ) )
         {
            objErrMsg.innerHTML = "会员名称由5～20位字母、数字及下划线组成!";
            objAName.style.backgroundColor = "FAD2E8";
         }
    }

};
//检验Email
function uEmail_Check()
{
    var objEmail  = document.getElementById("uEmail");
    var objErrMsg = document.getElementById("ErrMsg");
    var re=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/
    objEmail.style.backgroundColor = "";
    objErrMsg.innerHTML = "";
    if(objEmail.value !="")
    {  
        if( (objEmail.value.search(re)) == -1  )
       { 
           objErrMsg.innerHTML = "电子邮件格式不正确!";
           objEmail.style.backgroundColor = "FAD2E8"; 
       }
    }
};
// 检验密码 
function uPwd_Check()
{
    var objPwd    = document.getElementById("uPwd");
    var objErrMsg = document.getElementById("ErrMsg");
    objPwd.style.backgroundColor = "";
    objErrMsg.innerHTML = "";
    if ( objPwd.value != "" )
    {
        if ( objPwd.value.length < 6 || objPwd.value.length > 20 )
        {
           objErrMsg.innerHTML = "会员密码由6～20位字符组成!";
           objPwd.style.backgroundColor = "FAD2E8";
        }
    }
};
// 检验确认密码
function uPwd2_Check()
{
    var objPwd    = document.getElementById("uPwd");
    var objPwd2   = document.getElementById("secPwd");
    var objErrMsg = document.getElementById("ErrMsg");
    objPwd2.style.backgroundColor = "";
    objErrMsg.innerHTML = "";
    if ( objPwd2.value != "" )
    {
        if ( objPwd2.value.length < 6 || objPwd2.value.length > 20 )
        {
           objErrMsg.innerHTML = "确认密码由6～20位字符组成!";
           objPwd2.style.backgroundColor = "FAD2E8";
        }
        else if ( objPwd.value != objPwd2.value )         
        {
           objErrMsg.innerHTML = "会员密码与确认密码不符!";
           objPwd.style.backgroundColor  = "FAD2E8";
           objPwd2.style.backgroundColor = "FAD2E8";
        }
    }
};
// 菜单项改变时，重新加载默认页面
function changeframe(fsrc)
{
    //alert(document.getElementById);
    if (document.getElementById)
    {
        //alert( fsrc );
        //src="Modules/PersonInfo/SearchPerInfo.aspx"
        if ( document.getElementById("mainFrame") && fsrc != null && fsrc != "" )
        {
            document.getElementById("mainFrame").src = fsrc;
        }
    }
};
// 隐藏/显示提示信息
function f_displayTip(obj)
{   
    //var objCls1 = document.getElementById("cls1");
    //var objCls2 = document.getElementById("cls2");
    // 设置隐藏/显示提示
    obj.style.display == 'none' ? obj.style.display='' : obj.style.display='none';
    // 设置会员选择框距离顶部高度
    //obj.style.display == 'none' ? objCls1.style.top = '101' : objCls1.style.top = '240';
    //obj.style.display == 'none' ? objCls2.style.top = '101' : objCls2.style.top = '240';
    //SetWinHeight(parent.window.mainFrame);
};
// 验证输入的用户是否存在『存在则选择该项，不存在提示』
function checkOption()
{
    var select_obj = document.getElementById("userlist");  
    var text_value = document.getElementById("name").value;
    if  (select_obj.length)  
    {  
        var IsExist = false;
        for  (var i = 0; i < select_obj.length; i++)  
        {  
	        //  如果已经存在，不添加，直接退出 toLowerCase() toUpperCase() 
	        if  (select_obj.options[i].text.toLowerCase() == text_value.toLowerCase())
	        {
		        IsExist = true;
		        select_obj.selectedIndex = i;
		        //alert("选项已存在，请重新输入");  
	        }
        }
        if (!IsExist)
        {
	        //alert( "不存在该用户！" );
	        f_KMessageBoxShow( "错误提示", "该会员不存在，请重新选择或者输入！" );
	        document.getElementById("name").value = select_obj.options[select_obj.selectedIndex].text;
        }
    }
};
// 根据选择地区获取地区ID值
function _GetAreaValue(name)
{
    if (name)
    {
        PageMethods.GetUId(name, function( rtn ){
            // 设置
            if ( rtn == "1" )
            {
                document.location.reload();
            }
        });
    }
};
// 自动获取会员列表值
function _GetAssociatorList()
{
    PageMethods.GetAssoList(function( rtn ){
        // 获取会员列表值
        if ( rtn != null )
        {
            //document.getElementById("div_2").innerHTML = rtn;
            div_2.innerHTML = rtn;
        }
        else
        {
            div_2.innerHTML = "没有会员列表数据！";
        }        
    });
};