/* -------------------------------------------------------------------------

 iShares Web Metrics Plugin


 Author: tony.vieques@blackrock.com

 (c) Copyright 2010 BlackRock, Inc.

NTPAGETAG should be loaded before metrics

------------------------------------------------------------------------- */


/*
var NTPT_IMGSRC = 'http://pt000190.unica.com/ntpagetag.gif'; //enter the location of your local Unica gif file
var NTPT_HTTPSIMGSRC = 'https://pt000190.unica.com/ntpagetag.gif'; //enter the secure location of your local Unica gif file

var NTPT_FLDS = new Object();
NTPT_FLDS.lc = true; // Document location
NTPT_FLDS.rf = true; // Document referrer
NTPT_FLDS.rs = true; // User's screen resolution
NTPT_FLDS.cd = true; // User's color depth
NTPT_FLDS.ln = true; // Browser language
NTPT_FLDS.tz = true; // User's timezone
NTPT_FLDS.jv = true; // Browser's Java support
NTPT_FLDS.ck = true;
NTPT_SET_IDCOOKIE = true;
NTPT_IDCOOKIE_NAME = "UnicaNIODID";
NTPT_IDCOOKIE_DOMAIN = ".ishares.com";
*/






/* ------------------------------------------------- */
(function($){
 
   /******************************************************

   define iShares Metrics as a jQuery plugin and a utility alias

   ******************************************************/
   $.Metrics = function(options){
      //return $.iShares.Obj.ini(options);
   };
   $.fn.Metrics = $.Metrics;
   $m = $.Metrics; 
  
   $m.trackStatus = "new";
   $m.trackTarget = "";
   
   var Settings = {}; 
   var Trackers = {}; 
   var Cookies  = {};
   var MetricsController = {
    
    
    
   };
   
   $m.isTrackable= function(){};  
   $m.track = function(){};   
   $m.trackPage = function(){};
  /***************************************************

  ***************************************************/
  $m.trackLayer = function(element){
     var titleArray =$(element).attr('title').split('&');
     var dlinkid,dlinkpos,dlinkvalue;
     var dlinkwebseg = '';
     var dlinkweight;
     var link=[];
     var titleArrayLength=titleArray.length;
     if(titleArrayLength > 0){
       for(len=1;len<titleArrayLength;len++){
         var myVarArray=titleArray[len].split("=");
         var myVarArrayLength=myVarArray.length;
         for(varlen=0;varlen<myVarArrayLength;varlen++)
         {
           link[myVarArray[varlen]] = myVarArray[varlen+1];
           varlen++;
         }
       }
       if(link['lid']){
         if(link['lpos']){
           dlinkvalue=link['lpos']+":"+link['lid'];
         }else{
           dlinkvalue=link['lid'];
         }
       } else {
         // there is no 'title' attribute
         dlinkvalue = $(element).text();
       }
       if (link['sst']) {
         dlinkwebseg += "&sst_type=" + link['sst'];
       }
       if (link['ssn']) {
         dlinkwebseg += "&sst_name=" + link['ssn'];
       }
       dlinkvalue=dlinkvalue.replace(/\+/g,' ');
       if (dlinkvalue!='') {
         ntptEventTag('pv=0&ev=link&linkname='+$.trim(encodeURIComponent(dlinkvalue))+dlinkwebseg);
       }
     }
    };

  /***************************************************

  ***************************************************/
  $m.trackLink = function(element){
     if ($(element).attr('name')) {
       var myArray =$(element).attr('name').split('&');
       var linkid,linkpos,linkvalue;
       var linkwebseg = '';
       var link=[];
       var linkweight;
       var myArrayLength=myArray.length;
       // Typical anchor tag metadata looks like this name="&lid=Email&lpos=Top Nav&lw=0.1"
       for (len=1;len<myArrayLength;len++) {
         var myVariableArray = myArray[len].split("=");
         var myVariableArrayLength = myVariableArray.length;
         for (varlen=0;varlen < myVariableArrayLength;varlen++) {
           link[myVariableArray[varlen]] = myVariableArray[varlen+1];
           varlen++;
         }
       }
       if (link['lpos']) {
         if (link['lid']) {
           linkvalue=link['lpos']+":"+link['lid'];
         } else {
           linkvalue=link['lpos']+":"+$(element).text();
         }
       } else {
         if (link['lid']) {
           linkvalue =link['lid'];
         } else {
           // If there is no lid and lpos
           linkvalue = $(element).text();
         }
       }
       if (link['lw']) {
         if (link['lcat']) {
           linkvalue += 'rti='+link['lcat']+':'+now.getTime()+'&rtt='+link['lw']+'&rtc='+link['lcat']+';1;'+link['lw'];
         } else {
           linkvalue += 'rti='+linkvalue+':'+now.getTime()+'&rtt='+link['lw']+'&rtc='+linkvalue+';1;'+link['lw'];
         }
       }
       if (link['sst']) {
         linkwebseg += "&sst_type=" + link['sst'];
       }
       if (link['ssn']) {
         linkwebseg += "&sst_name=" + link['ssn'];
       }
     } else {
       // there is no 'name' attribute
       linkvalue = $(element).text();
     }
     linkvalue=linkvalue.replace(/\+/g,' ');
     if (linkvalue!='') {
       ntptEventTag('pv=0&ev=link&linkname='+$.trim(encodeURIComponent(linkvalue)) + linkwebseg);
     }
  };


  /***************************************************

  ***************************************************/
  $m.trackDownload = function(element){
     // Nullify all the variables here
     var hrefArray = [];
     var urlArray = [];
     var downloadArray = [];
     var downloadTypeArray = ["pdf","xls","ppt","csv","zip","mp3"];
     //alert($(this).attr('href'));
     urlArray = $(element).attr('href').split('&');
     var url = urlArray[0];
     hrefArray = url.split('/');
     var filename=hrefArray[hrefArray.length-1];
     downloadArray = filename.split(".");
     filename='/'+cms_country+'/'+cms_lang+url;
     if(downloadArray.length >1){
       var downloadType = downloadArray[downloadArray.length-1];
       if(downloadType=='mp3')
       {
         ntptEventTag('pv=0&ev=podcast&podcastname='+escape(filename));
       }else if(jQuery.inArray(downloadType, downloadTypeArray) > -1){
         // This is a download that needs to be tracked so send a download event
         if(downloadType=='pdf' || downloadType=='xls'){
           var queryparams=[];
           var pdfurl=[];
           queryparams = url.split('?');
           if(queryparams[1]){
             pdfurl=queryparams[1].split('=');
             if(pdfurl[1]){
               filename='/'+cms_country+'/'+cms_lang+pdfurl[1];
             }
           }
         }
         ntptEventTag('pv=0&ev=filedownload&filename='+encodeURIComponent(filename)+'&rti=Click Download:'+now.getTime()+'&rtt=2&rtc=Click Download;1;2');
       }
     }
  };

   /***************************************************

   ***************************************************/   
   $m.trackPodcast = function(){};

   $m.tag = function(mStr){
    
     //log("Metrics tracking");
     //info(mStr);     
     if(is_def(ntptEventTag)&&is_func(ntptEventTag)){
      ntptEventTag(mStr);
     }else{
      //alert("Missing unica functions");
     }
     
   };
   

   /***************************************************

   ***************************************************/   
   
   $m.trackMediaEv= function(mObj){ 
      //warn(mObj.name);

      if(is_def(mObj.isFlowPlayer)){
        //info("Switch on "+mObj.ev); 
        
        if(mObj.type=="audio"){
          //var t_str = 'ev=podcast&audio='+escape(mObj.name);
          return;
        }else{
                
          switch(mObj.ev){
            case "start":
              var t_str = 'ev=videostart&video='+escape(mObj.name);
              var p_str = 'pv=1&cc1=Content&cc2=Resources&cc3=Video&pagename=' 
                        + escape(mObj.name) + '&fullpn=' + sitevar + ':' 
                        + cms_lang + ':' + encodeURIComponent(mObj.name);
                  $m.tag(p_str);      

            break;
            case "pause":
              var t_str = 'ev=videoaction&videoactiontype=pause&video=' + encodeURIComponent(mObj.name);
       
            break;
            case "seek":
            case "scrub":
              var t_str = 'ev=videoaction&videoactiontype=scroll&video=' + encodeURIComponent(mObj.name);
              
            break;
            case "end":
              var t_str = 'ev=videoend&video=' + encodeURIComponent(mObj.name);
  
            break;
            default:
              warn("flowplayer: event wasnt tracked "+mObj.ev);
            break;
          }
        
        }    


        //alert(p_str);
        //warn(t_str);
        $m.tag(t_str);
        
        //info("inside logic loop");      
      }else{
        //tracking someother mediaplayer event
        //warn("event wasnt tracked");
      }
      

    
   };
   
   $m.trackSearch = function(){};


  

})(jQuery);
/* ------------------------------------------------- */


/*************************************************

   (c) Copyright 2010 BlackRock, Inc.

**************************************************/

