window._isIE = (navigator.appName == "Microsoft Internet Explorer");
if(window._isIE) {if(navigator.userAgent.indexOf("Opera")>-1) window._isIE = null;if(navigator.userAgent.indexOf("Windows NT 6.0")>-1){window._isVista = true;} else{ window._isVista = false;}}else {if(navigator.userAgent.indexOf("Gecko")==-1) window._isIE = null;}
var JFrog = new Object();
JFrog = {
	getHref:function(){return window.location.href;},
	getHostname:function(){return window.location.hostname;},
	get:function(obj){var element=document.getElementById(obj);if(typeof(element)=="object"){return element;}return null;},
	getName:function(obj){var element=document.getElementsByName(obj);if(typeof(element)=="object"){return element;}return null;},
	comTest:function(str){alert(str);},
	getX:function(e){x  = e?e.clientX:window.event.clientX;return x;},
	getY:function(e){y  = e?e.clientY:window.event.clientY;return y;},
	fSetBorderMouseDown:function(obj) {obj.style.borderRight="2px #FF0000 solid";obj.style.borderBottom="2px #FF0000 solid";obj.style.borderTop="2px #FF0000 solid";obj.style.borderLeft="2px #FF0000 solid";},
	Disp:function(obj,flag){if(obj){obj.style.display = flag?"":"none";}},
	getPosX:function (e){var l=e.offsetLeft;while(e=e.offsetParent){l+=e.offsetLeft;}return l;},
	getPosY:function(e){var t=e.offsetTop;while(e=e.offsetParent){t+=e.offsetTop;}return t;},
	JExec:function(obj,typeName,sValue){var o = obj.contentWindow;o.focus();if(!sValue){if(window._isIE){o.document.execCommand(typeName);}else{o.document.execCommand(typeName,false,false);}}else{o.contentWindow.document.execCommand(typeName,false,sValue);}o.focus();},
	_setData:function(typeName,v){try{window.clipboardData.clearData();window.clipboardData.setData(typeName,v);return true}catch(e){}return false;},
	EncodeUtf8:function(s1){var s = escape(s1);var sa = s.split("%");var retV ="";if(sa[0] != ""){retV = sa[0];}for(var i = 1; i < sa.length; i ++){if(sa[i].substring(0,1) == "u"){retV += this.Hex2Utf8(this.Str2Hex(sa[i].substring(1,5))); if(sa[i].length>5){retV += sa[i].substring(5,sa[i].length)}}else{retV += "%" + sa[i];}}return retV;},
	Str2Hex:function(s){var c = "";var n;var ss = "0123456789ABCDEF";var digS = "";for(var i = 0; i < s.length; i ++){c = s.charAt(i); n = ss.indexOf(c);digS += this.Dec2Dig(eval(n));}return digS;},
	Dec2Dig:function(n1){var s = "";var n2 = 0;for(var i = 0; i < 4; i++){n2 = Math.pow(2,3 - i);if(n1 >= n2){s += '1';n1 = n1 - n2;}else{s += '0';}}return s;},
	Dig2Dec:function (s){var retV = 0;if(s.length == 4){for(var i = 0; i < 4; i ++){retV += eval(s.charAt(i)) * Math.pow(2, 3 - i);}return retV;}return -1;},
	Hex2Utf8:function(s){var retS = "";var tempS = "";var ss = "";if(s.length == 16){tempS = "1110" + s.substring(0, 4);tempS += "10" +  s.substring(4, 10);tempS += "10" + s.substring(10,16);var sss = "0123456789ABCDEF";for(var i = 0; i < 3; i ++){retS += "%";ss = tempS.substring(i * 8, (eval(i)+1)*8);retS += sss.charAt(this.Dig2Dec(ss.substring(0,4)));retS += sss.charAt(this.Dig2Dec(ss.substring(4,8)));}return retS;}return "";},
	_isLocation:function(ret){location.reload();},
	UStr2Hex:function(str){var ret="" ,j=0 ;for(var i = 0; i < str.length ; i++){ var s = str.charCodeAt(i);if(s <127) ret +="00"+s.toString(16); else ret +=s.toString(16);}return ret;},//unicode字符串编码成十六进制字符串
	Hex2StrU:function(str){if(str==null || str =="") return "";var ret ="";for(var i= 0; i< str.length ; i=i+4){var s = str.substr(i,4);ret += String.fromCharCode("0x"+s);}return ret;},//十六进制字符串解码成unicode字符串
	cTrim:function(sInputString,iType){var sTmpStr = ' ';var i = -1;if(iType == 0 || iType == 1){while(sTmpStr == ' '){++i;sTmpStr = sInputString.substr(i,1);}sInputString = sInputString.substring(i);}if(iType == 0 || iType == 2){sTmpStr = ' ';i = sInputString.length;while(sTmpStr == ' '){--i;sTmpStr = sInputString.substr(i,1);}sInputString = sInputString.substring(0,i+1);}return sInputString;},//0 - 去除前后空格; 1 - 去前导空格; 2 - 去尾部空格
	in_array:function (a, s){var s = new String(s);s = s.toLowerCase();var a = new String(a);a = a.toLowerCase();return ("," + a + ",").indexOf("," + s + ",");},
	get_extname:function (s) {var s = new String(s); s = s.toLowerCase();if (s.lastIndexOf(".") > -1 && s.length - 1 > s.lastIndexOf(".")) {return s.substring(s.lastIndexOf(".") + 1);} else {return false;}},
	defined:function(varName){return(typeof(varName)=="undefined")?false:true;},
	create:function(tagName,id){var element=document.createElement(tagName);if(JFrog.defined(id)){element.id=id;}return element;},
	get2:function(key){if(JFrog.defined(inner[key])){return inner[key];}return null;},
	rand:function(min,max){var _min=Math.min(min,max);var _max=Math.max(min,max);return _min+Math.floor(Math.random()*(_max+1-_min));},
	defined:function(varName){return(typeof(varName)=="undefined")?false:true;}
}
/**
*	JS工具
**/
var JTool = new Object();
JTool = {
}
function j$(str){if(JFrog.get(str) != null){return JFrog.get(str);}else{return JFrog.getName(str);}return false;}
function j$$(str){return JFrog.getName(str);}
if (!window.XMLHttpRequest){
	window.XMLHttpRequest = function(){
		var xmlHttp = null;
		var ex;
		try{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
		}catch (ex){
			try{
				xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
			}catch (ex){
				try	{
					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				}catch (ex){}
			}
		}
		return xmlHttp;
	}
}
function XHR(callback){
	switch(typeof(callback)){
		case "function":
		case "string":
			break; //允许参数是 函数或字符串
		default:
			return null;
	}
	//*/
	var xml_method = 0;
	var http = new XMLHttpRequest();
	if (http == null){
		return null;
	}
	http.onreadystatechange = function(){
		/* 	0: Uninitialized
			1: Loading
			2: Loaded
			3: Interactive
			4: Finished */
		if(http.readyState == 4){
			try	{
				var ret = http.responseText; //结果
				if (typeof(callback)=="function"){
					callback(ret); //回访回调函数
				}else if(typeof(callback)=="string"){
					var lc = callback.indexOf("(");
					var rc = callback.indexOf(")");
					if ((lc<0)&&(rc<0)){
						s = callback+"(ret)";
					}else{
						var a = "";
						a = (rc-lc<2)?"":",";
						r = /\)/g;
						s = callback.replace(r ,a+"ret)");
					}
					eval(s);//此时执行回调函数，相当于callback(ret);
				}
			}catch(e){}
		}
	};
	this.get = function(url){
		try{
			http.open('get', url, true);
			http.send(null);//此时http.readyState == 4，得到了返回数据，执行81－100行的代码
			
		}catch(e){}
	};
	this.post = function(url,args){
		try{
			http.open('post', url, true);
			http.setRequestHeader("Method", "POST " + url + " HTTP/1.1");
			http.setRequestHeader("Charset","UTF-8");
			http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			var arg_g_arr = args.split("&");
			for(key in arg_g_arr){
				value_arr = arg_g_arr[key].split("=");
				value_arr[1] = encodeURI(value_arr[1]);
				arg_g_arr[key] = value_arr.join("=");
			}
			args = arg_g_arr.join("&");
			http.send(args);
		}catch(e){}
	};
}
