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 formSelectBank;
var options;
var funName;
var selectedValue;
var otherOption;

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 callServer2(codeName,codeName2, para1, para2, callBackFun) { 
	var url = contextPath+"/code?codeName=" + codeName + "&codeName2=" + codeName2 +"&para1=" + para1 + "&para2=" + para2;
	//alert(url);
	xmlHttp.open("GET", url, true);
	if (getIsIE() =="Others")
	{
    xmlHttp.onload = setFirefoxOptionBank;
	}
	else{
	xmlHttp.onreadystatechange = callBackFun;
	}
	xmlHttp.send(null);
}

function setOption() {
	//alert("xmlHttp.readyState:"+xmlHttp.readyState+"; xmlHttp.status:"+xmlHttp.status);
	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");
			//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 setOptionBank() {
	//alert("xmlHttp.readyState:"+xmlHttp.readyState+"; xmlHttp.status:"+xmlHttp.status);
	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");
			options2 = xmlDoc.getElementsByTagName("option2");
			//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));
			}
			
			 for (var i=formSelectBank.length-1;i>0;i--){
   				formSelectBank.remove(i);
			}
			if(otherOption){
		
				//formSelectBank.options.add(new Option("Select...", ""));
			}else{
				//formSelectBank.options.add(new Option("请选择...", ""));
			}
			
			for (var x=0; x<options2.length; x++) {
				var value = options2[x].getAttribute("value");
				var text = options2[x].getAttribute("text");
				//alert("value:"+value+"; text:"+text);
				formSelectBank.options.add(new Option(text, value));
			}
			
			
			//alert(selectedValue);
			if(selectedValue != ''){
				for(var i=0; i<formSelect.length; i++){
					if(formSelect[i].value == selectedValue){
						formSelect[i].selected = true;
						break;
					}
				}
			}
		}
	}
	funName;
}


function setFirefoxOptionBank() {
	//alert("xmlHttp.readyState:"+xmlHttp.readyState+"; xmlHttp.status:"+xmlHttp.status);
	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");
			options2 = xmlDoc.getElementsByTagName("option2");
			//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));
			}
			
			 for (var i=formSelectBank.length-1;i>0;i--){
   				formSelectBank.remove(i);
			}
			if(otherOption){
		
				//formSelectBank.options.add(new Option("Select...", ""));
			}else{
				//formSelectBank.options.add(new Option("请选择...", ""));
			}
			
			for (var x=0; x<options2.length; x++) {
				var value = options2[x].getAttribute("value");
				var text = options2[x].getAttribute("text");
				//alert("value:"+value+"; text:"+text);
				formSelectBank.options.add(new Option(text, value));
			}
			
			
			//alert(selectedValue);
			if(selectedValue != ''){
				for(var i=0; i<formSelect.length; i++){
					if(formSelect[i].value == selectedValue){
						formSelect[i].selected = true;
						break;
					}
				}
			}
		}
	}
	funName;
}


  
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;
	//alert(1);
	callServer(codeName, para1, para2, setOption);
}

function listOptionBank(form_select, form_select2,codeName, codeName2,para1, para2, tip,other){
	for(var i=form_select.length-1; i>=0; i--){
		form_select.remove(i);
	}
	form_select.options.add(new Option(tip, ""));
	form_select2.options.add(new Option(tip, ""));
	formSelect = form_select;
	formSelectBank = form_select2;
	selectedValue = '';
	otherOption = other;
	//alert(2);
	callServer2(codeName ,codeName2,para1, para2, setOptionBank);
}


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浏览器
   }
}
