﻿//'-----------------------------------------------------------------------------------------------------------
//'	MosquitoWeb V11.6.2 白文 QQ 106179185 Mosquito_520@163.com http://www.9702.com.cn
//'-----------------------------------------------------------------------------------------------------------
//'	功能：整站前后台共用Js功能集合
//'-----------------------------------------------------------------------------------------------------------




//禁止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;
	}
}

//页面跳转至
function ggg(u){location=u;}

//获取页面宽度Size.x,Size.y
function Size(){//【获得窗体的宽高】
	var s = {x : 0,y : 0};
	if(window.innerWidth){
		s.x = window.innerWidth;
		s.y = window.innerHeight;
	}else if(document.compatMode=='CSS1Compat'){ 			
		if(arguments[0] == 1){
			s.x = document.body.clientWidth;
			s.y = document.body.clientHeight;				
		}else if(arguments[0] == 2){
			s.x = parseInt(document.documentElement.clientWidth) + parseInt(document.documentElement.scrollLeft);
			s.y = parseInt(document.documentElement.clientHeight) + parseInt(document.documentElement.scrollTop);
		}else{
			s.x = document.documentElement.clientWidth;
			s.y = document.documentElement.clientHeight;
		}
	}else if(document.body){			
		if(arguments[0] == 1){
			s.x = document.body.scrollWidth;
			s.y = document.body.scrollHeight
		}else if(arguments[0] == 2){
			s.x = document.body.clientWidth + document.body.scrollLeft;
			s.y = document.body.clientHeight + document.body.scrollTop;
		}else{
			s.x = document.body.clientWidth;
			s.y = document.body.clientHeight;
		}
	}
	return s;
}

//对象只能输入数字
function NumerOnly(obj){
	var a = obj.value.replace(/[^0-9.]/g,'');
	obj.value=isNaN(a)||a==""?"0":a;
}

//判断是否是数组
function isArray(v){
	try{
		var a = v[0]; 
		return typeof(a) != "undefined";
	}
	catch(e){
		return false;
	}
} 

//判断是否是IE
function isIE(){
	if (navigator.appName!="Microsoft Internet Explorer") {return false}
	return true
}

//判断对象装载是否完成
function isComplete(obj){
	return obj.readystate=='complete';
}

//空字符值; 
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　///////////////////////////////////

///////////////////////////////////　方法类　///////////////////////////////////////

//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 Display(ID){
	if (_$(ID).style.display == "none"){
		_$(ID).style.display="";
	}else{
	    _$(ID).style.display="none";
	}
}

// 搜索结果突出显示关键字函数
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.style.backgroundColor=col;
}

function g1(text,url){
	if(confirm(text))
		location=url;
}

//设置复选框是否选中
function selected(vv,flag){
	var obj = document.getElementsByName(vv);
	for(var i = 0 ;i<obj.length;i++) 
	{ 
		switch(flag)
		{
			case 1:obj[i].checked = true;break;
			case 2:obj[i].checked = !obj[i].checked;break;
			case 3:obj[i].checked = false;break;
		}
	}
	return false;
}

//获取本页面中复选框的值
function ListIDs(vv,splitStr){
	var s="";
	var obj = document.getElementsByName(vv)
	for(var ListIDs_i = 0 ;ListIDs_i<obj.length;ListIDs_i++) 
	{
		if(obj[ListIDs_i].checked) 
		{ 
			if(s=="")
				s = obj[ListIDs_i].value;
			else
				s += splitStr + obj[ListIDs_i].value;
		} 
	}
	return s;
}

///////////////////////////////////　功能类 End　///////////////////////////////////


