/* 
 * this js resource is temporary and only used for development
 * a version of this file should be stored in the Content Explorer and that
 * version should be used on live and test servers
 */

// EVENTS WE NEED TO TRACK

// tracker event for buttons on top of the page (print etc)
$(document).ready(function() {
    $("div.functions a").click(function(a) {
        
        // place site catalyst code here
        var s=s_gi(s_account);
        s.prop4=$(this).attr("title").toLowerCase();
        s.events="event1"
        s.t();

        // debugging
        //alert("Action: " + $(this).attr("title").toLowerCase());
        //return false;
    });
});
      
// tracker event for downloads (bottom)
$(document).ready(function() {
    $("div.related-content div.left-column ul li a").click(function(a) {
        
        //place site catalyst code here
        var s=s_gi(s_account);
        s.linkTrackVars='prop5,eVar5,events';
        s.linkTrackEvents='event2';
        s.prop5=$(this).html().toLowerCase();
        s.eVar5=s.prop5;
        s.events='event2';
        s.tl(this,'d','download');

        // debugging
        //alert("Download: " + $(this).attr("href").toLowerCase());
        //return false;
    });
});

// tracker event for all banners on a page
$(document).ready(function() {
    //$("div.related-content a:has(img)").click(function(a) {
    $("a.inlinebanner:has(img)").click(function(a) {
        
        //place site catalyst code here
        var bannertitle = $(this).attr("title").toLowerCase();
        
        var s=s_gi(s_account);
        s.linkTrackVars='prop7,eVar7';
        s.prop7=bannertitle;
        s.eVar7=s.prop7;
        s.tl(this,'o','interne banner');
        
        // debugging
        //alert("Banner! " + bannertitle);
        //return false;
    });
});

// tracker event for directnaar links
$(document).ready(function() {
    var tmp = getPageName(location.pathname);
    $("div.directnaar-links a").click(function(a) {

        //place site catalyst code here
        var s=s_gi(s_account);
        s.linkTrackVars='prop6';
        s.prop6= tmp + " - " + $(this).html().toLowerCase();
        s.eVar6=s.prop6
        s.tl(this,'o','direct naar');

        // debugging
        //alert( "Directnaar: " + tmp + " - " + $(this).html().toLowerCase());
        //return false;
    });
});

// tracker event for pagenumber in searchresults
$(document).ready(function() {
    $("div.paging-center a").click(function(a) {
        
        //place site catalyst code here
        var s=s_gi(s_account); 
        s.linkTrackVars='prop13';
        s.prop13=$(this).html().toLowerCase();
        s.tl(this,'o','resultatenpagina ' + $(this).html().toLowerCase());
        
        // debugging
        //alert("Pagenumber: " + $(this).html().toLowerCase());
        //return false;
    });
});

// tracker event for login links in servicemenu
$(document).ready(function() {
    $("div.login-bottom div.bottom-line a").click(function(a) {
        
        // place site catalyst code here
        var s=s_gi(s_account);
        s.linkTrackVars='eVar20,events';
        s.linkTrackEvents='event7';
        s.eVar20='Inloggen - ' + $(this).attr("title");
        s.events='event7';
        s.trackExternalLinks=false;
        s.tl(this,'e','Inloggen - ' + $(this).attr("title"));
        
        // debugging
        //alert("Mijn AEGON Bank: " + $(this).html().toLowerCase());
        //return false;
    });
});


// tracker event for button download in downloaden en bestellen
$(document).ready(function() {
    $("div.download-bestel-result a.popup-download").click(function(a) {
        
        //place site catalyst code here
        var s=s_gi(s_account);
        s.linkTrackVars='products,events';
        s.linkTrackEvents='event13';
        s.products=';' + $(this).attr("title").toLowerCase();
        s.events='event13';
        s.tl(this,'d','download');
        
        // debugging
        // alert("Download: " + $(this).attr("title").toLowerCase());
        // return false;
    });
});

// tracker event for add to cart action
$(document).ready(function() {
    $("td.last a").click(function(a) {
        
        // get data
        var addedProd = $(this).parents("table").find("tr th.first h3").html().toLowerCase();
        var addedAmmount = $(this).parents("form").find("input").attr("value").toLowerCase();
        var addedPrice = $(this).parents("table").find("tr th.last").html().toLowerCase();
        if (addedPrice.length > 2) {
            addedPrice = addedPrice.substr(2, addedPrice.length);
        }
        
        // analytics code
        var s=s_gi(s_account);
        s.linkTrackVars='products,events';
        s.linkTrackEvents='scAdd';
        s.products=';'+ addedProd + ';' + addedAmmount + ';' + addedPrice;
        s.events='scAdd';
        s.tl(this,'o','scAdd');

        // debug
        // alert("s.products: " + s.products);
        // return false;
    });
});

