var xml_http = createXmlHttpRequestObject();
var flag_first_adv = true;

function roll_banners() {
   if (flag_first_adv == true) {
      flag_first_adv = false;
      take_banners();
      roll_banners();
   } else {
      setInterval("take_banners()", 5000);
   }
}

function take_banners() {
   var url = "include/ajax/banners_start.php?timeStamp=" + new Date().getTime();
   xml_http.onreadystatechange = handle_state_change;
   xml_http.open("GET", url, true);
   xml_http.send(null);
}

function handle_state_change() {
   if (xml_http.readyState == 4) {
      if (xml_http.status == 200) {
         clear_old_results();
         parse_results();
      }
   }
}

function clear_old_results() {
   var current_container = null;
   var banners_id_containers = new Array("adv_top_sx_content",
                                         "adv_top_center_content",
                                         "adv_top_dx_content",
                                         "adv_top_center_content_2",
                                         "adv_side_dx_content",
                                         "adv_bottom_sx_content_1",
                                         "adv_bottom_dx_content_1",
                                         "adv_bottom_sx_content_2",
                                         "adv_bottom_dx_content_2");
   
   for (var c = 0; c <= banners_id_containers.length - 1; c++) {
      current_container = document.getElementById(banners_id_containers[c]);
      while (current_container.childNodes.length > 0) {
         current_container.removeChild(current_container.childNodes[0]);
      }
   }
   
}

function parse_results() {
   var results = xml_http.responseXML;

   var banner = null;
   var id_current_container = "";
   var content = null;
   var url_link = "";
   var url_title = "";
   var img_src = "";
   

   if (results != null) {
      var banners = results.getElementsByTagName("banner");
   } else {
      return 0;
   }
   
   for (var i = 0; i <= banners.length - 1; i++) {
      banner               = banners[i];
      id_current_container = banner.getElementsByTagName("id_current_container")[0].firstChild.nodeValue;
      contents             = banner.getElementsByTagName("contents");

      var current_container = document.getElementById(id_current_container);
      
      for (var n = 0; n <= contents.length - 1; n++) {
         content   = contents[n];
         url_link  = null
         url_title = null;
         
         if (content.getElementsByTagName("url_link")[0].hasChildNodes()) {
            url_link  = content.getElementsByTagName("url_link")[0].firstChild.nodeValue;
         }

         if (content.getElementsByTagName("url_title")[0].hasChildNodes()) {
            url_title = content.getElementsByTagName("url_title")[0].firstChild.nodeValue;
         }

         img_src   = content.getElementsByTagName("img_src")[0].firstChild.nodeValue;
         
         var img_box    = document.createElement("img");
         var empty_span = document.createElement("span");
         
         if (url_link != null) {
            var anchor     = document.createElement("a");
            
            anchor.setAttribute("target", "_blank");
            anchor.setAttribute("href", url_link);
            current_container.appendChild(anchor);
            current_container.appendChild(empty_span);

            img_box.setAttribute("src", img_src);
            img_box.setAttribute("border", 0);

            if (url_title != null) {
               img_box.setAttribute("alt", url_title);
               img_box.setAttribute("title", url_title);
            }

            anchor.appendChild(img_box);

         } else if ( (url_link == null) && (img_src != null) ) {
            img_box.setAttribute("src", img_src);
            img_box.setAttribute("border", 0);

            if (url_title != null) {
               img_box.setAttribute("alt", url_title);
               img_box.setAttribute("title", url_title);
            }

            current_container.appendChild(img_box);
            current_container.appendChild(empty_span);
         }
      }
   }
}

window.onload = roll_banners();
