	function setFormEstado(formName, formEstado) {
		document.forms[formName].FormEstado.value = formEstado;
		document.forms[formName].submit();
	}

	function formConfirm(formName, formEstado, msg) {
		if (confirm(msg))
			setFormEstado(formName, formEstado);
	}

	function setFormParams(formName, formMethod, submit) {
		var i,args;
		
		// sanity checks
		args = setFormParams.arguments;
		if (formName == null)
			alert('error en parametros');
		if (args.length % 2 == 0)
			alert('error en parametros, deben ser impares');
			
		// formMethod (GET; POST)
		if (formMethod != null)
			document.forms[formName].method = formMethod;

		// proceso los name/value pairs
		for (i=3; i<args.length; i+=2) {
			if (args[i+1] != null) {
				//alert('document.' + formName + '.' + args[i] + '.value=' + args[i+1])
				document.forms[formName].elements[args[i]].value = args[i+1]
			}
		}
		
		if (submit)
			document.forms[formName].submit();
	}

	function ListAppend(from, to) {
		var fromOption, toOption
		var OptNum
		if (from.selectedIndex == -1) return;
		fromOption = from.options[from.selectedIndex];
		if (fromOption.value == 'NULL') return;
		to.options[to.options.length]	= new Option(fromOption.text, fromOption.value, false,true);
		OptNum = from.selectedIndex;
		from.options[from.selectedIndex]	= null;
		if (OptNum == from.length) {
			from.options[from.length -1].selected = true;
		} else
			from.options[OptNum].selected = true;
	}

	function ListMove(from, to) {
		var fromOption, toOption;
		var cantOpts = from.options.length;
		
		for (var i=1; i<cantOpts; i++) {
			fromOption = from.options[1];

			if (fromOption.value != 'NULL') {
				to.options[to.options.length]	= new Option(fromOption.text, fromOption.value, false,true);
				from.options[1]	= null;
			}
			
		}
	
	}
	
	function ListAcumID(list, varAcum) {
		var x;
		varAcum.value = "";
		for (x = 1 ; x < list.length; x++) {
			if (x==1)
				varAcum.value = list.options[x].value;
			else
				varAcum.value = list.options[x].value + "," + varAcum.value ;
		}
	}


	function ClearSelection(formName,fieldName){
		if (document.forms[formName].elements[fieldName] != null)
			document.forms[formName].elements[fieldName].selectedIndex = -1;
	}

	
	function SetSelection(formName,fieldName,value){
		if (document.forms[formName].elements[fieldName] != null) {
			for(var loop = 0; loop < document.forms[formName].elements[fieldName].length; loop++){
				if(document.forms[formName].elements[fieldName].options[loop].innerHTML == value ||
					document.forms[formName].elements[fieldName].options[loop].value == value ){
					document.forms[formName].elements[fieldName].options[loop].selected = true;
				}
			}
		}
	}

	function SetTextBox(formName,fieldName, value){
		if (document.forms[formName].elements[fieldName] != null)
			document.forms[formName].elements[fieldName].value = value;
		//alert(fieldName + ": " + document.forms[formName].elements[fieldName].value);
	}
	
	function SetCheckBox(formName, fieldName, bChecked){
		if (document.forms[formName].elements[fieldName] != null)
			document.forms[formName].elements[fieldName].checked = bChecked;
	}

	function SetCheckBoxMultiple(formName, fieldName, valuesToCheck){
		if (document.forms[formName].elements[fieldName] != null) {
			for (var x=0; x<document.forms[formName].elements[fieldName].length;x++) {
				if (valuesToCheck.indexOf(document.forms[formName].elements[fieldName][x].value) != -1)
					document.forms[formName].elements[fieldName][x].checked = true;
				else	
					document.forms[formName].elements[fieldName][x].checked = false;
			}	
		}	
	}

	function SetRadioButton(formName,fieldName,value){
		if (document.forms[formName].elements[fieldName] != null) {
			for(var loop = 0; loop < document.forms[formName].elements[fieldName].length; loop++){
				if(document.forms[formName].elements[fieldName][loop].innerHTML == value ||
					document.forms[formName].elements[fieldName][loop].value == value ){
					document.forms[formName].elements[fieldName][loop].checked = true;
				}
			}
		}
	}

	<!-- Dynamic Version by: Nannette Thacker -->
	<!-- http://www.shiningstar.net -->
	<!-- Original by :  Ronnie T. Moore -->
	<!-- Web Site:  The JavaScript Source -->
	<!-- Use one function for multiple text areas on a page -->
	<!-- Limit the number of characters per textarea -->

	function textCounter(field,cntfield,maxlimit) {
		if (field.value.length > maxlimit) 
			// if too long...trim it!
			field.value = field.value.substring(0, maxlimit);
		else
			// otherwise, update 'characters left' counter		
			cntfield.value = maxlimit - field.value.length;
	}



	function openPopup(pstrWindowPath, pstrWindowName, pintWidth, pintHeight) {	
		window.open(pstrWindowPath, pstrWindowName,"width="+pintWidth+",height="+pintHeight+",location=no,menubar=no,scrollbars=no,statusbasr=no,titlebar=no,toolbar=no");	
	}