var xmlHttp;

try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}

var formSelect;
var options;
var funName;
var selectedValue;
var otherOption;

  //解决与firefox浏览器不兼容问题
function callServer(codeName, para1, para2, callBackFun) { 
	var url = contextPath+"/code?codeName=" + codeName + "&para1=" + para1 + "&para2=" + para2;
	//alert(url);
	xmlHttp.open("GET", url, true);
	if (getIsIE() =="Others")
	{
    xmlHttp.onload = setFireFoxOption;
	}
	else{
	xmlHttp.onreadystatechange = callBackFun;
	}
	xmlHttp.send(null);
}

function setOption() {
	//alert("xmlHttp.readyState:"+xmlHttp.readyState+"; xmlHttp.status:"+xmlHttp.status);
	if (xmlHttp.readyState == 4&&xmlHttp.status == 200){
			var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
			//var xmlDoc = document.implementation.createDocument("","",null); 
			xmlDoc.async=this.async;
			xmlDoc.loadXML(xmlHttp.responseText);
			
			//alert(xmlHttp.responseText);
			options = xmlDoc.getElementsByTagName("option");
			//alert(options.length);
			for (var x=0; x<options.length; x++) {
				var value = options[x].getAttribute("value");
				var text = options[x].getAttribute("text");
				//alert("value:"+value+"; text:"+text);
				formSelect.options.add(new Option(text, value));
			}
			if(otherOption){
				formSelect.options.add(new Option("Select...", "0"));
			}
			//alert(selectedValue);
			if(selectedValue != ''){
				for(var i=0; i<formSelect.length; i++){
					if(formSelect[i].value == selectedValue){
						formSelect[i].selected = true;
						break;
					}
			}
		}
	}
	funName;
}

//解决与firefox浏览器不兼容问题
function setFireFoxOption() {
	if (xmlHttp.readyState == 4&&xmlHttp.status == 200){
			var xmlDoc = document.implementation.createDocument("","",null); 
			xmlDoc.async=this.async;
			var oParser = new DOMParser();
            var xmlDoc = oParser.parseFromString(xmlHttp.responseText,"text/xml");
			//alert(xmlHttp.responseText);
			options = xmlDoc.getElementsByTagName("option");
			//alert(options.length);
			for (var x=0; x<options.length; x++) {
				var value = options[x].getAttribute("value");
				var text = options[x].getAttribute("text");
				//alert("value:"+value+"; text:"+text);
				formSelect.options.add(new Option(text, value));
			}
			if(otherOption){
				formSelect.options.add(new Option("Select...", "0"));
			}
			//alert(selectedValue);
			if(selectedValue != ''){
				for(var i=0; i<formSelect.length; i++){
					if(formSelect[i].value == selectedValue){
						formSelect[i].selected = true;
						break;
					}
			}
		}
	}
	funName;
}



function listOption(form_select, codeName, para1, para2){
	for(var i=form_select.length-1; i>=0; i--){
		form_select.remove(i);
	}
	formSelect = form_select;
	callServer(codeName, para1, para2, setOption);
}

function listOption2(form_select, codeName, para1, para2, tip){
	for(var i=form_select.length-1; i>=0; i--){
		
		form_select.remove(i);
	}
	form_select.options.add(new Option(tip, ""));
	formSelect = form_select;
	selectedValue = '';
	otherOption = false;
	callServer(codeName, para1, para2, setOption);
}

function listOption22(form_select, codeName, para1, para2, tip){
	for(var i=form_select.length-1; i>=0; i--){
		
		form_select.remove(i);
	}
	form_select.options.add(new Option(tip, "-1"));
	formSelect = form_select;
	selectedValue = '';
	otherOption = false;
	callServer(codeName, para1, para2, setOption);
}


function listOption3(form_select, codeName, para1, para2, tip, sv){
	for(var i=form_select.length-1; i>=0; i--){
		form_select.remove(i);
	}
	form_select.options.add(new Option(tip, ""));
	formSelect = form_select;
	selectedValue = '';
	selectedValue = sv;
	callServer(codeName, para1, para2, setOption);
}

function listOption4(form_select, codeName, para1, para2, tip){
	for(var i=form_select.length-1; i>=0; i--){
		form_select.remove(i);
	}
	form_select.options.add(new Option(tip, ""));
	formSelect = form_select;
	selectedValue = '';
	otherOption = true;
	callServer(codeName, para1, para2, setOption);
}

//境外用卡栏目页（热门目的地搜索页）下拉列表级连
function listOption5(form_select, codeName, para1, targetVal, tip){
	for(var i=form_select.length-1; i>=0; i--){
		form_select.remove(i);
	}
	form_select.options.add(new Option(tip, ""));
	formSelect = form_select;
	selectedValue = '';
	otherOption = false;
	callServer(codeName, para1, targetVal, setOption);
}

