// JavaScript Document
//客户端验证

function cmsStart(){
	$("fat_page_loading_div").className="notDisplay";
};


function $(sele){
    return document.getElementById(sele);
};
function addListenerArray(arr,Event, Function){
	if(arr[0]){
		for(var i=0;i<arr.length;i++)
			addListener(arr[i], Event, Function);
	}else{
		addListener(arr, Event, Function);
	}
};

function addListener(obj, Event, Function){
	if(typeof(obj)=="string") obj=$(obj);
    if (obj.addEventListener) {
        obj.addEventListener(Event, Function, false)
    }
    else {
        obj.attachEvent("on" + Event, Function)
    }
};

function AddFavor(url,title) {
    if(confirm("您要将："+title+"\n（"+url+"）\n添加到收藏夹吗?")){
		if( document.all ){
			try{
				window.external.addFavorite(url, title);
			}catch (e1){
				try{
					window.external.addToFavoritesBar(url,title);
				}catch(e2){
					alert('加入收藏失败，请按Ctrl+D添加。');
				};
			};
		}else if(window.external){
			window.sidebar.addPanel(title, url,"");
		}else{
			alert('加入收藏失败，请您手工加入。');
		};
	};
};
 
function setHomePage(url){ 
    if(window.netscape)
    { 
        try
        {   
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");   
        }   
        catch (e){}
        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); 
        prefs.setCharPref('browser.startup.homepage',url); 
    }  
};

var xmlHttp;
XMLRequest={
	src:"",
	createXMLHttpRequest:function (){
		if(window.XMLHttpRequest) { //Mozilla 浏览器
			  xmlHttp = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) { // IE浏览器
			  try{
					xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
			  }catch(e){
				  		try {
						  		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
						}catch (e) {}
			}
		}
     },
	send:function(url,isAsynchronous){//发送xmlhttpRequest请求
		this.createXMLHttpRequest();
		xmlHttp.open("GET", url, isAsynchronous);
		xmlHttp.onreadystatechange=callback;
		xmlHttp.send(null);
		if(xmlHttp.status==200)	callback();//此方法只能用于同步状态下的操作
	},
	update:function(obj,url){
		var cache=obj.innerHTML;
		//obj.innerHTML="<div class=\"fatLoading\">请稍候...</div>";
		this.createXMLHttpRequest();
		xmlHttp.open("GET", url, false);
		xmlHttp.onreadystatechange=function(){};
		xmlHttp.send(null);
		if(xmlHttp.readyState == 4 && xmlHttp.status==200)
			obj.innerHTML=xmlHttp.responseText;
		else
			obj.innerHTML=cache;
	},
	//当对象为空时更新内容
	updateIfEmpty:function(obj,url){
		if(typeof(obj)=="string") obj=document.getElementById(obj);
		var cache=obj.innerHTML;
		if(cache==""){
			obj.innerHTML="<div class=\"fatLoading\">请稍候...</div>";
			this.createXMLHttpRequest();
			xmlHttp.open("GET", url, false);
			xmlHttp.onreadystatechange=function(){};
			xmlHttp.send(null);
			if(xmlHttp.readyState == 4 && xmlHttp.status==200)
				obj.innerHTML=xmlHttp.responseText;
			else
				obj.innerHTML=cache;
		}
	}
};
function callback(){
	if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
		if(xmlHttp.responseText=="true")
			showOKMsg(XMLRequest.src);
		else
			showErrorMsg(XMLRequest.src);
};

function ccmgr_openGroup(groupName){
	var gpTitlebar=document.getElementById("ccmgr_gpbar_gpname_" + groupName);
	var gpContents=document.getElementById("ccmgr_gpContents_" + groupName);
	
	//关闭现有
	var divArr=document.getElementsByTagName("div")
	for(var i in divArr){
		
		if(divArr[i].className=="ccmgr_gpbar_gpname_open") divArr[i].className="ccmgr_gpbar_gpname_close";
		if(divArr[i].className=="ccmgr_gpContents_open") divArr[i].className="notDisplay";
	}
	//打开新的
	gpTitlebar.className="ccmgr_gpbar_gpname_open";
	gpContents.className="ccmgr_gpContents_open";
};

