var request = null;
var webcompassATags = new Array();
var wcids="";

function copyFunction(func, arg){
  return function(){
    func(arg);
    return true;
  }
}

function setOnclickEvent(str) {
  if(pageTracker!=undefined) pageTracker._trackPageview("/outgoing/links/"+str);
}

function setWebcompassesClickEvent() {
  var webcompasses = request.request.responseXML.getElementsByTagName("webcompass");
  
  if(webcompassATags.length != webcompasses.length) {
    return;
  }
  
  for ( var i=0 ; i<webcompasses.length ; i++ ) {
    var onclickeventstr = webcompasses[i].getElementsByTagName("originalurl4stat")[0].firstChild.nodeValue;
    webcompassATags[i].onclick = copyFunction(setOnclickEvent,onclickeventstr);
  }
}


function getUrlPrefix(url){
  if(url.indexOf("?")!=-1){
    return url.substring(0,url.indexOf("?"));
  } else{
    return url;
  }
}

var actUrl=getUrlPrefix(document.URL);

function getWebcompassesByIds(){
  anchorsArr = document.getElementsByTagName("a");
  
  for(var i=0 ; i < anchorsArr.length ; i++) {
    if(anchorsArr[i].className.indexOf("webcompasswidthid") > -1) {
      if(anchorsArr[i].href.indexOf("redirectstat?id=")>-1) {
        var webcompassid = anchorsArr[i].href.substring(anchorsArr[i].href.indexOf("redirectstat?id=")+16 , anchorsArr[i].href.length);
        
        webcompassATags.push(anchorsArr[i]);
        wcids += webcompassid+",";
      }
      else {
        anchorsArr[i].onclick = copyFunction(setOnclickEvent,anchorsArr[i].href);
        //anchorsArr[i].href = "/redirectstat?link="+anchorsArr[i].href;
      }
    }
  }
  //alert(webcompassATags+"\n"+wcids);
  
  if(webcompassATags.length > 0) {
    request = portal.Services.AjaxService.createRequest(actUrl+"?ajaxrequest=GetWebcompassesByIdsRequest&ids="+wcids,setWebcompassesClickEvent,null,"GET",null);
    request.makeRequest();
  }
}

addLoadEvent(getWebcompassesByIds);
