/**
 此js用于对passport实现自动登录。
*/

PassportSC.getSubmit = function(){
	var submits = this.cElement.getElementsByTagName("input");
	if(!submits || typeof(submits) == undefined) return undefined;
        for (var i = 0; i < submits.length; i++) {
            if (submits[i].type == "submit" && submits[i].className == "sign") return submits[i];
        }
	return undefined;
}

PassportSC.getForm = function(){
	for (var i = 0; i < document.forms.length; i++) {
            if (document.forms[i].name == "loginform") {
			return document.forms[i];
            }
        }
	return undefined;
}

PassportSC.getRemPassIpt = function(){
	var inputs = this.cElement.getElementsByTagName("input");
	if(!inputs || typeof(inputs) == undefined) return undefined;
        for (var i = 0; i < inputs.length; i++) {
            if (inputs[i].name == "persistentcookie") return inputs[i];
        }
	return undefined;
}

//在调用PassportSC.drawPassport之后立即调用此方法
var PassportPlugin = {

	pluginPassportCSTips : '<img src="http://www.chinaren.com/upload/img081022/20081022_sign.gif" align=absmiddle> 系统将为您记住密码，请确定<br>(网吧等公共场所慎用)',

	pluginPassportSC : function(){
		var form = PassportSC.getForm();
		if(!form || typeof(form) == undefined) return;
		form.onsubmit = function(){return false;};
		PassportSC.isShowRemPwdMsg = 0;
		PassportSC.getSubmit().onclick=PassportPlugin.myDoLogin;
	},

	myDoLogin : function(){
		if(PassportSC.getRemPassIpt().checked){
			return PassportSC.doLogin();
		}else{
			PassportPlugin.showRemPassConfrim();	
		}
		return false;
	},

	showRemPassConfrim : function(){
		var div = document.getElementById('rem_pass_con_div');
		if(!div){
			div = document.createElement('div');
			div.id = 'rem_pass_con_div';
			div.style.cssText = "padding:0px;margin:0px;display:none;position:absolute;z-index:111;height:168px;width:278px;";
			document.body.appendChild(div);
		}
		var content = '<div style="border:1px red solid;padding:0px;margin:0px;padding-top:5px;background:#fff;position:absolute;width:278px">\
			<div style="padding:0px;margin:0px;text-align:left;font-size:12px;padding-left:5px;color:red">搜狐通行证提示</div>\
			<div style="padding:0px;margin:0px;background:transparent url(http://www.sohu.com/passport/images/pic001.gif) no-repeat scroll center center;margin-top:0px;padding:0px;width:270;height:130px;margin-left:3px;border:1px #fff solid">\
			<div style="padding:0px;margin:0px;padding:20px 5px 2px 5px;line-height:20px;font-size:12px">\
			<p style="text-align:center;padding:0px;margin:0px">'+PassportPlugin.pluginPassportCSTips+'</p>\
			<div style="padding:0px;margin:0px;height:10px"></div>\
				<p style="text-align:center;padding:0px;margin:0px"><input id="remPassIpt" type=button value="记住" onclick="PassportPlugin.remPass()" style="background:transparent url(http://www.sohu.com/passport/images/pic004.gif) no-repeat scroll 0 0;border:0 none;color:#333;font-size:12px;height:21px;padding-top:1px !important;width:70px">&nbsp;&nbsp;<input type=button value="不记住" onclick="PassportPlugin.noRemPass()" style="background:transparent url(http://www.sohu.com/passport/images/pic004.gif) no-repeat scroll 0 0;border:0 none;color:#333;font-size:12px;height:21px;padding-top:1px !important;width:70px"></p>\
			</div>\
			</div>\
			<div style="height:5px"></div>\
			</div>';
		div.innerHTML = content;
		var wtop = PassportPlugin.getPagePosition().clientHeight / 2  - 79 + PassportPlugin.getPagePosition().scrollTop;
		var wleft = PassportPlugin.getPagePosition().clientWidth / 2 - 136;
		div.style.top = parseInt(wtop)+"px";
		div.style.left = parseInt(wleft)+"px";
		div.style.display = '';
		document.getElementById('remPassIpt').focus();
		PassportPlugin.darkPage();
	},

	remPass : function(){
		PassportSC.getRemPassIpt().checked = true;
		PassportPlugin._myDoLogin();
	},

	noRemPass : function(){
		PassportPlugin._myDoLogin();
	},

	_myDoLogin : function(){
		document.getElementById('rem_pass_con_div').style.display = 'none';	
		document.getElementById('rem_pass_dark_div').style.display = 'none';	
		PassportSC.doLogin();
	},

	getPagePosition : function(){
		var ret = {};
		var dstWin = window;
		ret.scrollLeft = dstWin.pageXOffset || dstWin.document.documentElement.scrollLeft || dstWin.document.body.scrollLeft || 0;
		ret.scrollTop = dstWin.pageYOffset || dstWin.document.documentElement.scrollTop || dstWin.document.body.scrollTop || 0;
		ret.clientWidth = dstWin.innerWidth || dstWin.document.documentElement.clientWidth || dstWin.document.body.clientWidth || 0;
		ret.clientHeight = dstWin.innerHeight || dstWin.document.documentElement.clientHeight || dstWin.document.body.clientHeight || 0;
		return ret;
	},

	getPageSize : function() {
		var xScroll, yScroll;
		if (window.innerHeight && window.scrollMaxY) {
			xScroll = document.body.scrollWidth;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else {        
			if (document.body.scrollHeight > document.body.offsetHeight) {
				xScroll = document.body.scrollWidth;
				yScroll = document.body.scrollHeight;
			} else {
				xScroll = document.body.offsetWidth;
				yScroll = document.body.offsetHeight;
			}
		}
		var windowWidth, windowHeight;
		if (self.innerHeight) {
			windowWidth = self.innerWidth;
			windowHeight = self.innerHeight;
		} else {        
			if (document.documentElement && document.documentElement.clientHeight) {
				windowWidth = document.documentElement.clientWidth;
				windowHeight = document.documentElement.clientHeight;
			} else {        
				if (document.body) { 
					windowWidth = document.body.clientWidth;
					windowHeight = document.body.clientHeight;
				}
			}
		}       
		if (yScroll < windowHeight) {
			pageHeight = windowHeight;
		} else {
			pageHeight = yScroll;
		}       
		if (xScroll < windowWidth) {
			pageWidth = windowWidth;
		} else {
			pageWidth = xScroll;
		}
		var arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight);
		return arrayPageSize;
	},

	darkPage : function() {
		var darkDiv = document.getElementById("rem_pass_dark_div");	
		if(!darkDiv){
			darkDiv = document.createElement("div");
			darkDiv.id = "rem_pass_dark_div";
			darkDiv.style.cssText = "position:absolute;filter:alpha(opacity=50);opacity:0.5;background-color:#000000;z-index:110;top:0px;left:0px;width:100%;";
			darkDiv.style.height = PassportPlugin.getPageSize()[1] + "px";
			darkDiv.style.display = 'none';
			document.body.appendChild(darkDiv);
		}
		darkDiv.style.display = '';
	}
	
};

function logoutApp(){//由于logout后会重新绘制卡片，因此需要重新plugin
	PassportPlugin.pluginPassportSC();
}



