addEvent(window, "load", psnapdoT);
document.write('<link href="http://profilesnaps.com/js/psnap.css" rel="stylesheet" type="text/css" />');

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

function psnapdoT() {
    if (!document.createElement || !document.getElementsByTagName) return;
    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 == 'psnap') {// || lnk.title == lnk.innerHTML
            lnk.setAttribute("psnapsnTtl",lnk.innerHTML);
            lnk.removeAttribute("title");
            addEvent(lnk,"click",psnapDsply);
            lnk.setAttribute("name",'#psnapL'+ti);
            lnk.setAttribute("href",'#psnapL'+ti);
        }
    }
    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("psnapsnTtl","Added on "+dtIns.toString());
            addEvent(instag,"mouseover",psnapDsply);
            addEvent(instag,"mouseout",psnapHide);
            addEvent(instag,"focus",psnapDsply);
            addEvent(instag,"blur",psnapHide);
        }
    }
    }
}

function psnapfPos( 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 psnapDsply(e) {
    if (CURRENT_NICE_TITLE) psnapHide(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.nodeName.toUpperCase() != 'A') {
        lnk = psnapgPrnt(lnk,"A");
    }
    if (!lnk) return;
    psnapsnTtl = lnk.getAttribute("psnapsnTtl");
    
    var d = document.createElementNS(XHTMLNS,"div");
    d.className = "psnapsnTtl";
    tnt = document.createTextNode(psnapsnTtl);
    pat = document.createElementNS(XHTMLNS,"p");
    pat.className = "titletext";
    pat.appendChild(tnt);
    d.appendChild(pat);

    d.innerHTML += '<a href = "javascript:psnapHide();" id = "psnap_closeBtn"></a>';
    d.innerHTML += '<a href = "http://profilesnaps.com" target = "_blank" id = "psnap_logo"></a>';
    d.innerHTML += '<div id = "psnap_contain">';
	
	navL = '<div class = "psnap_nav"><ul>';
	navL += '<li><a href = "#" onclick = "psnap_switchTab(\'about\',\''+psnapsnTtl+'\',this);return false;" id = "psnap_tab_about" class = "sel"><img src = "http://profilesnaps.com/js/icon_about.png"/><span>ABOUT</span></a></li>';
	
	navL += '<li><a href = "#" onclick = "psnap_switchTab(\'twitter\',\''+psnapsnTtl+'\',this);return false;"><img src = "http://profilesnaps.com/js/icon_twitter.png"/><span>TWITTER</span></a></li>';
	navL += '<li><a href = "#" onclick = "psnap_switchTab(\'news\',\''+psnapsnTtl+'\',this);return false;"><img src = "http://profilesnaps.com/js/icon_news.png"/><span>NEWS</span></a></li>';
	navL += '<li><a href = "#" onclick = "psnap_switchTab(\'video\',\''+psnapsnTtl+'\',this);return false;"><img src = "http://profilesnaps.com/js/icon_video.png"/><span>VIDEO</span></a></li>';
	navL += '<li class = "last"><a href = "#" onclick = "psnap_switchTab(\'links\',\''+psnapsnTtl+'\',this);return false;"><img src = "http://profilesnaps.com/js/icon_links.png"/><span>LINKS</span></a></li>';
	navL += '<li class = "last"><a href = "#" onclick = "psnap_switchTab(\'photos\',\''+psnapsnTtl+'\',this);return false;"><img src = "http://profilesnaps.com/js/icon_photos.png"/><span>PHOTOS</span></a></li>';
	d.innerHTML += navL+'</ul></div>';

	d.innerHTML += '<div id = "psnap_content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec pretium, ipsum et suscipit hendrerit, sapien tortor tempus massa, ut feugiat arcu tellus sit amet lorem. Duis mattis magna lacinia augue lobortis ut ultricies nisi pretium. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</div>';
    d.innerHTML += '</div>';
    
    STD_WIDTH = 300;
    if (lnk.href) {
        h = lnk.href.length;
    } else { h = psnapsnTtl.length; }
    if (psnapsnTtl.length) {
      t = psnapsnTtl.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;
    }
        
    mpos = psnapfPos(lnk);
    mx = mpos[0];
    my = mpos[1];
    
    d.style.left = (mx+30) + 'px';
    d.style.top = (my+10) + '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;
    psnap_switchTab('about',psnapsnTtl,re('psnap_tab_about'));

}

var lastEl = '';

function psnap_switchTab(tab, i, el){
re('psnap_content').innerHTML = '<iframe src = "http://profilesnaps.com/js/srv.php?i='+i+'&tab='+tab+'" id = "psnaps_CtntSrv" scrolling = "no" frameborder="0" border="0"></iframe>';
el.className = 'sel';
if(lastEl != '') lastEl.className = '';
lastEl = el;
}

function re(element){
var el = '';
if (document.layers){ el = document[element];}
else if (document.all){ el = document.all[element];}
else if (document.getElementById){ el = document.getElementById(element);}

if (el == undefined || el == null || el == ''){return false;}else{return el;}
}

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

function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
	return false;
  }
}

function psnapgPrnt(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 psnapgPrnt(el.parentNode, pTagName);
}

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

function psnapBrwsr() {

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

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

