/**
 * author: Justin
 * date: 2005-03-31
 */

/**
 * url     1:  url address
 * element 2:  element's name  with 'select'     source
 * ele     3:  element's name with 'select'      aim
 */ 

function loadXML(url,element,ele){

	var select_obj = document.getElementById(ele);
	var id = select_obj.options[select_obj.selectedIndex].value;
	if(id=='' || id == '-1'){
		 var ele = document.getElementById(element);
		 var ele_size = ele.length;
		 for(var i = 0; i < ele_size; i ++ ){
		 	ele.options[1] = null;
		 }
		 var select_obj1 = document.getElementById(element);
		 if(select_obj1.onchange!=null){
		 	//	alert(select_obj1.onchange);
				var a = new String(select_obj1.onchange);
				var a1 = a.split('{')[1];
				var a2 = a1.split('}')[0]
				eval(a2);
		}
		return;
	}

	if(url != 'none'){
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		var idnodes = null;
		var namenodes = null;
		try{
			xmlDoc.async="false";
			var requesturl = url+'&id='+id;			
			xmlDoc.load(requesturl);						
			var xmldom = xmlDoc.documentElement;			
			idnodes = xmldom.selectNodes('//root/data/value');
			namenodes = xmldom.selectNodes('//root/data/view');
		}catch(e){
			alert( e.name + ': ' + e.message);
		}
		if(idnodes!=null&&namenodes!=null){
		    var ele = document.getElementById(element);
		    var ele_size = ele.length;
		 	for(var i = 0; i < ele_size; i ++ ){
		 		ele.options[1] = null;
		 	}
		    var size = idnodes.length;
			for (i=0; i<size; i++){
				var labels = idnodes[i].text;
				var values = namenodes[i].text;
				ele.options[i+1] = new Option(values,labels);
	
			}
		}else{ 
		//	alert("no data!!");
		}
	
	}
		var select_obj = document.getElementById(element);
		if(select_obj._value!=null){		
			var size1 = select_obj.length;
			
			for(var x = 0; x < size1; x++ ){
				if(select_obj.options[x].value != null && select_obj.options[x].value == select_obj._value){
					select_obj.options[x].selected = true;				
					if(select_obj.onchange!=null){
						var a = new String(select_obj.onchange);
						var a1 = a.split('{')[1];
						var a2 = a1.split('}')[0]
						eval(a2);
						}
						break;
					}
				}
		}


	
	
}
function loadXMLSelf(url,element){

	if(url != 'none'){
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		var idnodes = null;
		var namenodes = null;
		try{
			xmlDoc.async="false";
			xmlDoc.load(url);
			var xmldom = xmlDoc.documentElement;
			idnodes = xmldom.selectNodes('//root/data/value');
			namenodes = xmldom.selectNodes('//root/data/view');
		}catch(e){
			alert( e.name + ': ' + e.message);
		}
		if(idnodes!=null&&namenodes!=null){
		    var ele = document.getElementById(element);
		    var ele_size = ele.length;
		 	for(var i = 0; i < ele_size; i ++ ){
		 		ele.options[1] = null;
		 	}
		    var size = idnodes.length;
			for (i=0; i<size; i++){
				var labels = idnodes[i].text;
				var values = namenodes[i].text;
				ele.options[i+1] = new Option(values,labels);
	
			}
		}else{ 
		//	alert("no data!!");
		}
	}
	
	var select_obj = document.getElementById(element);
	with(select_obj){  
		if(!(typeof(_value) == 'undefined') && _value != null){
			var _arr = _value.split(/\,/);
			var size1 = length;
			for(var t = 0; t < _arr.length; t++){
				for(var x = 0; x < size1; x++ ){
					if(options[x].value != null && options[x].value == _arr[t]){
						options[x].selected = true;				
						break;
					}
				}
			}
		}
		if(onchange!=null){
			var a = new String(onchange);
			var a1 = a.split('{')[1];
			var a2 = a1.split('}')[0]
			eval(a2);
		}
	}
}

function copyView(ele1, ele2){
	var _ele1 = document.getElementById(ele1);
	var _ele2 = document.getElementById(ele2);
	
	var id = _ele1.options[_ele1.selectedIndex].value;
	if(id==''){
		_ele2.value='';
		return;
	}
	var _view = _ele1.options[_ele1.selectedIndex].text;
	_ele2.value = _view;	
	
}

function copyValue(ele1, ele2){
	var _ele1 = document.getElementById(ele1);
	var _ele2 = document.getElementById(ele2);
	
	var id = _ele1.options[_ele1.selectedIndex].value;
	if(id==''){
		_ele2.value='';
		return;
	}
	var _value = _ele1.options[_ele1.selectedIndex].value;
	_ele2.value = _value;	
	
}

function buildCheckbox(url,location,values,newline,checkname,events,vali){
	if(url != 'none'){
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		var idnodes = null;
		var namenodes = null;
		try{
			xmlDoc.async="false";
			xmlDoc.load(url);
			var xmldom = xmlDoc.documentElement;
			idnodes = xmldom.selectNodes('//root/data/value');
			namenodes = xmldom.selectNodes('//root/data/view');
		}catch(e){
			alert( e.name + ': ' + e.message);
		}
		
		
		if(idnodes!=null&&namenodes!=null){
		    var ele = document.getElementById(location);
		    var _innerHTML = '<table>';
		    var size = idnodes.length;
			for (i=0; i<size; i++){
				if(i+1 % newline == 1){
					_innerHTML +='<tr>'
				} 
				var labels = idnodes[i].text;
				var _values = namenodes[i].text;
				if( i+1 == size){
					_innerHTML += '<td align=left>\&nbsp;<input type=checkbox '+events+'  '+ vali+' name='+checkname+' value = '+labels+'>&nbsp;'+ _values + '</td></tr>'
					break;
				}else if( (i+1)%newline != 0){
					_innerHTML += '<td align=left>\&nbsp;<input type=checkbox '+events+'  name='+checkname+' value = '+labels+'>&nbsp;'+ _values + '</td>'
				}else if( (i+1)%newline == 0 && i+1 < size){
					_innerHTML +='<td align=left>&nbsp;<input type=checkbox '+events+' name='+checkname+' value = '+labels+'>&nbsp;'+ _values + '</td></tr>'

				}	
			}
			ele.innerHTML += _innerHTML+'</table>';
			multiChecked(values,checkname)
		}else{
			return;
		}		
		
	}else{
		return;
	}
}

/**
 * ????????????????????????????????????
 * @values ????????????????????????????????????","???????????? ?????? ",001,002,003,"
 * @checkboxs ???????????????????????????
 */ 
function multiChecked(values,checkboxs){

	var _vals = new String(document.getElementById(values).value);
	var _chds = document.getElementsByName(checkboxs);
	var _arr = _vals.split(/\,/)
	for(var x = 0, size = _arr.length; x < size; x++ ){
		for(var y = 0, l = _chds.length; y < l; y ++){
			if(_chds[y].value == _arr[x]){
				_chds[y].checked = true;
			}
		}		
	}		
}

/**
 * @id ??radio??????id
 * @radios:radio???
 */
function multiRadioChecked(id,radioboxs){
	var _values  =new String(document.getElementById(id).value);
	var _radios  =document.getElementsByName(radioboxs);
	for(var x=0,size =_radios.length;x<size;x++){
		if(_radios[x].value == _values){
		   _radios[x].checked =true;
		}
	}
	
}