﻿function submitform() {
    var sErrStr, sFieldName;
    sErrStr = "";
    sFieldName = "";
    var email = trim(document.frm.email.value);
    if (email == "") {
        sErrStr += "Please Enter Email\n";
        if (sFieldName == "")
            sFieldName = "email";
    }
    else if (!emailCheck(document.frm.email.value)) {
        sErrStr += "Enter Valid E-mail Address\n"
        if (sFieldName == "")
            sFieldName = "email"
    }


    if (document.frm.businessPhone1 && document.frm.businessPhone2 && document.frm.businessPhone3) {
        if (trim(document.frm.businessPhone1.value) != "" || trim(document.frm.businessPhone2.value) != "" || trim(document.frm.businessPhone3.value) != "") {
            if (!phoneValidation(document.frm.businessPhone1, document.frm.businessPhone2, document.frm.businessPhone3, 'Business Phone Number'))
                return false;
        }
    }
    if (document.frm.homePhone1 && document.frm.homePhone2 && document.frm.homePhone3) {
        if (trim(document.frm.homePhone1.value) != "" || trim(document.frm.homePhone2.value) != "" || trim(document.frm.homePhone3.value) != "") {
            if (!phoneValidation(document.frm.homePhone1, document.frm.homePhone2, document.frm.homePhone3, 'Home Phone Number'))
                return false;
        }
    }
    if (document.frm.faxNumber1 && document.frm.faxNumber2 && document.frm.faxNumber3) {
        if (trim(document.frm.faxNumber1.value) != "" || trim(document.frm.faxNumber2.value) != "" || trim(document.frm.faxNumber3.value) != "") {
            if (!phoneValidation(document.frm.faxNumber1, document.frm.faxNumber2, document.frm.faxNumber3, 'Fax Phone Number'))
                return false;
        }
    }
    if (document.frm.cellPhoneNumber1 && document.frm.cellPhoneNumber2 && document.frm.cellPhoneNumber3) {
        if (document.frm.cellPhoneNumber1.value != "" || document.frm.cellPhoneNumber2.value != "" || document.frm.cellPhoneNumber3.value != "") {
            if (!phoneValidation(document.frm.cellPhoneNumber1, document.frm.cellPhoneNumber2, document.frm.cellPhoneNumber3, 'Cell Phone Number'))
                return false;


        }

        if (document.frm.CellPhoneCarrier) {
            if ((document.frm.CellPhoneCarrier.options[document.frm.CellPhoneCarrier.selectedIndex].value != "") && (document.frm.cellPhoneNumber1.value == "" || document.frm.cellPhoneNumber2.value == "" || document.frm.cellPhoneNumber3.value == "")) {
                if (!phoneValidation(document.frm.cellPhoneNumber1, document.frm.cellPhoneNumber2, document.frm.cellPhoneNumber3, 'Cell Phone Number'))
                    return false;
            }
        }

    }
    if (document.frm.instantMessenger) {
        if (document.frm.instantMessenger.type != "hidden") {
            if (trim(document.frm.instantMessenger.value) != "") {
                if (document.frm.InstantMessengerCarrier.options[document.frm.InstantMessengerCarrier.selectedIndex].value == "") {
                    sErrStr += "Please Select Instant Message Carrier\n";
                    if (sFieldName == "")
                        sFieldName = "InstantMessengerCarrier";
                }
            }
            if (document.frm.InstantMessengerCarrier.options[document.frm.InstantMessengerCarrier.selectedIndex].value != "" && trim(document.frm.instantMessenger.value) == "") {
                sErrStr += "Please Select Instant Messenger\n";
                if (sFieldName == "")
                    sFieldName = "instantMessenger";
            }
        }
    }
    if (sErrStr != "") {
        alert("Following are the required fields:- \n" + sErrStr);
        for (i = 0; i < document.frm.elements.length; i++) {
            if (document.frm.elements[i].name == sFieldName)
                document.frm.elements[i].focus();
        }
        return false;
    }
    return true;
}
function openSendWindow(num1, num2, num3, carrier) {
    if (document.frm.formID)
        formID = document.frm.formID.value;
    if (document.frm.cellPhoneNumber1 && document.frm.cellPhoneNumber2 && document.frm.cellPhoneNumber3) {
        if (!phoneValidation(document.frm.cellPhoneNumber1, document.frm.cellPhoneNumber2, document.frm.cellPhoneNumber3, 'Cell Phone Number'))
            return false;

        if (document.frm.CellPhoneCarrier) {
            var cellCarrier = document.frm.CellPhoneCarrier.options[document.frm.CellPhoneCarrier.selectedIndex].value
            if (cellCarrier != "") {
                var url = "http://app.mobilestorm.com/cp/manageforms/sendTestSMSMessage.php?phone=" + num1 + "" + num2 + "" + num3 + "&carrier=" + cellCarrier + "&formID=" + formID;
                var url1 = "http://app.mobilestorm.com/cp/manageforms/sendTestSMSMessage1.php?phone=" + num1 + "" + num2 + "" + num3 + "&carrier=" + cellCarrier + "&formID=" + formID;
                //document.frames["I1"].location.replace(url);
                document.getElementById("myDiv").innerHTML = "<img width=1 height=1 border=0 src='" + url + "'>";
                MM_openBrWindow(url1, "sendWin", "scrollbars=no,resize=no,width=400,height=200");
            }
            else {
                alert("Please select carrier for Cell Phone.");
                //return false;
            }
        }
    }
}
function MM_openBrWindow(theURL, winName, features) { //v2.0
    window.open(theURL, winName, features);
}
function emailCheck(emailStr) {
    var emailPat = /^(.+)@(.+)$/
    var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
    var validChars = "\[^\\s" + specialChars + "\]"
    var quotedUser = "(\"[^\"]*\")"
    var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
    var atom = validChars + '+'
    var word = "(" + atom + "|" + quotedUser + ")"
    var userPat = new RegExp("^" + word + "(\\." + word + ")*$")
    var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$")

    var matchArray = emailStr.match(emailPat)
    if (matchArray == null) {
        return false
    }
    var user = matchArray[1]
    var domain = matchArray[2]
    if (user.match(userPat) == null) {
        return false
    }
    var IPArray = domain.match(ipDomainPat)
    if (IPArray != null) {
        for (var i = 1; i <= 4; i++) {
            if (IPArray[i] > 255) {
                return false
            }
        }
        return true
    }
    var domainArray = domain.match(domainPat)
    if (domainArray == null) {
        return false
    }
    var atomPat = new RegExp(atom, "g")
    var domArr = domain.match(atomPat)
    var len = domArr.length
    if (domArr[domArr.length - 1].length < 2 ||
	    domArr[domArr.length - 1].length > 4) {
        return false
    }
    if (len < 2) {
        return false
    }
    return true;
}

