var defaultCity = "北京";
var IPInfo = "";
var showWeather = 0;
//----------------------------------------------------------------------------------------------------------
function $(){ 
	var elements = new Array(); 
	for (var i = 0; i < arguments.length; i++){ 
		var element = arguments[i]; 
		if (typeof element == 'string'){
			element = document.getElementById(element); 
		}
		if (arguments.length == 1){
			return element; 
		}
			elements.push(element); 
	} 
	return elements; 
}

function Cls_Ajax() {
	var XmlObj = false;
	var ObjSelf = this;
	try { XmlObj=new XMLHttpRequest; }
	catch(e) {
		try { XmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }
		catch(e2) {
			try { XmlObj=new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e3) { XmlObj=false; }
		}
	}
	if (!XmlObj) return false;
	this.Method="GET"; //请求方法  POST OR GET  : ObjName.Method = "GET";
	this.Url;
	this.async=true; 
	this.PostStr=""; //请求的内容
	this.Loading=function(LoadObj) {return;} //载入函数
	this.Response=function(ReObj) {return;} //回调函数
	this.send=function() {
		if(!this.Method||!this.Url||!this.async) return false;
		XmlObj.open (this.Method, this.Url, this.async);
		if(this.Method=="POST") XmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		XmlObj.onreadystatechange=function() {
			if(XmlObj.readyState==4) {
				if(XmlObj.status==200) {
					ObjSelf.Response(XmlObj);
				}else{
				//	alert("错误：与服务器通讯发生错误，请联系管理员！");
					//document.write(XmlObj.responseText);//错误调试
					}
			}else{
				if(!this.Loading) ObjSelf.Loading(); //loading
			} 
		}
		if(this.Method=="POST") XmlObj.send(this.PostStr);
		else XmlObj.setRequestHeader("If-Modified-Since","0");XmlObj.send(null);
	}
}

//----------------------------------------------------------------------------------------------------------
function Query_Ip(){
	var query = $("ip").value;
	if (query!=""){
		var s = new Cls_Ajax;
		s.Url = "Action.asp?do=ip&query="+query;
		s.Loading = function(){$("sub_ip").disabled="disabled";$("sub_ip").value="正在查询";}
		s.Response = function(XmlDoc){
			$("hint_ip").innerHTML = XmlDoc.responseText;
			$("sub_ip").disabled = "";
			$("sub_ip").value="查询";
			if (showWeather == 0){IPInfo = XmlDoc.responseText;Query_Weather();showWeather = 1;}
		}
		s.send();
	}
}

function Query_Mb(){
	var query = $("mobile").value;
	if (query!=""){
		var s = new Cls_Ajax;
		s.Url = "Action.asp?do=mobile&query="+query;
		s.Loading = function(){$("sub_mb").disabled="disabled";$("sub_mb").value="正在查询";}
		s.Response = function(XmlDoc){
			$("hint_mb").innerHTML = XmlDoc.responseText;
			$("sub_mb").disabled = "";
			$("sub_mb").value="查询";
		}
		s.send();
	}
}

function Query_Proxy(){
	$("Url").value=Str_Rot13($("u").value);
}

