//begin function for xml http request
//source: http://www.w3schools.com/ajax/default.asp

var xmlHttp;
function GetXmlHttpObject(handler){ 

var objXmlHttp=null;

 if (navigator.userAgent.indexOf("Opera")>=0) {
  //alert("This example doesn't work in Opera"); 
  return; 
 }

 if (navigator.userAgent.indexOf("MSIE")>=0) { 

  var strName="Msxml2.XMLHTTP";
  if (navigator.appVersion.indexOf("MSIE 5.5")>=0) {
    strName="Microsoft.XMLHTTP";
  } 
 try { 
  objXmlHttp=new ActiveXObject(strName)
  objXmlHttp.onreadystatechange=handler; 
  return objXmlHttp;
 } catch(e) { 
  //alert("Error. Scripting for ActiveX might be disabled"); 
  return ;
 } 
 
} 

if (navigator.userAgent.indexOf("Mozilla")>=0) {
  objXmlHttp=new XMLHttpRequest();
  objXmlHttp.onload=handler;
  objXmlHttp.onerror=handler; 
  return objXmlHttp;
 }

}  
//end functions for xml http request

//SponsorLink Object
function SponsorLink(title, description, site_host, click_url) {
 this.title = title;
 this.description = description;
 this.site_host = site_host;
 this.click_url = click_url;
}

//handling function when xml http request is completed
function handleSponsorLinks(){ 
  
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
   var xml_root = xmlHttp.responseXML;
   if(xml_root) {
    var sponsor_links = processSponsorLinks(xml_root.documentElement);
    displaySponsorLinks(sponsor_links);
   }

  } 

} 

function handleSponsorLinks2(){ 
  
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
   var xml_root = xmlHttp.responseXML;
   if(xml_root) {
    var sponsor_links = processSponsorLinks(xml_root.documentElement);
    displaySponsorLinks2(sponsor_links);
   }

  } 

} 

//function to go through the xml document and store sponsor link values to an array
function processSponsorLinks(root) {
 var sponsor_links = new Array();
 
 var listings = root.getElementsByTagName("Listing");
 
 for(i=0; i < listings.length; i++) {
 
   var title = listings[i].getAttribute("title");
   title = title.replace(/<b>|<\/b>/g,"");
   var description = listings[i].getAttribute("description");
   description = description.replace(/<b>|<\/b>/g,"");
   var site_host = listings[i].getAttribute("siteHost");
   var click_urls = listings[i].getElementsByTagName("ClickUrl");
   var click_url = click_urls[0].firstChild.nodeValue;
   sponsor_links[i] = new SponsorLink(title, description, site_host, click_url);
   
 }
 
 return sponsor_links;
 
}


function encodeUrl(url) {
  var url = url.replace(/\?/g, '%3F');
      url = url.replace(/=/g, '%3D');
      url = url.replace(/&/g, '%26');
      url = url.replace(/:/g, '%3A');
  return url;
}

//function to format and display sponsor links in html
function displaySponsorLinks(sponsor_links) {
 if (sponsor_links.length) {

  var dom = document.getElementById(sponsor_links_dom); 
  var html = "<div class=\"gray_module\">";
  html += "<div class=\"top\"><h1>Sponsored Links</h1><div class=\"tl\"></div><div class=\"tr\"></div></div>";
  html += "<div class=\"center white\"><br />";
  html += "<ul>";
  for (i=0; i < sponsor_links.length; i++) {
     the_link = sponsor_links[i];
     html += "<li>";
     var url = encodeUrl(the_link.click_url);
     html += "<a href=\"/goto?" + (user_entry_id ? "entryid=" + user_entry_id + "&" : "") + "ht=" + click_ht + "&dest=" + url + "\" target=\"_blank\">";
     html += the_link.title + "</a><br/>";
     html += "<div>" + the_link.description + "</div>";
     html += "<div class=\"slDesc\">" + the_link.site_host + "</div>";
     html += "</li>";
}
  html += "</ul><br /></div>";
  html += "<div class=\"btm\"><div class=\"bl\"></div><div class=\"br\"></div></div>";
  html += "</div>";
  dom.innerHTML = html;
 }
}

function displaySponsorLinks2(sponsor_links) {
 if (sponsor_links.length) {

  var dom = document.getElementById(sponsor_links_dom); 
  var html = "<div class=\"gray_module\">";
  html += "<div id=\"hfs_top_crf3\"></div>";
  html += "</div>"
  html += "<div class=\"hfs_center\" style=\"padding-left:15px;\">";
  html += "<div id=\"sponsor_links\"><h3>Sponsored Links</h3></div>";
  html += "<ul>";
  for (i=0; i < sponsor_links.length; i++) {
     the_link = sponsor_links[i];
     html += "<li>";
     var url = encodeUrl(the_link.click_url);
     html += "<a href=\"/goto?" + (user_entry_id ? "entryid=" + user_entry_id + "&" : "") + "ht=" + click_ht + "&dest=" + url + "\" target=\"_blank\">";
     html += the_link.title + "</a><br/>";
     html += "<div>" + the_link.description + "</div>";
     html += "<div class=\"slDesc\">" + the_link.site_host + "</div>";
     html += "</li>";
}
  html += "</ul></div>";
  html += "</div>";
  dom.innerHTML = html;
 }
}


function getSponsorLinks (url) {
 xmlHttp=GetXmlHttpObject(handleSponsorLinks);
 xmlHttp.open("GET", url, true)
 xmlHttp.send(null)
}

function getSponsorLinks2 (url) {
 xmlHttp=GetXmlHttpObject(handleSponsorLinks2);
 xmlHttp.open("GET", url, true)
 xmlHttp.send(null)
}
