var ActiveRequestList = new Array();
var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0; 
var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0; 
var is_opera = ((navigator.userAgent.indexOf("Opera6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0; 
var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0; 
var cssAdded = false;
var popupAdded = false;
function RequestTooltips(links)
{
  if (PageFullyLoaded == true)
  {
    for(i=0;i<links.length;i++){
        enableTooltip(links[i]);
    }  
  }
  else
  {
    var fn = function(){
        return RequestTooltips(links);
    }
    setTimeout(fn, 100);  
  }
}
function enableTooltip(obj){
var links,i,h;
if(!document.getElementById || !document.getElementsByTagName) return;
if (cssAdded == false){AddCss();cssAdded=true;}
if (popupAdded == false){
h=document.createElement("div");
h.id="btc";
h.setAttribute("id","btc");
h.style.position="absolute";
document.getElementsByTagName("body")[0].appendChild(h);
popupAdded = true;
}
if(obj!=null){Prepare(obj);}
}
function RequestData(requestURL, targetCtrl)
{
  if (PageFullyLoaded == true)
  {
    var xmlHttp = GetxmlHttpObject(ResponseHandler); 
    
    var NewRequest = new Object();
    NewRequest["XmlHttp"] = xmlHttp;
    NewRequest["TargetCtrl"] = targetCtrl;
    ActiveRequestList.push(NewRequest);

    xmlHttp_Send(xmlHttp, requestURL); 
  }
  else{
    var fn = function(){
        return RequestData(requestURL, targetCtrl);
    }
    setTimeout(fn, 100);  
  } 
} 

function enableTooltips(id){
var links,i,h;
if(!document.getElementById || !document.getElementsByTagName) return;
if (cssAdded == false){AddCss();cssAdded=true;}
if (popupAdded == false){
h=document.createElement("div");
h.id="btc";
h.setAttribute("id","btc");
h.style.position="absolute";
document.getElementsByTagName("body")[0].appendChild(h);
popupAdded=true;
}
if(id==null) links=document.getElementsByTagName("a");
else links=document.getElementById(id).getElementsByTagName("a");
for(i=0;i<links.length;i++){
    if(links[i].className != 'RSSFeed_EditCue')
    {
    Prepare(links[i]);}
    }
}

function Prepare(el){
var container,tooltip,top,t,b,s,l;
t=el.getAttribute("title");
if(t==null || t.length==0) t="link:";
el.removeAttribute("title");
container=CreateEl("span","container");
tooltip=CreateEl("span","tooltip");
top=CreateEl("t","top");
container.innerHTML = t;
top.appendChild(container);
tooltip.appendChild(top);
b=CreateEl("b","bottom");
//l=el.getAttribute("href");
//if(l.length>30) l=l.substr(0,27)+"...";
//b.appendChild(document.createTextNode(l));
tooltip.appendChild(b);
setOpacity(tooltip);
el.tooltip=tooltip;
el.onmouseover=showTooltip;
el.onmouseout=hideTooltip;
el.onmousemove=Locate;
}

function showTooltip(e){
document.getElementById("btc").appendChild(this.tooltip);
Locate(e);
}

function hideTooltip(e){
var d=document.getElementById("btc");
if(d.childNodes.length>0) d.removeChild(d.firstChild);
}

function setOpacity(el){
el.style.filter="alpha(opacity:95)";
el.style.KHTMLOpacity="0.95";
el.style.MozOpacity="0.95";
el.style.opacity="0.95";
}

function CreateEl(t,c){
var x=document.createElement(t);
x.className=c;
x.style.display="block";
return(x);
}

function Locate(e){
var posx=0,posy=0;
if(e==null) e=window.event;
if(e.pageX || e.pageY){
    posx=e.pageX; posy=e.pageY;
    }
else if(e.clientX || e.clientY){
    if(document.documentElement.scrollTop){
        posx=e.clientX+document.documentElement.scrollLeft;
        posy=e.clientY+document.documentElement.scrollTop;
        }
    else{
        posx=e.clientX+document.body.scrollLeft;
        posy=e.clientY+document.body.scrollTop;
        }
    }
    if (document.getElementById("btc"))
    {
        document.getElementById("btc").style.top=(posy+10)+"px";
        document.getElementById("btc").style.left=(posx-20)+"px";
    }
}

function ResponseHandler() 
{ 
  for(var nzIndex = 0; nzIndex < ActiveRequestList.length; nzIndex++)
  {
    var xmlHttp = ActiveRequestList[nzIndex]["XmlHttp"];
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
    { 
        var strResponse = xmlHttp.responseText; 

        var objCtrl = document.getElementById(ActiveRequestList[nzIndex]["TargetCtrl"]);
        if (objCtrl)
        {
            try
            {
              objCtrl.innerHTML = strResponse;
              enableTooltips(objCtrl.id); 
            }
            catch(Error)
            {
              objCtrl.innerHTML = "Could not load feeds";
            }
        } 
        
        ActiveRequestList.splice(nzIndex, 1);
        nzIndex--;
    } 
  }
} 

function xmlHttp_Send(xmlhttp, url) 
{ 
    xmlhttp.open('GET', url, true); 
    xmlhttp.send(null); 
} 

function GetxmlHttpObject(handler) 
{ 
    var objXmlHttp = null;    //Holds the local xmlHTTP object instance 

    //Depending on the browser, try to create the xmlHttp object 
    if (is_ie){ 
        //The object to create depends on version of IE 
        //If it isn't ie5, then default to the Msxml2.XMLHTTP object 
        var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; 
          
        //Attempt to create the object 
        try{ 
            objXmlHttp = new ActiveXObject(strObjName); 
            objXmlHttp.onreadystatechange = handler; 
        } 
        catch(e){ 
        //Object creation errored 
            alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled'); 
            return; 
        } 
    } 
    else if (is_opera){ 
        //Opera has some issues with xmlHttp object functionality 
        alert('Opera detected. The page may not behave as expected.'); 
        return; 
    } 
    else{ 
        // Mozilla | Netscape | Safari 
        objXmlHttp = new XMLHttpRequest(); 
        objXmlHttp.onload = handler; 
        objXmlHttp.onerror = handler; 
    } 
      
    //Return the instantiated object 
    return objXmlHttp; 
} 

try
{
    if (typeof Sys == 'undefined')
    {
        ;
    }
    else
    {
        if( Sys && Sys.Application ){
           Sys.Application.notifyScriptLoaded();
        }
    } 
}
catch(e)
{
;
}
