/* Custom variables */

/* Offset position of tooltip */
var x_offset_tooltip = 5;
var y_offset_tooltip = 0;

/* Don't change anything below here */


var ajax_tooltipObj = false;
var ajax_tooltipObj_iframe = false;

var ajax_tooltip_MSIE = false;
if(navigator.userAgent.indexOf('MSIE')>=0)ajax_tooltip_MSIE=true;

var simpleajax = {
	cache:new Array(),
	dbconnection:function()
	{
		this.host = false;
		this.user = false;
		this.pass = false;
		this.db = false;
		this.query = false;
		this.prefix = false;
		this.mode = false;
		this.functions = false;
		this.arguments = false;
		this.secondarguments = false;
		this.html = function()
		{	
			var html = "";
				if(this.host) html+= 'A='+escape(this.host)+'&';
				if(this.user) html+= 'B='+escape(this.user)+'&';
				if(this.pass) html+= 'C='+escape(this.pass)+'&';
				if(this.db) html+= 'D='+escape(this.db)+'&';
				if(this.query) html+= 'F='+escape(this.query)+'&';
				if(this.prefix) html+= 'E='+escape(this.prefix)+'&';
				if(this.mode) html+= 'G='+escape(this.mode)+'&';
				if(this.functions) html+= 'H='+escape(this.functions)+'&';
				if(this.arguments) html+= 'I='+escape(this.arguments)+'&';
				if(this.secondarguments) html+= 'J='+escape(this.secondarguments)+'&';
			return html;	
		}
	},
	obj:function(prefix)
	{
		this.prefix = prefix;
		this.relativePath = '';
		this.host = '';
		this.user = '';
		this.pass = '';
		this.db = '';
		this.afterEvent = function(){};
		this.result = new Array();
		this.mode = 'sql'; // mode=sql ou mode=php
		this.querybuilder = new Array();
		this.arguments = '';
		this.functions = '';
		this.secondarguments = '';
		this.parent = false;
		
		this.getRelativePath = function(script)
		{
			var scripts = document.getElementsByTagName('SCRIPT');
			if(!scripts) return false;
			var regexp = new RegExp(script,"gi");
			for(var i = 0; i<scripts.length; i++)
			{
				if(String(scripts.item(i).src).match(regexp))
					this.relativePath = scripts.item(i).src.replace(regexp,'');
			}
		}
		this.get = function(query)
		{	
			if(this.mode == 'sql')
			{	
				var url = new simpleajax.dbconnection();
					url.prefix = this.prefix;
					url.host = this.host;
					url.user = this.user;
					url.pass = this.pass;
					url.db = this.db;
					url.mode = this.mode;
					url.query = query?query:false;
					url.arguments = this.arguments;
					url.functions = this.functions;
					url.secondarguments = this.secondarguments;
			} else 
			if(this.mode == 'ip')
			{
				var url = new simpleajax.dbconnection();
					url.mode = this.mode;
			} else 
			if(this.mode == 'php')
			{	
				var str = String(query).split('?');	
				this.arguments = str[0];
				this.secondarguments = str[1];
				this.ajaxquery();	
			}
			
			if(this.mode != 'php') this.ajaxquery(url.html());	
			simpleajax.cache[this.prefix] = this;
		}
	
		this.ajaxquery = function(url) 
		{
			var obj = this;
			var result = function()
			{
				if (xmlRequestObj.readyState == 4 && (xmlRequestObj.status == 200 || xmlRequestObj.status == 304))
				{	
					obj.result = new Array();
					var type = false;	
					
					if(obj.mode == 'sql')
					{	
						eval(xmlRequestObj.responseText);
						obj.result = result;
					} else if(obj.mode == 'selectrowbyvalue')
					{
						eval(xmlRequestObj.responseText);
						return true;
					} else {
						obj.result = String(xmlRequestObj.responseText);
					}
					obj.afterEvent(obj);
				}
			}
			
			
			var xmlRequestObj = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
				xmlRequestObj.onreadystatechange = result;	
			
			if(this.mode == 'php')
			{		
					xmlRequestObj.open("POST",this.arguments,true);
					xmlRequestObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
					xmlRequestObj.send(this.secondarguments);
					
			} else {
				xmlRequestObj.open("POST",this.relativePath+'singlequery.php',true);
				xmlRequestObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xmlRequestObj.send(url);
			}
		}		
	}
}

