var WONtagging = false;

function setReferrer() {
  if (!(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)<4)){
    DCS.dcsref = self.location.href.substring(0,self.location.href.indexOf(self.location.pathname)) + DCS.dcsuri;
  }  
}

function getFolder(){
  return thisFolder = self.location.pathname.substring(0,self.location.pathname.lastIndexOf('/')+1);
}

function trackRelative(objectReference,objectTitle,keepLastReferrer){
  setReferrer();
  currentUri = DCS.dcsuri;
  path = getFolder() + objectReference;
  dcsMultiTrack('DCS.dcsuri',path,'WT.ti',objectTitle);
  if (keepLastReferrer) {
    DCS.dcsuri = currentUri;
  }
}

function trackDownloadClick(trackingPage, trackingPageTitel, targetFileUrl, targetFileType, targetFileGroup){
  if(confTrackingEnabled){
	  trackAbsolute(trackingPage, trackingPageTitel, true, false, escape(buildValidServerRelativeUrl(targetFileUrl)), targetFileType, targetFileGroup);
  }
  return true;
}

var path;
function trackAbsolute(objectReference,objectTitle, keepLastReferrer,edxEnabled, targetFileUrl, targetFileType, targetFileGroup){
  setReferrer();
  currentUri = DCS.dcsuri;
  path = objectReference;
//alert("0");  
  if(path.indexOf('?') != -1){
//alert("1="+path);
    var splitted = path.split('?');
    path = splitted[0];
    var queryString = '?'+splitted[1];
    dcsMultiTrack('DCS.dcsuri',path,'WT.ti',objectTitle, 'DCS.dcsqry', queryString);
  } 
  else if (targetFileUrl!=null && targetFileType!=null && targetFileGroup!=null) {
//alert("2="+path);
    dcsMultiTrack('DCS.dcsuri',path,'WT.ti',objectTitle, 'DCS.download_file_name', targetFileUrl, 'DCS.download_file_type', targetFileType, 'DCS.download_file_group', targetFileGroup);
  }else{
 dcsMultiTrack('DCS.dcsuri',path,'WT.ti',objectTitle);
}
  
  if (keepLastReferrer) {
    DCS.dcsuri = currentUri;
  }
  if (edxEnabled || WONtagging) {
    trackEDX(objectReference); //special call for edx-tagging Italy 
  }
}


function trackExternal(objectReference,objectTitle){
  setReferrer();
  currentUri = DCS.dcsuri;
  path = "/external/" + objectReference;
  dcsMultiTrack('DCS.dcsuri',path,'WT.ti',objectTitle);
  DCS.dcsuri = currentUri;
}


var trackingPages=new Array();
  trackingPages["main"]           = "_common/shared/tracking_redirect/teaser_main.html";
  trackingPages["large"]          = "_common/shared/tracking_redirect/teaser_large.html";
  trackingPages["medium_label"]   = "_common/shared/tracking_redirect/teaser_medium_label.html";
  trackingPages["small_download"] = "_common/shared/tracking_redirect/download.html";
  trackingPages["small_standard"] = "_common/shared/tracking_redirect/teaser_small_standard.html";
  trackingPages["small_text"]     = "_common/shared/tracking_redirect/teaser_small_text.html";
  trackingPages["download"]       = "_common/shared/tracking_redirect/download.html";
  trackingPages["external"]       = "_common/shared/tracking_redirect/external.html";
  
  function trackHighend(trackingType, source, target){
/*    if(confTrackingEnabled && parent && parent.parent && parent.parent.hiddenFrame) {
      var targetParamName = "target";
      if(trackingType=="download" || trackingType=="small_download"){
        targetParamName="file";
      }
      parent.parent.hiddenFrame.location.href = trackingPages[trackingType] + "?source=" + source + "&"+targetParamName+"="+target;
    }
*/
  }
  
  
  
function trackEvent(pagetype, sourceurl, targeturl){
	if (confTrackingEnabled) {
		var substract = self.location.host;
		var targetparam = "target";
		if(pagetype == "download") {
			targetparam = "file";
		}

		if(sourceurl.substr(0, 1) != "/" ) {
			sourceurl = getFullPath(self.location.href, sourceurl);
			sourceurl = sourceurl.substring(sourceurl.indexOf(substract) + substract.length, sourceurl.length);
		}

		if(pagetype != "bandwidth" && pagetype != "click_event" && targeturl.substr(0, 1) != "/") {
			targeturl = getFullPath(self.location.href, targeturl);
			targeturl = targeturl.substring(targeturl.indexOf(substract) + substract.length, targeturl.length);
		}

		if (pagetype != "bandwidth" && pagetype != "click_event") {
			targeturl = escape(buildValidServerRelativeUrl(targeturl));
		}
		var trackingUrl = buildValidServerRelativeUrl(sourceurl); 
		if (typeof(trackingPages[pagetype])!='undefined') {
			trackingUrl = buildValidServerRelativeUrl(trackingPages[pagetype][0]) + '?' + targetparam + '=' + targeturl + '&source=' + escape(buildValidServerRelativeUrl(sourceurl));
		} else if (pagetype == "click_event") {
			trackingUrl = getFullPath(sourceurl, targeturl) + '?' + targetparam + '=' + targeturl + '&source=' + escape(buildValidServerRelativeUrl(sourceurl));
		}
		if (pagetype != "bandwidth") trackAbsolute(trackingUrl, '-');

	} else {
		return true;
	}
}


function trackPage(url) {
 	if (confTrackingEnabled) {
		trackAbsolute(url,'-');
	}
}
  
  
function track_page(url) {
 	trackPage(url);
}
