// JavaScript Document

// google Analytics
var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-5717895-2']);
    _gaq.push(['_trackPageview']);

(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

var setDebug = 1;

var onPageLoad = function() {
    $(document).ready(function(){
        purlService.render();
        purlService.bindToDom(); // because the DOM has changed, tracking and data capture hooks need to be re-initiated.
        $('body').fadeIn('fast');
        $("ul.tabs").tabs("div.panes > div", { history: true, event: 'click'});

        $('form#phRecordForm-contactMe input#submit').bind("click", function(e) {
            if(!testForm()) {
                e.preventDefault();
                return false;
            }
        });

        $('form#phRecordForm-contactMe :input[name!=submit]').filter(':visible').bind('blur', function() {
            testForm();
        });
    });
};

var loadView = function(data) {
    purlService.response.purlProfile['pht_medium'] = purlService.response.purlProfile['LEAD_TYPE'];
    purlService.response.purlProfile['pht_source'] = purlService.response.purlProfile['CAMPAIGN_CODE'];
    var css = null;
    switch(data.SEGMENT.toUpperCase()) {
        case 'ENTERPRISE':
            css = '<link rel="stylesheet" type="text/css" href="_css/enterpriseMS.css" />';
            $('head').append(css);
            $('body').load("/EnterpriseMS.html #content", onPageLoad);
            break;
        case 'HOSTED':
            css = '<link rel="stylesheet" type="text/css" href="_css/HVMS.css" />';
            $('head').append(css);
            $('body').load("/HostedVoiceMS.html #content", onPageLoad);
            break;
        case 'COLLABORATION':
            $('body').load("/CollaborationMS.html #content", onPageLoad);
            break;
        default:
            onPageLoad();
    }
};

var submitForm = function() {
    var descStr = '';
    var achieve = $.trim($('form#phRecordForm-contactMe :input#achieve').val());
    if(achieve.length > 0) {
        descStr += "Tell us what you want to achieve in 2012?\n" + achieve;
    }
    var phones = $.trim($('form#phRecordForm-contactMe :input#phones').val());
    if(phones.length > 0) {
        descStr += "Number of Phones? " + phones;
    }

    $('form#phRecordForm-contactMe :input#description').val(descStr);

    $('form#phRecordForm-contactMe').ajaxSubmit({
        url: "/_sfdc/servlet/servlet.WebToLead?encoding=UTF-8",
        type: "post",
        beforeSerialize: function(f) {
            $('input[name="debug"]',f).val(setDebug);
        },
        success: function() {
            $('form#phRecordForm-contactMe').fadeOut('fast', function(){
                $('#thankYou').fadeIn('fast');
            });
        },
        complete: function() {
            $('form#phRecordForm-contactMe .loadmask').removeClass("masked");
        }
    });
};

var validEmailRx = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i;

var testForm = function() {
    var retVal = true;
    $('form#phRecordForm-contactMe input.isRequired').each(function(){
        var v = $.trim($(this).val());
        var t = $(this).attr('title');
        if(v.length < 1 || v === t) {
            $(this).addClass('error');
            retVal = false;
        } else {
            $(this).removeClass('error');
        }
    });

    $('form#phRecordForm-contactMe input.isEmail').each(function(){
        var v = $.trim($(this).val());
        var t = $(this).attr('title');
        if(!validEmailRx.test(v) || v === t) {
            $(this).addClass('error');
            retVal = false;
        } else {
            $(this).removeClass('error');
        }
    });

    return retVal
};

var defaultAction = function() {
    $(document).ready(function(){
        $('body').fadeIn('fast');
        $("ul.tabs").tabs("div.panes > div", { history: true });

        $('form#phRecordForm-contactMe :input[name="lead_type"]').val('Collaboration');
        $('form#phRecordForm-contactMe :input[name="00N30000004Yr5F"]').val('Collaboration');
        $('form#phRecordForm-contactMe :input[name="lead_source"]').val('Email');

        $('form#phRecordForm-contactMe :input[name!=submit]').filter(':visible').bind('blur', function() {
            testForm();
        });

        $('form#phRecordForm-contactMe input#submit').bind("click", function(e) {
            e.preventDefault();
            if(!testForm()) {
                return false;
            }

            $('form#phRecordForm-contactMe .loadmask').addClass("masked");

            // populate profile form w/ record form data.
            $('form#phProfileForm input.phProfileData-FIRSTNAME').val($('form#phRecordForm-contactMe input.phProfileData-FIRSTNAME').val());
            $('form#phProfileForm input.phProfileData-LASTNAME').val($('form#phRecordForm-contactMe input.phProfileData-LASTNAME').val());
            $('form#phProfileForm input.phProfileData-EMAIL').val($('form#phRecordForm-contactMe input.phProfileData-EMAIL').val());
            $('form#phProfileForm input.phProfileData-COMPANY1').val($('form#phRecordForm-contactMe input.phProfileData-COMPANY1').val());
            $('form#phProfileForm input.phProfileData-PHONE').val($('form#phRecordForm-contactMe input.phProfileData-PHONE').val());
            purlService.savePurlProfile(function(){
                purlService.savePurlRecord('contactMe');
                // triggers onRecordSave event which fires SFDC post.
            });
            return false;
        });
    });
};

var options = {
    suppressPurlRedirect: true,
    autoRender: false,
    resetTracker: true,  // staging
    purlCodeStickyDays: 90,
    pageName: 'lightpathnow.com',
    serviceToken: 'e9aa63092966a0f4aca74668aabf8277',
    onPurlLoad: loadView,
    onRecordSave: submitForm,
    onPurlLoadError: defaultAction,
    onAnonymous: defaultAction,
    trackingTags: {
        pht_medium:     'URL',
        pht_source:     'DIRECT',
        pht_control:    'DEFAULT'
    }
};

var production = new RegExp('lightpathnow\.com$','i');
if(production.test(window.location.hostname)) {
    options.serviceToken = '5116809da1b1cb868244e0d25fee81bf';
    options.resetTracker = false;
    setDebug = 0;
}

purlService.init(options);

$('input#submit').live("click", function(){
    $('form#phRecordForm-contactMe .loadmask').addClass("masked");
});

