function formObject(object, isEmail, isPassword, isNum, minLength, errorMsg, type) {

        this.object = object;
        this.isEmail = isEmail;
        this.isPassword = isPassword;
		this.isNum = isNum;
        this.minLength = minLength;
        this.errorMsg = errorMsg;
        this.type = type;

}

function validateForm(validateObj) {

	if ( validateObj )
	{
		validate = validateObj;
	}
	
	for(i=0; i<validate.length; i++) {
			//select
	        if(validate[i].type == "select") {
				if(validate[i].object.selectedIndex == 0) {
					alert(validate[i].errorMsg);
					return false;
				}
	        }
	        // radioknappar
	        else if(validate[i].type == "radio") {
	                var flag = false;
	                for(r=0; r<validate[i].object.length; r++) {
	                        if(validate[i].object[r].checked) flag = true;
	                }
	
	                if(!flag) {
	                        alert(validate[i].errorMsg);
	                        validate[i].object[0].focus();
	                        return false;
	                        break;
	                }
			}
			// checkbox
	        else if(validate[i].type == "checkbox") {
				if ( validate[i].object.checked == false )
				{
					alert(validate[i].errorMsg);
					return false;
				}
	        }
			else if(validate[i].type == "text") {
	   		
				// kolla s塤et inte 岠tomt
			    if(validate[i].object.value == "") {
		                alert(validate[i].errorMsg);
		                validate[i].object.focus();
		                return false;
		                break;
		        }
		
		        // email koll
		        if(validate[i].isEmail && (validate[i].object.value.indexOf("@") == -1 || validate[i].object.value.indexOf(".") == -1)) {
		                alert(validate[i].errorMsg);
		                validate[i].object.focus();
		                return false;
		                break;
		        }
		
		        // minLength koll
		        if(validate[i].object.value.length<validate[i].minLength && validate[i].minLength !=-1) {
		                alert(validate[i].errorMsg);
		                validate[i].object.focus();
		                return false;
		                break;
		        }
		
		        // isPassword koll
		        if(parseInt(navigator.appVersion) >= 4)
		                        if(passwdCheck(i)) {
		                                return false;
		                                break;
		                        }
				
				// isNum koll
				if(validate[i].isNum && !isNumeric(validate[i].object.value)) {
				   		alert(validate[i].errorMsg);
	             		validate[i].object.focus();
	             		return false;
	             		break;
				}


		
		
	        } else if(validate[i].type == "special") {
				if(validate[i].object.value.length > 0 && !isNumeric(validate[i].object.value)) {
						alert(validate[i].errorMsg);
		             	validate[i].object.focus();
		             	return false;
		             	break;
				}
			}
			
			
			else if(validate[i].type == "sex") {
				if ( document.getElementById(validate[i].object+"_sexm").checked == false && document.getElementById(validate[i].object+"_sexw").checked == false ) {
						alert(validate[i].errorMsg);
		             	//~ validate[i].object.focus();
		             	return false;
		             	break;
				}
			}// if text
		
	} // for

	return true;
}


function isNumeric(value) 
  {
    if (value == "")  { return false }
    if (value.charAt(0) == "-")
      start = 1;
    else
      start = 0;
    for (counter=start; counter<value.length; counter++)
    {
	  if (value.charAt(counter) == "." || value.charAt(counter) == ",") continue;
      if (value.charAt(counter)<"0") { return false; }
      if (value.charAt(counter) > "9") { return false; }
    }
    return true;
}


function passwdCheck(index) {

var reg = /\W/;

        if(validate[index].isPassword && reg.test(validate[index].object.value)) {
                alert(validate[index].errorMsg);
                validate[index].object.focus();
                return true;
        }

return false;
}


function compareText(field1, field2) {
        if(field1.value != field2.value) return false;

        return true;
}
