/*
 * JTip
 * By Cody Lindley (http://www.codylindley.com)
 * Under an Attribution, Share Alike License
 * Download by http://www.codefans.net
 * JTip is built on top of the very light weight jquery library.
 */

//on page load (as soon as its ready) call JT_init
$(document).ready(JT_init);
var preview = '';
var tag = Math.round(new Date().getTime()/1000)+Math.round(Math.random()*100);
var timer;
var clickElementx;
var clickElementy;
var width = 298;
function JT_init(){
	var content = $(".JtipBody").html(); 
	ss = content.split("\[\|\]");
	var newcontent = '';
	for(i=0;i<ss.length;i++){
		newcontent += ss[i];
		if(i!=ss.length-1){
			newcontent += "<a href='#' class='jTip' id='jTip"+i+"'><span style='border-bottom:1px solid #06119f'>";
		}
	}
	newcontent = newcontent.replace(/\[\:\|\]/g,"\<\/span\>\<\/a\>");

    $(".JtipBody").html(newcontent);
    $("a.jTip")
	.hover(
			   function(e){
				   if(timer)
				       clearTimeout(timer);
				   $('.JT').hide();
				   $(".jTip span").css('border-bottom','1px solid #06119f');
				   
				   var de    = document.documentElement;
				   var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
				   (w > 1280)?(sidewide = 500):(sidewide = 300);
				   
				   Mouse(e);
				   clickElementx = leftpos;
				   clickElementy = getAbsoluteTop(this.id) - 82;   //set y position
				   
				   if(clickElementx > sidewide){
						clickElementx = clickElementx - width +15; //set x position
				   }
				   
				   if(!$("#JT"+this.id)[0]){
					   JT_show(this.href,this.id,this.name);
					   $('#JT'+this.id).css({left: clickElementx+"px", top: clickElementy+"px"});
				   }else{
					   $("#JT"+this.id).show();
					   $('#JT'+this.id).css({left: clickElementx+"px", top: clickElementy+"px"});
					   $('#JT'+this.id).css({top: clickElementy - $('#JT_copy'+this.id).height()+24+"px"});
				   }
				   $('#'+this.id +' span').css('border-bottom','2px solid #06119f');
				   
			   },
			   function () {id = this.id;
			       timer = window.setTimeout("JT_close('"+id+"')","2000");
			   }
		   )
    .click(function(){return false});
    var URLParams = new Array();
    var aParams = document.location.search.substr(1).split('&');
    for (i=0; i < aParams.length ;i++){
        aParam = aParams[i].split('=');
        if(aParam[0] == 'preview'){
            preview = "&preview=1";
        	break;
        }
    }
}

function JT_close(obj){
	$("#"+obj+" span").css('border-bottom','1px solid #06119f');
    $("#JT"+obj).hide();
}

function JT_show(url,linkId){
	var key   = encodeURI($("#"+linkId+" span").html());
	var count = (adsCount)? ('&count='+adsCount):('');
	var jt    = "<div id='JT"+linkId+"' class='JT' style='width:"+width+"px'><div class='overTop'><span id='JT"+linkId+"_close' class='overlayClose'></span></div><div id='JT_copy"+linkId+"' class='JT_copy'><div class='JT_loader'><div></div></div>";
	
	$("body").append(jt);
	$('#JT'+linkId).show().append("<div class='overBot'></div>");
	$('#JT_copy'+linkId).load("/async_ads.php?tag="+tag+"&key="+key+"&channelId="+channelId+preview+count,'',
			function()
			{
		        $('#JT'+linkId).css({top: clickElementy-$('#JT_copy'+linkId).height()+24+"px"});
		    });
	$("#JT"+linkId).bind('mouseover',function(){if(timer){clearTimeout(timer);}});
	$("#JT"+linkId).bind('mouseout',function(){timer = window.setTimeout("JT_close('"+id+"')","2000");});
	$('#JT'+linkId+'_close').bind('click',function(){JT_close(linkId)});
}

function getElementWidth(objectId) {
	x = document.getElementById(objectId);
	return x.offsetWidth;
}

function getAbsoluteTop(objectId) {
	// Get an object top position from the upper left viewport corner
	o = document.getElementById(objectId)
	oTop = o.offsetTop            // Get top position from the parent object
	while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent  // Get parent object reference
		oTop += oParent.offsetTop // Add parent top position
		o = oParent
	}
	return oTop
}

function UrlEncode(str){
   var ret="";
   var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
   for(var i=0;i<str.length;i++){
   var chr = str.charAt(i);
     var c=str2asc(chr);
     if(parseInt("0x"+c) > 0x7f){
       ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
     }else{
       if(chr==" ")
         ret+="+";
       else if(strSpecial.indexOf(chr)!=-1)
         ret+="%"+c.toString(16);
       else
         ret+=chr;
     }
   }
   return ret;
}

var Mouse = function(e){
    mouse = new MouseEvent(e);
    leftpos = mouse.x - 10;
    toppos = mouse.y - 82;
}
//get mouse position
var MouseEvent = function(e) {
    this.x = e.pageX
    this.y = e.pageY
}