﻿function ignoreError() {
  return true;
}
window.onerror = ignoreError; 
function $(id) {
	return document.getElementById(id);
}
function in_array(needle, haystack) {
	if(typeof needle == 'string' || typeof needle == 'number') {
		for(var i in haystack) {
			if(haystack[i] == needle) {
					return true;
			}
		}
	}
	return false;
}
function isUndefined(variable) {
	return typeof variable == 'undefined' ? true : false;
}

var Ajaxs = new Array();
var AjaxStacks = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
var attackevasive = isUndefined(attackevasive) ? 0 : attackevasive;
function Ajax(recvType, waitId) {

	for(var stackId = 0; stackId < AjaxStacks.length && AjaxStacks[stackId] != 0; stackId++);
	AjaxStacks[stackId] = 1;

	var aj = new Object();
	

	aj.loading = 'Loading...';//public
	aj.recvType = recvType ? recvType : 'XML';//public
	aj.waitId = waitId ? $(waitId) : null;//public

	aj.resultHandle = null;//private
	aj.sendString = '';//private
	aj.targetUrl = '';//private
	aj.stackId = 0;
	aj.stackId = stackId;

	aj.setLoading = function(loading) {
		if(typeof loading !== 'undefined' && loading !== null) aj.loading = loading;
	}

	aj.setRecvType = function(recvtype) {
		aj.recvType = recvtype;
	}

	aj.setWaitId = function(waitid) {
		aj.waitId = typeof waitid == 'object' ? waitid : $(waitid);
	}

	aj.createXMLHttpRequest = function() {
		var request = false;
		if(window.XMLHttpRequest) {
			request = new XMLHttpRequest();
			if(request.overrideMimeType) {
				request.overrideMimeType('text/xml');
			}
		} else if(window.ActiveXObject) {
			var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
			for(var i=0; i<versions.length; i++) {
				try {
					request = new ActiveXObject(versions[i]);
					if(request) {
						return request;
					}
				} catch(e) {}
			}
		}
		return request;
	}

	aj.XMLHttpRequest = aj.createXMLHttpRequest();
	aj.showLoading = function() {
		if(aj.waitId && (aj.XMLHttpRequest.readyState != 4 || aj.XMLHttpRequest.status != 200)) {
			changedisplay(aj.waitId, '');
			aj.waitId.innerHTML = '<span><img src="' + IMGDIR + '/loading.gif"> ' + aj.loading + '</span>';
		}
	}

	aj.processHandle = function() {
		if(aj.XMLHttpRequest.readyState == 4 && aj.XMLHttpRequest.status == 200) {
			for(k in Ajaxs) {
				if(Ajaxs[k] == aj.targetUrl) {
					Ajaxs[k] = null;
				}
			}
			if(aj.waitId) changedisplay(aj.waitId, 'none');
			if(aj.recvType == 'HTML') {
				aj.resultHandle(aj.XMLHttpRequest.responseText, aj);
			} else if(aj.recvType == 'XML') {
				aj.resultHandle(aj.XMLHttpRequest.responseXML.lastChild.firstChild.nodeValue, aj);
			}
			AjaxStacks[aj.stackId] = 0;
		}
	}

	aj.get = function(targetUrl, resultHandle) {

		setTimeout(function(){aj.showLoading()}, 500);
		if(in_array(targetUrl, Ajaxs)) {
			return false;
		} else {
			Ajaxs.push(targetUrl);
		}
		aj.targetUrl = targetUrl;
		aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
		aj.resultHandle = resultHandle;
		var delay = attackevasive & 1 ? (aj.stackId + 1) * 1001 : 100;
		if(window.XMLHttpRequest) {
			setTimeout(function(){
			aj.XMLHttpRequest.open('GET', aj.targetUrl);
			aj.XMLHttpRequest.send(null);}, delay);
		} else {
			setTimeout(function(){
			aj.XMLHttpRequest.open("GET", targetUrl, true);
			aj.XMLHttpRequest.send();}, delay);
		}

	}
	aj.post = function(targetUrl, sendString, resultHandle) {
		setTimeout(function(){aj.showLoading()}, 500);
		if(in_array(targetUrl, Ajaxs)) {
			return false;
		} else {
			Ajaxs.push(targetUrl);
		}
		aj.targetUrl = targetUrl;
		aj.sendString = sendString;
		aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
		aj.resultHandle = resultHandle;
		aj.XMLHttpRequest.open('POST', targetUrl);
		aj.XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		aj.XMLHttpRequest.send(aj.sendString);
	}
	return aj;
}

