﻿function ykDialogBase (DlgShow)
{	
    var objAlertWin =
	{       
		"isMozilla":false,
		"objDiv":null,
		"over":false
	};

	var addHeader;

	objAlertWin.isMozilla = (document.all) ? false : true;
			
	if (objAlertWin.isMozilla) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);

	document.onmousedown = function(e)
	{
		if (objAlertWin.over)
		{
		if (objAlertWin.isMozilla) 
		{
	            	objAlertWin.objDiv = document.getElementById('ykLogonWin');
    				X = e.layerX;
    				Y = e.layerY;
    				return false;
			}
			else 
		{
			objAlertWin.objDiv = document.getElementById('ykLogonWin');
			objAlertWin.objDiv = objAlertWin.objDiv.style;
			
    				X = event.offsetX;
    				Y = event.offsetY;
			return false;
			};
		};
	};
	document.onmousemove = function(e)
	{
		if (objAlertWin.objDiv) 
		{
    			if (objAlertWin.isMozilla) 
			{
        				objAlertWin.objDiv.style.top = (e.pageY-Y) + 'px';
        				objAlertWin.objDiv.style.left = (e.pageX-X) + 'px';
        				return false;
    			}
    			else 
    			{
        				objAlertWin.objDiv.pixelLeft = event.clientX-X + document.body.scrollLeft;
		            	objAlertWin.objDiv.pixelTop = event.clientY-Y + document.body.scrollTop;
        				return false;
    			};
			};
	};
	document.onmouseup = function()
	{
		objAlertWin.objDiv = null;
	};

		var winWidth = (window.innerWidth) ? window.innerWidth : (document.documentElement && document.documentElement.clientWidth) ? document.documentElement.clientWidth : document.body.offsetWidth;     
		var winHeight = (window.innerHeight) ? window.innerHeight : (document.documentElement && document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.offsetHeight;
		var top = (winHeight-100)/2-100;
		var left = (winWidth-300)/2;

        var rcWidth = document.body.offsetWidth;     
	var rcHeight = document.body.offsetHeight;

	if (window.innerWidth && rcWidth < window.innerWidth) rcWidth = window.innerWidth;
	if (window.innerHeight && rcHeight < window.innerHeight) rcHeight = window.innerHeight;
	if (rcWidth < document.body.scrollWidth) rcWidth = document.body.scrollWidth;
	if (rcHeight < document.body.scrollHeight) rcHeight = document.body.scrollHeight;
	if (rcWidth < document.documentElement.scrollWidth) rcWidth = document.documentElement.scrollWidth;
	if (rcHeight < document.documentElement.scrollHeight) rcHeight = document.documentElement.scrollHeight;
	
	if (/msie 6\.0/.test(navigator.userAgent.toLowerCase()))
	{ 
	    document.getElementById('ykLogonFrame').style.visibility = "visible";
	    document.getElementById('ykLogonFrame').style.width = rcWidth+'px';
	    document.getElementById('ykLogonFrame').style.height = rcHeight+'px';
	}
		
    document.getElementById('ykLogon').style.visibility = "visible";
    document.getElementById('ykLogon').style.width = rcWidth+'px';
    document.getElementById('ykLogon').style.height = rcHeight+'px';
		
	document.getElementById('ykLogonWin').style.left = left + 'px';
	document.getElementById('ykLogonWin').style.top = top + 'px';
	
	if (document.getElementById('viewdoc')) document.getElementById('viewdoc').style.visibility='hidden';

	document.getElementById('ykLogonWin').innerHTML = DlgShow;
	document.getElementById('ykLogonWin').style.visibility = "visible";
	document.getElementById('ykLogonCaption').onmouseover = function(){objAlertWin.over = true;};
	document.getElementById('ykLogonCaption').onmouseout = function(){objAlertWin.over = false;};
	document.getElementById('ykLogonClose').onclick = function()
	{
	        if (document.getElementById('viewdoc')) document.getElementById('viewdoc').style.visibility='visible';
	        document.getElementById('ykLogonWin').style.visibility='hidden';
	        document.getElementById('ykLogon').style.visibility = 'hidden';
	        if (/msie 6\.0/.test(navigator.userAgent.toLowerCase()))  document.getElementById('ykLogonFrame').style.visibility = 'hidden';
	};
}

