//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;
}

//More SponsoredLink Object
function MoreSponsoredLink(name) {
 this.name = name;
}

//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);
    var moreSponsoredLinks = processMoreSponsorLinks(xml_root.documentElement);    
    displaySponsorLinks2(sponsor_links, moreSponsoredLinks);
   }
  } 
} 

//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 processMoreSponsorLinks(root) {
 var moreSponsoredLinks = new Array();  
 var moreSponsoredNames = root.getElementsByTagName("name");
 
 for(i=0; i < moreSponsoredNames.length; i++) {
   var name = moreSponsoredNames[i].firstChild.nodeValue;   
   moreSponsoredLinks[i] = new MoreSponsoredLink(name);   
 }
 
 return moreSponsoredLinks; 
}

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 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 />";
    for(i = 0; i < sponsor_links.length; i++){
      the_link = sponsor_links[i];
      adUrl    = encodeUrl(the_link.click_url);
      adImage  = GetIAProductImageDetails(the_link.title, the_link.title, the_link.description, the_link.site_host, "border=0", false);
      
      html += "<div class=\"slDesc\">";
      html += "<img src=\"" + adImage + "\" class=\"slImage\" />";
      html += "<div class=\"slCopy\">";
      html += "<a href=\"/goto?" + (user_entry_id ? "entryid=" + user_entry_id + "&" : "") + "ht=" + click_ht + "&dest=" + adUrl + "\" style=\"text-decoration:none;\" target=\"_blank\" rel=\"nofollow\">";
      html += "<span style=\"text-decoration:underline;\">" + the_link.title + "</span></a><br />";
      html += "<span style=\"text-decoration:none; color:#000000;\">" + the_link.description + "</span><br />";
      html += "<span style=\"text-decoration:none; color:#000000;\">" + the_link.site_host + "</span></div></div>";
      html += "<br class=\"clear\" />";
    }
    html += "<br /></div>";
    html += "<div class=\"btm\"><div class=\"bl\"></div><div class=\"br\"></div></div>";
    html += "</div>";
    dom.innerHTML = html;
  }
}

function displaySponsorLinks2(sponsor_links, moreSponsoredLinks){
  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>";
    for(i = 0; i < sponsor_links.length; i++){
      the_link = sponsor_links[i];
      adUrl    = encodeUrl(the_link.click_url);
      adImage  = GetIAProductImageDetails(the_link.title, the_link.title, the_link.description, the_link.site_host, "border=0", false);      
      if(adImage == "") adImage = "/images/partner/ysl_default_img";
      html += "<div class=\"slDesc\">";
      html += "<img src=\"" + adImage + "\" class=\"slImage\" />";
      html += "<div class=\"slCopy\">";
      html += "<a href=\"/goto?" + (user_entry_id ? "entryid=" + user_entry_id + "&" : "") + "ht=" + click_ht + "&dest=" + adUrl + "\" style=\"text-decoration:none;\" target=\"_blank\" rel=\"nofollow\">";
      html += "<span style=\"text-decoration:underline;\">" + the_link.title + "</span></a><br />";
      html += "<span style=\"text-decoration:none; color:#000000;\">" + the_link.description + "</span><br />";
      html += "<span style=\"text-decoration:none; color:#000000;\">" + the_link.site_host + "</span></div></div>";
      html += "<br class=\"clear\" />";
    }
    html += "</div>";
    html += "</div>";

    if (moreSponsoredLinks.length) {        
      html += "<div style=\'margin-left:15px; font-weight:bold; width:735px;\'> More Sponsored Links: ";    
      for (i=0; i < moreSponsoredLinks.length; i++) {      
        the_name = moreSponsoredLinks[i];      
        ymss_keyword = the_name.name.replace(/[\s]+/g, '+');
        if (Keywords_ymss)
        {
          ymss_keyword += "+" + Keywords_ymss;
        }
        newwin_script = "javascript:moreSponsorsPopup(\'";
        newwin_script += "/popup/sponsored_links/more_sponsored_links?ymss_keyword="+ymss_keyword+"&st_city_ht="+st_city_ht;
        newwin_script += "\','ymss_name','height=600,width=800,resizable=no,scrollbars=yes,location=no,toolbar=no')";
      
        html += "<a href=" + newwin_script + " rel=\'nofollow\' />"
        html += toTitleCase(the_name.name);
        html += "</a>&nbsp;&nbsp;"; 
      }    
      html += "</div>";
    }
    html += "<br /><br />";
    dom.innerHTML = html;
  }
}

function moreSponsorsPopup(url,name,params) {
  newwindow=window.open(url,name,params);
}

function toTitleCase(str){
  return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}

/* Old function prior to RFC5897
//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)
}