// tracker event for button bestellen in shoppingcart
$(document).ready(function() {
    $("div.form-bottom input").click(function(a) {
        
        // analytics code
        var s=s_gi(s_account);
        s.linkTrackVars='products,events';
        s.linkTrackEvents='scCheckout';
        s.products=getProductString();
        s.events='scCheckout';
        s.tl(this,'o','scCheckout');

        // debug
        // alert("Bestellen: " + s.products);
        // return false;
    });
});

// tracker for toevoegen button in snelmenu popover
$(document).ready(function() {
  $("#addsnelmenuform div.buttons input:eq(0)").click(function(a) {
        
        //place site catalyst code here
        var s=s_gi(s_account);
        s.linkTrackVars='eVar28,events';
        s.linkTrackEvents='event6';
        var smTitle = $(this).parents("form").find("input:eq(0)").attr("value").toLowerCase();
        s.eVar28=smTitle;
        s.events='event6';
        s.tl(this,'o','snelmenu toevoegen');
        
        // debugging
        //alert("Snelmenu: " + smTitle + " s.eVar28: " + s.eVar28);
        //return false;

    });
});

// EXIT LINKS
// tracker event for waardevolle exit links (using param 'wel')
$(document).ready(function() {
    $("a[href*=wel\=]").click(function(a) {

        //place site catalyst code here
        var myLinkName = gup($(this).attr("href"), 'wel');
        if (myLinkName == '') {
            myLinkName = 'undefined';
        }
        myLinkName = myLinkName.toLowerCase();
        var s=s_gi(s_account);
        s.linkTrackVars='eVar20,events';
        s.linkTrackEvents='event7';
        s.eVar20=myLinkName;
        s.events='event7';
        s.trackExternalLinks=false;
        s.tl(this,'e',myLinkName);

//        alert("Exit link met param: " + myLinkName);
//        return false;
    });
});

// tracker event for waardevolle exit links (simplename contains 'wel_')
$(document).ready(function() {
    $("a[href*=wel_]").click(function(a) {

        //place site catalyst code here
        var tmp = $(this).attr("href");
        var myLinkName = tmp.substr(tmp.indexOf('wel_')+4,tmp.length);
        if (myLinkName == '') {
             myLinkName = 'undefined';
        }
        myLinkName = myLinkName.toLowerCase();
        var s=s_gi(s_account);
        s.linkTrackVars='eVar20,events';
        s.linkTrackEvents='event7';
        s.eVar20=myLinkName;
        s.events='event7';
        s.trackExternalLinks=false;
        s.tl(this,'e',myLinkName);

//        alert("Exit link met simplename: " + myLinkName);
//        return false;
    });
});

// tracker event for clicks on form tabs
$(document).ready(function() {
    $("div#tabs li a.isformtab").click(function(a) {

        // place site catalyst code here
        s.linkTrackVars="products,prop2,prop3,events";   //track de variabelen
        s.linkTrackEvents="event11";  //track event11 (start formulier)

        s.prop2=s.pageName; //s.prop2 krijgt de waarde van s.pageName van de hoofdpagina
        s.prop3=jQuery.trim($(this).html().toLowerCase()); //naam tabblad
        s.events="event11";  //trigger event11  (start formulier)
        s.tl(this,"o", s.prop3 + " tabblad click");

        // debugging
        //alert("Action isformtab: " + s.prop3);
        //return false;
    });
});

// tracker event for clicks on other tabs
$(document).ready(function() {
    $("div#tabs li a.isothertab").click(function(a) {

        // place site catalyst code here
        s.linkTrackVars="prop2,prop3";  //track de variabelen
        s.prop2=s.pageName;  //s.prop2 krijgt de waarde van s.pageName van de hoofdpagina
        s.prop3=jQuery.trim($(this).html().toLowerCase());  //naam tabblad
        s.tl(this,"o", s.prop3 + " tabblad click");

        // debugging
        //alert("Action isothertab. s.prop2: " + s.prop2 + "; s.prop3: " + s.prop3);
        //return false;
    });
});

// EXAMPLES
// tracker event for links in servicemenu that end with 'gegevens-wijzigingen/'
//$(document).ready(function() {
//    $("div.right-box a[href$=gegevens-wijzigingen/]").click(function(a) {
//        
//        //place site catalyst code here
//        alert("Servicemenu! " + $(this).html().toLowerCase() + " URL: " + getPageName(location.pathname));
//        return false;
//    });
//});

// tracker event for all call to action buttons
//$(document).ready(function() {
//    $("div.blue-btn-link-wb a, div.blue-btn-link a, div.right-column h4 a").click(function(a) {
//        
//        //place site catalyst code here
//        alert("Call to action! " + $(this).attr("href").toLowerCase());
//        return false;
//    });
//});
//


