// JavaScript Document

	function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) 
		return c.substring(nameEQ.length,c.length);
	}
	return 0;
}

function friend(x)
{
var passwd = readCookie('pass');
var username = readCookie('username');
var user_id = readCookie('userid');

if(!passwd == 0 && !username == 0)
{
document.getElementById('login').innerHTML = 'Welcome back <b>'+ username +'</b>,&nbsp;<a href="/myprofile.php?id='+user_id+'">My profile</a>,&nbsp;<a href="/login/logout.php">Logout</a>';
}
else
{
document.getElementById('login').innerHTML = '<a href="/login/login.php?page='+x+'">Login</a>&nbsp;or&nbsp;<a href="/login/register_form.php">Register</a>';
}
}


//Declaration of global variables

var _ad;          //Scrolling banner element
var _adTop;       //Original vertical position of div#ad-right
var _maxScroll;   //Space between the top of the document and the place where the ad should stop scrolling (the top of the div#footer)
var _lastPos = 0; //Last value returned by function pos()


function init() {

 if(document.getElementById('adv_right')) 
 {
  //Define the variables
  _ad = document.getElementById('adv_right');
  _adTop = _ad.offsetTop;
  _maxScroll = document.getElementById('main').offsetHeight + _adTop - _ad.offsetHeight;

  //Checks if the page is long enough for a scrolling ad
  if(_maxScroll > _adTop)
   adScroll();

 }
}


function pos() { //Returns current vertical position on page (for scrolling ad)

 if(window.innerHeight)
  return window.pageYOffset;

 if(document.documentElement && document.documentElement.scrollTop)
  return document.documentElement.scrollTop;

 if(document.body)
  return document.body.scrollTop;

 return 0;

}


function adScroll(){ //Recursive function, changes the position of the scrolling ad

 if(_lastPos != pos()) {

  _lastPos = pos();

  if(pos() < _maxScroll && pos() > _adTop)
   _ad.style.top = pos() + 'px';

  else if(pos() < _maxScroll)
   _ad.style.top = _adTop + 'px';

  else _ad.style.top = _maxScroll + 'px';

 }

 setTimeout('adScroll()', 10);

}


window.onresize = function() { //Relocate the ad when the browser window resizes

 if(_ad) {

  _adTop = document.getElementById('main').offsetTop;
  _maxScroll = document.getElementById('main').offsetHeight + _adTop - _ad.offsetHeight;

 }

}


//XHTMLHTTPREQUEST
		  
function Ajaxify(target, method, url, param, slideIt, loadImage, shoWait) {

if(shoWait != 0)
{
document.getElementById(target).innerHTML = shoWait;	
}


if(loadImage != 0)
{
document.getElementById(loadImage).innerHTML = '<img src="/images/loading.gif"/>';
}

/*
	Find Correct XMLHTTP Connection	*/ 
if(!window.XMLHttpRequest) 
{
 window.XMLHttpRequest = function() 
 {
  var types = [
   'Microsoft.XMLHTTP',
   'MSXML2.XMLHTTP.5.0',
   'MSXML2.XMLHTTP.4.0',
   'MSXML2.XMLHTTP.3.0',
   'MSXML2.XMLHTTP'
  ];
  for(var i = 0; i < types.length; i++) {
   try {
    return new ActiveXObject(types[i]);
   } catch(e) {}
  }
  return false;
 };
}
  
/*
	Create Socket	*/
NewRequest = new XMLHttpRequest();
NewRequest.open(method, url, true);
NewRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
NewRequest.send(param); 


NewRequest.onreadystatechange = function() 
{

if (NewRequest.readyState == 4) 
{
if (NewRequest.status == 200) 
{

if(loadImage != 0)
{
document.getElementById(loadImage).innerHTML = '';
}

if(slideIt != 0)
{
var comment = new Fx.Slide(target, {duration: slideIt}).hide();
}
document.getElementById(target).innerHTML = unescape(NewRequest.responseText);
if(slideIt != 0)
{
comment.toggle();
}
}
	
else
{
document.getElementById(target).innerHTML = 'Ajax Error';
}
}
   
};
}


//SEARCH FORM VALIDATION
//search

function php_urlencode(str) 
{
  str = escape(str);
  return str.replace(/[*+\/@]|%20/g,
  function (s) 
  {
    switch (s) 
	{
      case "*": s = "%2A"; break;
      case "+": s = "%2B"; break;
      case "/": s = "%2F"; break;
      case "@": s = "%40"; break;
      case "%20": s = "+"; break;
    }
	  
    return s;
  }
  );
}
//---
function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
//--- 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
//--- 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
//---
document.onkeydown = checkKeycode
function checkKeycode(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
if(keycode == 13 && document.forms[0].term.value != ""){
checkSearchForm(document.forms[0]);
return false;
}
}

//---
function ucwords(str) {
    // Uppercase the first character of every word in a string  
    // 
    // version: 1004.1212
    // discuss at: http://phpjs.org/functions/ucwords    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Waldo Malqui Silva
    // +   bugfixed by: Onno Marsman
    // +   improved by: Robin
    // *     example 1: ucwords('kevin van zonneveld');    // *     returns 1: 'Kevin Van Zonneveld'
    // *     example 2: ucwords('HELLO WORLD');
    // *     returns 2: 'HELLO WORLD'
    return (str + '').replace(/^(.)|\s(.)/g, function ($1) {
        return $1.toUpperCase();    });
}

