function getHtmlEltValue(form_name,elt_name,frame_name)
{

if ( frame_name == null )
	var doc_id="document.";
else
	var doc_id="parent."+frame_name+".document.";

var form_obj = eval(doc_id+form_name);

if ( form_obj != null )
{
	var elt_obj = eval(doc_id+form_name+"."+elt_name);
	if ( elt_obj != null  )
	{
		var to_return="";
	
		// Special treatment for radio button !!
		var is_radio = false;
	
		if ( elt_obj.length != null )
		{
			for ( var i = 0 ; i < elt_obj.length; i++ )
			{
				if ( elt_obj[i] != null )
					if ( elt_obj[i].type != null )
						if ( elt_obj[i].type == "radio" )
							is_radio = true;
			}
		}


		if ( is_radio )
		{
				for ( var i = 0; i < elt_obj.length; i++)
				{
						if ( elt_obj[i].checked )
						{ 
								to_return=elt_obj[i].value;
								break;
					   }
				}
		}
		else
		{
			switch ( elt_obj.type )
						{
							case "text":
							case "hidden":
								to_return=elt_obj.value;
							break;		
										
							case "select-one":
								to_return = elt_obj.options[elt_obj.selectedIndex].text;
			
							break;				
			
							case "checkbox":
								if ( elt_obj.checked )
									to_return = elt_obj.value;
								else
									to_return = "";
			
							break;				
			
							case "button":
								to_return = "";
							break;				
			
							default:
								dump(elt_obj,"ERROR: Bad element type found:"+elt_obj.type);
				}
			}

			return(to_return);
	
	}
}

alert("ERROR: gethtmleltvalue:/"+form_name+"/"+elt_name+" does not exist");
return("");

}

function setHtmlEltValue(form_name,elt_name, elt_value, frame_name)
{

if ( frame_name == null )
	var doc_id="document.";
else
	var doc_id="parent."+frame_name+".document.";

var form_obj = eval(doc_id+form_name);

var to_return = true;
if ( form_obj != null )
{
	var elt_obj = eval(doc_id+form_name+"."+elt_name);
	
	if ( elt_obj != null  )
	{

		// Special treatment for radio button !!
		var is_radio = false;
		if ( elt_obj.length != null )
		{
			for ( var i = 0 ; i < elt_obj.length; i++ )
			{
				if ( elt_obj[i] != null )
					if ( elt_obj[i].type != null )
						if ( elt_obj[i].type == "radio" )
							is_radio = true;
			}
		}
	
		if ( is_radio )
		{
			var radio_found = false;
			for ( var i = 0; i < elt_obj.length; i++)
			{
				if ( elt_obj[i].value == elt_value )
					{ 
						elt_obj[i].checked = true;
						radio_found = true;
					}
		   	else
					elt_obj[i].checked = false;
			}
			if ( ! radio_found )
			{
				//alert("ERROR: radio button:"+frame_name+"."+form_name+"."+elt_name+" could not be set to:"+elt_value);
				to_return = false;
			}
		}
		else
		{
				switch ( elt_obj.type )
				{
					case "text":
					case "hidden":
						elt_obj.value=elt_value;	  
					break;				
					
					case "select-one":
						var select_found = false;
						for ( var i = 0; i < elt_obj.options.length; i++)
						{
							if ( elt_obj.options[i].text == elt_value )
								{ 
									elt_obj.selectedIndex=i;
									select_found = true;
									break;
								}
						}
						
						if ( ! select_found )
						{
							elt_obj.focus();
							alert("ERROR: La liste de selection :"+elt_obj.name+" n'a pas pu etre mise à jour pour la valeur:"+elt_value);
							to_return = false;
						}
	
					break;				
					
					case "checkbox":
						if ( elt_obj.value == elt_value || elt_value == true )
							elt_obj.checked = true;
						else
							elt_obj.checked = false;
	
					break;
	
					case "button":
							to_return = false;
					break;				
	
					default:
							alert("ERROR: Bad element type found:"+elt_obj.type);
							to_return = false;
				}
	
		}

		return (to_return) ;

	}
}

alert("ERROR: sethtmleltvalue:/"+form_name+"/"+elt_name+" does not exist");
return (false);
}