function ykLogon(ptHref, targetW)
{	
    var objAlertWin =
	{       
		"isMozilla":false,
		"objDiv":null,
		"over":false
	};

	var addHeader;

	objAlertWin.isMozilla = (document.all) ? false : true;
			
	if (objAlertWin.isMozilla) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);

	document.onmousedown = function(e)
	{
		if (objAlertWin.over)
		{
		if (objAlertWin.isMozilla) 
		{
	            	objAlertWin.objDiv = document.getElementById('ykLogonWin');
    				X = e.layerX;
    				Y = e.layerY;
    				return false;
			}
			else 
		{
			objAlertWin.objDiv = document.getElementById('ykLogonWin');
			objAlertWin.objDiv = objAlertWin.objDiv.style;
			
    				X = event.offsetX;
    				Y = event.offsetY;
			return false;
			};
		};
	};
	document.onmousemove = function(e)
	{
		if (objAlertWin.objDiv) 
		{
    			if (objAlertWin.isMozilla) 
			{
        				objAlertWin.objDiv.style.top = (e.pageY-Y) + 'px';
        				objAlertWin.objDiv.style.left = (e.pageX-X) + 'px';
        				return false;
    			}
    			else 
    			{
        				objAlertWin.objDiv.pixelLeft = event.clientX-X + document.body.scrollLeft;
		            	objAlertWin.objDiv.pixelTop = event.clientY-Y + document.body.scrollTop;
        				return false;
    			};
			};
	};
	document.onmouseup = function()
	{
		objAlertWin.objDiv = null;
	};

		var winWidth = (window.innerWidth) ? window.innerWidth : (document.documentElement && document.documentElement.clientWidth) ? document.documentElement.clientWidth : document.body.offsetWidth;     
		var winHeight = (window.innerHeight) ? window.innerHeight : (document.documentElement && document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.offsetHeight;
		var top = (winHeight-100)/2-100;
		var left = (winWidth-300)/2;

        var rcWidth = document.body.offsetWidth;     
	var rcHeight = document.body.offsetHeight;

	if (window.innerWidth && rcWidth < window.innerWidth) rcWidth = window.innerWidth;
	if (window.innerHeight && rcHeight < window.innerHeight) rcHeight = window.innerHeight;
	if (rcWidth < document.body.scrollWidth) rcWidth = document.body.scrollWidth;
	if (rcHeight < document.body.scrollHeight) rcHeight = document.body.scrollHeight;
	if (rcWidth < document.documentElement.scrollWidth) rcWidth = document.documentElement.scrollWidth;
	if (rcHeight < document.documentElement.scrollHeight) rcHeight = document.documentElement.scrollHeight;
	
	if (/msie 6\.0/.test(navigator.userAgent.toLowerCase()))
	{ 
	    document.getElementById('ykLogonFrame').style.visibility = "visible";
	    document.getElementById('ykLogonFrame').style.width = rcWidth+'px';
	    document.getElementById('ykLogonFrame').style.height = rcHeight+'px';
	}
		
    document.getElementById('ykLogon').style.visibility = "visible";
    document.getElementById('ykLogon').style.width = rcWidth+'px';
    document.getElementById('ykLogon').style.height = rcHeight+'px';
		
	document.getElementById('ykLogonWin').style.left = left + 'px';
	document.getElementById('ykLogonWin').style.top = top + 'px';
	
	if (document.getElementById('viewdoc')) document.getElementById('viewdoc').style.visibility='hidden';

    addHeader = "<form id=\"formtop\" name=\"formtop\" action=\"/TopLogin.aspx\" method=\"post\" target=\""+targetW+"\" onsubmit=\"return ykLoginSubmit()\">";
    addHeader += "<div class=\"ykdlbg\">";
    addHeader += "<div class=\"ykdlbg1\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td style=\" cursor:move;\"  id=\"ykLogonCaption\"><b>用户登陆</b></td><td width=\"228\">&nbsp;</td><td><span style=\"font-size:12px; cursor:pointer\" title=\"关闭\" id=\"ykLogonClose\">关闭</span></td></tr></table></div>";
    addHeader += "<div class=\"ykdlbg2\">如果您已注册雅库用户，请输入：<br/>";
    addHeader += "用户名 / 邮箱：<span id=\"RequiredFieldValidator2\" style=\"color:Red;display:none;\">用户名不能为空</span>";
    addHeader += "<input name=\"uNameTop\" type=\"text\" id=\"uNameTop\" class=\"ykkuang\" maxlength=\"100\" /><br/>";
    addHeader += "<font style=\" margin-left:45px;*margin-left:48px;\">密码：</font><span id=\"RequiredFieldValidator1\" style=\"color:Red;display:none;\">密码不能为空</span>";
    addHeader += "<input name=\"ptHref\" type=\"hidden\" id=\"ptHref\" value="+ptHref+" />";
    addHeader += "<input name=\"uPassTop\" type=\"password\" id=\"uPassTop\" class=\"ykkuang\" maxlength=\"16\" /><br/>";
    addHeader += "<div class=\"ykjz\">";
    addHeader += "<input name=\"checkbox1Top\" type=\"checkbox\" id=\"checkbox1Top\" style=\"vertical-align:-1px; margin-right:5px;\" />在电脑上保存用户名或邮箱，以便";
    addHeader += "自动输入。";
    addHeader += "</div>";
    addHeader += "<div class=\"ykdlbtnbg\">";
    addHeader += "<input name=\"SubmitTop\" type=\"submit\" id=\"SubmitTop\" class=\"ykdlbtn\" value=\"登　录\" /><br/>";
    addHeader += "<a href=\"/Login/FoundPW.aspx\">忘记密码</a> | <a href=\"/About/help/30.html\">帮助</a>";
    addHeader += "</div>";
    addHeader += "</div>";
    addHeader += "<div class=\"ykdlbg3\">您还不是雅库用户吗？ <a href=\"/Join1.aspx\" style=\"text-decoration:underline;\">现在加入雅库</a></div>";
    addHeader += "</div>";
    addHeader += "</form>";
		
	document.getElementById('ykLogonWin').innerHTML = addHeader;
	document.getElementById('ykLogonWin').style.visibility = "visible";
	document.getElementById('ykLogonCaption').onmouseover = function(){objAlertWin.over = true;};
	document.getElementById('ykLogonCaption').onmouseout = function(){objAlertWin.over = false;};
	document.getElementById('ykLogonClose').onclick = function()
	{
	        if (document.getElementById('viewdoc')) document.getElementById('viewdoc').style.visibility='visible';
	        document.getElementById('ykLogonWin').style.visibility='hidden';
	        document.getElementById('ykLogon').style.visibility = 'hidden';
	        if (/msie 6\.0/.test(navigator.userAgent.toLowerCase()))  document.getElementById('ykLogonFrame').style.visibility = 'hidden';
	};
};