function linkOption(select_1_name, select_2_name, codeName, functionName){
	//alert(select_1_name);
	var mainSelects = document.getElementsByName(select_1_name);
	var slaveSelects = document.getElementsByName(select_2_name);
	if(slaveSelects.length==0){
		//alert(""+select_2_name+"");
		return;
	}
	
	if(mainSelects.length==0){
		//alert(""+select_1_name+"");
		return;
	}
	var mainSelect = mainSelects[0];
	var slaveSelect = slaveSelects[0];
	funName = functionName;
	listOption(slaveSelect, codeName, mainSelect[mainSelect.selectedIndex].value, "");
}

function ajaxCheck(label_id, codeName, para1, para2){
	var url = "code?codeName=" + codeName + "&para1=" + para1 + "&para2=" + para2;
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState == 4){
			if(xmlHttp.status == 200) {
				var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async=this.async;
				xmlDoc.loadXML(xmlHttp.responseText);
				//alert(xmlHttp.responseText);
				options = xmlDoc.getElementsByTagName("option");
				var value = options[0].getAttribute("value");
				var text = options[0].getAttribute("text");
				label_id.innerHTML = text;
			}
		}
	};
	xmlHttp.send(null);
}

//2009-3-9鲁黎添加,前台注册使用 2010-4-29张闽海增加了对Firefox浏览器的支持
function ajaxCheck2(label_id, codeName, para1, para2){
	var url = "code?codeName=" + codeName + "&para1=" + para1 + "&para2=" + para2;
	xmlHttp.open("GET", url, true);
	if(window.ActiveXObject){
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4){
				if(xmlHttp.status == 200) {
					var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
					xmlDoc.async=this.async;
					xmlDoc.loadXML(xmlHttp.responseText);
					//alert(xmlHttp.responseText);
					options = xmlDoc.getElementsByTagName("option");
					var value = options[0].getAttribute("value");
					var text = options[0].getAttribute("text");
					label_id.innerHTML = text;
					document.getElementById("span_ChAccount.account").style.display = 'none';
					if(document.getElementById("__ErrorMessagePanel")!=null){
					document.getElementById("__ErrorMessagePanel").style.display = 'none';
					}
				}
			}
		 };
	}
    else if (window.XMLHttpRequest){
    	xmlHttp.onload = function(){
			if (xmlHttp.readyState == 4){
				if(xmlHttp.status == 200) {
				    var xmlDoc = document.implementation.createDocument("","",null); 
				    xmlDoc.async=this.async;
				    var oParser = new DOMParser();
	                var xmlDoc = oParser.parseFromString(xmlHttp.responseText,"text/xml");
					//alert(xmlHttp.responseText);
					options = xmlDoc.getElementsByTagName("option");
					var value = options[0].getAttribute("value");
					var text = options[0].getAttribute("text");
					label_id.innerHTML = text;
					document.getElementById("span_ChAccount.account").style.display = 'none';
					if(document.getElementById("__ErrorMessagePanel")!=null){
					document.getElementById("__ErrorMessagePanel").style.display = 'none';
					}
				}
			}
    	};
	} 
	xmlHttp.send(null);
}
function ajaxCheck4(label_id, codeName, para1, para2,para3,para5){
    var randCode = Math.random();
	var url = "code?codeName=" + codeName + "&para1=" + para1 + "&para2=" + para2+"&para3="+para3+"&para5="+para5+",*randomCode="+randCode;
	xmlHttp.open("GET", url, true);
    if (getIsFireFox() =="Firefox")
	{
    xmlHttp.onload = function(){
		if (xmlHttp.readyState == 4){
			if(xmlHttp.status == 200) {
			    var xmlDoc = document.implementation.createDocument("","",null); 
			    xmlDoc.async=this.async;
			    var oParser = new DOMParser();
                var xmlDoc = oParser.parseFromString(xmlHttp.responseText,"text/xml");
				//alert(xmlHttp.responseText);
				options = xmlDoc.getElementsByTagName("option");
				var value = options[0].getAttribute("value");
				var text = options[0].getAttribute("text");
				label_id.innerHTML = text;
			}
		}
	 };
	}
    else{
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState == 4){
			if(xmlHttp.status == 200) {
				var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async=this.async;
				xmlDoc.loadXML(xmlHttp.responseText);
				//alert(xmlHttp.responseText);
				options = xmlDoc.getElementsByTagName("option");
				var value = options[0].getAttribute("value");
				var text = options[0].getAttribute("text");
				label_id.innerHTML = text;
			}
		}
	 };
	}
	xmlHttp.send(null);
}
function clearOption(selectName){
	//alert(selectName.name);
	for(var i=selectName.length-1; i>=0; i--){
		selectName.remove(i);
	}
}


function getIsFireFox()  
{  
   if(navigator.userAgent.indexOf("Firefox")>-1){  
       return "Firefox";     //Firefox浏览器
   }
   else{
       return "Others";   
   }
} 

function getIsIE(){
	if(navigator.userAgent.indexOf("MSIE")>-1){  
       
       return "IE";   
   }
   else{
       return "Others";     //Firefox浏览器
   }
}