///////////////////////////////////　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;
}
//新增加的Ajax函数, 可以兼容IE,Firefox
function  Ajax(){
	var _xmlHttp = null;
	var ajaxFlag = false;// 是否为异步传输
	this.createXMLHttpRequest = new XMLHttp();//function(){
//		try {_xmlHttp = new ActiveXObject("Msxml5.XMLHTTP");}catch(e){}
//		try {_xmlHttp = new ActiveXObject("Msxml4.XMLHTTP");}catch(e){}
//		try {_xmlHttp = new ActiveXObject("Msxml3.XMLHTTP");}catch(e){}
//		try {_xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}
//		try {_xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
//		try {_xmlHttp = new XMLHttpRequest();}catch(e){}
//		try {
//			if (window.ActiveXObject) {                                                       
//				_xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
//			}
//			else if (window.XMLHttpRequest) {
//				_xmlHttp = new XMLHttpRequest();
//			}
//		}catch(e){  
//			alert(e.name +" : " + e.message);
//		}
//	}
	this.backFunction = function(_backFunction){
		if(_xmlHttp.readyState == 4) {
			if(_xmlHttp.status == 200) {
				_backFunction(_xmlHttp.responseText);//这里可以设置返回类型
			}  
		}  
		_xmlHttp.onreadystatechange = null;  
	}  
	
	this.doPost = function(_url,_parameter,_backFunction){
		try {
			_xmlHttp.open("POST",_url, ajaxFlag);
			
			_xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');
			//_xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			_xmlHttp.send(_parameter);
		}
		catch(e) {
			alert(e.name +" : " + e.message);
		}
	}
	
	this.doGet = function(_url,_parameter,_backFunction){  
		try {
			_xmlHttp.open("GET", (_url+_parameter), ajaxFlag);   
			_xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');
			_xmlHttp.send(null);   
		}
		catch(e) {  
			alert(e.name +" : " + e.message);  
		}  
	}
	this.ajaxRequest = function(_url,_parameter,_method,_backFunction){  
		try{  
			this.createXMLHttpRequest();  
			if(_method.toLowerCase() == "post"){  
				this.doPost(_url,_parameter,_backFunction);  
			}
			else {  
				this.doGet(_url,_parameter,_backFunction);    
			}  
			try {  
				_xmlHttp.onreadystatechange = this.backFunction(_backFunction);  
			}
			catch(err) {}  
		}
		catch(e) {  
			alert(e.name +" : " + e.message);  
		}  
	} 
} 
//示例
//function testAjax(){
//	var newAjax = new Ajax();
//	newAjax.ajaxRequest("Bawn.SP.asp?go=area", "&PID=10215", "POST", function(text){
//		alert(text+"000");
//	});
//	alert("text");
//}

///////////////////////////////////　Ajax功能类 End　///////////////////////////////////

///////////////////////////////////　窗口类　///////////////////////////////////////

//测试窗口
function testWin(t){
	 var testwin = window.open('','_blank','');
	 testwin.document.write(t);	
}