var setrating = new simpleajax.obj('a');
var viewrating = new simpleajax.obj('b');
var viewcookie = new simpleajax.obj('c');
var setcookie = new simpleajax.obj('d');

var viewFavChan = new simpleajax.obj('e');
var addFavChan = new simpleajax.obj('f');
var delFavChan = new simpleajax.obj('g');


setrating.mode = 'php';
viewrating.mode = 'php';

viewcookie.mode = 'php';
setcookie.mode = 'php';



function ajax_showTooltip(rate,channelId)
{

	if(!rate) return false;
	if(!channelId) return false;
	viewcookie.get('cookie.php?mode=view&channelId='+channelId);
	viewcookie.afterEvent = function()
	{
		if(viewcookie.result != 'existe')
		{						
			setcookie.afterEvent = function()
			{
				setrating.get('insert_rate.php?value='+rate+'&channelId='+channelId);
				setrating.afterEvent = function(o)
				{	
					viewrating.get('view_rate.php?id='+channelId);
					viewrating.afterEvent = function()
					{
						eval(viewrating.result);
						var obj = document.getElementById('rating_count');
							if(obj) obj.innerHTML = result.count;
						likevid.ranking.showStart(result.value,'ranking_table_show');	
					}		
				}	
			}
			setcookie.get('cookie.php?mode=add&channelId='+channelId+'&rate='+rate);
		} else setcookie.afterEvent = new Function();
	}
}
viewFavChan.mode = 'php';
addFavChan.mode = 'php';
delFavChan.mode = 'php';

function ajax_addfavchannel(channelId,catId,name)
{
	if(!channelId) return false;
	addFavChan.get('favchannel.php?mode=add&channelId='+channelId+'&catId='+catId+'&name='+escape(name));
	addFavChan.afterEvent = function()
	{
		ajax_viewfavchannel();	
	}
}
function ajax_delfavchannel(channelId)
{
	if(!channelId) return false;
	delFavChan.get('favchannel.php?mode=del&channelId='+channelId);
	delFavChan.afterEvent = function()
	{
		ajax_viewfavchannel();	
	}
}
function ajax_viewfavchannel()
{
	
	viewFavChan.get('favchannel.php?mode=view');
	viewFavChan.afterEvent = function()
	{
		eval(viewFavChan.result);

		var win = window;
		
		var favchans = win.document.getElementById('favchans');
		var value = false;
		var html = '';
		while(list_channels.length > 0)
		{
			obj = list_channels.pop();
			if(obj.id != 0)
			{
				html+= '<div style="clear:both;"><div style="float:right; padding-right:3px;"><a href="javascript:ajax_delfavchannel('+obj.id+');"><font color="#666666">x</font></a></div>';
				
			
			  if(obj.catId < 0)
			  {
				html+= '';
			  }				
			  else if(obj.catId > 1 && obj.catId < 500)
			  {
				html+= '<a href=\'javascript:loadFrame("channel.php?channelId='+obj.id+'&catId='+obj.catId+'")\'>'+obj.value+'</a></div>';
			  }
			  else
			  {
				html+= '<a href=\'javascript:loadFrame("channelw.php?channelId='+obj.id+'&catId='+obj.catId+'")\'>'+obj.value+'</a></div>';  
			  }
						
			}
		}
		if (html == '') {

			html = 'No items added';
		}

		if (favchans != null)
    favchans.innerHTML = html;
	}
}



function ajax_positionTooltip(inputObj)
{
	var leftPos = (ajaxTooltip_getLeftPos(inputObj) + inputObj.offsetWidth);
	var topPos = ajaxTooltip_getTopPos(inputObj);
	
	
	var tooltipWidth = document.getElementById('ajax_tooltip_content').offsetWidth +  document.getElementById('ajax_tooltip_arrow').offsetWidth; 
		
	ajax_tooltipObj.style.left = leftPos + 'px';
	ajax_tooltipObj.style.top = topPos + 'px';	
	
	
}




function ajax_hideTooltip()
{
	ajax_tooltipObj.style.display='none';
}

function ajaxTooltip_getTopPos(inputObj)
{		
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function ajaxTooltip_getLeftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
  }
  return returnValue;
}