// Utility JavaScript functions /** * Run as onSubmit="return hasItemAddToBasket(this);" * Note: will return true as default if: * - thisform param is not a form object * - no input named add_basket_item(s) (ie. name of Add to Basket button) */ function hasItemAddToBasket(thisform) { if ( thisform != null && thisform.elements != null && typeof(thisform.elements) != "undefined" ) { var has_item = false; var add_to_basket_button = false; var bname_regex = new RegExp(); bname_regex.compile("^add_basket_item"); var iname_regex = new RegExp(); iname_regex.compile("^(purchase_option_id|combo_deal_id)"); for ( i = 0; i < thisform.elements.length; i++ ) { var element = thisform.elements[i]; if ( bname_regex.exec(element.name) ) { add_to_basket_button = true; } // match button name if ( iname_regex.exec(element.name) ) { if ( element.checked ) { has_item = true; if ( add_to_basket_button ) { break; } } } // match input name } // for each form element if ( add_to_basket_button && ! has_item ) { alert("Trying to add an item to the basket?\n\nClick round button to left of product option, then click 'Add to Basket'."); return has_item; } } return true; }