var cartviewclick = false;var formType;function Validator(frmname) {    this.formobj = document.forms[frmname];    if (!this.formobj) {        alert("Error: couldnot get Form object " + frmname);        return;    }    if (this.formobj.onsubmit) {        this.formobj.old_onsubmit = this.formobj.onsubmit;        this.formobj.onsubmit = null;    }    else {        this.formobj.old_onsubmit = null;    }    this.formobj._sfm_form_name = frmname;    this.formobj.onsubmit = form_submit_handler;    this.addValidation = add_validation;    this.setAddnlValidationFunction = set_addnl_vfunction;    this.clearAllValidations = clear_all_validations;    this.disable_validations = false; //new    document.error_disp_handler = new sfm_ErrorDisplayHandler();    this.EnableOnPageErrorDisplay = validator_enable_OPED;    this.EnableOnPageErrorDisplaySingleBox = validator_enable_OPED_SB;    this.show_errors_together = true;    this.EnableMsgsTogether = sfm_enable_show_msgs_together;}function set_addnl_vfunction(functionname) {    this.formobj.addnlvalidation = functionname;}function sfm_enable_show_msgs_together() {    this.show_errors_together = true;    this.formobj.show_errors_together = true;}function clear_all_validations() {    for (var itr = 0; itr < this.formobj.elements.length; itr++) {        this.formobj.elements[itr].validationset = null;    }}function form_submit_handler() {    this.formobj = document.forms[0];    //Make sure we have it    if (!this.formobj) {        alert("Error: could not find form named on page!");        return false;    }    //Skip validation when view cart is clicked    if (cartviewclick) {        if (!SetCartItem()) {            return false;        }        return true;    }    var bRet = true;    document.error_disp_handler.clear_msgs();    for (var itr = 0; itr < this.elements.length; itr++) {        if (this.elements[itr].validationset &&!this.elements[itr].validationset.validate()) {            bRet = false;        }        if (!bRet && !this.show_errors_together) {            break;        }    }    if (!bRet) {        document.error_disp_handler.FinalShowMsg();        return false;    }    if (this.addnlvalidation) {        str = " var ret = " + this.addnlvalidation + "()";        eval(str);        if (!ret) return ret;    }    if (!SetCartItem()) {        return false;    }    return true;}function add_validation(itemname, descriptor, errstr) {    var condition = null;    if (arguments.length > 3) {        condition = arguments[3];    }    if (!this.formobj) {        alert("Error: The form object is not set properly");        return;    } //if    var itemobj = this.formobj[itemname];    if (itemobj.length && isNaN(itemobj.selectedIndex))    //for radio button; don't do for 'select' item    {        itemobj = itemobj[0];    }    if (!itemobj) {        alert("Error: Couldnot get the input object named: " + itemname);        return;    }    if (!itemobj.validationset) {        itemobj.validationset = new ValidationSet(itemobj, this.show_errors_together);    }    itemobj.validationset.add(descriptor, errstr, condition);    itemobj.validatorobj = this;}function validator_enable_OPED() {    document.error_disp_handler.EnableOnPageDisplay(false);}function validator_enable_OPED_SB() {    document.error_disp_handler.EnableOnPageDisplay(true);}function sfm_ErrorDisplayHandler() {    this.msgdisplay = new AlertMsgDisplayer();    this.EnableOnPageDisplay = edh_EnableOnPageDisplay;    this.ShowMsg = edh_ShowMsg;    this.FinalShowMsg = edh_FinalShowMsg;    this.all_msgs = new Array();    this.clear_msgs = edh_clear_msgs;}function edh_clear_msgs() {    this.msgdisplay.clearmsg(this.all_msgs);    this.all_msgs = new Array();}function edh_FinalShowMsg() {    this.msgdisplay.showmsg(this.all_msgs);}function edh_EnableOnPageDisplay(single_box) {    if (true == single_box) {        this.msgdisplay = new SingleBoxErrorDisplay();    }    else {        this.msgdisplay = new DivMsgDisplayer();    }}function edh_ShowMsg(msg, input_element) {    var objmsg = new Array();    objmsg["input_element"] = input_element;    objmsg["msg"] = msg;    this.all_msgs.push(objmsg);}function AlertMsgDisplayer() {    this.showmsg = alert_showmsg;    this.clearmsg = alert_clearmsg;}function alert_clearmsg(msgs) {}function alert_showmsg(msgs) {    var whole_msg = "";    var first_elmnt = null;    for (var m in msgs) {        if (null == first_elmnt) {            first_elmnt = msgs[m]["input_element"];        }        whole_msg += msgs[m]["msg"] + "\n";    }    alert(whole_msg);    if (null != first_elmnt) {        first_elmnt.focus();    }}function sfm_show_error_msg(msg, input_elmt) {    document.error_disp_handler.ShowMsg(msg, input_elmt);}function SingleBoxErrorDisplay() {    this.showmsg = sb_div_showmsg;    this.clearmsg = sb_div_clearmsg;}function sb_div_clearmsg(msgs) {    var divname = form_error_div_name(msgs);    show_div_msg(divname, "");}function sb_div_showmsg(msgs) {    var whole_msg = "<ul>\n";    for (var m in msgs) {        whole_msg += "<li>" + msgs[m]["msg"] + "</li>\n";    }    whole_msg += "</ul>";    var divname = form_error_div_name(msgs);    show_div_msg(divname, whole_msg);}function form_error_div_name(msgs) {    var input_element = null;    for (var m in msgs) {        input_element = msgs[m]["input_element"];        if (input_element) { break; }    }    var divname = "";    if (input_element) {        divname = input_element.form._sfm_form_name + "_errorloc";    }    return divname;}function DivMsgDisplayer() {    this.showmsg = div_showmsg;    this.clearmsg = div_clearmsg;}function div_clearmsg(msgs) {    for (var m in msgs) {        var divname = element_div_name(msgs[m]["input_element"]);        show_div_msg(divname, "");    }}function element_div_name(input_element) {    var divname = input_element.form._sfm_form_name + "_" +input_element.name + "_errorloc";    divname = divname.replace(/[\[\]]/gi, "");    return divname;}function div_showmsg(msgs) {    var whole_msg;    var first_elmnt = null;    for (var m in msgs) {        if (null == first_elmnt) {            first_elmnt = msgs[m]["input_element"];        }        var divname = element_div_name(msgs[m]["input_element"]);        show_div_msg(divname, msgs[m]["msg"]);    }    if (null != first_elmnt) {        first_elmnt.focus();    }}function show_div_msg(divname, msgstring) {    if (divname.length <= 0) return false;    if (document.layers) {        divlayer = document.layers[divname];        if (!divlayer) { return; }        divlayer.document.open();        divlayer.document.write(msgstring);        divlayer.document.close();    }    else        if (document.all) {        divlayer = document.all[divname];        if (!divlayer) { return; }        divlayer.innerHTML = msgstring;    }    else        if (document.getElementById) {        divlayer = document.getElementById(divname);        if (!divlayer) { return; }        divlayer.innerHTML = msgstring;    }    divlayer.style.visibility = "visible";    return false;}function ValidationDesc(inputitem, desc, error, condition) {    this.desc = desc;    this.error = error;    this.itemobj = inputitem;    this.condition = condition;    this.validate = vdesc_validate;}function vdesc_validate() {    if (this.condition != null) {        if (!eval(this.condition)) {            return true;        }    }    if (!validateInput(this.desc, this.itemobj, this.error)) {        this.itemobj.validatorobj.disable_validations = true;        this.itemobj.focus();        return false;    }    return true;}function ValidationSet(inputitem, msgs_together) {    this.vSet = new Array();    this.add = add_validationdesc;    this.validate = vset_validate;    this.itemobj = inputitem;    this.msgs_together = msgs_together;}function add_validationdesc(desc, error, condition) {    this.vSet[this.vSet.length] =new ValidationDesc(this.itemobj, desc, error, condition);}function vset_validate() {    var bRet = true;    for (var itr = 0; itr < this.vSet.length; itr++) {        bRet = bRet && this.vSet[itr].validate();        if (!bRet && !this.msgs_together) {            break;        }    }    return bRet;}function validateEmail(email) {    var splitted = email.match("^(.+)@(.+)$");    if (splitted == null) return false;    if (splitted[1] != null) {        var regexp_user = /^\"?[\w-_\.]*\"?$/;        if (splitted[1].match(regexp_user) == null) return false;    }    if (splitted[2] != null) {        var regexp_domain = /^[\w-\.]*\.[A-Za-z]{2,4}$/;        if (splitted[2].match(regexp_domain) == null) {            var regexp_ip = /^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;            if (splitted[2].match(regexp_ip) == null) return false;        } // if        return true;    }    return false;}function IsCheckSelected(objValue, chkValue) {    var selected = false;    var objcheck = objValue.form.elements[objValue.name];    if (objcheck.length) {        var idxchk = -1;        for (var c = 0; c < objcheck.length; c++) {            if (objcheck[c].value == chkValue) {                idxchk = c;                break;            } //if        } //for        if (idxchk >= 0) {            if (objcheck[idxchk].checked == "1") {                selected = true;            }        } //if    }    else {        if (objValue.checked == "1") {            selected = true;        } //if    } //else	    return selected;}function TestDontSelectChk(objValue, chkValue, strError) {    var pass = true;    pass = IsCheckSelected(objValue, chkValue) ? false : true;    if (pass == false) {        if (!strError || strError.length == 0) {            strError = "Can't Proceed as you selected " + objValue.name;        } //if			          sfm_show_error_msg(strError, objValue);    }    return pass;}function TestShouldSelectChk(objValue, chkValue, strError) {    var pass = true;    pass = IsCheckSelected(objValue, chkValue) ? true : false;    if (pass == false) {        if (!strError || strError.length == 0) {            strError = "You should select" + objValue.name;        } //if			          sfm_show_error_msg(strError, objValue);    }    return pass;}function TestRequiredInput(objValue, strError) {    var ret = true;    var val = objValue.value;    val = val.replace(/^\s+|\s+$/g, ""); //trim    if (eval(val.length) == 0) {        if (!strError || strError.length == 0) {            strError = objValue.name + " : Required Field";        } //if         sfm_show_error_msg(strError, objValue);        ret = false;    } //if     return ret;}function TestMaxLen(objValue, strMaxLen, strError) {    var ret = true;    if (eval(objValue.value.length) > eval(strMaxLen)) {        if (!strError || strError.length == 0) {            strError = objValue.name + " : " + strMaxLen + " characters maximum ";        } //if         sfm_show_error_msg(strError, objValue);        ret = false;    } //if     return ret;}function TestMinLen(objValue, strMinLen, strError) {    var ret = true;    if (eval(objValue.value.length) < eval(strMinLen)) {        if (!strError || strError.length == 0) {            strError = objValue.name + " : " + strMinLen + " characters minimum  ";        } //if                       sfm_show_error_msg(strError, objValue);        ret = false;    } //if     return ret;}function TestInputType(objValue, strRegExp, strError, strDefaultError) {    var ret = true;    var charpos = objValue.value.search(strRegExp);    if (objValue.value.length > 0 && charpos >= 0) {        if (!strError || strError.length == 0) {            strError = strDefaultError;        } //if         sfm_show_error_msg(strError, objValue);        ret = false;    } //if     return ret;}function TestEmail(objValue, strError) {    var ret = true;    if (objValue.value.length > 0 && !validateEmail(objValue.value)) {        if (!strError || strError.length == 0) {            strError = objValue.name + ": Enter a valid Email address ";        } //if                                                       sfm_show_error_msg(strError, objValue);        ret = false;    } //if     return ret;}function TestLessThan(objValue, strLessThan, strError) {    var ret = true;    if (isNaN(objValue.value)) {        sfm_show_error_msg(objValue.name + ": Should be a number ", objValue);        ret = false;    } //if     else        if (eval(objValue.value) >= eval(strLessThan)) {        if (!strError || strError.length == 0) {            strError = objValue.name + " : value should be less than " + strLessThan;        } //if                       sfm_show_error_msg(strError, objValue);        ret = false;    } //if       return ret;}function TestGreaterThan(objValue, strGreaterThan, strError) {    var ret = true;    if (isNaN(objValue.value)) {        sfm_show_error_msg(objValue.name + ": Should be a number ", objValue);        ret = false;    } //if     else        if (eval(objValue.value) <= eval(strGreaterThan)) {        if (!strError || strError.length == 0) {            strError = objValue.name + " : value should be greater than " + strGreaterThan;        } //if                       sfm_show_error_msg(strError, objValue);        ret = false;    } //if      return ret;}function TestRegExp(objValue, strRegExp, strError) {    var ret = true;    if (objValue.value.length > 0 &&!objValue.value.match(strRegExp)) {        if (!strError || strError.length == 0) {            strError = objValue.name + ": Invalid characters found ";        } //if                                                                       sfm_show_error_msg(strError, objValue);        ret = false;    } //if     return ret;}function TestDontSelect(objValue, dont_sel_index, strError) {    var ret = true;    if (objValue.selectedIndex == null) {        sfm_show_error_msg("ERROR: dontselect command for non-select Item");        ret = false;    }    if (objValue.selectedIndex == eval(dont_sel_index)) {        if (!strError || strError.length == 0) {            strError = objValue.name + ": Please Select one option ";        } //if                                                                       sfm_show_error_msg(strError);        ret = false;    }    return ret;}function TestSelectOneRadio(objValue, strError) {    var objradio = objValue.form.elements[objValue.name];    var one_selected = false;    for (var r = 0; r < objradio.length; r++) {        if (objradio[r].checked == "1") {            one_selected = true;            break;        }    }    if (false == one_selected) {        if (!strError || strError.length == 0) {            strError = "Please select one option from " + objValue.name;        }        sfm_show_error_msg(strError, objValue);    }    return one_selected;}function validateInput(strValidateStr, objValue, strError) {    var ret = true;    var epos = strValidateStr.search("=");    var command = "";    var cmdvalue = "";    if (epos >= 0) {        command = strValidateStr.substring(0, epos);        cmdvalue = strValidateStr.substr(epos + 1);    }    else {        command = strValidateStr;    }    switch (command) {        case "req":        case "required":            {                ret = TestRequiredInput(objValue, strError)                break;            } //case required         case "maxlength":        case "maxlen":            {                ret = TestMaxLen(objValue, cmdvalue, strError)                break;            } //case maxlen         case "minlength":        case "minlen":            {                ret = TestMinLen(objValue, cmdvalue, strError)                break;            } //case minlen         case "alnum":        case "alphanumeric":            {                ret = TestInputType(objValue, "[^A-Za-z0-9]", strError,objValue.name + ": Only alpha-numeric characters allowed ");                break;            }        case "alnum_s":        case "alphanumeric_space":            {                ret = TestInputType(objValue, "[^A-Za-z0-9\\s]", strError,objValue.name + ": Only alpha-numeric characters and space allowed ");                break;            }        case "num":        case "numeric":            {                ret = TestInputType(objValue, "[^0-9]", strError,objValue.name + ": Only digits allowed ");                break;            }        case "dec":        case "decimal":            {                ret = TestInputType(objValue, "[^0-9\.]", strError,objValue.name + ": Only numbers allowed ");                break;            }        case "alphabetic":        case "alpha":            {                ret = TestInputType(objValue, "[^A-Za-z]", strError,objValue.name + ": Only alphabetic characters allowed ");                break;            }        case "alphabetic_space":        case "alpha_s":            {                ret = TestInputType(objValue, "[^A-Za-z\\s]", strError,objValue.name + ": Only alphabetic characters and space allowed ");                break;            }        case "email":            {                ret = TestEmail(objValue, strError);                break;            }        case "lt":        case "lessthan":            {                ret = TestLessThan(objValue, cmdvalue, strError);                break;            }        case "gt":        case "greaterthan":            {                ret = TestGreaterThan(objValue, cmdvalue, strError);                break;            } //case greaterthan         case "regexp":            {                ret = TestRegExp(objValue, cmdvalue, strError);                break;            }        case "dontselect":            {                ret = TestDontSelect(objValue, cmdvalue, strError)                break;            }        case "dontselectchk":            {                ret = TestDontSelectChk(objValue, cmdvalue, strError)                break;            }        case "shouldselchk":            {                ret = TestShouldSelectChk(objValue, cmdvalue, strError)                break;            }        case "selone_radio":            {                ret = TestSelectOneRadio(objValue, strError);                break;            }    } //switch     return ret;}function VWZ_IsListItemSelected(listname, value) {    for (var i = 0; i < listname.options.length; i++) {        if (listname.options[i].selected == true &&listname.options[i].value == value) {            return true;        }    }    return false;}function VWZ_IsChecked(objcheck, value) {    if (objcheck.length) {        for (var c = 0; c < objcheck.length; c++) {            if (objcheck[c].checked == "1" &&objcheck[c].value == value) {                return true;            }        }    }    else {        if (objcheck.checked == "1") {            return true;        }    }    return false;}function SetCartItem() {    /*    Field 1 Your cart-id code.    Field 2 Item part number. -Optional-    Field 3 Item description. Short description for cart display and order summary.     Field 4 Item price. Don't use a $.     Field 5 Item quantity to initially be added to the cart.     Field 6 Individual item shipping cost -Optional-    Field 7 Individual item shipping insurance cost -Optional-     Field 8 Item unit of measure, defaults to "ea." -Optional-    Field 9 Item weight. Needed if weight based shipping methods are used. -Optional-    Field 10 URL of the item's graphic image. -Optional-    */    var itemString = "";    var cartId = "";    var productNumber = "";    var description = "";    var price = "";    var quantity = "";    var individualShippingCost = "";    var individualInsuranceCost = "";    var itemUnitOfMeasure = "ea";    var itemWeight = "";    var itemImageUrl = "";    this.formobj = document.forms[0];    //Make sure we have it    if (!this.formobj) {        alert("Error: could not find form named on page!");        return false;    }    //Set needed value from form    cartId = "s-2143";    productNumber = this.formobj["productnumber"].value;    if (formType == "threeform") {        description = this.formobj["description"].value + ' ' + this.formobj["size"].value + ' ' + this.formobj["color"].value;    }    else if (formType == "threeformbranched") {        description = this.formobj["description"].value + ' ' + this.formobj["size"].value;    }    else if (formType == "twoformbranched") {        description = this.formobj["description"].value;    }      else if (formType == "twoformbranchedstyle") {        description = this.formobj["description"].value;    }    else if (formType == "oneform") {        description = this.formobj["description"].value;    }    else {        description = this.formobj["description"].value + ' ' + this.formobj["color"].value;    }    price = this.formobj["price"].value;    quantity = this.formobj["quantity"].value;    individualShippingCost = this.formobj["individualdhippingcost"].value;    individualInsuranceCost = this.formobj["individualinsurancecost"].value;    itemUnitOfMeasure = this.formobj["unitofmeasure"].value;    itemWeight = this.formobj["weight"].value;    itemImageUrl = this.formobj["imageurl"].value;    if (formType == "threeformbranched" || formType == "twoformbranched" || formType == "twoformbranchedstyle") {        //Build String        itemString = cartId + "^" + productNumber + "^" + description + "^op1^" + quantity + "^" + individualShippingCost + "^" + individualInsuranceCost + "^" + itemUnitOfMeasure + "^" + itemWeight + "^" + itemImageUrl;    }    else {        //Build String        itemString = cartId + "^" + productNumber + "^" + description + "^" + price + "^" + quantity + "^" + individualShippingCost + "^" + individualInsuranceCost + "^" + itemUnitOfMeasure + "^" + itemWeight + "^" + itemImageUrl;    }    //set value    this.formobj["item"].value = itemString;    //alert(this.formobj["item"].value);    return true;}function ProcessForm(formType) {    this.formType = formType    //alert(this.formType);    //Before we add validation handlers lets examine the document to verify    //that indeed it is a type one.    if (formType == "threeform") {        if (IsThreeFormValid()) {            var formToValidate = new Validator(document.forms[0].id);            formToValidate.EnableMsgsTogether();            //Size form field validation            formToValidate.addValidation("size", "dontselect=0", "Please select a size");            formToValidate.addValidation("size", "req", "Please select a size");            //Color form field validation            formToValidate.addValidation("color", "dontselect=0", "Please select a color");            formToValidate.addValidation("color", "req", "Please select a color");            //quantity form field validation            formToValidate.addValidation("quantity", "dontselect=0", "Please select a quantity");            formToValidate.addValidation("quantity", "req", "Please select a quantity");        }        else {            alert("Invalid Form Configuration: Form 'ThreeForm' is not configured properly.");        }    }    else if (formType == "threeformbranched") {        if (IsThreeFormBranchedValid()) {            var formToValidate = new Validator(document.forms[0].id);            formToValidate.EnableMsgsTogether();            //Size form field validation            formToValidate.addValidation("size", "dontselect=0", "Please select a size");            formToValidate.addValidation("size", "req", "Please select a size");            //Color form field validation            formToValidate.addValidation("op1", "dontselect=0", "Please select a style");            formToValidate.addValidation("op1", "req", "Please select a style");            //quantity form field validation            formToValidate.addValidation("quantity", "dontselect=0", "Please select a quantity");            formToValidate.addValidation("quantity", "req", "Please select a quantity");        }        else {            alert("Invalid Form Configuration: Form 'ThreeFormBranched' is not configured properly.");        }    }    else if (formType == "twoform") {        if (IsTwoFormValid()) {            var formToValidate = new Validator(document.forms[0].id);            formToValidate.EnableMsgsTogether();            //Color form field validation            formToValidate.addValidation("color", "dontselect=0", "Please select a color");            formToValidate.addValidation("color", "req", "Please select a color");            //quantity form field validation            formToValidate.addValidation("quantity", "dontselect=0", "Please select a quantity");            formToValidate.addValidation("quantity", "req", "Please select a quantity");        }        else {            alert("Invalid Form Configuration: Form 'TwoForm' is not configured properly.");        }    }    else if (formType == "twoformbranched") {        if (IsTwoFormBranchedValid()) {            var formToValidate = new Validator(document.forms[0].id);            formToValidate.EnableMsgsTogether();            //Color form field validation            formToValidate.addValidation("op1", "dontselect=0", "Please select a size");            formToValidate.addValidation("op1", "req", "Please select a size");            //quantity form field validation            formToValidate.addValidation("quantity", "dontselect=0", "Please select a quantity");            formToValidate.addValidation("quantity", "req", "Please select a quantity");        }    }    else if (formType == "twoformbranchedstyle") {        if (IsTwoFormBranchedStyleValid()) {            var formToValidate = new Validator(document.forms[0].id);            formToValidate.EnableMsgsTogether();            //Color form field validation            formToValidate.addValidation("op1", "dontselect=0", "Please select a style");            formToValidate.addValidation("op1", "req", "Please select a style");            //quantity form field validation            formToValidate.addValidation("quantity", "dontselect=0", "Please select a quantity");            formToValidate.addValidation("quantity", "req", "Please select a quantity");        }        else {            alert("Invalid Form Configuration: Form 'TwoFormBranched' is not configured properly.");        }    }    else if (formType == "oneform") {        if (IsOneFormValid()) {            var formToValidate = new Validator(document.forms[0].id);            formToValidate.EnableMsgsTogether();            //quantity form field validation            formToValidate.addValidation("quantity", "dontselect=0", "Please select a quantity");            formToValidate.addValidation("quantity", "req", "Please select a quantity");        }        else {            alert("Invalid Form Configuration: Form 'OneForm' is not configured properly.");        }    }    else {        alert("Invalid form type: The form on this page does not match any of the supported masters.");    }}function IsThreeFormValid() {    //Should be only form on page    if (document.forms.length != 1)        return false;    //Verify all cart elements are in the form    if (document.forms[0].elements["item"] == undefined) {        alert("Missing form field: item");    }    if (document.forms[0].elements["productnumber"] == undefined) {        alert("Missing form field: productnumber");    }    if (document.forms[0].elements["description"] == undefined) {        alert("Missing form field: description");    }    if (document.forms[0].elements["price"] == undefined) {        alert("Missing form field: price");    }    if (document.forms[0].elements["individualdhippingcost"] == undefined) {        alert("Missing form field: individualdhippingcost");    }    if (document.forms[0].elements["unitofmeasure"] == undefined) {        alert("Missing form field: unitofmeasure");    }    if (document.forms[0].elements["weight"] == undefined) {        alert("Missing form field: weight");    }    if (document.forms[0].elements["imageurl"] == undefined) {        alert("Missing form field: imageurl");    }    if (document.forms[0].elements["size"] == undefined) {        alert("Missing form field: size");    }    if (document.forms[0].elements["color"] == undefined) {        alert("Missing form field: color");    }    if (document.forms[0].elements["quantity"] == undefined) {        alert("Missing form field: quantity");    }    if (document.getElementsByTagName("nvadd") == undefined) {        alert("Missing form field: nvadd");    }    //Form type 1 has 3 select options       var selectTypeCount = 0;    for (i = 0; i < document.forms[0].elements.length; i++) {        if (document.forms[0].elements[i].type == "select-one") {            if (document.forms[0].elements[i].name == "quantity" || document.forms[0].elements[i].name == "size" || document.forms[0].elements[i].name == "color") {                selectTypeCount++;            }        }    }    return selectTypeCount == 3;}function IsThreeFormBranchedValid() {    //Should be only form on page    if (document.forms.length != 1)        return false;    //Verify all cart elements are in the form    if (document.forms[0].elements["item"] == undefined) {        alert("Missing form field: item");    }    if (document.forms[0].elements["productnumber"] == undefined) {        alert("Missing form field: productnumber");    }    if (document.forms[0].elements["description"] == undefined) {        alert("Missing form field: description");    }    if (document.forms[0].elements["price"] == undefined) {        alert("Missing form field: price");    }    if (document.forms[0].elements["individualdhippingcost"] == undefined) {        alert("Missing form field: individualdhippingcost");    }    if (document.forms[0].elements["unitofmeasure"] == undefined) {        alert("Missing form field: unitofmeasure");    }    if (document.forms[0].elements["weight"] == undefined) {        alert("Missing form field: weight");    }    if (document.forms[0].elements["imageurl"] == undefined) {        alert("Missing form field: imageurl");    }    if (document.forms[0].elements["size"] == undefined) {        alert("Missing form field: size");    }    if (document.forms[0].elements["op1"] == undefined) {        alert("Missing form field: style");    }    if (document.forms[0].elements["quantity"] == undefined) {        alert("Missing form field: quantity");    }    if (document.getElementsByTagName("nvadd") == undefined) {        alert("Missing form field: nvadd");    }    //Form type 1 has 3 select options       var selectTypeCount = 0;    for (i = 0; i < document.forms[0].elements.length; i++) {        if (document.forms[0].elements[i].type == "select-one") {            if (document.forms[0].elements[i].name == "quantity" || document.forms[0].elements[i].name == "size" || document.forms[0].elements[i].name == "op1") {                selectTypeCount++;            }        }    }    return selectTypeCount == 3;}function IsTwoFormValid() {    //Should be only form on page    if (document.forms.length != 1)        return false;    //Verify all cart elements are in the form    if (document.forms[0].elements["item"] == undefined) {        alert("Missing form field: item");    }    if (document.forms[0].elements["productnumber"] == undefined) {        alert("Missing form field: productnumber");    }    if (document.forms[0].elements["description"] == undefined) {        alert("Missing form field: description");    }    if (document.forms[0].elements["price"] == undefined) {        alert("Missing form field: price");    }    if (document.forms[0].elements["individualdhippingcost"] == undefined) {        alert("Missing form field: individualdhippingcost");    }    if (document.forms[0].elements["unitofmeasure"] == undefined) {        alert("Missing form field: unitofmeasure");    }    if (document.forms[0].elements["weight"] == undefined) {        alert("Missing form field: weight");    }    if (document.forms[0].elements["imageurl"] == undefined) {        alert("Missing form field: imageurl");    }    if (document.forms[0].elements["color"] == undefined) {        alert("Missing form field: color");    }    if (document.forms[0].elements["quantity"] == undefined) {        alert("Missing form field: quantity");    }    if (document.getElementsByTagName("nvadd") == undefined) {        alert("Missing form field: nvadd");    }    //Form type 1 has 3 select options       var selectTypeCount = 0;    for (i = 0; i < document.forms[0].elements.length; i++) {        if (document.forms[0].elements[i].type == "select-one") {            if (document.forms[0].elements[i].name == "quantity" || document.forms[0].elements[i].name == "color") {                selectTypeCount++;            }        }    }    return selectTypeCount == 2;}function IsTwoFormBranchedValid() {    //Should be only form on page    if (document.forms.length != 1)        return false;    //Verify all cart elements are in the form    if (document.forms[0].elements["item"] == undefined) {        alert("Missing form field: item");    }    if (document.forms[0].elements["productnumber"] == undefined) {        alert("Missing form field: productnumber");    }    if (document.forms[0].elements["description"] == undefined) {        alert("Missing form field: description");    }    if (document.forms[0].elements["price"] == undefined) {        alert("Missing form field: price");    }    if (document.forms[0].elements["individualdhippingcost"] == undefined) {        alert("Missing form field: individualdhippingcost");    }    if (document.forms[0].elements["unitofmeasure"] == undefined) {        alert("Missing form field: unitofmeasure");    }    if (document.forms[0].elements["weight"] == undefined) {        alert("Missing form field: weight");    }    if (document.forms[0].elements["imageurl"] == undefined) {        alert("Missing form field: imageurl");    }    if (document.forms[0].elements["op1"] == undefined) {        alert("Missing form field: style");    }    if (document.forms[0].elements["quantity"] == undefined) {        alert("Missing form field: quantity");    }    if (document.getElementsByTagName("nvadd") == undefined) {        alert("Missing form field: nvadd");    }    //Form type 1 has 3 select options       var selectTypeCount = 0;    for (i = 0; i < document.forms[0].elements.length; i++) {        if (document.forms[0].elements[i].type == "select-one") {            if (document.forms[0].elements[i].name == "quantity" || document.forms[0].elements[i].name == "op1") {                selectTypeCount++;            }        }    }    return selectTypeCount == 2;}function IsTwoFormBranchedStyleValid() {    //Should be only form on page    if (document.forms.length != 1)        return false;    //Verify all cart elements are in the form    if (document.forms[0].elements["item"] == undefined) {        alert("Missing form field: item");    }    if (document.forms[0].elements["productnumber"] == undefined) {        alert("Missing form field: productnumber");    }    if (document.forms[0].elements["description"] == undefined) {        alert("Missing form field: description");    }    if (document.forms[0].elements["price"] == undefined) {        alert("Missing form field: price");    }    if (document.forms[0].elements["individualdhippingcost"] == undefined) {        alert("Missing form field: individualdhippingcost");    }    if (document.forms[0].elements["unitofmeasure"] == undefined) {        alert("Missing form field: unitofmeasure");    }    if (document.forms[0].elements["weight"] == undefined) {        alert("Missing form field: weight");    }    if (document.forms[0].elements["imageurl"] == undefined) {        alert("Missing form field: imageurl");    }    if (document.forms[0].elements["op1"] == undefined) {        alert("Missing form field: style");    }    if (document.forms[0].elements["quantity"] == undefined) {        alert("Missing form field: quantity");    }    if (document.getElementsByTagName("nvadd") == undefined) {        alert("Missing form field: nvadd");    }    //Form type 1 has 3 select options       var selectTypeCount = 0;    for (i = 0; i < document.forms[0].elements.length; i++) {        if (document.forms[0].elements[i].type == "select-one") {            if (document.forms[0].elements[i].name == "quantity" || document.forms[0].elements[i].name == "op1") {                selectTypeCount++;            }        }    }    return selectTypeCount == 2;}function IsOneFormValid() {    //Should be only form on page    if (document.forms.length != 1)        return false;    //Verify all cart elements are in the form    if (document.forms[0].elements["item"] == undefined) {        alert("Missing form field: item");    }    if (document.forms[0].elements["productnumber"] == undefined) {        alert("Missing form field: productnumber");    }    if (document.forms[0].elements["description"] == undefined) {        alert("Missing form field: description");    }    if (document.forms[0].elements["price"] == undefined) {        alert("Missing form field: price");    }    if (document.forms[0].elements["individualdhippingcost"] == undefined) {        alert("Missing form field: individualdhippingcost");    }    if (document.forms[0].elements["unitofmeasure"] == undefined) {        alert("Missing form field: unitofmeasure");    }    if (document.forms[0].elements["weight"] == undefined) {        alert("Missing form field: weight");    }    if (document.forms[0].elements["imageurl"] == undefined) {        alert("Missing form field: imageurl");    }    if (document.forms[0].elements["quantity"] == undefined) {        alert("Missing form field: quantity");    }    if (document.getElementsByTagName("nvadd") == undefined) {        alert("Missing form field: nvadd");    }    //Form type 1 has 3 select options       var selectTypeCount = 0;    for (i = 0; i < document.forms[0].elements.length; i++) {        if (document.forms[0].elements[i].type == "select-one") {            if (document.forms[0].elements[i].name == "quantity") {                selectTypeCount++;            }        }    }    return selectTypeCount == 1;}
