/*
function _hbLink(a, b, c) {
  alert('hbx: '+"\n - "+a+"\n - "+b+"\n - "+c);
}
*/



/* method to link flash lightbox call, to sitewide lightbox call */
function launchLightbox(imgID) {
  LBpageAnchors[imgID].onclick();    
  // flashLightbox(img.src, img.alt); // GN think this will do the trick
}

function scrapeDealData(from) {
   try {
     var iElm = from; // input element (XHTML)
     var rElm = document.createElement("data"); // return element (XML for Flash)
     var tElm;
     var lis = iElm.getElementsByTagName("li");
     var li;
     for (var ii=0; ii<lis.length; ii++) {
       li = lis[ii];
       tElm = document.createElement("deal");
       
       if (li.getElementsByTagName("img")[0]) {
         tElm.setAttribute("imgsrc", li.getElementsByTagName("img")[0].getAttribute("src"));
       }
       if (li.getElementsByTagName("div")[0]) {
         tElm.setAttribute("title", li.getElementsByTagName("div")[0].innerHTML);
       }
       if (li.getElementsByTagName("a")[0]) {
         tElm.setAttribute("desc", li.getElementsByTagName("a")[0].innerHTML);       
         tElm.setAttribute("link", li.getElementsByTagName("a")[0].getAttribute("href"));
       }
       if (li.getElementsByTagName("var")[0]) {
         tElm.setAttribute("hbxposition", li.getElementsByTagName("var")[0].innerHTML);       
         tElm.setAttribute("hbxname", li.getElementsByTagName("var")[0].getAttribute("title"));
       }
       rElm.appendChild(tElm);
     }
          
     var temp = document.createElement("return");
     temp.appendChild(rElm);

     /* This regex is a hack for IE. If the strings passed to the above setAttribute
        functions do not contain any spaces, then IE will output the markup as:

         foo=bar

       This breaks the Flash object, which expects to see the string encapsulated
       within quotation marks. ie:

         foo="bar"

       We have to parse the final string using innerHTML and fix IE's output:
     */

     return temp.innerHTML.replace(/=(\w+)\s/gi, "=\"$1\" ");


   } catch (e) {
     // data scrape failed, return null !!!
     return null;
   }
}
 
    
function scrapePageHeader(from) {
  try {
    var iElm = from; // input element (XHTML)
    var rElm = document.createElement("header"); // return element (XML for Flash)
    
    if (iElm.getElementsByTagName("img").length == 0) return 'homepage'; // no header image supplied so fall back to animated headers
    
    rElm.setAttribute("imgsrc", iElm.getElementsByTagName("img")[0].getAttribute("src"));
    //alert(iElm.getElementsByTagName("img")[0].getAttribute("src")+'<<');
    rElm.setAttribute("photographer", iElm.getElementsByTagName("img")[0].getAttribute("alt"));
    rElm.setAttribute("title", iElm.getElementsByTagName("h2")[0].innerHTML+' ');
    if (iElm.getElementsByTagName("h2")[0].className != null && iElm.getElementsByTagName("h2")[0].className.lastIndexOf("hex_") != -1) {
      rElm.setAttribute("color", (iElm.getElementsByTagName("h2")[0].className.replace(/hex_/, '')));
    }
    
    var temp = document.createElement("return");
    temp.appendChild(rElm);
    return temp.innerHTML;
  } catch (e) {
    // data scrape failed, return null !!!
    return null;
  }
}

var LBpageAnchors = new Array();
function scrapeImageData(from) {
  try {
    var iElm = from; // input element (XHTML)
    var rElm = document.createElement("thumbs"); // return element (XML for Flash)
    
    var tElm, tImg; // tmp
    
    for (var ii=0; ii<iElm.childNodes.length; ii++) {
      tElm = document.createElement("thumb");
      
      if (iElm.childNodes[ii].nodeName != 'LI') continue; // TO DO .... use getElementsByTagName in place of this
      tImg = iElm.childNodes[ii].getElementsByTagName("img")[0];
      tElm.setAttribute("imgsrc", tImg.getAttribute("src"));
      LBpageAnchors.push(iElm.childNodes[ii].getElementsByTagName("a")[0]);
      tElm.setAttribute("link", LBpageAnchors.length-1);
      rElm.appendChild(tElm);
      
    }
    var temp = document.createElement("return");
    temp.appendChild(rElm);
    return temp.innerHTML;
  } catch (e) {
    // data scrape failed, return null !!!
    return null;
  }
}