//选项卡打开程序
function fatTab_open(tabid){
	var tab=document.getElementById(tabid);
	var tabTitlebar=document.getElementById(tabid + "_titlebar");
	
	//关闭现有
	var divArr=document.getElementsByTagName("div")
	for(var i in divArr){
		if(divArr[i].className=="fatTab_open") divArr[i].className="fatTab_close";
		if(divArr[i].className=="fatTab_titlebar_open") divArr[i].className="fatTab_titlebar_close";
	}
	//打开新的
	tab.className="fatTab_open";
	tabTitlebar.className="fatTab_titlebar_open";
};

function isIE(){
	if(typeof(document.all)=="object"||typeof(window.ActiveXObject)=="object")
		return true;
	else
		return false;
};
function checkbox_selectAll(name){
	var cbArr=document.getElementsByName(name);
	for(var i=0;i<cbArr.length;i++){
			cbArr[i].checked=true;
	};
};
function checkbox_cancelAll(name){
	var cbArr=document.getElementsByName(name);
	for(var i=0;i<cbArr.length;i++){
			cbArr[i].checked=false;
	};
};
function checkbox_selectReverse(name){
	var cbArr=document.getElementsByName(name);
	for(var i=0;i<cbArr.length;i++){
			if(cbArr[i].checked)
				cbArr[i].checked=false;
			else
				cbArr[i].checked=true;
	};
};

function fatMask_show(text){
	if(typeof(window.top)=="object")
		var doc=window.top.document;
	else
		var doc=document;
	
	var mask=doc.getElementById("fatMask");
	if(mask==null){//创建
		mask=doc.createElement("div");
		mask.id="fatMask";
		var bd=doc.getElementsByTagName("body").item(0);
		bd.insertBefore(mask,bd.firstChild);
	}
	mask.innerHTML="<div id=\"fatMask_mask\"></div><div id=\"fatMask_msg\">" + text + "</div>";
	mask.className="fatMask_show";
}
function fatMask_hide(){
	if(typeof(window.top)=="object")
		var doc=window.top.document;
	else
		var doc=document;
	
	var mask=doc.getElementById("fatMask");
	if(mask!=null){
		mask.className="fatMask_hide";
	}
}

function closeMeAndReloadOpener(){
	if(window.opener)
	{
		opener.reload();
		window.close();
	}
	else
		if(window.parent)
		{
			parent.reload();
			window.close();
		}
};

function LiHover(elID) {
	var el = document.getElementById(elID).getElementsByTagName("LI");
	for (var i=0; i<el.length; i++){
		el[i].onmouseover=function(){
			this.className+=" hover";
		}
		el[i].onmouseout=function(){
			this.className=this.className.replace(new RegExp(" hover\\b"), "");
		}
	}
}
//if (window.attachEvent) window.attachEvent("onload", LiHover("hover")); 

function clientValidator(srcObject)
{
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	var Validator=srcObject.getAttribute('validator');
	//alert(Validator);
	var objValue=srcObject.value;
	
	if(validator(objValue,Validator))
	{	
		showOKMsg(srcObject);
		return true;
	}
	else
	{	
		showErrorMsg(srcObject);
		return false;
	}
};

