//<%--  ------------------------------------------------------
//  --  AIR MILES Project Wren
//  --  Copyright AIR MILES 2003
//  --  $Source: /home1_dev/cvsowner/cvsroot/web/dev/src/main/j2ee/web/csjs/miTracker.js,v $
//  --  $Revision: 1.2.26.1 $
//  --  $Author: alis $
//  --  $Date: 2007/07/31 13:57:53 $
//  --
//  --  Revision History:
//  --  $Log: miTracker.js,v $
//  --  Revision 1.2.26.1  2007/07/31 13:57:53  alis
//  --  merged june07-12-7-7 into july07
//  --
//  --  Revision 1.2.24.1  2007/06/15 12:39:00  mcmurray
//  --  TR6018 add new javascript functionality and calls to support recording of web site user clicking through to external sites.
//  --
//  --  Revision 1.2  2005/12/20 11:05:03  vijay
//  --  merged Dec05 to trunk
//  --
//  --  Revision 1.1.2.4  2005/12/05 14:58:11  mcmurray
//  --  TR 4242 corrected path for pagetag.gif now /image/mi/
//  --
//  --  Revision 1.1.2.3  2005/11/22 15:59:12  mcmurray
//  --  Tracker 4243 - MI tracking on banners
//  --
//  --  Revision 1.1.2.2  2005/11/09 09:42:08  vijay
//  --  revision history added
//  --
//  --
//  --  -------------------------------------------------------
//--%>

var miImages=new Array;
var miIndex=0;
var MI=new Object();
var NT=new Object();
var MIext=new Object();
var AMTC_tag = null;

var domain = document.domain;
var protocol = location.protocol;
var AMdomain = 'http://www.airmiles.co.uk'; /*protocol+"//"+domain;*/

function miMultiTrack(){
	for (var i=0;i<arguments.length;i++){
		if (arguments[i].indexOf('NT.')==0){
				NT[arguments[i].substring(3)]=arguments[i+1];
				i++;
		}
		if (arguments[i].indexOf('MI.')==0){
				MI[arguments[i].substring(4)]=arguments[i+1];
				i++;
		}
		if (arguments[i].indexOf('MIext.')==0){
				MIext[arguments[i].substring(7)]=arguments[i+1];
				i++;
		}
	}
	var miCurrent=new Date();
	MI.midat=miCurrent.getTime();
	miTag();
}

function miVar(){
	var miCurrent=new Date();
	NT.tz=miCurrent.getTimezoneOffset()/60*-1;
	if (NT.tz==0){
		NT.tz="0";
	}
	NT.bh=miCurrent.getHours();
	NT.ul=navigator.appName=="Netscape"?navigator.language:navigator.userLanguage;
	if (typeof(screen)=="object"){
		NT.cd=screen.colorDepth;
		NT.rs=screen.width+"x"+screen.height;
	}
	if (typeof(navigator.javaEnabled())=="boolean"){
		NT.jo=navigator.javaEnabled()?"Yes":"No";
	}
	if (document.title){
		NT.ti=document.title;
	}
	NT.js="Yes";
	if (typeof(gVersion)!="undefined"){
		NT.jv=gVersion;
	}
	NT.sp="@@SPLITVALUE@@";
	MI.date=miCurrent.getTime();
	MI.ip=window.location.hostname;
	MI.lc=window.location.pathname;
	if (window.location.search){
		MI.qry=window.location.search;
	}
	if ((window.document.referrer!="")&&(window.document.referrer!="-")){
		if (!(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)<4)){
			MI.ref=window.document.referrer;
		}
	}
}

function A(N,V){
	return "&"+N+"="+miEscape(V);
}

function miEscape(S){
	if (typeof(RE)!="undefined"){
		var retStr = new String(S);
		for (R in RE){
			retStr = retStr.replace(RE[R],R);
		}
		return retStr;
	}
	else{
		return escape(S);
	}
}

function miCreateImage(miSrc){
	if (document.images){
		miImages[miIndex]=new Image;
		miImages[miIndex].src=miSrc;
		miIndex++;
	}
	else{
		document.write('<IMG BORDER="0" NAME="MIIMG" WIDTH="1" HEIGHT="1" SRC="'+miSrc+'">');
	}
}

function miMeta(){
	var myDocumentElements;
	if (document.all){
		myDocumentElements=document.all.tags("meta");
	}
	else if (document.documentElement){
		myDocumentElements=document.getElementsByTagName("meta");
	}
	if (typeof(myDocumentElements)!="undefined"){
		for (var i=1;i<=myDocumentElements.length;i++){
			var myMeta=myDocumentElements.item(i-1);
			if (myMeta.name){
				if (myMeta.name.indexOf('NT.')==0){
					NT[myMeta.name.substring(3)]=myMeta.content;
				}
				else if (myMeta.name.indexOf('MIext.')==0){
					MIext[myMeta.name.substring(7)]=myMeta.content;
				}
				else if (myMeta.name.indexOf('MI.')==0){
					MI[myMeta.name.substring(4)]=myMeta.content;
				}
			}
		}
	}
}

function miTag(){
	var P=AMdomain+"/images/mi/pagetag.gif?";
	for (N in MI){
		if (MI[N]) {
			P+=A(N,MI[N]);
		}
	}
	for (N in NT){
		if (NT[N]) {
			P+=A(N,NT[N]);
		}
	}
	for (N in MIext){
		if (MIext[N]) {
			P+=A(N,MIext[N]);
		}
	}

	if ( AMTC_tag != null ){
		P += "&";
        	P+= AMTC_tag;
                AMTC_tag = null;
	}
	if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0){
		P=P.substring(0,2040)+"&NT.tu=1";
	}
	miCreateImage(P);
}


function formatTagInfo( rawtag ){
  var fixedString = new String(rawtag.substr(rawtag.indexOf("?")+1).replace(/[ ]/g,"%20").replace(/,/g,"&").replace(/[']/g,""));
  var pageEndTime = new Date();
  if (typeof( pageStartTime ) != "undefined"  ){
  	var elapse = pageEndTime.getTime() - pageStartTime.getTime();
	elapse = Math.ceil( elapse/1000);
	elapse = "&110=" + elapse;
        fixedString += elapse;
  }

  return fixedString;
}


function exit_miTag(e,target_url){
 var P=AMdomain+"/images/mi/pagetag.gif?";

  for (N in MI){
  	if (MI[N]) {
 		P+=A(N,MI[N]);
 	}
 }
 for (N in NT){
 	if (NT[N]) {
 		P+=A(N,NT[N]);
 	}
 }
 for (N in MIext){
 	if (MIext[N]) {
 		P+=A(N,MIext[N]);
 	}
 }
  
 if ( AMTC_tag != null ){
 	P += "&";
       	P+= AMTC_tag;
        AMTC_tag = null;
 }
 if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0){
 	P=P.substring(0,2040)+"&NT.tu=1";
 }
  var now = new Date();
  var o = P.parseQuery();
   o[100]=now.getTime();
   o['date']=now.getTime();
   o['lc']='/exitpage.do';
   o['qry']= '?'+target_url;
   P = AMdomain+"/images/mi/pagetag.gif?" + Hash.toQueryString(o);
 

 miCreateImage(P);

}

function setup_exit_listener(){
 
  
  Event.observe(window, 'load' , function() {
	var trackable = $$('a.track_it');
	var v = 'E'
	for ( var i=0 ; i< trackable.length; i++)
	{  
		Event.observe(trackable[i], 'click' ,exit_miTag.bindAsEventListener(this, trackable[i].href)); 
	}
  });

}
