function Header()
{
	var host = window.location.host;
	
	this.path='http://sisc.51sim.org/'; //当前目录
	this.sisc='http://sisc.51sim.org'; //首页
	this.sim='http://www.51sim.org';//51sim 首页
	this.center='http://reg.51sim.org/userinfo/queryUserInfo.action'; //会员中心
	this.logout='http://reg.51sim.org/51SimSSOWeb/logout.action'; //退出
	this.logout=this.logout+"?preUrl=http://"+host;
	this.reg='http://reg.51sim.org/51SimSSOWeb/reg/registerAction.action?from=51sim'; //注册
	this.msg = 'http://reg.51sim.org/userinfo/myMessages.action'; //消息
	this.saveCookieUrl = 'http://sisc.tom.com/createValidate/writeCookie.action';//保存cookie的url
	this.SSOCookieUrl = 'http://reg.51sim.org/51SimSSOWeb/user/writeCookie.action'; //SSO cookie
}

Header.prototype.build=function(){
	var html =''; 
	html +='<script src="'+this.path+'js/windowName.min.js" type="text/javascript"></script>';
	html +='<script src="'+this.path+'js/jquery.fancybox-1.2.1.js" type="text/javascript"></script>';
	html +='<link href="'+this.path+'style/top.css" rel="stylesheet" type="text/css" />';
	html +='<link href="'+this.path+'style/login.css" rel="stylesheet" type="text/css" />';
	html +='<link href="'+this.path+'style/fancybox/jquery.fancybox.css" rel="stylesheet" type="text/css" />';
	html +='<div id="51SimWebHeader">';
	html +='<ul class="51SimWebHeaderNav">';
	html +='<li><a href="'+this.sim+'" target="_blank"><img src="'+this.path+'images/51logo.gif"/ border="0px"></a></li>';
	//html +='<li>51Sim可持续创新竞赛</li>';
	html +='</ul>';
	html +='<ul class="51SimWebHeaderUserInfo">';
	html +='<li class="51SimWebHeaderUserInfo_left"></li>';
	html +='<li id="loginDisp" class="51SimWebHeaderUserInfo_center">';
	html +='</li>';
	html +='<li class="51SimWebHeaderUserInfo_right"></li>';
	html +='</ul>';
	html +='</div>';
	html +='<div id="top_to" style="display:none">';
	html +='<ul>';
	html +='<li class="top_to_left"></li>';
	html +='<li id="msg_count" class="top_to_intermediate">0</li>';
	html +='<li class="top_to_right"></li>';
	html +='</ul>';
	html +='</div>';
	document.write(html);
};

Header.prototype.LoginUI=function(){
var html='<div id="loginUI" style="display:none">';
html +='<form id="loginForm" name="loginAction" action="'+this.path+'loginAction.action" method="post" onsubmit="return postForm();">';
html +='<table width="100%" height="233" border="0" cellpadding="0" cellspacing="1" >';
html +='<tr>';
html +='<td valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">';
html +='<tr>';
html +='<td width="371" height="47" align="left" background="'+this.path+'images/top_Pop_title.gif" class="font14"><strong>&nbsp; 请登录</strong></td>';
html +='<td width="29" background="'+this.path+'images/top_Pop_title.gif">&nbsp;</td>';
html +='</tr>';
html +='</table>';
html +='<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">';
html +='<tr>';
html +='<td width="85" rowspan="5"><img src="'+this.path+'images/lock.gif" width="68" height="90" /></td>';
html +='<td align="right" class="font14">&nbsp;</td>';
html +='<td width="229" align="left" class="errorclass1"><span id="msg"></span></td>';
html +='</tr>';
html +='<tr>';
html +='<td height="35" align="right" class="font14">帐 号：</td>';
html +='<td height="18" align="left">';
html +='<input maxlength="50" rel="s" id="userCode" name="userCode" type="text" class="input_forgot"  tabindex="0" onkeydown="keySub(event)"/>';
html +='</td></tr>';
html +='<tr id="tr_psw">';
html +='<td height="35" align="right" class="font14">密 码：</td>';
html +='<td height="35" align="left">';
html +='<input maxlength="20" rel="s" id="password" name="password" type="password" class="input_forgot" onkeydown="keySub(event)"/>';
html +='</td></tr>';
html +='<tr id="vetify_tr"  style="display:none">';
html +='<td align="right" class="font14">验证码：</td>';
html +='<td align="left" class="font14">';
html +='<input rel="s" name="identifyCode" type="text" id="identifyCode" maxlength="4" size="4" class="input_code" onkeydown="keySub(event)"/>';
html +='<img id="random" src="" width="80" height="30" align="absmiddle" /> ';
html +='<span class="fontBlue12">';
html +='<a href="javascript:changeValidateCode()">换个图片</a>';
html +='</span>';
html +='</td></tr>';
html +='<tr><td height="51">&nbsp;</td><td align="left">';
html +='<input type="image" name="imageField" id="imageField" src="'+this.path+'images/alertBtLoginUp.gif" />';
html +='<a href="'+this.path+'registerAction.action" target="_blank"><img src="'+this.path+'images/alertBtRegUp.gif" width="66" height="32" hspace="10" border="0" /></a>';
html +='</td></tr>';
html +='<tr>';
html +='<td align="right" colspan="3"><a class="fontBlue12" href="'+this.path+'forgotPWDAction.action" >忘记密码？</a>';
html +='</td></tr>';
html +='<tr>';
html +='<td height="10" colspan="3"></td>';
html +='</tr>';
html +='</table>';
html +='<input name="clientId" type="hidden" id="clientId" value="1" />';
html +='<table width="380" height="65" border="0" align="center" cellpadding="0" cellspacing="0">';
html +='<tr><td id="login_ad">';
html +='<iframe width="410" height="80" style="display:inline"  align="center,center"  marginwidth="0"  marginheight="0"  scrolling="no"  frameborder="0" allowtransparency src="http://adserve.tom.com/ads/ad.html?w=410&h=80&pid=2256&def=http://data.adserve.tomoimg.cn/addata/html/ad_2256.html&key=&charset=utf-8" />';
html +='</td>';
html +='</tr><tr><td height="8"></td></tr>';
html +='</table>';
html +='</td></tr></table>';
html +='</form></div>';
return html;
}