function ltrim(s) {
    return s.replace(/^\s*/, "")
}

function rtrim(s) {
    return s.replace(/\s*$/, "");
}

function trim(s) {
    return rtrim(ltrim(s));
}
function isDigit(c) {
    return ((c >= "0") && (c <= "9"))
}
function isEmpty(s) {
    s = trim(s);
    return ((s == null) || (s.length == 0))
}

function warnEmpty(theField, s) {
    theField.focus();
    alert("Please enter " + s);
    return false;
}


function checkEmpty(theField, s) {
    if (isEmpty(theField.value)) return warnEmpty(theField, s);
    else return true;
}


function isWhitespace(s) {
    var i;

    var whitespace = " \t\n\r";
    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++) {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}
function isInteger(s) {
    var i;

    if (isEmpty(s))
        if (isInteger.arguments.length == 1) return defaultEmptyOK;
    else return (isInteger.arguments[1] == true);

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++) {
        // Check that current character is number.
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}
function phoneValidation(area, firstdigits, lastdigits, fromPhone) {

    if (area.value == null || area.value.length == 0) {
        alert("Please fill in your " + fromPhone + " area code.");
        area.focus()
        return false;
    }
    else {
        if (area.value.length < 3) {
            alert("Your  " + fromPhone + " area code must be 3 digits.");
            area.focus();
            return false;
        }
        var PhoneArea = area.value;
        var FirstPhone = PhoneArea.substring(0, 1);
        if ((FirstPhone == 0) || (FirstPhone == 1)) {
            alert("International area codes beginning with " + FirstPhone + " are not allowed.");
            area.focus();
            return false;
        }
        if (isInteger(area.value) == false) {
            alert("No letters allowed in your " + fromPhone + ".");
            area.focus();
            return false;
        }
    }
    if (firstdigits.value == null || firstdigits.value.length == 0) {
        alert("Please fill in your " + fromPhone + " prefix.");
        firstdigits.focus()
        return false;
    }
    else {
        if (firstdigits.value.length < 3) {
            alert("Your " + fromPhone + " prefix must be 3 digits.");
            firstdigits.focus();
            return false;
        }

        if (isInteger(firstdigits.value) == false) {
            alert("No letters allowed in your " + fromPhone + ".");
            firstdigits.focus();
            return false;
        }
    }

    if (lastdigits.value == null || lastdigits.value.length == 0) {
        alert("Please fill in your " + fromPhone + " suffix.");
        lastdigits.focus()
        return false;
    }

    else {
        if (lastdigits.value.length < 4) {
            alert("Your " + fromPhone + " suffix must be 4 digits.");
            lastdigits.focus();
            return false;
        }

        if (isInteger(lastdigits.value) == false) {
            alert("No letters allowed in your " + fromPhone + ".");
            lastdigits.focus();
            return false;
        }
    }

    if (area.value == 111 || area.value == 222 || area.value == 333 || area.value == 444 || area.value == 555 || area.value == 666 || area.value == 777 || area.value == 999) {
        alert("Your " + fromPhone + " area code is not valid.");
        area.focus()
        return false;
    }

    return true;
}