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;

function callServer(codeName, para1, para2, callBackFun) { 
	var url = contextPath+"/code?codeName=" + codeName + "&para1=" + para1 + "&para2=" + para2;
	//alert(url);
	xmlHttp.open("GET", url, true);
	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.add(new Option(text, value));
			}
			if(otherOption){
				formSelect.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.add(new Option(tip, ""));
	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.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.add(new Option(tip, ""));
	formSelect = form_select;
	selectedValue = '';
	otherOption = true;
	callServer(codeName, para1, para2, 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鲁黎添加,前台注册使用
function ajaxCheck2(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;
				document.getElementById("span_ChAccount.account").style.display = 'none';
			}
		}
	};
	xmlHttp.send(null);
}

function clearOption(selectName){
	//alert(selectName.name);
	for(var i=selectName.length-1; i>=0; i--){
		selectName.remove(i);
	}
}