//Check if name is valid
function IsNameValid(id) {
    var str = document.getElementById(id).value;

    if (str.length < 2) {
        str = "";
    }

    return !CheckForEmptyString(id, str);
}

function IsCompanyValid(id) {
    var str = document.getElementById(id).value;

    if (str.length < 3) {
        str = "";
    }

    return !CheckForEmptyString(id, str);
}

function IsPhoneValid(id) {
    var str = document.getElementById(id).value;

  
        var iDigits = 0;

        for (var i = 0; i < str.length; i++) {
            if ("0" <= str.charAt(i) && str.charAt(i) <= "9") {iDigits++;}
        }

        if (iDigits < 4) {
            str = "";
        }
    

    return !CheckForEmptyString(id, str);
}

function IsCountryCodeValid(id) {
    var str = document.getElementById(id).value;

    if (str.length < 1) {
        str = "";
    }
    else {

        var iDigits = 0;

        for (var i = 0; i < str.length; i++) {
            if ("0" <= str.charAt(i) && str.charAt(i) <= "9") {iDigits++;}
        }

        if (iDigits < 1) {
            str = "";
        }
    }

    return !CheckForEmptyString(id, str);
}

function IsEmailValid(id) {
    var str = document.getElementById(id).value;

    if (str.length < 3) {
        str = "";
    }

    if (str.match(/^([a-zA-Z0-9_.%+-]+)\@([a-zA-Z0-9_.-]+)\.([a-zA-Z]{2,5})$/) == null) {
        str = "";
    }

    return !CheckForEmptyString(id, str);
}

function IsZipValid(id) {
    var str = document.getElementById(id).value;
	
    if (str.length < 3 || str == "123456") {
        str = "";
    }

    return !CheckForEmptyString(id, str);
}

function IsTextValid(id) {
    var str = document.getElementById(id).value;

    return !CheckForEmptyString(id, str);
}

function IsMasterKeyValid(id) {
    var str = document.getElementById(id).value;

    var strUpper = str.toUpperCase();

    if (str.length < 9) {
        str = "";
    }

    if (strUpper.match(/^[A-Z][0-9]-?[0-9]{5}-?[0-9][A-Z]$/) == null) {
        str = "";
    }

    return !CheckForEmptyString(id, str);
}

function validateState()
{
	var stateValidationMessage = "";
    var selectedCountry = $('#request_country').val();
  	var selectedState = $('#request_state').val();
    
    if (selectedCountry == 'US')
    {
        var validUsStates =  ["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV"
        					 ,"NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","PR","RI","SC","SD","TN","TX","UT","VT","VA","WA","DC","WV","WI","WY"];
        
        var stateIndex = validUsStates.indexOf(selectedState);
        if (stateIndex < 0)
        {
	        stateValidationMessage = "State is required";
        }
    }
    else if (selectedCountry == 'CA') 
    {
        var validCAProvinces =  ["AB","BC","MB","NB","NL","NT","NS","NU","ON","PE","QC","SK","YT"];
        
        var provinceIndex = validCAProvinces.indexOf(selectedState);
        if (provinceIndex < 0)
        {
          	stateValidationMessage = "Province is required";  
        }
    }
    
	if (stateValidationMessage == ""){
		SetFieldBackgroundColor('request_state', true);
	} else {
		SetFieldBackgroundColor('request_state', false);
	}
	
    return stateValidationMessage;
}

var gdprChecked = false;
var captchaChecked = false;

function gdprCheck(){
	gdprCheckbox = document.getElementById("gdpr_opt_in"); 
    gdprChecked = gdprCheckbox.checked;
    return gdprChecked;
}

function correctCaptcha(g_recaptcha_response){
	captchaChecked = true;
};   

function expiredCaptcha(){
	captchaChecked = false;
}

function captchaCheck(){
	return captchaChecked;
}

function CheckForEmptyString(id, str) {
    var showWarningColor = (str == null || str == "") ? true : false;

    SetFieldBackgroundColor(id, showWarningColor);

    return showWarningColor;
}

function SetFieldBackgroundColor(id, showWarningColor) {
    document.getElementById(id).style.backgroundColor = showWarningColor ? "#fbfd9d" : "white";
}