var debug = false;

var trReq = false;

s_debug('dev version');

if (typeof(s.pageName)=="undefined"){
    s.pageName = "";
}
s.eVar3 = s.pageName;
var pageName = s.pageName;

/* determine channel from page name */
if (s.pageName != "" && (typeof(s.channel)=='undefined' || s.channel == '')) {
    var aPageName = s.pageName.split("/");
    s.channel = aPageName[0];
    if (aPageName.length > 1) {
        s.prop1 = aPageName[0]+":"+aPageName[1];
    }
}

var s_code;
var s_string;
var sPath = window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1).toUpperCase();


// handle traffic based on whats currently loaded
if ( needsDOM()==true ){
    s_debug('needs DOM');
    addOnloadEvent(function(){
        if ( typeof(jQuery) == 'function' ) {
            jQtraffic();
            addGlobalClickHandlers();
        }
        reqTrackingImage();
    });
} else {
    s_debug('does not need DOM');
    simple();
    reqTrackingImage();
    addOnloadEvent(function(){
        if ( typeof(jQuery) == 'function' ) {
            addGlobalClickHandlers();
        }
    });
}


function jQtraffic(){
    
    listingPages();
    eventsCalendar();
    notebook();    
    
}



function needsDOM(){
    try {
        if (s.pageName == "Visitors / Travel Resources / My Notebook" ||
            s.pageName == "Visitors / Calendar of Events" ||
            sPage == "MEMBERPROFILE_1.ASPX" ||
            sPage == "MEMBERDETAIL.ASPX" ||
            sPage == "RESULTS_PAGES.ASPX"
            ) {
            return true;
        } else {
            return false;
        }
    } catch(e) {}
}

function simple(){
    try {
        if (s.pageName == "Meeting Planners / Meet in Chicago / Were Here to Help / Meeting Planner Contacts" ||
            s.pageName == "Meeting Planners / Meet in Chicago / Were Here to Help / Client Services Contacts") {
            s_debug('event8');
            s.linkTrackEvents="event8";
            s.events = "event8";
            reqTrackingImage();
        } else if (s.pageName == "Travel Professionals / Travel Trade Contacts") {
            s.linkTrackEvents="event9";
            s.events = "event9";
            reqTrackingImage();
        } else if ( s.pageName == "Visitors / Freestyle Chicago / Article") {
            var oGet = getUrlVars();
            if (typeof(oGet['articleId']!='undefined')) {
                s.linkTrackVars="events,pageName,channel,prop1,products";
                s.linkTrackEvents="prodView,event10,event11";
                s.events="prodView,event10,event11";
                s.products=";Freestyle:"+oGet['articleId'];
                reqTrackingImage();
            }
        }
    } catch(e) {}
}
       
function notebook() {
    try {
        if ( s.pageName == "Visitors / Travel Resources / My Notebook" ) {
            var aProducts = new Array();
            jQuery('.item').each(function(i){
                aProducts.push(";"+str_replace(",","_",jQuery(this).find('h4 span').html()));
            })
            s.linkTrackVars="events,pageName,channel,prop1,products";
            s.linkTrackEvents="scView";
            s.events="scView";
            s.products=aProducts.join(',');

        }
    } catch (e) {}
}
        
function eventsCalendar() {
    try {
        if ( s.pageName == "Visitors / Calendar of Events") {

            // view propery links
            jQuery('#content-wrapper').bind('click',function(e){
                if ( jQuery(e.target).hasClass('utility-link')){
                    var s = s_gi('mmediachicago-dev');
                    s.dc="122";
                    s.linkTrackVars="events,pageName,channel,prop1,products";
                    s.linkTrackEvents="prodView,event10,event11";
                    s.events="prodView,event10,event11";
                    s.products=";E:"+jQuery(e.target).attr('href')+";;;event10=1";
                    s.tl(this,'o',s.pageName);
                }
            });
        

            s.events="event11";
        }
    } catch(e){}
}

