﻿//'-----------------------------------------------------------------------------------------------------------
//'	MosquitoWeb V9.1.19 更新时间 2009-1-19 柏文 QQ 106179185 Mosquito_520@163.com http://www.9702.com.cn
//'-----------------------------------------------------------------------------------------------------------

/*

$(文档ID) 返回对象 

检测类：
	//检测是否为IE
	isIE()
	//空字符值; 
	isEmpty(s)
	//Email;
	isEmail(s)
	//数字; 
	isNumber(s)
	//颜色值; 
	isColor(s)
	//手机号码; 
	isMobile(s)
	//身份证;
	isCard(s)
	//URL;
	isURL(s)
	//Phone;
	isPhone(s)
	//Zip;
	isZip(s)
	//Double;
	isDouble(s)
	//Integer;
	isInteger(s)
	//English;
	isEnglish(s)
	//中文;
	isChinese(s)
	//双字节
	isDoubleChar(s)
	//含有中文字符
	hasChineseChar(s)
	//字符串长度范围
	limitLen(s,Min,Max
	// 函数名称: 
	IsDatetime("2004-2-1 15:59") 必须用-号分隔

方法类：
	//去左右空格; 
	trim(s)
	//去左空格; 
	ltrim(s)
	//去右空格; 
	rtrim(s)
	//返回两个日期之间的时间间隔
	Datediff("y","2004-1-1","2004-2-1")
	//去除不合法字符: ',",<,>
	Rep(str)

功能类：
	//延时事件;
	setDeferEvent(type,action,time)
	//Flash
	Flash(Path,Width,Height)
	//打印文档
	Print(Str)
	//是否显示
	Display(ID)
	//返回Html后面的参数
	getHtmlQuerystring()
	//搜索结果突出显示关键字函数
	ReplaceQuery(sStr,sKey)
	//设置网页中的图片不能超大，超大的图片点击再放大
	autoImg(size)
	//设置元素背景颜色
	setBgColor(obj,col)

Ajax功能类：
	// 返回ID test.asp?action=test
	ajax(objID,url)

窗口类：
	//创建一个层，半透明文档
	showPopup(title,html,width)
	//创建 ModalDialog 
	DialogMode(FileName,args,dialogWidth,dialogHeight)

*/

//---------------------------------------　程序开始　-------------------------------------

//禁止Javascript错误
//window.onerror=new Function("return true");

// 通用函数
function $(ID)
{
    if(document.getElementById&&document.getElementById(ID))
	{
		return document.getElementById(ID);
	}
	else if (document.all&&document.all(ID)) 
	{
		return document.all(ID);
	}
	else if (document.layers&&document.layers[ID])
	{
		return document.layers[ID];
	}
    else
    {
		return false;
	}
}

///////////////////////////////////　检测类　///////////////////////////////////////

//判断是否是IE
function isIE(){
	if (navigator.appName!="Microsoft Internet Explorer") {return false}
	return true
}

