﻿
function IsInteger(s) {
    var isInteger_re = /^\s*(\+|-)?\d+\s*$/;
    return String(s).search (isInteger_re) != -1
}
function GetStringLength(fData) {
    var valLength = fData.length;
    var reg = new RegExp("^[\u0391-\uFFE5]$");
    var result = 0;
    for(i=0; i< valLength; i++) {
        if(reg.test(fData.charAt(i))) { result += 2; }
        else { result ++; }
    }
    return result;
}
function IsValidEmailFormat(elementValue){ 
    // first check to see if blank
    var StrLength = GetStringLength(elementValue)
    if (StrLength == 0) { return false } 
    else {
        var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;   
        return emailPattern.test(elementValue)
    }
}

function validateHuman(frm){
	document.forms[frm].elements['human'].value = "42";
}

function Validate(frm) {
	var ValidForm = true
    var AlertMessage = ""
    
    // first name
    if (GetStringLength(document.forms[frm].elements['fields_fname'].value) == 0 || document.forms[frm].elements['fields_fname'].value == "first") {
        AlertMessage += "- First Name field cannot be blank.\n"
    }
    // last name
    if (GetStringLength(document.forms[frm].elements['fields_lname'].value) == 0 || document.forms[frm].elements['fields_lname'].value == "last") {
        AlertMessage += "- Last Name field cannot be blank.\n"
    }
    // email
    if (IsValidEmailFormat(document.forms[frm].elements['fields_email'].value) == false) {
        AlertMessage += "- Email Address is either blank or not a valid internet e-mail address format.\n"
    }
    
	// validate fields
    if (GetStringLength(AlertMessage) > 0) {
        ValidForm = false
        AlertMessage = "Looks like some fields may be blank or incorrect. \nPlease correct the fields noted below and try again.\n\n" + AlertMessage
    }
    
    // SUBMIT OR SHOW ALERT (include human field)
    if (ValidForm && document.forms[frm].elements['human'].value == '42') { 
    	document.forms[frm].action = "https://app.icontact.com/icp/signup.php";
    	document.forms[frm].method = "POST";
		document.forms[frm].submit();
		return true;
		
    }
    else { 
    	window.alert(AlertMessage);
    	return false;
    }
    
    return false;
}

