// JavaScript Document
function killErrors() {
	return true;
}
window.onerror = killErrors;
//系统主类
System={
	//获取web参数
	QueryString:function(name,cancelBubble){
		var r = new RegExp("(\\?|#|&)"+name+"=([^&#]*)(&|#|$)")
		var m = location.href.match(r)
		if ((!m || m=="") && !cancelBubble) m = top.location.href.match(r)
		return (!m?"":m[2]);
	},
	Location:function(redirect){
		if(redirect)
		{
			switch(redirect)
			{
				case "reload":
					location.href=location.href;
					break;
				case "back":
					history.go(-1);
					break;
				case "none":
					break;
				case "top":
					top.location.reload();
					break;
				default:
					location.href=redirect;
					break;
			}
		}
	},
	Redirect:function(redirect,life){
		if(life && life>0)
		{			
			var t=setTimeout(function(){location.href=redirect;},life)
		}
		else
		{
			location.href=redirect;
		}
	},
	Reload:function(){
		location.href=location.href;
	},
	Goback:function(){
		history.go(-1);	
	}	
};
//Browser类
System.Browser = {
	isIE6:function(){
		return navigator.userAgent.indexOf('MSIE')>0&&navigator.userAgent.indexOf('6')>0;
	},
	isIE: /msie/.test(window.navigator.userAgent.toLowerCase()),
	isMoz: /gecko/.test(window.navigator.userAgent.toLowerCase()),
	isOpera: /opera/.test(window.navigator.userAgent.toLowerCase()),
	//当为sp2时，将无法控制不显示状态条
	isSp2:(navigator.userAgent.indexOf("SV1") != -1)
};
//Error类
System.Error={Code:0,Title:"",Description:""};