//创建一个可移动的窗体
function showTip(flag, title, msg, ww, hh){ 
	var titleheight = "23px"; // 窗口标题高度 
	var bordercolor = "#336699"; // 提示窗口的边框颜色 
	var titlecolor = "#FFFFFF"; // 窗口标题颜色 
	var titlebgcolor = "#336699"; // 窗口标题背景色
	var bgcolor = "#FFFFFF"; // 提示内容的背景色
	var w=isNaN(ww) ? 400 : ww;
	var h=isNaN(hh) ? 300 : hh;
	var myTipItem = document.createElement("div");//最顶上层DIV标签
	myTipItem.style.cssText = "";
	myTipItem.id = "myTips";
	document.body.appendChild(myTipItem);
	
	var iWidth = document.body.scrollWidth; 
	var iHeight = document.body.scrollHeight;
	var bgObj = document.createElement("div"); 
	bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+iHeight+"px;filter:Alpha(Opacity=30);opacity:0.3;background-color:#000000;z-index:101;";
	myTipItem.appendChild(bgObj); 
	
	var msgObj=document.createElement("div");
	msgObj.style.cssText = "position:absolute;top:"+((document.body.scrollTop?document.body.scrollTop:document.documentElement.scrollTop)+(document.documentElement.clientHeight-h)/2)+"px;left:"+(iWidth-w)/2+"px;width:"+w+"px;height:"+h+"px;border:2px solid "+bordercolor+";background-color:"+bgcolor+";padding:1px;z-index:102;";
	myTipItem.appendChild(msgObj);
	
	var table = document.createElement("table");
	table.border=0;
	table.width="100%";
	msgObj.appendChild(table);
	table.style.cssText = "margin:0px;border:0px;padding:0px;";
	table.cellSpacing = 0;
	var tr = table.insertRow(-1);
	var titleBar = tr.insertCell(-1);
	titleBar.style.cssText = "width:100%;height:"+titleheight+"px;text-align:left;padding:3px;margin:0px;font-weight:bold;font-size:13px;color:"+titlecolor+";border:1px solid " + bordercolor + ";cursor:move;background-color:" + titlebgcolor;
	titleBar.style.paddingLeft = "10px";
	titleBar.innerHTML = title;
	var moveX = 0;
	var moveY = 0;
	var moveTop = 0;
	var moveLeft = 0;
	var moveable = false;
	var docMouseMoveEvent = document.onmousemove;
	var docMouseUpEvent = document.onmouseup;
	titleBar.onmousedown = function() {
		var evt = getEvent();
		moveable = true; 
		moveX = evt.clientX;
		moveY = evt.clientY;
		moveTop = parseInt(msgObj.style.top);
		moveLeft = parseInt(msgObj.style.left);
		
		document.onmousemove = function() {
			if (moveable) {
				var evt = getEvent();
				var x = moveLeft + evt.clientX - moveX;
				var y = moveTop + evt.clientY - moveY;
				if ( x > 0 &&( x + w < iWidth) && y > 0 && (y + h < iHeight) ) {
					msgObj.style.left = x + "px";
					msgObj.style.top = y + "px";
				}
			}	
		};
		document.onmouseup = function () { 
			if (moveable) { 
				document.onmousemove = docMouseMoveEvent;
				document.onmouseup = docMouseUpEvent;
				moveable = false; 
				moveX = 0;
				moveY = 0;
				moveTop = 0;
				moveLeft = 0;
			} 
		};
	}
	
	var closeBtn = tr.insertCell(-1);
	closeBtn.style.cssText = "cursor:pointer; padding:2px;background-color:" + titlebgcolor;
	closeBtn.innerHTML = "<span title='关闭' style='float:right; font-size:15pt; color:"+titlecolor+";'>×</span>";
	closeBtn.onclick = function(){	document.body.removeChild(myTipItem);}
	var pContent = document.createElement("div");
	pContent.id = "popContent";
	pContent.style.cssText = " heigth:"+(h-25)+"px; text-align:left;";
	pContent.innerHTML = flag=="url" ? "<iframe src='"+msg+"' style='width:"+(w)+"px; height:"+(h-23)+"px;' frameborder='0' id='HipsIframe' />" : msg;
	msgObj.appendChild(pContent);
    // 获得Event对象，用于兼容IE和FireFox
    function getEvent() {
	    return window.event || arguments.callee.caller.arguments[0];
    }
	return myTipItem;
}
function closeTips(){document.body.removeChild(_$("myTips"));}

//Dialog模式
function showDialog(FileName,FileTitle,_width,_height){
	var Url=window.showModalDialog(FileName,FileTitle,"dialogWidth:"+_width+"px;dialogHeight:"+_height+"px;help:no;scroll:no;status:yes");
	Url += "";
	if(Url=="undefined") Url="";
	if(Url.length>0)
		return Url;
	else
		return "";
}

function OpenWindow(Url,Width,Height,WindowObj){
	var ReturnStr=showModalDialog(Url,WindowObj,'dialogWidth:'+Width+'px;dialogHeight:'+Height+'px;status:no;help:no;scroll:no;status:0;help:0;scroll:0;');
	return ReturnStr;
}


//图片上传功能模块
// 是否可变比例，默认宽度，默认高度，插入的名称，是否后台管理员
// 返回新文件名 Upload/***.jpg
function newImgUp(idscale,boxWidth,boxHeight,obj,isManage){
	if(idscale=="") idscale = "true";
	if(boxWidth=="") boxWidth = "160";
	if(boxHeight=="") boxHeight = "90";
	var Uurl = "../Editor/";
	if(!isManage) Uurl = Uurl.replace("../","");
	var strID = showDialog(Uurl+'ImgEdit/index.asp?idscale='+idscale+'&boxWidth='+boxWidth+'&boxHeight='+boxHeight,'',620,710);
	strID = strID.toString();
	strID = strID.replace("../../","");
	if(strID.length>0){
		_$(obj).value=strID;
	}
	return strID;
}

//上传文件
//返回文件新地址 并赋值给对象，是否后台管理员
function newFileUp(obj,isManage){
	var Uurl = "../Editor/";
	if(!isManage) Uurl = Uurl.replace("../","");
	var strID = showDialog(Uurl+'FileUpload/index.asp','',350,150);
	strID = strID.toString();
	if(strID.length>0){
		_$(obj).value=strID;
	}
	return strID;
}
///////////////////////////////////　窗口类 End　///////////////////////////////////