function Query_translate(){
	var query = $("Query").value;
	if (query!=""){
		var s = new Cls_Ajax;
		s.Url = "../Action.asp?do=translate&query="+query;
		s.Loading = function(){$("sub_Query").disabled="disabled";$("sub_Query").value="正在翻译";}
		s.Response = function(XmlDoc){
			$("hint_Query").innerHTML = XmlDoc.responseText;
			$("sub_Query").disabled = "";
			$("sub_Query").value="立即翻译";
		}
		s.send();
	}
}
function Query_idiom(){
	var query = $("Query").value;
	if (query!=""){
		var s = new Cls_Ajax;
		s.Url = "../Action.asp?do=idiom&query="+query;
		s.Loading = function(){$("sub_Query").disabled="disabled";$("sub_Query").value="正在查询";}
		s.Response = function(XmlDoc){
			$("hint_Query").innerHTML = XmlDoc.responseText;
			$("sub_Query").disabled = "";
			$("sub_Query").value="立即查询";
		}
		s.send();
	}
}
function Query_char(){
	var query = $("Query").value;
	if (query!=""){
		var s = new Cls_Ajax;
		s.Url = "../Action.asp?do=char&query="+query;
		s.Loading = function(){$("sub_Query").disabled="disabled";$("sub_Query").value="正在查询";}
		s.Response = function(XmlDoc){
			$("hint_Query").innerHTML = XmlDoc.responseText;
			$("sub_Query").disabled = "";
			$("sub_Query").value="立即查询";
		}
		s.send();
	}
}
function Query_WebTranslate (){
	window.open("http://translate.ok156.com/translate_c?hl=zh-CN&ie=UTF-8&oe=UTF-8&langpair="+$("Lang").value+"&u="+$("Query").value);
}
function Query_IdCard(){
	var query = $("Query").value;
	if (query!=""){
		var s = new Cls_Ajax;
		s.Url = "IdCard.asp?Id="+query;
		s.Loading = function(){$("sub_Query").disabled="disabled";$("sub_Query").value="正在查询";}
		s.Response = function(XmlDoc){
			$("hint_Query").innerHTML = XmlDoc.responseText;
			$("sub_Query").disabled = "";
			$("sub_Query").value="立即查询";
		}
		s.send();
	}
}

function Query_Weather(){
	var iCity = "";
	//var isdefault = 0;
	//先从COOKIE读取城市
	if (readCookie('usercity') != null){
		iCity=readCookie('usercity');
	}else{
		for (i=0;i<Citys.length;i++){
			if (IPInfo.indexOf(Citys[i][1]) > 0){
				iCity = Citys[i][1];
				break;
			}
		}
		if (iCity == ""){iCity = defaultCity;}else{createCookie("usercity",iCity,7);}
	}
	var s = new Cls_Ajax;
	s.Url = "Weather/Weather.asp?City="+iCity;
	s.Loading = function(){}
	s.Response = function(XmlDoc){
		$("Weather").innerHTML = XmlDoc.responseText;
	}
	s.send();
}

/* Rot13 And Base64 */
var alpha1 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var alpha2 = 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM';
var alnum  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._';
function Str_Rot13(str)
{
    var newStr = '';
    var curLet, curLetLoc;
    for (var i = 0; i < str.length; i++)
    {
        curLet    = str.charAt(i);
        curLetLoc = alpha1.indexOf(curLet);
        newStr += (curLetLoc < 0) ? curLet : alpha2.charAt(curLetLoc);
     }
    return newStr;
}
function base64_encode(str)
{
    var out = '';
    var t, x, y ,z;
    for (var i = 0; i < str.length; i += 3)
    {
        t = Math.min(3, str.length - i);
        if (t == 1)
        {
            x = str.charCodeAt(i);
            out += alnum.charAt((x >> 2));
            out += alnum.charAt(((x & 0X00000003) << 4));
            out += '--';
        }else if (t == 2){
            x = str.charCodeAt(i);
            y = str.charCodeAt(i+1);
            out += alnum.charAt((x >> 2));
            out += alnum.charAt((((x & 0X00000003) << 4) | (y >> 4)));
            out += alnum.charAt(((y & 0X0000000f) << 2));
            out += '-';
        }else{
            x = str.charCodeAt(i);
            y = str.charCodeAt(i+1);
            z = str.charCodeAt(i+2);
            out += alnum.charAt((x >> 2));
            out += alnum.charAt((((x & 0x00000003) << 4) | (y >> 4)));
            out += alnum.charAt((((y & 0X0000000f) << 2) | (z >> 6)));
            out += alnum.charAt((z & 0X0000003f));
        }
    }
    return out;
}

/******************user********************/
function createCookie(name,value,days){
	if (days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++){
	   var c = ca[i];
	   while (c.charAt(0)==' ') c = c.substring(1,c.length);
	   if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function proxyurl(){
	if ($("Url").value != "http://www.Google.com"){
		createCookie("proxyurl",$("Url").value,7);
	}
}

function myload(){
	Query_Ip();
	if (readCookie('proxyurl') != null){
		$("Url").value=readCookie('proxyurl');
	}
	$("Server").options[Math.floor(Math.random()*19)].selected="selected";
}