function listingPages() {
    try {
        if ( sPage == "MEMBERPROFILE_1.ASPX") {

            if (jQuery('h1').length > 0) {
                if ( jQuery('h1').html().indexOf('MemberName') > -1 ) {
                    s_string = jQuery('h1 span').html();
                    s.pageName += str_replace("'",""," / " + s_string);
                    s.eVar3 = s.pageName;
                    s.prop10 = str_replace("'","",s_string);
                    s.events="prodView,event10";
                    s.products=";M:"+s.prop10;
                }
            }


        } else if ( sPage == "MEMBERDETAIL.ASPX") {

            if (jQuery('h1').length > 0) {
                if ( jQuery('h1').html().indexOf('MemberTitle') > -1 ) {
                    s_string = jQuery('h1 a').html();
                    s.pageName += str_replace("'",""," / " + s_string);
                    s.eVar3 = s.pageName;
                    s.prop10 = str_replace("'","", s_string);
                    s.events="prodView,event10";
                    s.products=";M:"+s.prop10;
                }
            }



        } else if ( sPage == "RESULTS_PAGES.ASPX") {
            s.prop2 = s.eVar1 = '';
            s.prop3 = s.eVar2 = '0';

            //Find the  'td input' that contains "txtSearch" and use the value for sprop2
            if ( jQuery('div#content-site td.searchresearch').html().indexOf('txtSearch') > -1 ) {
                s_string = jQuery('div#content-site td.searchresearch input').val();
                s.prop2 = s.eVar1 = s_string; //Search Term
            }

            //find 'span' that contains "lblResultCounts" and grab the html after "of " as s.prop3
            if (jQuery('div#content-site tr.searchcontrol').html().indexOf('lblResultCounts') > -1 ) {
                s_string = jQuery('div#content-site tr.searchcontrol span').html();
                if (s_string.lastIndexOf('of') > 1) {
                    s.prop3 = s.eVar2 = s_string.substring(s_string.lastIndexOf('of')+3); //Result Count
                }
            }



        }
    } catch(e){}
}

