﻿var strDoCheckFloat1 = "Dette er et ugyldig tall: ";

/*****************************************************************
*	Function:	clearForm
*	Created:	060216 fredrik.andreen@xms.se
*	Purpose:	Clear all elements in a container ie. form, panel.
*****************************************************************/
function clearForm() {
    for (var i = 0; i < document.forms[0].elements.length; i++) {
        if (typeof(document.forms[0].elements[i]) == "object") {
            if (document.forms[0].elements[i].style.display != "none" && document.forms[0].elements[i].disabled == false) {
                switch(document.forms[0].elements[i].type) {
                    case "text":
                        document.forms[0].elements[i].value = "";
                        break;
                    case "textarea":
                        document.forms[0].elements[i].value = "";
                        break;
                    case "checkbox":
                        document.forms[0].elements[i].checked = false;
                        break;
                }
            }
        }
    }
}

/*****************************************************************
*	Function:	setFocusOnFirstValid
*	Created:	060215 fredrik.andreen@xms.se
*	Purpose:	set focus to first field in form 
*	            if it´s not of type "elementTypeToIgnore".
*****************************************************************/
function setFocusOnFirstValid(frm, elementTypesToIgnore){
	
	if (typeof(frm) == "object" && typeof(frm.elements) == "object") {
		
		for (var idx = 0; idx < frm.elements.length; idx++) {
			//alert(frm.elements[idx].type);
			if (typeof(frm.elements[idx]) == "object") {
				switch (frm.elements[idx].type) {
					case "hidden":
						continue
					default:
						if (typeof(elementTypesToIgnore) != "undefined"){
							if (elementTypesToIgnore.indexOf(frm.elements[idx].type) < 0){
								if (frm.elements[idx].style.display != "none" && frm.elements[idx].disabled == false) {
									//alert(frm.elements[idx].style.display && frm.elements[idx].disabled);
									frm.elements[idx].focus();
									return;
								}
							}
						}
						else
						{
							if (frm.elements[idx].style.display != "none" && frm.elements[idx].disabled == false) {
								//alert(frm.elements[idx].name);
								frm.elements[idx].focus();
								return;
							}
						}				
					break;
				}
			}
		
		}
		if (frm.document.links.length > 0){			
			for (var idx = 0; idx < frm.document.links.length; idx++) {
				if (frm.document.links[idx].style.display != "none" && frm.document.links[idx].disabled == false){
					//alert(frm.document.links[idx].id);
					frm.document.links[idx].focus();
					return;
				}		
			}
		}
	}
	else if (frm.document.links.length > 0){		
		for (var idx = 0; idx < frm.document.links.length; idx++) {
			if (frm.document.links[idx].style.display != "none" && frm.document.links[idx].disabled == false){
				//alert(frm.document.links[idx].id);
				frm.document.links[idx].focus();
				return;
			}		
		}
	}
	
}
/*****************************************************************
*	Function:	doCheckFloat
*	Created:	060216 mikael.gustavsson@xms.se
*	Purpose:	check if value is float
*	            
*****************************************************************/
function doCheckFloat(txt) {
	var txtRes = txt.value;
	if (txtRes == null) return true;
	if (txtRes == "") return true;
	txtRes = txtRes.replace(/[,]/i, "\.");
	fltRes = parseFloat(txtRes);
	if (isNaN(fltRes)) {
		alert( strDoCheckFloat1 + txt.value);
		txt.focus();
		return false;
	}
	txtRes = fltRes.toString();
	txtRes = txtRes.replace(/[\.]/i, ",");
	txt.value = txtRes;
	return true;
}