//空字符值; 
function isEmpty(s){
	s = trim(s); 
	return s.length == 0; 
}
//Email;
function isEmail(s){
	s = trim(s); 
 	var p = /^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i; 
 	return p.test(s);
}
//数字; 
function isNumber(s){
	return !isNaN(s); 
}
//颜色值; 
function isColor(s){ 
	s = trim(s); 
	if (s.length !=7) return false; 
	return s.search(/\#[a-fA-F0-9]{6}/) != -1; 
}
//手机号码; 
function isMobile(s){ 
	s = trim(s); 
	var p = /13\d{9}/; 
	return p.test(s);
}
//身份证;
function isCard(s){ 
	s = trim(s); 
	var p = /^\d{15}(\d{2}[xX0-9])?$/; 
	return p.test(s);
}
//URL;
function isURL(s){
	s = trim(s).toLowerCase();
	var p = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
	return p.test(s);
}
//Phone;
function isPhone(s){
	s = trim(s);
	var p = /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/;
	return p.test(s);
}
//Zip;
function isZip(s){
	s = trim(s);
	var p = /^[1-9]\d{5}$/;
	return p.test(s);
}
//Double;
function isDouble(s){
	s = trim(s);
	var p = /^[-\+]?\d+(\.\d+)?$/;
	return p.test(s);
}
//Integer;
function isInteger(s){
	s = trim(s);
	var p = /^[-\+]?\d+$/;
	return p.test(s);
}
//English;
function isEnglish(s){
	s = trim(s);
	var p = /^[A-Za-z]+$/;
	return p.test(s);
}
//中文;
function isChinese(s){
	s = trim(s);
	var p = /^[\u0391-\uFFE5]+$/;
	return p.test(s);
}
//双字节
function isDoubleChar(s){
	var p = /^[^\x00-\xff]+$/;
	return p.test(s);
}
//含有中文字符
function hasChineseChar(s){
	var p = /[^\x00-\xff]/;
	return p.test(s);
}
//字符串长度范围
function limitLen(s,Min,Max){
	s=trim(s);
	if(s=="") return false;
	if((s.length<Min)||(s.length>Max))
		return false;
	else
		return true;
}
// 函数名称: IsDatetime("2004-2-1 15:59") 必须用-号分隔 
// 功    能: 日期检测函数
// 说    明: 检测包括时分的日期。
function IsDatetime(Mydate,num)
{
	if(num=="1")
	{
		var regExp=/(\d{4})\s*-\s*(\d{1,2})\s*-\s*(\d{1,2})\s+(\d{1,2})\s*:\s*(\d{1,2})/i;
		if(isDate(Mydate.replace(regExp,"$1-$2-$3")))
		{
			var getHour=Mydate.replace(regExp,"$4")
			var getMinute=Mydate.replace(regExp,"$5")
			if(parseInt(getHour)>23) return false;
			if(parseInt(getMinute)>59) return false;
			return true;
		}
		else
		return false;
	}
	else
	{
		var regExp=/(\d{4})\s*-\s*(\d{1,2})\s*-\s*(\d{1,2})\s+(\d{1,2})\s*:\s*(\d{1,2})\s*:\s*(\d{1,2})/i;
		if(isDate(Mydate.replace(regExp,"$1-$2-$3")))
		{
			var getHour=Mydate.replace(regExp,"$4")
			var getMinute=Mydate.replace(regExp,"$5")
			var getSecond=Mydate.replace(regExp,"$6")
			if(parseInt(getHour)>23) return false;
			if(parseInt(getMinute)>59) return false;
			if(parseInt(getSecond)>59) return false;		
			return true;
		}
		else
		return false;	
	}
}


///////////////////////////////////　检测类 End　///////////////////////////////////

///////////////////////////////////　方法类　///////////////////////////////////////

//去左右空格; 
function trim(s){
 	return rtrim(ltrim(s)); 
}
//去左空格; 
function ltrim(s){
 	return s.replace( /^\s*/, ""); 
} 
//去右空格; 
function rtrim(s){ 
 	return s.replace( /\s*$/, ""); 
}
// 函数名称: Datediff("y","2004-1-1","2004-2-1")
// 描    述: 返回两个日期之间的时间间隔
// 语    法: 用法仿照vbscript中的datediff,datepart参数包括y(年),m(月),d(日),h(小时),n(分钟)
function Datediff(datepart,startDate,endDate)
{
	if(datepart=="") return;
	var sDate=null
	var eDate=null
	if(!(startDate.constructor==Date))
	{
		if((!isDate(startDate))&&(!(IsDatetime(startDate)||IsDatetime(startDate,"1")))) return;
		sDate=ToDateObject(startDate)
	}
	else
		sDate=startDate
	if(!(endDate.constructor==Date))
	{
		if((!isDate(endDate))&&(!(IsDatetime(startDate)||IsDatetime(startDate,"1")))) return;
		eDate=ToDateObject(endDate)
	}
	else
		eDate=endDate
	var getsYear=parseInt(sDate.getYear())
	var getsMonth=parseInt(sDate.getMonth())
	
	var geteYear=parseInt(eDate.getYear())
	var geteMonth=parseInt(eDate.getMonth())
	var count=0	
	switch(datepart)
	{
		case "y":
			count=geteYear-getsYear
			break
		case "m":
			count=(geteYear-getsYear)*12+geteMonth-getsMonth
			break
		case "d":
			count=(eDate-sDate)/86400000
			break
		case "h":
			count=(eDate-sDate)/3600000
			break
		case "n":
			count=(eDate-sDate)/60000
	}
	return Math.floor(count)
}

// 去除不合法字符: ',",<,>
function Rep(str){
	var str1;
	str1=str;
	str1=Replace(str1,"'","＇",1,0);
	str1=Replace(str1,'"',"＂",1,0);
	str1=Replace(str1,"<","＜",1,0);
	str1=Replace(str1,">","＞",1,0);
	return str1;
} 

///////////////////////////////////　方法类 End　///////////////////////////////////

///////////////////////////////////　功能类　///////////////////////////////////////

//延时事件;
function setDeferEvent(type,action,time){
	if (trim(time).length == 0) time = 1;
	if (typeof(time)!="number") time = 1;
	
	switch(type.toLowerCase()){
		case "go":
			window.setTimeout("window.location='"+ action +"'",time);
			break;
		case "alert":
			window.setTimeout("alert('"+ action +"')",time);
			break;
		case "js":
		case "javascript":
			window.setTimeout("'"+ action.toString() +"'",time);
			break;
		default:
			alert("Nothing will do!");
			break
	}		
}

//Flash
function Flash(Path,Width,Height)
{
	var Tmp
	Tmp='<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="FlashH" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="'+Width+'" height="'+Height+'">'
	Tmp+='<param name="movie" value="'+Path+'"/>'
	Tmp+='<param name="quality" value="High"/>'
	Tmp+='<param name="scale" value="ExactFit"/>'
	Tmp+=' <param name="wmode" value="transparent"/>';
	Tmp+='<embed wmode="transparent" src="'+Path+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="FlashH" width="'+Width+'" height="'+Height+'" scale="ExactFit"/>'
	Tmp+='</object>'
	Print(Tmp);
}
//打印文档
function Print(Str)
{
	return document.write(Str);
}
//是否显示
function Display(ID){
	if ($(ID).style.display == "none"){
		$(ID).style.display="";
	}else{
	    $(ID).style.display="none";
	}
}

//返回Html后面的参数
function getHtmlQuerystring(){
	var Loca, Str, newURL;
	var Language = "asp";
	Loca = window.location;
	Loca = Loca.toString();
	newURL="";
	if(Loca.indexOf("?")>0)
	{
		Str = Loca.split("?")[1];
		if(Str.indexOf("&")>0)
		{
			var backFile = Str.split("&")[0];
			var newStr = Str.replace(backFile+"&","");
			newURL = backFile+"."+Language+"?"+newStr;
		}
	}
	if(newURL=="")
		window.location="index.html?s&do=Default";
	return newURL;
}

function Request(strName){
    var strHref = window.document.location.href;
    var intPos = strHref.indexOf("?");
    var strRight = strHref.substr(intPos + 1);

    var arrTmp = strRight.split("&");
    for(var i = 0; i < arrTmp.length; i++)
    {
        var arrTemp = arrTmp[i].split("=");

        if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];
    }
    return "";
}