function ykLoginSubmit()
{
    if (document.getElementById('viewdoc')) document.getElementById('viewdoc').style.visibility='visible';
    document.getElementById('ykLogonWin').style.visibility='hidden';
    document.getElementById('ykLogon').style.visibility = 'hidden';
    if (/msie 6\.0/.test(navigator.userAgent.toLowerCase()))  document.getElementById('ykLogonFrame').style.visibility = 'hidden';
    return true;
}

function InitLogonWin()
{
	if (/msie 6\.0/.test(navigator.userAgent.toLowerCase()))
	{ 
        document.write('<iframe id="ykLogonFrame" class="ykAlertFrame" src="javascript:false;" scrolling="no" frameborder="0" style="width:0px; height:0px"></iframe><div id="ykLogon" class="ykAlert" style="width:0px; height:0px"></div><div style="visibility:hidden;height:auto;position:absolute;z-index:10000;" id="ykLogonWin">111</div>');
	}
	else
	{
	document.write('<div id="ykLogon" class="ykAlert" style="width:0px; height:0px"></div><div style="visibility:hidden;height:auto;position:absolute;z-index:10000;" id="ykLogonWin">111</div>');
	};
}

function ykGotoUrlNewWin(url)
{
    var arr = document.cookie.match(new RegExp("(^| )userid=([^;]*)(;|$)"));
    
    if(arr != null)
    {
        window.open (url, "");
    }
    else
    {
        ykLogon (url, '_blank');
    }
}

function ykGotoUrl(url)
{
    var arr = document.cookie.match(new RegExp("(^| )userid=([^;]*)(;|$)"));
    
    if(arr != null)
    {
        window.location=url;
    }
    else
    {
        ykLogon (url, '_self');
    }
    
    return false;
}