function addGlobalClickHandlers(){
    s_debug('adding click handlers 4');
    s_debug("jQuery="+typeof(jQuery));
    jQuery('body').click(function(a){

        try {
    
            var mainMenuClick = false;
            var targetHref = (jQuery(a.target).attr('href') || jQuery(a.target).parent().attr('href'));
            if ( jQuery(a.target).parent().parent().attr('id') == 'mpnav' || jQuery(a.target).parent().parent().parent().parent().parent().attr('id') == 'mpnav') {
                mainMenuClick = true;
            }
               
        
            if (typeof(targetHref) == "string") {

                if ( targetHref.indexOf('enjoyillinois.com')>=0 ) {
                    s_debug('enjoyillinois.com');
                    var s = s_gi('mmediachicago-dev');
                    s.pageName = pageName;
                    s.dc="122";
                    s.linkTrackVars="events,pageName";
                    s.linkTrackEvents="event17";
                    s.events="event17";
                    s.tl(this,'o','enjoyillinois.com click');
                    s.events="";
                } else if (targetHref.indexOf('.jpg') >= 0) {
                    var s = s_gi('mmediachicago-dev');
                    s.dc="122";
                    s.linkTrackVars="events,pageName,prop21,prop20";
                    s.linkTrackEvents="event14,event19";

                    s.eVar17=s.prop20=targetHref.substring(targetHref.lastIndexOf("/")+1,targetHref.length);
                    if ( pageName ) {
                        s.prop21 = pageName;
                        s.pageName = pageName;
                    }
                    s.events="event14";

                    if ( targetHref.indexOf("DMKHiRESImages") >= 0 || targetHref.indexOf("DMKLowRESImages") >=0 ){
                        s.events+=",event19"
                    }
                    //Track eVar & Event
                    s.tl(this,'o',"jpg Download / "+s.prop20);


                } else if ( targetHref.indexOf('/travelresources/international/Pages/us_customs.aspx')>=0 ) {
                    var s = s_gi('mmediachicago-dev');
                    s.pageName = pageName;
                    s.dc="122";
                    s.linkTrackVars="events,pageName,channel,prop1";
                    s.linkTrackEvents="event15";
                    s.events="event15";
                    s.tl(this,'o',s.pageName);
                    s.events="";

                } else if ( targetHref.indexOf('/travelprofessionals/itineraries/')>=0 ) {
                    var s = s_gi('mmediachicago-dev');
                    s.pageName = pageName;
                    s.dc="122";
                    s.linkTrackVars="events,pageName,channel,prop1";
                    s.linkTrackEvents="event16";
                    s.events="event16";
                    s.tl(this,'o',s.pageName);
                    s.events="";

                } else if ( targetHref.indexOf('nxtbook.com')>=0 && pageName.indexOf("Meeting Planners") >=0 ) {
                    var s = s_gi('mmediachicago-dev');
                    s.pageName = pageName;
                    s.dc="122";
                    s.linkTrackVars="events,pageName,channel,prop1";
                    s.linkTrackEvents="event14";
                    s.events="event14";
                    s.tl(this,'o',s.pageName);
                    s.events="";

                } else if ( targetHref.indexOf('nxtbook.com')>=0 && pageName.indexOf("Travel Professionals") >=0 ) {
                    var s = s_gi('mmediachicago-dev');
                    s.pageName = pageName;
                    s.dc="122";
                    s.linkTrackVars="events,pageName,channel,prop1";
                    s.linkTrackEvents="event18";
                    s.events="event18";
                    s.tl(this,'o',s.pageName);
                    s.events="";



                }
            }

        
            if ( pageName=="DMK / User Login" && jQuery(a.target).attr('id').indexOf('btnLogin') >= 0 ) {
                s_debug('submit');
                var s = s_gi('mmediachicago-dev');
                s.pageName = pageName;
                s.dc="122";
                s.linkTrackVars="events,pageName,channel,prop1";
                s.linkTrackEvents="event21";
                s.events="event21";
                s.tl(this,'o',s.pageName);
                s.events="";
            } else if ( pageName=="DMK / Registration" && jQuery(a.target).attr('id').indexOf('SubmitButton') >= 0 ) {
                s_debug('submit');
                var s = s_gi('mmediachicago-dev');
                s.pageName = pageName;
                s.dc="122";
                s.linkTrackVars="events,pageName,channel,prop1";
                s.linkTrackEvents="event20";
                s.events="event20";
                s.tl(this,'o',s.pageName);
                s.events="";
            } else if (jQuery(a.target).parent().parent().parent().parent().attr('id')=="calendar-data"){
                //s_debug('calendar');
                var s = s_gi('mmediachicago-dev');
                s.pageName = pageName;
                s.dc="122";
                s.linkTrackVars="events,pageName,channel,prop1,products";
                s.linkTrackEvents="prodView,event10,event11";
                s.events="prodView,event10,event11";
                s.products=";EW:"+jQuery(a.target).attr('href')+";;;event10=1";
                s.tl(this,'o',s.pageName);
                s.events="";
                s.products="";

            } else if ( jQuery(a.target).attr('id').indexOf('AddToNotebookNoURLButton') >= 0 ){
                var s = s_gi('mmediachicago-dev');
                s.pageName = pageName;
                s_debug('suitcase add NoUrl '+jQuery(a.target).parent().parent().find('h3 span').html());
                s.dc="122";
                s.linkTrackVars="events,pageName,channel,prop1,products";
                s.linkTrackEvents="scAdd,prodView,event10,event11";
                s.events="scAdd";
                if (s.pageName == "Visitors / Calendar of Events") {
                    s.products=";E:"+jQuery(a.target).parent().parent().find('h3 span').html()+";;;event10=1";
                }
                s.tl(this,'o',s.pageName);
                s.events="";
                s.products="";
            } else if ( jQuery(a.target).attr('id').indexOf('AddToNotebookButton') >= 0 ){
                var s = s_gi('mmediachicago-dev');
                s.pageName = pageName;
                s_debug('suitcase add '+jQuery(a.target).parent().find('a:first').html());
                s.dc="122";
                s.linkTrackVars="events,pageName,channel,prop1,products";
                s.linkTrackEvents="scAdd,prodView,event10,event11";
                s.events="scAdd";
                if (s.pageName == "Meeting Planners / Meeting Venue Member Detail" ||
                    s.pageName=="Meeting Planners / Venue Search Landing Page" ||
                    s.pageName=="Meeting Planners / Services and Suppliers / Meeting and Event Suppliers Member List"
                    ){
                    s.products=";V:"+jQuery(a.target).parent().find('a:first').html()
                }
                s.tl(this,'o',s.pageName);
                s.events="";
                s.products="";
            } else if ( mainMenuClick && jQuery(a.target).html().indexOf('promote a meeting') >= 0 ){
                var s = s_gi('mmediachicago-dev');
                s.pageName = pageName;
                s.dc="122";
                s.linkTrackVars="events,pageName,channel,prop1";
                s.linkTrackEvents="event5";
                s.events="event5";
                s.tl(this,'o',s.pageName);
                s.events="";
            } else if ( mainMenuClick && jQuery(a.target).html().indexOf('plan a meeting') >= 0 ){
                var s = s_gi('mmediachicago-dev');
                s.pageName = pageName;
                s.dc="122";
                s.linkTrackVars="events,pageName,channel,prop1";
                s.linkTrackEvents="event12";
                s.events="event12";
                s.tl(this,'o',s.pageName);
                s.events="";
            } else if (mainMenuClick &&  jQuery(a.target).html().indexOf('send RFP') >= 0 ){
                var s = s_gi('mmediachicago-dev');
                s.pageName = pageName;
                s.dc="122";
                s.linkTrackVars="events,pageName,channel,prop1";
                s.linkTrackEvents="event13";
                s.events="event13";
                s.tl(this,'o',s.pageName);
                s.events="";
            } else if ( mainMenuClick && jQuery(a.target).html().indexOf('services & suppliers') >= 0 ){
                var s = s_gi('mmediachicago-dev');
                s.pageName = pageName;
                s.dc="122";
                s.linkTrackVars="events,pageName,channel,prop1";
                s.linkTrackEvents="event7";
                s.events="event7";
                s.tl(this,'o',s.pageName);
                s.events="";
            }
        } catch(e){}
        
    });

}