function ReadCookie(name){         //读取Cookie
var m=""; 
if(window.RegExp){
var re=new RegExp(";\\s*"+name+"=([^;]*)","i"); 
m=re.exec(';'+document.cookie); 
} 
return(m?unescape(m[1]):"");
} 

function SetCookie(name,value){    //写入Cookie
    var cookiestr=name+"="+escape(value)+";path=/;";
    var expires = ""; 
    var cookieexp=60*60*1000; 
    var d = new Date(); 
    d.setTime( d.getTime() + cookieexp); 
    expires = "expires=" + d.toGMTString()+";"; 
    document.cookie = cookiestr+ expires; 
}

// 搜索结果突出显示关键字函数
function ReplaceQuery(sStr,sKey){
	if (IsEmpty(sStr) || IsEmpty(sKey)) return "转换搜索结果时出现错误。";
	sStr = ReEnHtml(sStr);
	var oRE		= new RegExp("(" + sKey + ")","gi");
	return sStr.replace(oRE,"<span style=\"color:red\">$1</span>");
}

//设置网页中的图片不能超大，超大的图片点击再放大
function autoImg(size)
{
	var img = document.getElementsByTagName("img");
	for(var i=0;i<img.length;i++)
	{
		if(img[i].width>size)
		{
			img[i].width=size;
			img[i].style.cursor="hand";
			img[i].onclick =function test(){window.open(this.src)};
		}
	}
}

function setBgColor(obj,col)
{
	obj.bgColor=col;
}

///////////////////////////////////　功能类 End　///////////////////////////////////


///////////////////////////////////　Ajax功能类　///////////////////////////////////////

