//Copyright (c) 2008 Anent Software, L.L.C.

//used for the contact us form -------------------------------------
//---------------------------------------------------------------------------------------------------
function contactUsSubmit() {
   if (contactUsAllRequiredFields()) {
       contactUsSendMessage();
    }
}

function contactUsAllRequiredFields() {
    var fn = getControl("registration_first_nm");
    if (!fn.value.trim().length > 0) {contactUsDisplayErrorMsg('First Name is a required field.'); return false;}
    var ln = getControl("registration_last_nm");
    if (!ln.value.trim().length > 0) { contactUsDisplayErrorMsg('Last Name is a required field.'); return false; }
    var em = getControl("registration_email");
    if (!em.value.trim().length > 0) { contactUsDisplayErrorMsg('Email is a required field.'); return false; }
    if (!contactUsValidEmail(em)) { contactUsDisplayErrorMsg('Invalid Email address!'); return false; }
    var rem = getControl("registration_email2");
    if (!rem.value.trim().length > 0) { contactUsDisplayErrorMsg('Re-type Email is a required field.'); return false; }
    if (!contactUsEqualEmail(em, rem)) { contactUsDisplayErrorMsg('Email values entered do not match!'); return false; }
    return true;
}

function contactUsValidEmail(em) {
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if(!filter.test(em.value.trim().toLowerCase())){return false;}
    return true;
}

function contactUsEqualEmail(em, rem) {
    if (em.value.trim().toLowerCase()!=rem.value.trim().toLowerCase()) { return false; }
    return true;
}

function contactUsDisplayErrorMsg(msg) {
    var el = getControl("ContactUsStatus");
    el.innerHTML = "<span class='contactusError'>" + msg + "</span>";
    eo_GetObject('Dialog1').show(false);
}

function contactUsDisplaySuccessMsg() {
    var btn = getControl("sendmsgbutton");
    btn.disabled = true;
    var el = getControl("ContactUsStatus");
    el.innerHTML = "<span class='contactusSuccess'>Your message has been sent.<br/>Thank You!</span>";
    eo_GetObject('Dialog1').show(false);
}

function contactUsSendStatus() {
    var el = getControl("ContactUsStatus");
    el.innerHTML = "<br/><img src='/Resources/Common/pleasewait.gif' alt='Progress' border='0' />";
    eo_GetObject('Dialog1').show(false);
}

function contactUsSendMessage(arg) {
    contactUsSendStatus();
    var msg = contactUsGenerateMsg();
    eo_Callback("Callback2", msg);

}

function contactUsSendAfterExcecute(callback, output, extraData) {
    if (extraData == "Success") {
        contactUsDisplaySuccessMsg();
    }
    else
    {
        contactUsDisplayErrorMsg('A problem occurred.<br/>Your message was not sent!');
    }
}
function contactUs_error(control, error, message) {
    contactUsDisplayErrorMsg('A problem occurred.<br/>Your message was not sent!');
}

function contactUsGenerateMsg() {
    var msg = getControl("registration_email").value.trim() + "~~|~~";
    msg += "Name: " + getControl("registration_first_nm").value.trim() + " ";
    msg +=  getControl("registration_last_nm").value.trim() + "\r\n\r\n";
    msg += "Company: " + getControl("registration_company").value.trim() + "\r\n\r\n";
    msg += "Address: " + getControl("registration_address").value.trim() + "\r\n\r\n";
    msg += "Address2: " + getControl("registration_address2").value.trim() + "\r\n\r\n";
    msg += "City: " + getControl("registration_city").value.trim() + "\r\n";
    msg += "State: " + getControl("registration_state").value.trim() + "\r\n";
    msg += "Zip: " + getControl("registration_zip").value.trim() + "\r\n\r\n";
    msg += "Phone: " + getControl("registration_business_phone").value.trim() + "\r\n\r\n";
    msg += "Email: " + getControl("registration_email").value.trim() + "\r\n\r\n";
    msg += returnSpace(getControl("registration_comments").value.trim()) + "\r\n\r\n\r\n";
    msg += "Sender's I.P. Address: " + getControl("IPAddress").innerHTML + "\r\n\r\n";
    return msg;
}

function returnSpace(dataStr) {
    return dataStr.replace(/(\r\n|\r|\n)/g, " ");
}