// !!!!HELPER METHODS DO NOTE REMOVE OR CHANGE!!!!
// convert path to pageName
function getPageName(url) {
    var pageName = "";
    url_elems = url.split("/");
    for (var i=0;i<url_elems.length;i++) {
        var cur_elem = url_elems[i];
        
        if (cur_elem != '') {
            pageName = pageName + cur_elem;
            if (i <= url_elems.length) {
                pageName = pageName + ":";
            }
        }
    }
    // remove last colon
    pageName = pageName.substring(0,pageName.length-1);
    
    // add homepage label for kanaalhomepages
    if (pageName == 'particulier' || pageName == 'zakelijk' || pageName == 'overaegon') {
        pageName = pageName + ":homepage";
    }
    
    if (pageName == 'intermediairs') {
        pageName = "intermediair:ingelogd";
    }
    
    if (pageName == 'intermediairspub') {
        pageName = "intermediair:homepage";
    }
    
    // replace all references to intermediairspub and intermediairs in full paths
    pageName = pageName.replace('intermediairspub','intermediair');
    pageName = pageName.replace('intermediairs','intermediair');
    
    // if we're on the homepage the pageName is empty
    if (pageName == '') {
        pageName = "homepage";
    }
    
    // replace view with colon
    var view = gup(window.location.href,'view');
    if (view != '') {
        pageName = pageName + ':' + view.replace('+',' ');
    }
    
    // convert to lowercase
    pageName = pageName.toLowerCase();

    // finally we can return the pageName
    return pageName;
}

// get proper name of the Channel
function getChannelName(rawName) {
    var channelName = "home";
    if (rawName != null && rawName != '') {
        if (rawName == 'intermediairs' || rawName == 'intermediairspub') {
            rawName = 'intermediair';
        }
        channelName = rawName;
    }

    // convert to lowercase
    channelName = channelName.toLowerCase();

    // finally we can return the channelName
    return channelName;
}

// get value op productgroep in bestellen en downloaden form
function getProductGroup () {
    var pg = $('option:selected', 'div.download-content div.search-box dl select#productgroep').text();
    if (pg != null && pg != undefined && pg != "") {
        return pg;
    } else {
        return "";
    }
}

function getProductType () {
    var pt = $('option:selected', 'div.download-content div.search-box dl select#producttype').text();
    if (pt != null && pt != undefined && pt != "") {
        return pt;
    } else {
        return "";
    }
}

// the ul element only exists if a user is logged in
function zakelijkLoggedIn() {
    var isLoggedIn = false;
    var hasReports = $('div.left-column ul').attr('class');
    if (hasReports != null) {
        isLoggedIn = true;
    }
    return isLoggedIn;
}

// get url parameter
function gup(theUrl, name ) {
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( theUrl );
    if( results == null )
        return "";
    else
        return results[1];
}

// get info on all products in a cart

function getProductString() {
  var allProducts = "";
  $("div.snelmenu-menu table tbody td").each( function () {
          // first get the title
          if ($(this).attr('class') == 'first-col'){
              var tmp = $(this).children("a");
              if (tmp.html() != null) {
                  allProducts += ';'+ tmp.html();
                  //alert(tmp.html() + " - " + allProducts);
              }
          }

          // then get the ammount
          if ($(this).attr('class') == 'input-col'){
              var tmp = $(this).children("input");
              if (tmp.attr('value') != null) {
                  allProducts += ';'+ tmp.attr('value');
                  //alert(tmp.attr('value'));
              }
          }

          // then get the subtotal
          if ($(this).attr('class') == 'subtot-col'){
              var tmp = $(this).html();
              if (tmp != null) {
                  if (tmp.length > 2) {
                      tmp = tmp.substr(2,tmp.length);
                      tmp = tmp.replace(',','.');
                  }
                  allProducts += ';'+ tmp + ",";
                  //alert(allProducts);
              }
          }

  });
  
  // debug
  //alert("allProducts: " + allProducts);
  
  // return result
  return allProducts;
}

// actionCodes can be used for sfeerbeeld flash
function getActionCode() {
  var actionCode = $('div #actionCode').attr('title');
  if (actionCode == undefined) {
      actionCode = "";
  }

  //alert(actionCode);
  return actionCode;
}

// function to get the tab name
function getTabName() {
    var tabName = "";
   if(null != $("div#tabs li.ui-tabs-selected a").html())
   {
       tabName = jQuery.trim($("div#tabs li.ui-tabs-selected a").html().toLowerCase()); ;
       if (tabName == undefined) {
       tabName = "";
      }
   }
//alert(tabName);
return tabName;
}

//function getTabName() {
 // var tabName = jQuery.trim($("div#tabs li.ui-tabs-selected a").html().toLowerCase());
//  if (tabName == undefined) {
 //     tabName = "";
 // }

  //alert(tabName);
 // return tabName;
//}