﻿
var trackEvtProviders = {
  knowBeforeYouGoGuides: 1000,
  Newsletter: 1001,
  CreateEBrochure: 1002   
};

var trackCatLabels = {
    KBYGGuide: ['KBYG Guide', 'KBYG Guide Download'],
    NewsletterHome: ['Newsletter', 'Homepage Link'],
    NewsletterOffer: ['Newsletter', 'Offer page Link'],
    NewsletterSignUp: ['Newsletter', 'Sign up Completed'],
    BrochuresViewOnline: ['Brochures', 'View Online'],
    BrochuresDownload: ['Brochures', 'Download'],
    EBrochuresCreate: ['E-Brochures', 'Create'],
    EBrochuresSend: ['E-Brochures', 'Send'],
    EBrochuresView: ['E-Brochures', 'View'],
    SearchMain: ['Search', 'Search Main Click'],
    SearchResults: ['Search', 'Search Results Click'],
    SearchSiteHomePage: ['Search', 'Search Site Homepage Click'],
    SearchBookNow: ['Booking', 'Search Book Now Click'],
    ExpressCheckIn: ['Express-Check-In', 'Start Express Check In'],
    ExpressCheckInTransfer: ['Express-Check-In', 'Transfer Express Check In'],
    GetAQuoteRequest: ['Quote', 'Phone'],
    GetAQuoteBookingDeparture: ['Quote', 'Online No Departure'],
    GetAQuoteBookingEngine: ['Quote', 'Online Departure']
};

function trackUserEvt(evtArgs, afterEvtArgs, provider){
    //Parameter: evtArgs
    //Expects: category as str, action as str, label as str, value as int, 
    //_gaq is a global variable from GA that will become part of the window obj
    //value does not have to be specified, hence check belows
    if(window._gaq !== null && window._gaq !== undefined){
         _gaq.push(
        (evtArgs[3] === null || evtArgs[3] === undefined) ? 
            ['_trackEvent', evtArgs[0], evtArgs[1], unescape(evtArgs[2])] 
            :
            ['_trackEvent', evtArgs[0], evtArgs[1], unescape(evtArgs[2]), evtArgs[3]]
        );
        //alert("puhed");
    }
  
    //Once tracked, perform operation on item
    if(afterEvtArgs === null || afterEvtArgs === undefined) return;
    
    switch(provider){
        case trackEvtProviders.knowBeforeYouGoGuides:
            //Expects: the window obj, url 
            //Behaviour: will redirect to url
            window.location.href = afterEvtArgs[0];
            break;
        case trackEvtProviders.Newsletter:
            window.open("" + afterEvtArgs[0] + "");
            break;
        case trackEvtProviders.CreateEBrochure:
            window.location.href = afterEvtArgs[0];
            break;
    }
}

function log(msg){
    if(window.console){
        console.log(msg);
    }
}

function getDDlItem(ddl, type){
    if(ddl !== null && ddl !== undefined){
        return 
            type === undefined ? ddl.options[ddl.selectedIndex].text : ddl.options[ddl.selectedIndex].value;
    }
    return "";
}
