/*
Formular-Felpfunctions
2004-08-24
Dieter Siebeck
Copyright (c) 2004 Zaunz Publishing. All Rights Reserved.
*/

function formLib_clearField(form, fieldname){
    formLib_setField(form, fieldname,"");    
}



function formLib_setField(form, fieldname,value){
    var field = form[fieldname];
    if(typeof(field) == "undefined"){
        alert(fieldname + " undefined!");
        return;
    }
    switch(field.type){
		case "radio":
			formLib_setRadio(field,value);
			return;
  		case "select-one":
  			formLib_setSelect(field,value);
  			return;
  		case "text":
			field.value=value;
			return;
		case "hidden":
			field.value=value;
			return;
  		case "textarea":
			field.value=value;
			return;
  		case "checkbox":
			field.checked=(value)?true:false;
			return;
  		default: 
  			//sollte eigentlich nicht vorkommen!!
			alert(field.type + ": not implemented!");

	}
        
}

function formLib_setRadio(radio, value){
    var i;
    for(i=0;i<radio.length;i++){
		//alert(i + ": "+radio[i].value);
		if(radio[i].value == value){
			radio[i].checked = true;
			return;
		}
	}    
}

function formLib_setSelect(select, value){
    var i,option;
    
    for(i=0;i<select.length;i++){
		option = select.options[i];
		if(select.options[i].value == value){
			select.options[i].selected = true;
			return;
		}
	}    
}

function formLib_setSelect_ByText(select, value){
    var i,option;
    for(i=0;i<select.length;i++){
		option = select.options[i];
		if(select.options[i].text == value){
			select.options[i].selected = true;
			return;
		}
	}    
}

function formLib_setFieldDefault(form, fieldname){
    var field = form[fieldname];
    if(typeof(field) == "undefined"){
        alert(fieldname + " undefined!");
        return;
    }
    switch(field.type){
		case "radio":
			formLib_setRadioDefault(field);
			return;
  		case "select-one":
  			formLib_setSelectDefault(field);
  			return;
  		case "text":
			if(field.defaultValue)field.value=field.defaultValue;
			return;
		case "hidden":
			if(field.defaultValue)field.value=field.defaultValue;
			return;
  		case "textarea":
			if(field.defaultValue)field.value=field.defaultValue;
			return;
  		case "checkbox":
			field.checked=field.defaultChecked;
			return;
  		default: 
  			//sollte eigentlich nicht vorkommen!!
			alert(field.type + ": not implemented!");

	}
}

function formLib_setRadioDefault(radio, value){
    var i;
    for(i=0;i<radio.length;i++){
		//alert(i + ": "+radio[i].value);
		if(radio[i].defaultChecked && radio[i].value){
			radio[i].checked = true;
			return;
		}
	}    
}

function formLib_setSelectDefault(select, value){
    var i,option;
    for(i=0;i<select.length;i++){
		if(select.options[i].defaultSelected && select.options[i].value){
			select.options[i].selected = true;
			return;
		}
	}    
}