function resetForm(srcObject){
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	var img=document.getElementsByTagName("img");
	srcObject.reset();
	//查找并重置虚拟控件
	for(var i=0;i<img.length;i++)
	{
		if(img.item(i).getAttribute("resetfrom")!=null)
		{
			var o=img.item(i);
			var fromid=o.getAttribute("resetfrom");
			var from=document.getElementById(fromid);
			o.src=from.value;
		}
	}
};
function popimage(srcObject)
{
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	var srcURL;
	if(typeof(srcObject.value)=="undefined")
		srcURL=srcObject.src;
	else
		srcURL=srcObject.value;
		
	var srcArr=srcURL.split("#");
	if(srcURL!="")
		window.open(srcArr[srcArr.length-1]);
	else
		alert("还没有上传过图片！");
};
function changeBool(check,key){
	if(!isObject(check)) check=parseObject(check);
	if(!isObject(key)) key=parseObject(key);
	if(check.checked!="")
		key.value="true";
	else
		key.value="false";
};
function focusItem(toopen,toclose){
	var o=document.getElementById(toopen),c,a;
	a=toclose.split(',');
	o.className="itemOpen";
	for(var i=0;i<a.length;i++)
	{
		c=document.getElementById(a[i]);
		c.className="itemClose";
	}
};
function showbox(toopen,toclose){
	var o=document.getElementById(toopen),c,a;
	a=toclose.split(',');
	o.className="";
	for(var i=0;i<a.length;i++)
	{
		c=document.getElementById(a[i]);
		c.className="notDisplay";
	}
};
function countProduct(Prices,num,tag){
	var p=document.getElementById(Prices).value;
	var n=document.getElementById(num).value;
	if(isNaN(n)){
		document.getElementById(tag).innerHTML= "您的输入有误,请更正!";
	}
	else{
		document.getElementById(tag).innerHTML= "总价:"+p+"元 X "+n+"件 = "+(p*n)+"元";
	}
};
function styleSelectSetClass(srcObject,viewObject){
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	if(!isObject(viewObject)) viewObject=parseObject(viewObject);
	viewObject.className=srcObject.value;
};
function getFocus(srcObject){showFocusMsg(srcObject);};

function showOKMsg(srcObject){
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	var msgObject=getMsgObject(srcObject);
	msgObject.innerHTML=srcObject.getAttribute("OKMsg");
	msgObject.className="OKMsg";
};

function showTextMsg(srcObject,text){
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	var msgObject=getMsgObject(srcObject);
	msgObject.innerHTML=text;
	msgObject.className="focusMsg";
}
function showErrorMsg(srcObject){
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	var msgObject=getMsgObject(srcObject);
	msgObject.innerHTML=srcObject.getAttribute("errorMsg");
	msgObject.className="errorMsg";
};

function showFocusMsg(srcObject){
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	var msgObject=getMsgObject(srcObject);
	msgObject.innerHTML=srcObject.getAttribute("focusMsg");
	msgObject.className="focusMsg";
};

function parseObject(srcObject){
	if(typeof(srcObject)!="object")
		return document.getElementById(srcObject);
};
function isObject(srcObject){
	if(typeof(srcObject)=="object")
		return true;
	else
		return false;
}
function getMsgObject(srcObject)
{
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	//alert(srcObject);
	var srcId=srcObject.id;
	
	var msg=document.getElementById(srcId + "_Msg");
	
	if(msg==null){//创建
			msg=document.createElement("div");
			msg.id=srcId + "_Msg";
			insertAfter(msg,srcObject);
	}
	return msg;
};
function bookmarksite(title, url){
	if (document.all)
	window.external.AddFavorite(url, title);
	else if (window.sidebar)
	window.sidebar.addPanel(title, url, "")
}
function comboSetValue(oInput,oSelect){
	if(!isObject(oInput)) oInput=parseObject(oInput);
	if(!isObject(oSelect)) oSelect=parseObject(oSelect)
	oInput.value=oSelect.value;
};

function replaceURLsharp(url,sharp){//替换URL字符串#号后面的字符
	var URL=url.split("#")[0];
	return URL + "#" + sharp;
};
function reloadVerifyCode(srcObject){
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	if(!lockInSecond(srcObject,5,"您操作的太频繁了，请在5秒钟后重试。")){
		if(srcObject.src.indexOf("#")<0)
			srcObject.src=srcObject.src+"#"+Now();
		else
			srcObject.src=replaceURLsharp(srcObject.src,Now());
	}
};
function insertAfter(el,targetElement){
	if(!isObject(targetElement)) targetElement=parseObject(targetElement);
	var parent = targetElement.parentNode;
	if(parent.lastChild == targetElement){//如果targetElement是parent最后一个子元素，插入newElement
		parent.appendChild(el);
	}
	else{//如果不是，插入到targetElement下一个兄弟节点的前面
		parent.insertBefore(el,targetElement.nextSibling);
	}
};
function singleChenked(obj0,obj1)
{
	if(document.getElementById(obj0).checked==true)
		document.getElementById(obj1).checked=false; 
};