function getHtmlEltObjValue(elt_obj)
{
var to_return="";
	
if ( elt_obj != null  )
{

	switch ( elt_obj.type )
		{
				case "text":
				case "hidden":
					to_return=elt_obj.value;
				break;		
							
				case "select-one":
					to_return = elt_obj.options[elt_obj.selectedIndex].text;

				break;				
				
				case "radio":
					var radio_obj = eval( "elt_obj.form."+elt_obj.name);
					for ( var i = 0; i < radio_obj.length; i++)
					{
							if ( radio_obj[i].checked )
							{ 
									to_return=radio_obj[i].value;
									break;
						   }
					}
				break;

				case "checkbox":
					if ( elt_obj.checked )
						to_return = elt_obj.value;
					else
						to_return = "";

				break;				

				case "button":
					to_return = "";
				break;				

				default:
					dump_nl(elt_obj,"ERROR: Bad element type found:"+elt_obj.type);
		}
	
}	
else
	alert("ERROR: getHtmlElt Obj Value: Elt_obj is null ");

return(to_return);

}
//**********************************************************
// dump properties of an JS object
//**********************************************************
function dump( obj)
{
var result="", ii="";
for ( ii in obj )
{
   result += ii+"="+obj[ii]+";";
}
alert (result);
}
//**********************************************************
// Return a big string with HTML code
//**********************************************************
function outputEltCode( elt_type, elt_name, elt_value, extra_args )
{
var htmlCode = "";

if ( extra_args == null )
	extra_args = "";

switch ( elt_type )
{
	case "TEXT":
	case "TEXT FIELD":
	  htmlCode += "<input type=\"text\" ";
	  htmlCode += " name=\""+elt_name+"\"";
	  htmlCode += " value=\""+elt_value+"\"";
	  var elt_size = elt_value.length + 5;
	  htmlCode += " size=\""+elt_size+"\"";
	  htmlCode += extra_args;
	  htmlCode += ">";

	break;

	case "HIDDEN":
	  htmlCode += "<input type=\"hidden\" ";
	  htmlCode += " name=\""+elt_name+"\"";
	  htmlCode += " value=\""+elt_value+"\"";
	  var elt_size = elt_value.length + 5;
	  htmlCode += " size=\""+elt_size+"\"";
	  htmlCode += extra_args;
	  htmlCode += ">";

	break;

	case "CHECKBOX":
	  htmlCode += "<input type=\"checkbox\" ";
	  htmlCode += " name=\""+elt_name+"\"";
	  htmlCode += " value=\""+elt_value+"\"";
	  htmlCode += extra_args;
	  htmlCode += "checked >"+"  "+elt_value;

	break;

	case "BUTTON":
	  htmlCode += "<input type=\"button\" ";
	  htmlCode += " name=\""+elt_name+"\"";
	  htmlCode += " value=\""+elt_value+"\"";
	  htmlCode += extra_args;
	  htmlCode += ">";

	break;

	case "SELECT":
	case "LIST SELECT":
	  htmlCode += "<select size=\"1\" ";
	  htmlCode += " name=\""+elt_name+"\">";
	  var val_array = elt_value.split(/\,/);
	  htmlCode += " <option selected>"+val_array[0]+"</option>";
	  for ( var i=1; i< val_array.length; i++)
	  {
	  		htmlCode += " <option>"+val_array[i]+"</option>";
	  }
	  htmlCode += "</select>";

	break;

	case "RADIO":
	case "RADIO BTN":
	//<input type="radio" name="Q1" onclick="update_res(this.form)" onclick="update_res(this.form)">
	  var val_array = elt_value.split(/\,/);
	  for ( var i = 0; i< val_array.length; i++)
	  {
		  htmlCode += "<input type=\"radio\" ";
		  htmlCode += " name=\""+elt_name+"\"";
   	  htmlCode += " value=\""+val_array[i]+"\"";
	     htmlCode += extra_args;

		  // First radio button is checked
		  if ( i == 0 )
		  {
		  		htmlCode += " checked "
		  }

		  htmlCode += ">"+val_array[i]+"  ";
	  }

	break;
	default:
	alert("ERROR: Bad elt type in outputEltCode():"+elt_type);
}

return ( htmlCode );

}





