 /**
 * ? 2006 Autodata Solutions, Inc. ("Autodata"). All Rights Reserved.
 * This source code is the confidential and proprietary information of
 * Autodata. The user shall not, in whole or in part, modify, copy,
 * publish, disclose or make any use of this source code unless
 * specifically authorized in a written agreement with Autodata.
 */
 
	// gets the parent object prefixed with id
	function getParent(id, obj){
		parentObj = obj.parentNode;
		if(parentObj!=null){
			if(parentObj.id.substring(0,id.length)==id){
				return parentObj;
			}else{
				return getParent(id, parentObj)
			}
		}	
	}
	
	// selects or de-selects all inputs for the parent id.
	// will use a default="" attribute for non-boolean else nothing
	function selectAll(id, obj, bSet){
		parentObj = getParent(id, obj);
	
		elementArr = new Array(2);
		elementArr[0] = parentObj.getElementsByTagName('select');
		elementArr[1] = parentObj.getElementsByTagName('input');
		
		for(x=0; x < elementArr.length; x++){
			elements = elementArr[x];
			for(i=0; i<elements.length; i++){
				switch(elements[i].type){
					case 'radio':
						setRadio(elements[i], bSet);
						break;
					case 'checkbox':
						setCheckbox(elements[i], bSet)						
						break;						
					case 'text':
						setText(elements[i], bSet)						
						break;
					case 'select-one':
						setSelectOne(elements[i], bSet)
						break;
					case 'textarea':
						break;
					case 'password':
						break;	
					case 'file':
						break;											
				
				}			
			}			
		}
	
	}
	
	
	function setRadio(obj, bSet){
	   obj.checked = bSet;
	}
	function setCheckbox(obj, bSet){
		obj.checked = bSet;
	}	
	function setText(obj, bSet){
		// not implemented
	}
	
	function setElementByName(name, bSet){
		setElementByName(name, "", bSet)
	}
	
	function setElementByName(name, value, bSet){
		elements = document.getElementsByName(name);
		for(i=0; i<elements.length; i++){
			switch(elements[i].type){
				case 'radio':
          if(elements[i].value==value){
					 setRadio(elements[i], bSet);
          }
					break;
				case 'checkbox':
					if(elements[i].value==value){
						setCheckbox(elements[i], bSet)						
					}
					break;						
				case 'text':
					setText(elements[i], bSet)						
					break;
				case 'select-one':
					for(j=0; j<elements[i].options.length; j++){
						if(value!= "" && elements[i].options[j].value==value){							
							elements[i].options[j].selected = true;
						}
					}					
					break;
				case 'textarea':
					break;
				case 'password':
					break;	
				case 'file':
					break;											
			
			}			
		}		
	
	}
	
	
	
	function setSelectOne(obj, bSet){
		if(obj.getAttribute("default")==null){
			sOptionValue = "";
		}else{
			sOptionValue = obj.getAttribute("default");
		}	
			
		// will reset to first element if no default or "" defined
		obj.options[0].selected = true;	
		
		for (var i=0;i<obj.options.length;i++) {
		    if (obj.options[i].value == sOptionValue){
		        obj.options[i].selected = true;
		        i=obj.options.length; // break
        }
		}	
	
	}		
	
	