//dialog
System.Dialog={
	Error:function(title,content,options)
	{
		var defaults ={id:"msgerror",width:"400px",zindex:9999,mask:true};
		var settings=$.extend({},defaults,options);
			settings.life=settings.life||9000;
			settings.submitText=settings.submitText||"关 闭";
			settings.footer="<input type=\"button\" class=\"button dialog-submit\" value=\""+settings.submitText+"\" />";
		System.Dialog.Show(title,"<div class=\"msg error\">"+content+"</div>",settings);			
	},
	Success:function(title,content,options)
	{
		var defaults ={id:"msgsuccess",width:"400px",zindex:9999,mask:true};
		var settings=$.extend({},defaults,options);
			settings.life=settings.life||3000;
			settings.submitText=settings.submitText||"关 闭";
			settings.footer="<input type=\"button\" class=\"button dialog-submit\" value=\""+settings.submitText+"\" />";
		System.Dialog.Show(title,"<div class=\"msg success\">"+content+"</div>",settings);	
	},
	Msg:function(title,content,options){
		var defaults ={id:"msgbox",width:"400px",zindex:9999,mask:true};
		var settings=$.extend({},defaults,options);
			settings.submitText=settings.submitText||"关 闭";
			settings.footer="<input type=\"button\" class=\"button dialog-submit\" value=\""+settings.submitText+"\" />";		
		System.Dialog.Show(title,"<div class=\"msg\">"+content+"</div>",settings);		
	},
	Confirm:function(title,content,options){
		var defaults ={id:"msgconfirm",width:"400px",mask:true,life:0};
		var settings=$.extend({},defaults,options);
			settings.submitText=settings.submitText||"确 认";
			settings.cancelText=settings.cancelText||"取 消";
			settings.footer="<input type=\"button\" class=\"button dialog-submit\" value=\""+settings.submitText+"\" /> <input type=\"button\" class=\"button dialog-cancel\" value=\""+settings.cancelText+"\" />";		
		System.Dialog.Show(title,"<div class=\"msg confirm\">"+content+"</div>",settings);	
	},
	Open:function(title,url,options){
		var defaults ={id:"msgiframe",width:"600px",mask:true,life:0};
		var settings=$.extend({},defaults,options);
			settings.url=System.String.JoinUrl(url,'DialogName='+settings.id+'');
		System.Dialog.Show(title,"",settings);
	},
	Show:function(title,content,options)
	{
		
		var defaults ={id:"dialog",footer:"",width:"400px",height:"auto",life:0,classname:"",zindex:1000,maskOpacity:0.6,maskBg:"#000000",mask:true};

		var settings=$.extend({},defaults,options);
		
		var	$dialog=$("<div class=\"dialog\" id=\"Dialog-"+settings.id+"\" style=\"width:"+settings.width+";height:"+settings.height+";z-index:"+(settings.zindex+1)+";\"><div class=\"dialog-inner\"><div class=\"dialog-header\"><h2 class=\"dialog-title\"></h2><span class=\"dialog-close\">关闭</span></div><div class=\"dialog-body clearfix\"><iframe name=\""+settings.id+"DialogIframe\" src=\"about:blank\" frameBorder=0 scrolling=no marginheight=0 marginwidth=0 style=\"width:100%;height:100%;\"></iframe></div><div class=\"dialog-footer\"></div></div></div>");
			$dialog.appendTo("body");

		if(settings.mask)
		{
			var $mask=$("<div id=\"mask"+settings.id+"\" class=\"mask\"></div>");
				$mask.appendTo("body").css({background:settings.maskBg,opacity:settings.maskOpacity,zIndex:settings.zindex,height:$(document).height()}).bgiframe();
				
		}

		//$dialog=$("#"+settings.id+".dialog");
		//显示内容
		$dialog.find(".dialog-title").html(title);
		if(settings.url)
		{
			$dialog.find(".dialog-body iframe").attr("src",settings.url);
		}
		else
		{
			$dialog.find(".dialog-body").html(content);
		}
		if(settings.footer)
		{
			$dialog.find(".dialog-footer").html(settings.footer).show();
		}
		$dialog.find(".dialog-header,.dialog-footer").css({width:$dialog.find(".dialog-body").width()});
		
		$dialog.find(".dialog-close").bind("click",function(){
					System.Dialog.Hide(settings.id,settings.onclose,true);								
		});
		$dialog.find(".dialog-submit").bind("click",function(){
					System.Dialog.Hide(settings.id,settings.onsubmit,true);								
		});
		$dialog.find(".dialog-apply").bind("click",function(){
					System.Dialog.Hide(settings.id,settings.onsubmit,false);								
		});
		$dialog.find(".dialog-cancel").bind("click",function(){
					System.Dialog.Hide(settings.id,settings.oncancel,true);								
		});	

		if(settings.className)
		{
			$dialog.addClass(settings.className);
		}
		//位置
		
		var x=($(window).width()-$dialog.width())/2;
		var y=$(window).scrollTop()+($(window).height()-$dialog.height())/2;
		$dialog.css({left:x,top:y});
		
		//拖动
		$dialog.drag(".dialog-header");
		//显示
		$dialog.show();
		//自动关闭
		if(settings.life&&settings.life>0){var t=setTimeout(function(){System.Dialog.Hide(settings.id,settings.onclose,true)},settings.life)};
	},
	Hide:function(id,callback,trueclose)
	{
		id=id||'dialog';
		
		if(callback&&typeof(callback)=='function')
		{
			trueclose=callback();
		}
		if(!trueclose)
		{
			return true;
		}
		$("#Dialog-"+id).remove();
		$("#mask"+id).remove();
	},
	OnClose:function(redirect){
		System.Location(redirect);
		return true;
	},
	Center:function(id){
		id=id||'dialog';
		$dialog=$("#Dialog-"+id);
		var x=($(window).width()-$dialog.width())/2;
		var y=$(window).scrollTop()+($(window).height()-$dialog.height())/2;
		$dialog.css({left:x,top:y});		
	}
}
System.Msg={
	HtmlToJson:function(msg)
	{
		var code=$('#code',msg).html()||-1;
		var title=$('#title',msg).html()||'系统提示';
		var description=$('#description',msg).html()||'';
		var redirect=$('#redirect',msg).html()||'';
			redirect=redirect.replace(/&amp;/g, "&");
			
		return {'code':code,'title':title,'description':description,'redirect':redirect};
	},
	Show:function(msg){
		var d=System.Msg.HtmlToJson(msg);
		switch(parseInt(d.code))
		{
			case 0:
				var _closeMe=function(){
					System.Location(d.redirect);
					return true;
				}
				top.System.Dialog.Success(d.title,d.description,{onclose:_closeMe,onsubmit:_closeMe});
				break;
			case -1:
				top.System.Dialog.Error('Unkown Error',msg);
				break;
			default:
				top.System.Dialog.Error(d.title,d.description);
				break;
		}		
	}
}