//---
function checkSearchForm(form)
{
 if(form.term.value == "")
 {
  alert("Fill out the entire form. Please try again");
  form.term.focus();
 } 
 else
 { 
   var terms = form.term.value;
   terms = terms.toLowerCase();
   terms = trim(terms);
   terms = php_urlencode(terms); 
   window.location.href = "torrents.php?term=" + terms;  
 }
}

//UPLOAD FORM VALIDATION

function checkUploadForm(form)
{
	if(form.torrent.value == "")
	{
	  alert("Field 'torrent file' empty. Please try again");
	  return false;
	}
	else 
	{
		var startChar = form.torrent.value.lastIndexOf(".");
		
		if(startChar == -1)
		{
			alert("This file is not a torrent file.Please try again.");
			return false;
		}
		else
		{
			var fileType = form.torrent.value.substring(startChar);
			
			if(fileType != ".torrent")
			{
				alert("This file is not a torrent file.Please try again.");
				return false;
			}
		}
	}
	
	if(form.filename.value == "")
	{
		alert("Field 'torrent name' empty. Please try again.");
		return false;
	}
	
	if(form.type.options[form.type.selectedIndex].value == "")
	{
	  alert("Choose a category. Please try again.");
	  return false;
	}
	
	if(!form.reg[0].checked && !form.reg[1].checked)
	{
	  alert("Informed the database about the tracker. Please try again.");
	  return false;
	}
}

//advanced search
/*
function call_adv_search()
{
	document.getElementById("tod_yest").innerHTML = "<a href=\"javascript:void(0)\" onclick=\"close_adv_search();\"><b>Close advanced search</b></a>";
	document.getElementById("adv_search").style.display = "block";
}

function close_adv_search()
{
  document.getElementById("adv_search").style.display = "none";
  document.getElementById("tod_yest").innerHTML = "<a href=\"javascript:void(0);\" onclick=\"javascript:call_adv_search();\"><b>Advanced search</b></a>";
}
*/
//CHANGE CONTENT WITHIN SHADOW ELEMENTS 

function transport_lyrics()
{
	  
  var text =document.getElementById("text_det_left").innerHTML;
  
  document.getElementById("shadow_up").innerHTML = text;
}
	
//------------------
var displayStep = 10;
var transparencyLevel = 0;
var id_timerA;

function shadow_t()
{
	var elem_categ = document.getElementById("shadow");
	elem_categ.style.display = "block";
	/*
	if(browser.indexOf("msie") != -1)//IE
	{
	  transparencyLevel += displayStep;
	  elem_categ.filters["alpha"].opacity = transparencyLevel;
	  
	  if(transparencyLevel >= 80)
	  {
	    clearInterval(id_time_adv_search);
		displayStep = 10;
		transparencyLevel = 0;
	  }
	}
	else
	{*/
	  transparencyLevel += displayStep / 100;
	  elem_categ.style.opacity = transparencyLevel;
	  
	  if(transparencyLevel >= 0.8)
	  {
	    clearInterval(id_timerA);
		displayStep = 10;
		transparencyLevel = 0;
	  }
	//}
	//alert('kkk');
}

function call_lyrics()
{
	id_timerA = setInterval("shadow_t()", 50);
}

function close_lyrics()
{
 if(transparencyLevel > 0)
 {
	 //do nothing
 }
 else
 {
  document.getElementById("shadow").style.display = "none";
 }
}

// spinners 

function spinners(z)
{
  imgObj = document.getElementById('img_'+z);
  divObj = document.getElementById(z);
  //alert(escape(imgObj.innerHTML));
  if(escape(imgObj.innerHTML) == '%u2192')
  {
	imgObj.innerHTML = "&darr; &nbsp;";
	divObj.style.display = "block";
  }
  else
  {
	imgObj.innerHTML = "&rarr;";
	divObj.style.display = "none";
  }
}

//-----

function hideBlockContent(y)
{
  spanObj_a = document.getElementById("sp2");
  spanObj_b = document.getElementById("sp1")
  
  if(y == 'more')
  {
	spanObj_a.style.display = "block";
	spanObj_b.style.display = "none";
  }
  else
  {
	spanObj_a.style.display = "none";
	spanObj_b.style.display = "block";
  }
}

//---

function lyricsTools(z)
{
  var elem = document.getElementById("text_det_left");
	
  switch(z)
  {
	case "bold":
	elem.style.fontWeight = "bold"; 
	break;
	case "left":
	elem.style.textAlign = "left";
	break;
	case "middle":
	elem.style.textAlign = "center";
	break;
	case "right":
	elem.style.textAlign = "right";
	break;
	default:
	elem.style.fontWeight = "normal";
	elem.style.textAlign = "left";
	elem.style.color = "#000";
	elem.style.backgroundColor = "#F6F6F6";
	break;
  }
}

//----

function onlyLyricsTools(z)
{
  var elem = document.getElementById("onL");
	
  switch(z)
  {
	case "bold":
	elem.style.fontWeight = "bold"; 
	break;
	case "left":
	elem.style.textAlign = "left";
	break;
	case "middle":
	elem.style.textAlign = "center";
	break;
	case "right":
	elem.style.textAlign = "right";
	break;
	default:
	elem.style.fontWeight = "normal";
	elem.style.textAlign = "center";
	elem.style.color = "#000";
	elem.style.backgroundColor = "#EAEAEA";
	break;
  }
}