<!-- // Page Submssion, Error Checking

// filled in through AJAX calls
var check_fieldsArray = new Array();
var FIELDID_IDX = 0;
var FIELDNAME_IDX = 1;
var TYPE_IDX = 2;
var EC_FUNCTION_IDX = 3;
var g_idx = 0;



function PageSubmit() {
  var thisOptions = '';
  var error = false;
  var errorFields = ('');
  errormsg = ('Please do the following to complete the process:');


  //for (var field in check_fieldsArray) { alert (field); }  return false;

  if ( check_fieldsArray.length ) {
    //for( i = 0; i < check_fieldsArray.length; i++ ) {
    for (var field_key in check_fieldsArray) {
      //thisField_array = check_fieldsArray[ i ];
      thisField_array = check_fieldsArray[ field_key ];

      // if a field is still hidden - but is this necessary or correct?
      if ( document.getElementById(thisField_array[FIELDID_IDX]) == undefined ) {
        continue;
      }


      if ( (thisField_array[TYPE_IDX] == "select-one") )  {
         if ( GetSelectedValue( document.getElementById(thisField_array[FIELDID_IDX]) ) == '0') {
           errormsg = errormsg + ('\n select ' + thisField_array[FIELDNAME_IDX]);
           errorFields = errorFields + ( thisField_array[FIELDID_IDX] + ',');
           error = true;
         } else {
          var selectedIndex_ = document.getElementById(thisField_array[FIELDID_IDX]).selectedIndex;
          thisOptions += thisField_array[FIELDNAME_IDX]+ ': ' + document.getElementById(thisField_array[FIELDID_IDX]).options[selectedIndex_].text + '<br />';
         }
      }

      else if ( (thisField_array[TYPE_IDX] == "text") )  {
        if ( document.getElementById( thisField_array[FIELDID_IDX] ).value == '' ) {
          if (   thisField_array[FIELDID_IDX] == 'frm_Option_11' // Left Side:  Line 2 Engraving:
              || thisField_array[FIELDID_IDX] == 'frm_Option_13' // Right Side: Line 2 Engraving:
              || thisField_array[FIELDID_IDX] == 'frm_Option_5'  // Inside Personal Engraving:
             )
          {
            thisOptions += thisField_array[FIELDNAME_IDX]+ ': ' + document.getElementById( thisField_array[FIELDID_IDX] ).value + '<br />';
          } else {
            errormsg = errormsg + ('\n enter ' + thisField_array[FIELDNAME_IDX]);
            errorFields = errorFields + (thisField_array[FIELDID_IDX] + ',');
            error = true;
          }
        } else {
          thisOptions += thisField_array[FIELDNAME_IDX]+ ': ' + document.getElementById( thisField_array[FIELDID_IDX] ).value + '<br />';
        }
      }

      else if ( (thisField_array[TYPE_IDX] == "radio")) {
        // get and check all the radio buttons matching this ID on the page
       var anyChecked = false;
        var inputs = document.getElementsByTagName('input');
        for(var j=0; j < inputs.length; j++) {
          if(inputs[j].type=='radio') {
            if (inputs[j].id == thisField_array[FIELDID_IDX]) {
              if (inputs[j].checked) {
                anyChecked = true;
                thisOptions += thisField_array[FIELDNAME_IDX]+ ': ' + inputs[j].value + '<br />';
                break;
              }
            }
          }
        }
        if ( !( anyChecked ) ) {
          errormsg = errormsg + ('\n select ' + thisField_array[FIELDNAME_IDX]);
          errorFields = errorFields + ('NONE,');
          error = true;
        }
      }

      else if ( (thisField_array[TYPE_IDX] == "checkbox") ) {
        // get and check all the checkboxes matching this ID on the page
        var anyChecked = false;
        var inputs = document.getElementsByTagName('input');
        for(var j=0; j < inputs.length; j++) {
          if(inputs[j].type=='radio') {
            if (inputs[j].id == thisField_array[FIELDID_IDX]) {
              if (inputs[j].checked) {
                anyChecked = true;
                thisOptions += thisField_array[FIELDNAME_IDX]+ ': ' + inputs[j].value + '<br \>';
                break;
              }
            }
          }
        }

        if ( !( anyChecked ) ) {
          errormsg = errormsg + ('\n select ' + thisField_array[FIELDNAME_IDX]);
          errorFields = errorFields + ('NONE,');
          error = true;
        }
      }
    }
  }

  //if ( error ) alert('we have not filled fields'); else alert('all OK, continue');
  if ( error ) {
    alert( errormsg );
    // split errorFields string to get fields with errors and focus
    errorFieldsArray = errorFields.split( "," );
    if ( errorFieldsArray[0] != "NONE" ) {
      focusStr = "document.getElementById('" + errorFieldsArray[0] + "').focus();";
      eval( focusStr );
    }
    return false;
  }

  // IF SUCCESSFUL
  var groupDivs;
  var parentDiv, thisDiv;
  var thisID, i;
  var thisOptions_ = '';
  var thisPrice = '';

  parentDiv = document.getElementById( 'Info' );

  groupDivs = parentDiv.getElementsByTagName( "div" );
  if ( groupDivs.length ) {
    for( i = 0; i < groupDivs.length; i++ ) {
      thisDiv = groupDivs[ i ];
      thisID = thisDiv.id;
      if ( thisID.indexOf('Subtotal_Info_value') != -1) {
        thisPrice = thisDiv.innerHTML.replace(/\$/g, '');
        document.configurator.price.value = thisPrice;
      }
      else if ( thisID.indexOf('Subtotal_Info_header') != -1) {
        // do nothing
      }
      else if ( thisID.indexOf('Info_header') != -1) {
        thisContent = thisDiv.innerHTML.replace(/^\s+/g, '').replace(/\s+$/g, '');
        if ( thisContent.length > 0 ) {
          document.configurator.description.value = document.configurator.description.value  + thisContent;
          thisOptions_ += thisContent;
        }
      }
      else if ( thisID.indexOf('Info_value') != -1 ) {
        thisContent = thisDiv.innerHTML.replace(/^\s+/g, '').replace(/\s+$/g, '');
        if ( thisContent.length > 0 ) {
          document.configurator.description.value = document.configurator.description.value  + thisContent + '<br/>';
          thisOptions_ += thisContent + '<br/>';
        }
      }
    }
  }

  //alert (thisOptions);  alert (thisContent);
  //alert (thisOptions_); alert (thisPrice);

  if (thisOptions_ && thisPrice) {
    document.getElementById('Custom_Ring_Options').value = thisOptions_; // thisOptions;
    document.getElementById('Custom_Ring_Price').value = thisPrice;
    //disable add to cart button onsubmit
    document.configurator.submit();
    document.configurator.disablebutton.value = 'ADDING TO SHOPPING CART...';
    document.configurator.disablebutton.disabled = true;
    //return false;
  } else { return false; }

}

// for error checking
function GetSelectedValue(a){
  var sIndex = a.selectedIndex;
  return a.options[sIndex].value;
}

// alpha numeric testing
function AN_test(fieldName, numDigits, AN_type) {

  var strValue = document.getElementById(fieldName).value;
  var strLength = strValue.length;
  var thisChar;
  var i;

  if ( strLength > numDigits ) {
    return ('You entered too many characters.');
  }

  if ( AN_type == 'N' ) {
    for ( i = 0; i < strLength; i++ ) {
      thisChar = strValue.substring( i, ( i + 1 ) );
      if ( isNaN( thisChar ) )
        return ('You can only enter numbers');
    }
  }

  if ( AN_type == 'A' ) {
    for ( i = 0; i < strLength; i++ ) {
      thisChar = strValue.substring( i, ( i + 1 ) );
      if ( thisChar.search(/[a-zA-Z]/) )
        return ('You can only enter letters');
    }
  }

  return ('');
}

// back date testing
function is_backDate( strValue, backDate_year ) {

  var strLength = strValue.length;

  if ( strLength == 4 ) {
    if ( strValue > 1900 && strValue < backDate_year ) {
      return true;
    }
  }

  return false;
}
// -->

