//b2c.js
//Developed by Billy clauges for Response Computer Group

var defaultEmptyOK = false
var mSuffix = "You did not enter a value in a required field. Please enter it now."
var whitespace = " \t\n\r";


function validateShipTo(form)
{   
    return (
      checkString(form.elements["ST_SHIP_ID"],"") &&
      checkString(form.elements["ST_NAME"],"") &&
      checkString(form.elements["ST_ADDRESS1"],"") &&
      checkString(form.elements["ST_CITY"],"") && 
      checkString(form.elements["ST_STATE"],"") &&
      checkString(form.elements["ST_ZIP"],"") 
    )
}

function validateBillTo(form)
{   
    return (
      checkString(form.elements["SB_BILL_ID"],"") &&
      checkString(form.elements["SB_NAME"],"") &&
      checkString(form.elements["SB_ADDRESS1"],"") &&
      checkString(form.elements["SB_CITY"],"") && 
      checkString(form.elements["SB_STATE"],"") &&
      checkString(form.elements["SB_ZIP"],"") 
    )
}


function validateCard(form)
{   
    return (
      checkString(form.elements["CC_TYPE"],"Credit Card Type must be entered.") &&
      checkString(form.elements["CC_NUMBER"],"Credit Card Number must be entered.") &&
      checkString(form.elements["CC_MONTH"],"Credit Card Expiration Month must be entered.") && 
      checkString(form.elements["CC_YEAR"],"Credit Card Expiration Year must be entered.") &&
      checkString(form.elements["CC_CARDHOLDER"],"Credit Card Cardholder must be entered.") &&
checkString(form.elements["CC_CVV"],"Credit Card CVV Code must be entered.") &&
      checkString(form.elements["CC_ZIP"],"Credit Card Zip Code must be entered.") 
    )
}

function validateCardId(form)
{   
    return (
      checkString(form.elements["CC_CARD_ID"],"Credit Card ID must be entered.") 
    )
}


function validatePass(form)
{   
    return (
      checkString(form.elements["PASSWORD1"],"") &&
      checkString(form.elements["PASSWORD2"],"") 
    )
}


function validateCreateAccount(form)
{   
    return (
      checkString(form.elements["USER_NAME"],"") &&
      checkString(form.elements["USER_ADDRESS1"],"") &&
      checkString(form.elements["USER_CITY"],"") && 
      checkString(form.elements["USER_STATE"],"") &&
      checkString(form.elements["USER_EMAIL"],"") &&
      checkString(form.elements["USER_ZIP"],"") 
    )
}

function validateCreateUser2(form)
{   
    return (
      checkString(form.elements["USER_ID2"],"") &&
      checkString(form.elements["USER_PASS2"],"")
    )
}

function validateCreateUser3(form)
{   
    return (
      checkString(form.elements["USER_ID3"],"") &&
      checkString(form.elements["USER_PASS3"],"")
    )
}

// Check whether string s is empty.

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}



// Returns true if string s is empty or 
// whitespace characters only.

function isWhitespace (s)

{   var i;

    // 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;
}

// Notify user that required field theField is empty.
// String s describes expected contents of theField.value.
// Put focus in theField and return false.

function warnEmpty (theField, s)
{   theField.focus()
    if (s.length == 0)
       alert(mSuffix);
    else
       alert(s);
    return false
}

// checkString (TEXTFIELD theField, STRING s, [, BOOLEAN emptyOK==false])
//
// Check that string theField.value is not all whitespace.
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.

function checkString (theField, s, emptyOK)
{   // Next line is needed on NN3 to avoid "undefined is not a number" error
    // in equality comparison below.
    if (checkString.arguments.length == 2) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (isWhitespace(theField.value)) 
       return warnEmpty (theField, s);
    else return true;
}