function valueLookerLookup(srcObject,lookObject){
	if(!isObject(srcObject)) srcObject=parseObject(srcObject);
	if(!isObject(lookObject)) lookObject=parseObject(lookObject);

	if(!lockInSecond(srcObject,5,"您操作的太频繁了，请在5秒钟后重试。")){
		var url="command.asp?command=form.looker&lookerName=" + srcObject.getAttribute("lookerName") + "&lookerValue=" + lookObject.value;
		showTextMsg(srcObject,"正在查询,请稍候...");
		XMLRequest.src=srcObject;
		XMLRequest.send(url,false);
	}
};

function lockInSecond(srcObject,second,msg){
	if(Now()-getTimeMark(srcObject)<second*1000){
		if(msg!="") alert(msg);
		return true;
	}
	else
	{
		setTimeMark(srcObject);
		return false;
	}
};
function getTimeMark(srcObject){
	return Number(srcObject.getAttribute("timemark"));
};
function setTimeMark(srcObject){
	var now=Now();
	srcObject.setAttribute('timemark',now);
	return now;
};
function Now(){
	var d=new Date();
	return d.getTime();
};

function showHideLayer(srcObject){
	//alert(srcObject);
	if(typeof(srcObject)=="string") srcObject=$(srcObject);
	
	if(srcObject.style.display=="none"||srcObject.style.display=="")
		srcObject.style.display="block";
	else
		srcObject.style.display="none";
};

function validator(dataValue,dataType)
{
	//分解dataType
	var TypeName,TypeValue,TvalueArr,reg;
	TypeName=dataType.substr(0,dataType.indexOf("("));
	TypeValue=dataType.substring(dataType.indexOf("(")+1,dataType.indexOf(")"));
	TvalueArr=TypeValue.split(",");
	//alert(dataValue);
	switch(TypeName)
	{
		case "lenIn"://长度范围,特例：lenIn(0,-1)中的-1代表不限长度
			return ((dataValue.length>=Number(TvalueArr[0]))&&((dataValue.length<=Number(TvalueArr[1])||(TvalueArr[1]=="-1"))));
		case "is"://是什么
			return dataValue==TypeValue;
		case "isInList":
			return ("," + TypeValue + ",").indexOf("," + dataValue + ",")!=-1;
		case "isNumberIn"://数值界于
			return Number(dataValue)>=Number(TvalueArr[0])&&Number(dataValue)<=Number(TvalueArr[1]);
		case "isEmail":
			return (/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/).test(dataValue);
		case "isPhone":
			return (/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/).test(dataValue);
		case "isMobile":
			return (/^1[3,5,8]\d{9}$/).test(dataValue);
		case "isUrl":
		case "isURL":
			return (/^(http|https):\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/).test(dataValue);
		case "isIdCard":
		case "isIDCard":
		case "isSFZ":
			return (/^\d{15}(\d{2}[A-Za-z0-9])?$/).test(dataValue);
		case "isNumber":
		case "isNum":
			return (/^[-+]?\d+(\.\d+)?$/).test(dataValue);
		case "isQQ":
			return (/^[1-9]\d{4,8}$/).test(dataValue);
		case "isZip":
		case "isZipCode":
			return (/^[1-9]\d{5}$/).test(dataValue);
		case "isChinese":
		case "isCH":
		case "isCh":
		case "isCn":
			return (/^[\u0391-\uFFE5]+$/).test(dataValue);
		case "isEnglish":
		case "isEn":
		case "isEN":
			return (/^[A-Za-z]+$/).test(dataValue);
		case "isSafePassword":
		case "isSafe":
			return (/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\""]*)|.{0,5})$|\s/).test(dataValue);
		case "isDate":
			return (/^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/).test(dataValue);
		case "isTime":
			return (/([0-1]?[0-9]|2[0-3]):([0-5][0-9])/).test(dataValue);
		case "isDateTime":
			return (/^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$/).test(dataValue);
		case "isNotEmpty":
			return (dataValue.length!=0);
		case "=":
			return(dataValue==document.getElementById(TypeValue).value);
		case "lookup":
			return true;
		default:
			return false;
			
	}
};