System.Loading={
	Show:function(){
	
	},
	Hide:function(){
			
	}
}
//Cookies类
System.Cookies = {
	 Save:function(name, value, expires, path, domain, secure){
			if(expires)	{							//改成分钟
				var date=new Date();
				var ms=expires * 60 * 1000;         //每分钟有60秒，每秒1000毫秒
				date.setTime(date.getTime()+ms);
				expires=date;
			}
		  document.cookie =  name + "=" + escape(value) +
		   ((expires) ? "; expires=" + expires.toGMTString() : "") +
		   ((path) ? "; path=" + path : "; path=/") +
		   ((domain) ? "; domain=" + domain : "") +
		   ((secure) ? "; secure" : "");
	 },
	 Read : function(name){
		  var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
		  if (arr != null){
		   return unescape(arr[2]);
		  }
		  return null;
	 },
	 Delete : function(name, path, domain){
		  if (System.Cookies.Read(name)){
			document.cookie = name + "=" +
			((path) ? "; path=" + path : "; path=/") +
			((domain) ? "; domain=" + domain : "") +
			";expires=Fri, 02-Jan-1970 00:00:00 GMT";
		  }
	 }
};

//string类
System.String={
	HtmlDecode:function(s) {
		return (s == null)?s:s.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,"\"");
	},
	HtmlEncode:function(s) {
		return (s == null)?s:s.replace(/&/g,"&amp;").replace(/\"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
	},
	StripTags:function(str){
		//return str.replace(/</?[^>]+>/gi,"");
		var tmpDiv=document.createElement("div");
			tmpDiv.innerHTML=str;
		var tmpTxt="";
		if(document.all){
			tmpTxt=tmpDiv.innerText;
		}else{
			tmpTxt=tmpDiv.textContent;
		}
		tmpDiv=null;
		return tmpTxt;		
	},
	Trim:function(sStr) {
		return sStr.replace(/(^\s+)|(\s+$)/ig,"");
	},
	Length:function(s){
		var arr=s.match(/[^\x00-\xff]/ig);
		return s.length+(arr==null?0:arr.length);	
	},
	Left:function(s,num,mode){
		if(!/\d+/.test(num)){return s};
		var str = s.substr(0,num);
		if(!mode) return str;
		var n = System.String.Length(str) - str.length;
			num = num - parseInt(n/2);
		return s.substr(0,num);	
	},
	Right:function(s,num,mode){
		if(!/\d+/.test(num))return s;
		var str = s.substr(s.length-num);
		if(!mode) return str;
		var n = System.String.Length(str) - str.length;
			num = num - parseInt(n/2);
		return s.substr(this.length-num);
	},
	TextIndent:function(orders){
		var i=(orders.split(',')).length-1;
		document.write("<span class=\"Indent\" style=\"width:"+(40*i)+"px;\" ></span>")
	},
	JoinUrl:function(url,strings){
		if(url.indexOf(strings)==-1){
			if(url.indexOf('?')>-1){
				url+="&"+strings;
			}else{
				url+="?"+strings;	
			}
		}
		return url;
	}
}
//表单类
System.Form={
	SelectAll:function(flag,Obj){
		Obj=Obj||".list";
		$(Obj).find("tr:not(.title)").find("input[type=checkbox]").each(function(){
			if(flag){
				$(this).attr("checked","checked");
				$(this).parents("tr").addClass("selected")
			}else{
				$(this).attr("checked","");	
				$(this).parents("tr").removeClass("selected")
			}
		})
	},
	Select:function(Obj){
		if(Obj.checked){
			$(Obj).parents("tr").addClass("selected");
		}else{
			$(Obj).parents("tr").removeClass("selected");	
		}
	},
	Selected:function(FormName,Name,Value){
		//选中select的具体的option
		var objSelect=document.forms[FormName].all(Name);
		for(i=0;i<objSelect.options.length;i++)   
		{   
			if(objSelect.options(i).value==Value){   
				objSelect.selectedIndex   =   i   
			}   
		}   	
	},
	Checked:function(FormName,Name,Value){
		var objCheck=document.forms[FormName].all(Name);
		for(i=0;i<objCheck.length;i++)   
		{   
			if(Value.indexOf(objCheck[i].value)>=0){   
				objCheck[i].checked=true;
			}   

		}   	
	},
	SubmitButton:function(bool){
		if(bool){
			$("input[type=submit]").attr("disabled","");
		}else{
			$("input[type=submit]").attr("disabled","disabled");
		}
	},
	Submit:function(FormName,Action,Target){
		FormName=FormName||"HankxForm";
		var objForm=document.forms[FormName];
			if(Action){objForm.action=Action;}
			if(Target){objForm.target=Target;}
			objForm.submit();
	},
	SubmitSuccess:function(){
		System.Form.SubmitButton(false);
		$("#HankxForm").submit();
	}
}


