// advertiser javascript 

var cycleCounter = new Array();
var maxCyclesPerSlot = 20;
var adSpaceCycleProcess = new Array();

function adObject() {
  this.image = new Image();
  this.alt = undefined;
  this.mediaId = undefined;
  this.url = undefined;    
  this.popup = false;      
}

var adMedia = new Array();
var currentAd = new Array();


function cycleAd(adSpaceIndex, fade) {  

   fade = typeof(fade) != 'undefined' ? fade : true;
 
  if (adMedia[adSpaceIndex] != undefined &&  
      adMedia[adSpaceIndex].length > 0) {
      
      // advance to next image (or reset if on last image or just starting)
      currentIndex = currentAd[adSpaceIndex];
      if (currentIndex == undefined || (currentIndex == (adMedia[adSpaceIndex].length - 1))) {
        nextIndex = 0;    
      } else {              
        nextIndex = currentIndex + 1;         
      }        
      
      if (nextIndex != currentIndex && document.getElementById('adSpace'+adSpaceIndex) != undefined) {         
          adSpaceImg = document.getElementById('adSpace'+adSpaceIndex);
          adSpaceImg.src = adMedia[adSpaceIndex][nextIndex].image.src;
          adSpaceImg.alt = adMedia[adSpaceIndex][nextIndex].alt;      
          if (adMedia[adSpaceIndex][nextIndex].url != '#') {     
            adSpaceImg.style.cursor="pointer";
          }
          
          if (fade) {          
            opacity('adSpace'+adSpaceIndex, 25, 100, 3500);
          }

          currentAd[adSpaceIndex] = nextIndex;      
      }
  }

  if (cycleCounter[adSpaceIndex] == undefined) cycleCounter[adSpaceIndex] = 0;  
  if (cycleCounter[adSpaceIndex] > maxCyclesPerSlot && adSpaceCycleProcess[adSpaceIndex] != undefined) {
    clearInterval(adSpaceCycleProcess[adSpaceIndex]);    
  }
  cycleCounter[adSpaceIndex]++;
}

function adClick(adSpaceIndex, page) {  
  
  if (adMedia[adSpaceIndex] != undefined && 
      adMedia[adSpaceIndex].length > 0) {

    currentIndex = currentAd[adSpaceIndex];
    var targetURL = adMedia[adSpaceIndex][currentIndex].url;
    
    if (targetURL != undefined && targetURL != '#') {   
      updateHitCounter(adMedia[adSpaceIndex][currentIndex].mediaId, page);      
      if (adMedia[adSpaceIndex][currentIndex].popup) {
          newWindowClone(targetURL, 'popad', 'yes');    
      } else {
          document.location.href = targetURL;
      }  
    }
  } 
}
  

function updateHitCounter(mediaId, page) {
  var url = "servlet/UpdateAdHitCounter?mediaId="+mediaId;
  if (page != undefined) {
    url += "&page="+page;
  } 
  
  sendXMLHttpRequest(url);   
}