//Ajax功能;
var XMLHttp=function(){
	// 构建AJAX类
	try {return new ActiveXObject("Msxml5.XMLHTTP");}catch(e){}
	try {return new ActiveXObject("Msxml4.XMLHTTP");}catch(e){}
	try {return new ActiveXObject("Msxml3.XMLHTTP");}catch(e){}
	try {return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}
	try {return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
	try {return new XMLHttpRequest();}catch(e){}
	return null;
}
//运行返回的脚本
function extractScripts(HtmlStr) {
    var ScriptTag = "<script[^>]*>([\\S\\s]*?)<\/script>";
    var matchOne = new RegExp(ScriptTag, 'im');//忽略大小写和匹配多行
	if(matchOne.exec(HtmlStr))
	{
		var tagResu = HtmlStr.match(matchOne)[1];
		eval(tagResu);
	}
	return;
}
// 返回后台地址 test.asp?action=test
function ajax(objID,url){
	var req=new XMLHttp();//构建AJAX类
	if (req!=null){
		req.onreadystatechange = function(){
			if (req.readyState==4){
				if(req.status==200){
					var reqText = req.responseText;
					$(objID).innerHTML = reqText;
					extractScripts(reqText);
				}
			}
		}
		req.open('POST',url,true);
		req.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');
		//请在ASP页面写入字符：response.charset="utf-8"
		req.send();
	}else{
		$(objID).innerHTML = "";
	}
}

//'*********************************************************
//'*********************************************************
// 'XML数据传输
// 'Inputs：sAspFile 为调用的ASP文件名串包括查询参数串
// 		    sSend为SEND的XML字符串
// 'Returns：函数返回HTTP的响应结果

//'*********************************************************
function SendHttp(sAspFile,sSend)
{
	if (navigator.onLine==false) 
	{
		return "你现在处于脱机状态,请联机后再试!"
	} 
	//var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	var xmlhttp = new XMLHttp();//构建AJAX类
	xmlhttp.Open("POST", sAspFile, false);
	try
	{
		xmlhttp.Send("<root>"+sSend+"</root>");
	}
	catch (exception)
	{
		//alert("服务器忙!")
	}
	try
	{
		var str11=xmlhttp.responseText //系统错误: -1072896748。
	}
	catch (exception)
	{
		if (exception.description=='系统错误: -1072896748。') 
		{	
			str11=""
		}
	}
	return str11;
}

function XMLReturn(xmlStr)
{
	try{
		var oXML=new ActiveXObject("Microsoft.XMLDOM");
		oXML.async="false";
		oXML.loadXML(xmlStr);
		var sXML=oXML.documentElement.xml;
		return oXML.documentElement.childNodes.item(0).text;
	}
	catch(e){}
}


///////////////////////////////////　Ajax功能类 End　///////////////////////////////////

///////////////////////////////////　窗口类　///////////////////////////////////////

//创建一个层，半透明文档
function showPopup(title,html,width){
	showMask();
	displaySelect(false);
	var pContent = document.getElementById("popContent");
	if (!pContent){
		pContent = document.createElement("div");
		pContent.id = "popContent";
		pContent.style.cssText = "position:absolute;width:100%;left:0px;top:0px;text-align:center";
//		pContent.onmousedown = catchFlyBar();
//		pContent.onmouseup=releaseFlyBar();
		document.body.appendChild(pContent);
	}
	
	var pBody = document.getElementById("popBody");
	if (!pBody){
		pBody = document.createElement("div");
		pBody.id = "popBody";
		pBody.style.cssText = "background:#EEEEEE;margin:auto;padding:3px;text-align:left;-moz-border-radius:5px;";
		pContent.appendChild(pBody);
	}
	pBody.style.width = width + "px";
	var closeButton = isIE()?'<font style="float:right;font-family:webdings;cursor:pointer;margin-top:-3px" onclick="hidePopup()">r</font>':'<font style="float:right;cursor:pointer;margin-top:-2px" onclick="hidePopup()"><u>close</u></font>';
	var strHTML = '<h4 style="color:#000;font-size:14px;margin:4px;margin-bottom:2px">'+ closeButton + (title?title:'无标题窗口') + '</h4>';
	strHTML += '<div style="background:#FFFFFF;margin:4px;padding:4px;color:#333">'+html+'</div>'
	pBody.innerHTML = strHTML;
	
	var height = pContent.offsetHeight;
	var bodyHeight = isIE()?document.documentElement.offsetHeight:document.documentElement.clientHeight;
	pContent.style.display = "";
	pContent.style.top = document.documentElement.scrollTop + ((bodyHeight - height)/2)+ "px";
}

//创建遮罩层，档住页面
function showMask(){
	var mask = document.getElementById("webMask");
	if (!mask){
		mask = document.createElement("div");
		mask.id = "webMask";
		mask.style.cssText = "position:absolute;width:100%;left:0px;top:0px;background:#000;filter:Alpha(opacity=50);-moz-opacity:0.5";
		document.body.appendChild(mask);
	}
	var h = document.documentElement.scrollHeight;
	mask.style.display = "";
	mask.style.height = h + "px";	
}

//隐藏域
function displaySelect(status){
	var s = document.getElementsByTagName("select");
	for (var i=0;i<s.length;i++){
		s[i].style.display = (status)?"":"none";
	}
}

//　隐藏层
function hidePopup(){
	hideMask();
	displaySelect(true);
	var pContent = document.getElementById("popContent");
	if (pContent) pContent.style.display = "none";
}

//　隐藏层
function hideMask(){
	var mask = document.getElementById("webMask");
	if (mask) mask.style.display = "none";
}
//创建一个层，半透明文档

//创建 ModalDialog 
function DialogMode(FileName,args,dialogWidth,dialogHeight)
{
	var str = showModalDialog(FileName,args,'dialogWidth:'+dialogWidth+'px; dialogHeight:'+dialogHeight+'px;status:no;help:no');
	if(str!=null){
		if(str.length>1){
			return str;
		}
		else
		{
			return "";
		}
	}
	else
	{
		return "";
	}
}

///////////////////////////////////　窗口类 End　///////////////////////////////////