function ykLogonNoWin(retFunc)
{	
    var objAlertWin =
	{       
		"isMozilla":false,
		"objDiv":null,
		"over":false
	};

	var addHeader;

	objAlertWin.isMozilla = (document.all) ? false : true;
			
	if (objAlertWin.isMozilla) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);

	document.onmousedown = function(e)
	{
		if (objAlertWin.over)
		{
		if (objAlertWin.isMozilla) 
		{
	            	objAlertWin.objDiv = document.getElementById('ykLogonWin');
    				X = e.layerX;
    				Y = e.layerY;
    				return false;
			}
			else 
		{
			objAlertWin.objDiv = document.getElementById('ykLogonWin');
			objAlertWin.objDiv = objAlertWin.objDiv.style;
			
    				X = event.offsetX;
    				Y = event.offsetY;
			return false;
			};
		};
	};
	document.onmousemove = function(e)
	{
		if (objAlertWin.objDiv) 
		{
    			if (objAlertWin.isMozilla) 
			{
        				objAlertWin.objDiv.style.top = (e.pageY-Y) + 'px';
        				objAlertWin.objDiv.style.left = (e.pageX-X) + 'px';
        				return false;
    			}
    			else 
    			{
        				objAlertWin.objDiv.pixelLeft = event.clientX-X + document.body.scrollLeft;
		            	objAlertWin.objDiv.pixelTop = event.clientY-Y + document.body.scrollTop;
        				return false;
    			};
			};
	};
	document.onmouseup = function()
	{
		objAlertWin.objDiv = null;
	};

		var winWidth = (window.innerWidth) ? window.innerWidth : (document.documentElement && document.documentElement.clientWidth) ? document.documentElement.clientWidth : document.body.offsetWidth;     
		var winHeight = (window.innerHeight) ? window.innerHeight : (document.documentElement && document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.offsetHeight;
		var top = (winHeight-100)/2-100;
		var left = (winWidth-300)/2;

        var rcWidth = document.body.offsetWidth;     
	var rcHeight = document.body.offsetHeight;

	if (window.innerWidth && rcWidth < window.innerWidth) rcWidth = window.innerWidth;
	if (window.innerHeight && rcHeight < window.innerHeight) rcHeight = window.innerHeight;
	if (rcWidth < document.body.scrollWidth) rcWidth = document.body.scrollWidth;
	if (rcHeight < document.body.scrollHeight) rcHeight = document.body.scrollHeight;
	if (rcWidth < document.documentElement.scrollWidth) rcWidth = document.documentElement.scrollWidth;
	if (rcHeight < document.documentElement.scrollHeight) rcHeight = document.documentElement.scrollHeight;
	
	if (/msie 6\.0/.test(navigator.userAgent.toLowerCase()))
	{ 
	    document.getElementById('ykLogonFrame').style.visibility = "visible";
	    document.getElementById('ykLogonFrame').style.width = rcWidth+'px';
	    document.getElementById('ykLogonFrame').style.height = rcHeight+'px';
	}
		
    document.getElementById('ykLogon').style.visibility = "visible";
    document.getElementById('ykLogon').style.width = rcWidth+'px';
    document.getElementById('ykLogon').style.height = rcHeight+'px';
		
	document.getElementById('ykLogonWin').style.left = left + 'px';
	document.getElementById('ykLogonWin').style.top = top + 'px';
	
	if (document.getElementById('viewdoc')) document.getElementById('viewdoc').style.visibility='hidden';

    addHeader = "<div class=\"ykdlbg\">";
    addHeader += "<div class=\"ykdlbg1\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td style=\" cursor:move;\"  id=\"ykLogonCaption\"><b>用户登陆</b></td><td style=\"width:228px\">&nbsp;</td><td><span style=\"font-size:12px; cursor:pointer\" title=\"关闭\" id=\"ykLogonClose\">关闭</span></td></tr></table></div>";
    addHeader += "<div class=\"ykdlbg2\">如果您已注册雅库用户，请输入：<br/>";
    addHeader += "用户名 / 邮箱：<input type=\"text\" id=\"userName\" class=\"ykkuang\" maxlength=\"100\" onblur=\"yakuecheckUserName();\"/><br/>";
    addHeader += "<span style=\" margin-left:45px;*margin-left:48px;\">密码：</span><input type=\"password\" id=\"Password\" class=\"ykkuang\" maxlength=\"16\" onblur=\"yakuecheckPwd();\"/><br/>";
    addHeader += "<div class=\"ykjz\"><input type=\"checkbox\" id=\"Remember\" style=\"vertical-align:-1px; margin-right:5px;\" />在电脑上保存用户名或邮箱，以便自动输入。</div>";
    addHeader += "<div class=\"ykdlbtnbg\"><div id=\"ErrorInfo\" style=\"color:Red;float:left;display:none\">用户名不能为空</div>";
    addHeader += "<input type=\"button\" class=\"ykdlbtn\" value=\"登　录\" onclick=\""+retFunc+"();\"/><br/>";
    addHeader += "<a href=\"/Login/FoundPW.aspx\">忘记密码</a> | <a href=\"/About/help/30.html\">帮助</a>";
    addHeader += "</div>";
    addHeader += "</div>";
    addHeader += "<div class=\"ykdlbg3\">您还不是雅库用户吗？ <a href=\"/Join1.aspx\" style=\"text-decoration:underline;\">现在加入雅库</a></div>";
    addHeader += "</div>";
		
	document.getElementById('ykLogonWin').innerHTML = addHeader;
	document.getElementById('ykLogonWin').style.visibility = "visible";
	document.getElementById('ykLogonCaption').onmouseover = function(){objAlertWin.over = true;};
	document.getElementById('ykLogonCaption').onmouseout = function(){objAlertWin.over = false;};
	document.getElementById('ykLogonClose').onclick = function()
	{
	        if (document.getElementById('viewdoc')) document.getElementById('viewdoc').style.visibility='visible';
	        document.getElementById('ykLogonWin').style.visibility='hidden';
	        document.getElementById('ykLogon').style.visibility = 'hidden';
	        if (/msie 6\.0/.test(navigator.userAgent.toLowerCase()))  document.getElementById('ykLogonFrame').style.visibility = 'hidden';
	};
};

