// csrcreateticket.js
//
// form validation routines specific to csrcreateticket.html
//
// see webcsrutils.js for "contstant" defines


// error string defines
// defined in webcsrutils.js var EMAILFORMATERROR
// defined in webcsrutils.js var EMAILMATCHERROR
var PRODUCTERROR        = "Please select your product";
var CATEGORYERROR       = "Please select the type of support this is regarding";
var LOCATIONERROR       = "Please select the location of your product purchase";
var OSERROR             = "Please select your operating system";
var BROWSERERROR        = "Please select your primary web browser";
var MAILCLIENTERROR     = "Please select your primary e-mail program";
var PROBLEMDESCERROR    = "Please enter a description of your problem or issue";


// set the default values for the create ticket page
function JSWEBCSRCreateTicketSetDefaults( objFormData )
{
    objFormData.femail.value = "";

    objFormData.femailconf.value = "";

    objFormData.fname.value = "";

//    don't set the default value anymore, as this is being set
//    by the tag/referrer
//
//    objFormData.fproduct.value = "DEFAULT";

    objFormData.fcategory.value = "DEFAULT";

    objFormData.fpurchase.value = "DEFAULT";

    objFormData.fos.value = "DEFAULT";

    objFormData.fbrowser.value = "DEFAULT";

    objFormData.fmailclient.value = "DEFAULT";

    objFormData.fproblem.value = "";
}


// HACK: warn about the email address used
function JSWEBCSREmailWarn( objFormData )
{
    var aCheckDomains = new Array( [ 'yahoo.com', 'Yahoo!' ], [ 'sbcglobal.net', 'SBC Global' ] );

    for( var iIndex = 0; iIndex < aCheckDomains.length; iIndex++ )
    {
        if( objFormData.femail.value.toLowerCase().indexOf( aCheckDomains[ iIndex ][ 0 ] ) != -1 )
        {
            var strCapsFormalName = aCheckDomains[ iIndex ][ 1 ].toUpperCase();

            alert( 'IMPORTANT NOTICE TO ' + strCapsFormalName + ' E-MAIL USERS:\n\n' + aCheckDomains[ iIndex ][ 1 ] + ' will mark messages from our support system as SPAM/BULK e-mail and may delete them automatically.\n\nWe highly recommend that you use another e-mail address so that you can receive responses from our support staff.\n\nIf you do not have another e-mail address, please check your spam/bulk folder for notification e-mails from this support system.\n\n\Please trust \'no-reply@superadblocker.com\' in your address book to make sure that you can receive our responses.' );
        }
    }
}


// perform simple form validation for the create new CSR script
function JSWEBCSRValidateCreateTicket( objFormData )
{
    // make sure the first email address is valid
    // next we'll check if the two match
    if( JSWEBCSRValidateEmail( objFormData.femail.value ) == false )
    {
        return ( JSWEBCSRFormError( EMAILFORMATERROR, objFormData.femail ) );
    }

    // make sure email addresses match
    if( objFormData.femail.value.toLowerCase() != objFormData.femailconf.value.toLowerCase() )
    {
        return ( JSWEBCSRFormError( EMAILMATCHERROR, objFormData.femail ) );
    }

    // validate product
    if( objFormData.fproduct.value == "DEFAULT" )
    {
        return ( JSWEBCSRFormError( PRODUCTERROR, objFormData.fproduct ) );
    }

    // validate category (i.e. type)
    if( objFormData.fcategory.value == "DEFAULT" )
    {
        return ( JSWEBCSRFormError( CATEGORYERROR, objFormData.fcategory ) );
    }

    // validate purchase location
    if( objFormData.fpurchase.value == "DEFAULT" )
    {
        return ( JSWEBCSRFormError( LOCATIONERROR, objFormData.fpurchase ) );
    }

    // validate OS
    if( objFormData.fos.value == "DEFAULT" )
    {
        return ( JSWEBCSRFormError( OSERROR, objFormData.fos ) );
    }

    // validate browser
    if( objFormData.fbrowser.value == "DEFAULT" )
    {
        return ( JSWEBCSRFormError( BROWSERERROR, objFormData.fbrowser ) );
    }

    // validate mail client
    if( objFormData.fmailclient.value == "DEFAULT" )
    {
        return ( JSWEBCSRFormError( MAILCLIENTERROR, objFormData.fmailclient ) );
    }

    // validate problem description
    if( objFormData.fproblem.value.length == 0 )
    {
        return ( JSWEBCSRFormError( PROBLEMDESCERROR, objFormData.fproblem ) );
    }

    // looks good, allow submit to continue
    return true;
}