function scrapeWeatherData(from) {
  try {
    var iElm = from; // input element (XHTML)
    var rElm = document.createElement("weather"); // return element (XML for Flash)
  
    rElm.setAttribute("date", iElm.getElementsByTagName("thead")[0].getElementsByTagName("th")[0].innerHTML);
    rElm.setAttribute("btnlink", document.getElementById("weatherLink").getAttribute("href"));
    var dElm; // tmp
    
    dElm = iElm.getElementsByTagName("tbody")[0];
    for (var ii=0; ii<4; ii++) {
      tElm = document.createElement("data");   
      tElm.setAttribute("loc", dElm.getElementsByTagName("tr")[ii].getElementsByTagName("th")[0].innerHTML);
      tElm.setAttribute("summary", dElm.getElementsByTagName("tr")[ii].getElementsByTagName("td")[0].innerHTML);
      tElm.setAttribute("min", dElm.getElementsByTagName("tr")[ii].getElementsByTagName("td")[1].innerHTML);
      tElm.setAttribute("max", dElm.getElementsByTagName("tr")[ii].getElementsByTagName("td")[2].innerHTML);
      tElm.setAttribute("imgsrc", dElm.getElementsByTagName("tr")[ii].getElementsByTagName("td")[3].getElementsByTagName("img")[0].getAttribute("src"));
      rElm.appendChild(tElm);
    }
      
    
    var temp = document.createElement("return");
    temp.appendChild(rElm);
    return temp.innerHTML;
  } catch (e) {
    // data scrape failed, return null !!!
    return null;
  }
}




function scrapeFactData(from) {
  try {
    var iElm = from; // input element (XHTML)
    var rElm = document.createElement("facts"); // return element (XML for Flash)
    
    var dElm; // tmp
    
    dElm = iElm;
    for (var ii=0; ii<4; ii++) {
      tElm = document.createElement("fact");   
      tElm.setAttribute("link", dElm.getElementsByTagName("li")[ii].getElementsByTagName("a")[0].getAttribute("href"));
      tElm.setAttribute("text", dElm.getElementsByTagName("li")[ii].getElementsByTagName("a")[0].innerHTML);
      tElm.setAttribute("hbxname", dElm.getElementsByTagName("li")[ii].getElementsByTagName("var")[0].getAttribute("title"));
      tElm.setAttribute("hbxposition", dElm.getElementsByTagName("li")[ii].getElementsByTagName("var")[0].innerHTML);
      
      rElm.appendChild(tElm);
    }
      
    
    var temp = document.createElement("return");
    temp.appendChild(rElm);
    return temp.innerHTML;
  } catch (e) {
    // data scrape failed, return null !!!
    return null;
  }
}

function scrapeTabXML(from) {
  try {
    var iElm = from; // input element (XHTML)
    var rElm = document.createElement("data"); // return element (XML for Flash)
    
    var dElm; // tmp
    
    dElm = iElm;
    
    for (var ii=0; ii<4; ii++) {
      tElm = document.createElement("tab");
      tElm.setAttribute("id", dElm.getElementsByTagName("var")[ii].getAttribute("id")+' ');
      tElm.setAttribute("pos", dElm.getElementsByTagName("var")[ii].innerHTML);
      tElm.setAttribute("title", dElm.getElementsByTagName("var")[ii].getAttribute("title"));
      rElm.appendChild(tElm);
    }
    
    var temp = document.createElement("return");
    temp.appendChild(rElm);
    return temp.innerHTML;
  } catch (e) {
    return null;
  }
}