//取对象
System.Window={
	Top:function(){
		return top.TopIFrame ? top.TopIFrame : top;
	},
	Side:function(){
		return top.SideIFrame ? top.SideIFrame : top;
	},
	Main:function(){
		return top.MainIFrame ? top.MainIFrame : top;
	},
	Bottom:function(){
		return top.BottomIFrame ? top.BottomIFrame:top;
	}
}
function $Main(obj){
	return System.Window.Main().$(obj)
}
function $Top(obj){
	return System.Window.Top().$(obj)
}
function $Side(obj){
	return System.Window.Side().$(obj)
}



/*===================全局应用设置===========================*/
//全局事件
if(typeof(top.showloading)=='function'){
	top.showloading('页面加载中，请稍后……');
	$(function(){
		top.hideloading();	   
	})
}

//Datalist 效果
$(function(){
	$("table.list tr:odd").not(".title").addClass("odd");
	$("table.list tr:even").not(".title").addClass("even");
	$("table.list tr:not(.title)").mouseover(function(){$(this).addClass("mouseover");}).mouseout(function(){$(this).removeClass("mouseover");});
	
	$(".selectAll").click(function(){
		var flag=$(this).attr("checked");
		if(!flag){flag=$(this).attr("flag")}
		//alert(flag)
		$(this).parents("form").find("input.selectItem").each(function(){
			if(flag==true||flag=="true"){
				$(this).attr("checked","checked");
				$(this).parents("tr").addClass("Selected")
			}else{
				$(this).attr("checked","");	
				$(this).parents("tr").removeClass("Selected")
			}			
		})								 
	});
	$("table.list .selectItem").click(function(){
		var flag=$(this).attr("checked");
		if(flag){
			$(this).parents("tr").addClass("Selected");
		}else{
			$(this).parents("tr").removeClass("Selected");	
		}											  
	});
	


	//页面底部信息
//	$("body").mouseover(function(){
//		window.status=System.String.StripTags(document.title);					 
//	});
	
	jQuery().ajaxStart(function() {
		if(typeof(top.showloading)=='function'){
			top.showloading();
		}
	}).ajaxStop(function() {
		if(typeof(top.hideloading)=='function'){
			top.hideloading();
		}
	}).ajaxError(function(a, b, e) {
		if(typeof(top.hideloading)=='function'){
			top.hideloading();
		}
	});
	
	$("a.confirm").click(function(){
		var href=$(this).attr('href');
		var title=$(this).attr('title');
			title=title||$(this).html();
		var msg=$(this).attr('msg')||'';
		var _submit=function(){
			$.get(href,function(data){
			  System.Msg.Show(data);
			});
			return true;
		}	
		top.System.Dialog.Confirm('操作确认','<h2>你确认要 <b>'+title+'</b> 吗？</h2>'+msg,{onsubmit:_submit});
		return false;						   
	});
	
	$("a.popup").click(function(){
		var href=$(this).attr('href');
		var title=$(this).attr('title');
			title=title||$(this).html();
		var id=$(this).attr('id');
		var msg=$(this).attr('msg')||'';
		var width=$(this).attr('dialogWidth');
		top.System.Dialog.Open(title,href,{id:id,width:width});
		return false;						   
	});
	
	$("#reload,a.reload").click(function(){
		location.reload();									 
	})
	
	//TOC, shows how to scroll the whole window
	$('a.scrollTo').click(function(){//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
		var href=$(this).attr("href");
		$.scrollTo(href,800);
		return false;
	});
	
	$(".navbar").find("span:last").hide();
	$(".navbar a[href=#]").click(function(){
		top.System.Dialog.Msg("系统提示","栏目建设中，请稍后……");										 
	});
	
	$('.media').media();
	
/*	$('div.row div.side,div.row div.main').each(function(){
		var iheight=$(this).parent().height();
		$(this).height(iheight)
	})*/
	
    //设为首页，加入收藏
	$("#SetFavorite").click(function(){
			try{window.external.AddFavorite(window.document.location,window.document.title)}catch(e){};
	});
	$("#SetHomePage").click(function(){
		this.style.behavior="url(#default#homepage)";
		this.setHomePage($(this).attr("href"));
		return false;
	});	
	
	//用户登出
	$("a.LoginOut").click(function(){
		var href=$(this).attr('href');
		var _submit=function(){
			$.get(href,function(data){
				top.location.reload();					
			})
			return true;
		}
		System.Dialog.Confirm('安全退出','你确认要退出系统嘛？',{onsubmit:_submit,submitText:'退出系统',maskOpacity:0.5});		
		return false;
	})
	
})