function yakuecheckUserName(nameInput, errDiv)
{
    var ret = impcheckUserName (nameInput);
    if (ret == "OK") 
    {
        if (errDiv == null)
            document.getElementById("ErrorInfo").style.display = "none";
        else
            document.getElementById(errDiv).style.display = "none";
        return true;
    }
    else
    {
        if (errDiv == null)
        {
            document.getElementById("ErrorInfo").innerHTML = ret;
            document.getElementById("ErrorInfo").style.display = "block";
        }
        else
        {
            document.getElementById(errDiv).innerHTML = ret;
            document.getElementById(errDiv).style.display = "block";
        }
            
        return false;
    }
}

function yakuecheckPwd(nameInput, errDiv)
{
    var ret = impcheckPwd(nameInput);
    if (ret == "OK")
    {
        if (errDiv == null)
            document.getElementById("ErrorInfo").style.display = "none";
        else
            document.getElementById(errDiv).style.display = "none";
        return true;
    }
    else
    {
        if (errDiv == null)
        {
            document.getElementById("ErrorInfo").innerHTML = ret;
            document.getElementById("ErrorInfo").style.display = "block";
        }
        else
        {
            document.getElementById(errDiv).innerHTML = ret;
            document.getElementById(errDiv).style.display = "block";
        }
            
        return false;
    }
}

function yakuecheckEmail()
{
    var ret = impcheckEmail();
    if (ret == "OK")
    {
        document.getElementById("ErrorInfo").style.display = "none";
        return true;
    }
    else
    {
        document.getElementById("ErrorInfo").innerHTML = ret;
        document.getElementById("ErrorInfo").style.display = "block";
        return false;
    }
}

function yakuecheckDiscuss(nameInput, errDiv)
{
    var ret = impcheckDiscuss(nameInput);
    if (ret == "OK")
    {
        if (errDiv == null)
            document.getElementById("ErrorInfo").style.display = "none";
        else
            document.getElementById(errDiv).style.display = "none";
        return true;
    }
    else
    {
        if (errDiv == null)
        {
            document.getElementById("ErrorInfo").innerHTML = ret;
            document.getElementById("ErrorInfo").style.display = "block";
        }
        else
        {
            document.getElementById(errDiv).innerHTML = ret;
            document.getElementById(errDiv).style.display = "block";
        }
        
        return false;
    }
}

function closeLoginWin()
{
    if (document.getElementById('viewdoc')) document.getElementById('viewdoc').style.visibility='visible';
    document.getElementById('ykLogonWin').style.visibility='hidden';
    document.getElementById('ykLogon').style.visibility = 'hidden';
    if (/msie 6\.0/.test(navigator.userAgent.toLowerCase()))  document.getElementById('ykLogonFrame').style.visibility = 'hidden';
}

function gotoLogin()
{
    if (!yakuecheckUserName() || !yakuecheckPwd()) return;
    var UserName=document.getElementById("userName").value;
    
    var UserPwd=document.getElementById("Password").value;
    UserPwd = hex_md5(UserPwd).toUpperCase();
    
    var fRemember = document.getElementById("Remember").checked;
    
    setMaxDigits(19);
    
    var pubKey = YakueAjaxSets.GetPublicKey ();
    var arr = pubKey.split('|');
    var key = new RSAKeyPair(arr[0], arr[1]);
    
    UserPwd = encryptedString (key, UserPwd);
    
    var ret = YakueAjaxSets.Login (UserName, UserPwd, fRemember);
    if (ret != "OK") 
    {
        document.getElementById("ErrorInfo").innerHTML = ret;
        document.getElementById("ErrorInfo").style.display = "block";
        return false;
    }
    
    return true;
}

InitLogonWin ();