function iclassLoginFormCheck(){
	if ($('iclassUserName').value==""||$('iclassPassword').value==""){
		alert("学号或密码不能为空！");
		return false;
	}
}

function cjLoginFormCheck(){
	if ($('cjUserName').value==""||$('cjPassword').value==""){
		alert("学号或密码不能为空！");
		return false;
	}
}

function faster_open(tagid){
	var tab1=document.getElementById(tagid);
	var tabId=$("faster");
	var arr=tabId.getElementsByTagName("div");
	for(var i in arr){
		if(arr[i].id!=tab1.id){
			if(arr[i].className=="faster"){
			 arr[i].style.display="none";
			 }
		}
	}
	if(tab1.style.display=="block")
		tab1.style.display="none";
	else
		tab1.style.display="block";
};



function fatWeather(tagID,cityName){
	var imgPath="http://m.weather.com.cn/a_30x30/a";
	var imgType=".png";
	var imgIsPng=true;
	var tag=$(tagID);
	var cityTable=[];
		cityTable["北京"]="101010100";
		cityTable["上海"]="101020100";
		cityTable["天津"]="101030100";
		cityTable["广州"]="101280101";
		cityTable["深圳"]="101280601";
		cityTable["重庆"]="101040100";
		cityTable["武汉"]="101200101";
		cityTable["石家庄"]="101090101";
		cityTable["太原"]="101100101";
		cityTable["呼和浩特"]="101080101";
		cityTable["沈阳"]="101070101";
		cityTable["长春"]="101060101";
		cityTable["哈尔滨"]="101050101";
		cityTable["南京"]="101190101";
		cityTable["杭州"]="101210101";
		cityTable["合肥"]="101220101";
		cityTable["福州"]="101230101";
		cityTable["南昌"]="101240101";
		cityTable["济南"]="101120101";
		cityTable["郑州"]="101180101";
		cityTable["长沙"]="101250101";
		cityTable["南宁"]="101300101";
		cityTable["海口"]="101310101";
		cityTable["成都"]="101270101";
		cityTable["贵阳"]="101260101";
		cityTable["昆明"]="101290101";
		cityTable["西安"]="101110101";
		cityTable["兰州"]="101160101";
		cityTable["西宁"]="101150101";
		cityTable["银川"]="101170101";
		cityTable["拉萨"]="101140101";
		cityTable["乌鲁木齐"]="101130101";
		cityTable["香港"]="101320101";
		cityTable["澳门"]="101330101";
		cityTable["台北"]="101340102";
		
		//计划单列市
		cityTable["宁波"]="101210401";
		//其他
		
		
	var jsonURL="script/AjaxServerProxy.asp?q=http://m.weather.com.cn/data/" + cityTable[cityName] + ".html";

	XMLRequest.createXMLHttpRequest();
	xmlHttp.open("GET", jsonURL, false);
	xmlHttp.onreadystatechange=function(){};
	xmlHttp.send(null);
	
	if(xmlHttp.readyState == 4 && xmlHttp.status==200){
		var data=xmlHttp.responseText;
		eval("Weather=" + data);
		
		var html;
		html ="<div id=\"weather_cityName\">" + Weather.weatherinfo.city + "</div>";
		html+="<div id=\weather_icon\" title=\"" + Weather.weatherinfo.weather1 + "\"><img src=\"" + imgPath + Weather.weatherinfo.img1 + imgType + "\"";
		if(imgIsPng){html+=" class=\"pngbg\">"}else{html+=">"};
		if(Weather.weatherinfo.img2!=99){
			html+=" <img src=\"" + imgPath + Weather.weatherinfo.img2 + imgType + "\"";
			if(imgIsPng){html+=" class=\"pngbg\">"}else{html+=">"};
		}
		html+="</div><div id=\"weather_temp\">" + Weather.weatherinfo.temp1 + "</div>";
		html+="<div id=\"weather_more\"><a href=\"Script/weather.html\">全市天气</a></div>";
		
		tag.innerHTML=html;
	}
	else
		tag.innerHTML="";
}

function setCustomStyle(styleValue){
	var styleTag=$("customStyle");
	if(document.all){
		//styleTag.href="";
	}
	styleTag.href=styleValue + "#" + Now();
}