Header.prototype.checkAndDispLogin=function()
{
	var webkey = getCookie('WEBKEY');
	var checkUrl = this.path+'checkKey.action?webkey='+webkey+'&t='+Math.random();
	//alert(checkUrl);
		$.ajax({
		type: 'GET',
		windowname: true,
		url: checkUrl,
		data: '',
		success: function (data, status) {
			data = intercept(data);
			//alert(data);
			var arr = data.split(",")
			result = arr[1].replace(/(^\s*)|(\s*$)/g, ""); 
			count = arr[0].replace(/(^\s*)|(\s*$)/g, "");
			saveCount(count);
			userCode = arr[2].replace(/(^\s*)|(\s*$)/g, "");
			header.showLogin(userCode);
			if(userCode!='')
			{
				var msgCount = $.trim(arr[3]);
				if(msgCount>0){
					$("#msg_count").text(msgCount);
					$("#top_to").show();
				}
			}
		},
		error: function (xhr, status, error) {
			//alert('error: ' + status + ':\n' + error);
		}
	});
}

function changeValidateCode(){
	var obj=$("#fancy_div #random");
	//重载验证码


	var timenow = new Date().getTime();
	obj.attr("src",header.path+"random.action?d="+timenow);
	
	//超时执行;
	setTimeout(function(){obj.src=header.path+"random.action?d="+timenow;},20);
} 

Header.prototype.login=function(id,forware){
	var webkey = getCookie('WEBKEY');
	var checkUrl = this.path+'checkKey.action?webkey='+webkey+'&t='+Math.random();
	var loginUrl = '#loginUI';
		
	//判断浏览器


	var height=323;
	if($.browser.msie)
		height=355;
	id="#"+id;	
	$(id).fancybox({'frameHeight':height,'hideOnContentClick':false,'padding':0});
	$(id).attr("href",loginUrl);
	//判断登录
	$.ajax({
		type: 'GET',
		windowname: true,
		url: checkUrl,
		data: '',
		success: function (data, status) {
			data = intercept(data);
			var arr = data.split(",")
			result = arr[1].replace(/(^\s*)|(\s*$)/g, ""); 
			count = arr[0].replace(/(^\s*)|(\s*$)/g, "");
			saveCount(count);
			userCode = arr[2].replace(/(^\s*)|(\s*$)/g, "");
			if(count>=4)
			  {
			  	var height = 323;
			  	if($.browser.msie)
					height=355;
			  	$(id).fancybox({'frameHeight':height,'hideOnContentClick':false,'padding':0,
			  					callbackOnShow:	function(){
			  						changeValidateCode();
			  						$("#fancy_div #vetify_tr").show();
			  					}
			  				});
			  	
			  }
			  if(result=="false") //not login,save the forward url and pup window
			  {
			  	saveCookie("forware",forware);
			  	$(id).click();
			  }else //was logined
			  {
			  	if(forware=="")
			  	{ 
			  		header.checkAndDispLogin(); //refresh login info
			  	}
			  	else
			  	{
			  		window.location=forware;
			  	}
			  }
		},
		error: function (xhr, status, error) {
			//alert("error: " + status + ":\n" + error);
		}
	});
}