function changedisplay(obj, display) {
	if(display == 'auto') {
		obj.style.display = obj.style.display == '' ? 'none' : '';
	} else {
		obj.style.display = display;
	}
	return false;
}

function createSelect(id,arrText,arrValue) {
	arrValue= typeof arrValue == 'undefined'? arrText : arrValue;
	var selectObj = document.getElementsByTagName("SELECT");
	var selectObjNow = selectObj[id];
	selectObjNow.length = 0;
	var selectLength = arrText.length;
	var optionObj;
	for (i=0; i<selectLength; i++){
		optionObj = document.createElement("OPTION");
		optionObj.text=arrText[i];
		optionObj.value=arrValue[i];
		selectObjNow.options.add(optionObj);
	}
	return true;
}
function jsSelectItemByValue(objSelect,objItemValue){
    for(var i=0;i<objSelect.options.length;i++){
        if(objSelect.options[i].value == objItemValue){
            objSelect.options[i].selected = true;
            break;
        }
    }      
}
function s(st,ct){
	var url;
	var urlAdd;
	if(st==1){
		var k=$('k1').value;
		if(k=='' || k=='例:某路'){
			alert('路线不能为空!');
			$('k1').value='';
			$('k1').focus();
			return false;
		}
		urlAdd='t=1&k='+encodeURI(k);
	}
	else if(st==2){
		var k=$('k2').value;
		if(k=='' || k=='例:站点'){
			alert('站点不能为空!');
			$('k2').value='';
			$('k2').focus();
			return false;
		}
		urlAdd='t=2&k='+encodeURI(k);
	}
	else if(st==3){
		var k1=$('k31').value;
		var k2=$('k32').value;
		if(k1=='' || k1=='例:起点站'){
			alert('起点站不能为空!');
			$('k31').value='';
			$('k31').focus();
			return false;
		}
		if(k2=='' || k2=='例:终点站'){
			alert('终点站不能为空!');
			$('k32').value='';
			$('k32').focus();
			return false;
		}
		urlAdd='t=3&k1='+encodeURI(k1)+'&k2='+encodeURI(k2);
	}
	else{
		return false;
	}
	url=ct==1?('/s.php?cid='+cid+'&'+urlAdd):('/s.php?'+urlAdd);
	if (ct==1) window.open(url);
	else location.href=url;	
	return false;
}
function mcopy(id){
	var obj=$(id);
	var t=obj.value;
	clipboardData.setData('Text',t);
	alert('已复制');
}
/**获取cookie值*/
function getCookie(cookiename){
	var thebigcookie = document.cookie;
	var firstchar = thebigcookie.indexOf(cookiename);
	if (firstchar != -1) {
	firstchar += cookiename.length + 1;
	lastchar = thebigcookie.indexOf(";",firstchar);
	if(lastchar == -1) lastchar = thebigcookie.length;
	return unescape(thebigcookie.substring(firstchar, lastchar));
	}
	return "";
}
/**设置cookie值*/
function setCookie(cookiename,cookievalue,expiryday,domainname){
	var dt=new Date(); 
	dt.setTime(dt.getTime()+(expiryday*86400000)); 
	document.cookie = cookiename + "=" + cookievalue
	+ "; domain=" + domainname
	+ "; path=" + "/"
	+ "; expires=" + dt.toGMTString();
	
}