function reqTrackingImage() {
    try {

        if (trReq == false){
            if (typeof(s.events)=="string"){
                if (s.events.length>0 && s.events.indexOf('event2') == -1){
                    s.linkTrackEvents += ",event2";
                    s.events += ",event2";
                } else {
                    s.linkTrackEvents = "event2";
                    s.events = "event2";
                }
            } else {
                s.linkTrackEvents = "event2";
                s.events = "event2";
            }
            s.eVar3 = s.pageName;
            s_code=s.t();
            if(s_code)document.write(s_code);
            s.prop1 = s.prop2 = s.prop3 = s.prop10 = "";
            trReq = true;
            s_debug('requested tracking image');
        }
    } catch (e) {}
}

function str_replace (search, replace, subject, count) {
    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
    f = [].concat(search),
    r = [].concat(replace),
    s = subject,
    ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }

    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;
            }
        }
    }
    return sa ? s : s[0];
}

function getUrlVars(url)
{
    var vars = [], hash;
    if (url) {
        var hashes = url.slice(url.indexOf('?') + 1).split('&');
    	
    } else {
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    	
    }
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }

    return vars;
}

function s_debug(message){
    if (typeof(console)=="object" && debug==true){
        console.log(message);
    }

}

function addOnloadEvent(fnc){
    if ( typeof window.addEventListener != "undefined" )
        window.addEventListener( "load", fnc, false );
    else if ( typeof window.attachEvent != "undefined" ) {
        window.attachEvent( "onload", fnc );
    }
    else {
        if ( window.onload != null ) {
            var oldOnload = window.onload;
            window.onload = function ( e ) {
                oldOnload( e );
                window[fnc]();
            };
        }
        else
            window.onload = fnc;
    }
}