function getCookie(name){
	var strCookie = document.cookie;
	var arrCookie=strCookie.split("; ");
	var value;
	for(var i=0;i<arrCookie.length;i++){
		var arr=arrCookie[i].split("=");
		if(name==arr[0]){
			value=arr[1];
			value=unescape(value);
			break;
		}
	}
	return value;　
}

Header.prototype.showLogin=function(usercode){
		var html='';
	var webkey = getCookie('WEBKEY');
	if(usercode!='')
	{
	    html += '<span>hi,</span> <h1>'+usercode+'</h1><h2>|</h2>';
	    html += '<a href="'+this.center+'" target="_blank">会员中心</a> | ';
	    html += '<a href="'+this.msg+'" target="_blank">我的消息</a> | ';
	    html += '<a href="'+this.logout+'&webkey='+webkey+'">退出</a>';
	    html += '<a style="display:none" id="loginBox" rel="loginBox" href="#">弹出窗口</a>'
	}else
	{
		var j_script = "javascript:login('loginBox','')";
		html += '<a id="a_login" href="'+j_script+'">登 录</a> | ';
		html += '<a target="_blank" href="'+this.reg+'">注 册</a>';
	    html += '<a style="display:none" id="loginBox" rel="loginBox" href="#">弹出窗口</a>';
	}
	$("#loginDisp").html(html);
	//$(html).appendTo("#loginDisp");
};

//去掉标签
function intercept(str)
{
	var first = str.indexOf("'");
	var last = str.lastIndexOf("'");
	if(first>0)
	{
		first=first+1;
		str = str.substring(first,last);
	}
	return str;
}
//when press enter key submit form
function keySub(e){
   var msie = (document.all) ? true : false;
   var keycode;
   if(!msie)keycode=e.which;
   else keycode=event.keyCode;
   if(keycode == 13){
    postForm();
   }
}
//submit form
function postForm()
{
	$("#fancy_div #msg").text("");
	if($("#fancy_div #userCode").val()=="" || $("#fancy_div #password").val()=="")
	{
		$("#fancy_div #msg").text("帐号或密码不能为空");
		return false;
	}
	
	$.ajax({
	   type: "POST",
	   windowname: true,
	   url: $("#fancy_div #loginForm").attr("action"),
	   data: {
				userCode:$("#fancy_div #userCode").val(),
				password:$("#fancy_div #password").val(),
				identifyCode:$("#fancy_div #identifyCode").val()
			},
	   success: function(msg){
	     	msg=intercept(msg);
	     	msg = $.trim(msg);
	     	arr = msg.split(";");
			if(arr[0]!="1") //if vetify false;
			{
				count=getCookie("count");
				count= parseInt(count);
				//alert(count);
				if(count>=3)
					$("#fancy_div #vetify_tr").show();
					
				count=count+1;
				saveCount(count);
				$("#fancy_div #msg").text(msg);
				changeValidateCode();
				saveCount(count); //recode submit time
				//reset form
				$("#fancy_div #password").val('');
				$("#fancy_div #identifyCode").val('');
			}else // if login success
			{
				var cookie_url = header.SSOCookieUrl+"?webkey="+arr[1];
				var html = ' <iframe src="'+cookie_url+'" style="display:none"/>';
				$(html).appendTo("body");
				saveCount(0);
				var forware = getCookie("forware");
				 if(typeof forware == 'undefined' || forware == 'undefined') forware='';
				forware = $.trim(forware);
				var url = header.saveCookieUrl+"?webkey="+arr[1];
				saveCookieAndForward(url,forware);
			}
	   }
	}); 
	
	return false;
}

function saveCookieAndForward(url,forware)
{
	
	$.get(url,function(){
		if(forware!="")
		{
			//alert(forware);
			$("#fancy_close").click();
			window.location=forware;
		}
		else
		{
			header.checkAndDispLogin();
			$("#fancy_close").click();
		}		
	});
} 
//保存登录次数
function saveCount(count)
{
	var name = "count";
	saveCookie(name,count);
}

function saveCookie(name,value)
{
	value = escape(value);
	var str = name+"="+value;
	document.cookie=str;
}
var header=new Header();

function buildHeader()
{
	header.build();
}
function login(id,forware)
{
	header.login(id,forware);
}

$(document).ready(function() {
		var html = header.LoginUI();
		$(html).appendTo("body");
		header.checkAndDispLogin();
		$("a[rel='loginBox']").click( function (){login('loginBox',$(this).attr("href")); return false; });
	});

