var get_req;
var post_req;
var element;
var elements;

if (navigator.appName=="Netscape") {
	document.write("<style type='text/css'>body {overflow-y:scroll;}<\/style>");
}


function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

function doNothing() { }

var get_req;
var post_req;
var element;

function get_inc(url, params){
	try {
		get_req = new XMLHttpRequest();
	} catch(e) {
		get_req = new ActiveXObject("Microsoft.XMLHTTP")
	};

	get_req.onreadystatechange = GRH;
	get_req.open("GET", url + params, true);
	get_req.send(null);
}

function post_inc(url, params, formid) {
	var parameters = serialize(formid);
	try {
		post_req = new XMLHttpRequest();
		post_req.overrideMimeType('text/html');
	} catch(e) {
		post_req = new ActiveXObject("Microsoft.XMLHTTP")
	}

	post_req.onreadystatechange = PRH;
	post_req.open('POST', url + params, true);
	post_req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	post_req.setRequestHeader("Content-length", parameters.length);
	post_req.setRequestHeader("Connection", "close");
	post_req.send(parameters);
}

function serialize(formid) {
	var query = '';
	var tail = '';

	for (i = 0; i < $(formid).elements.length; i++) {
		element = $(formid).elements[i];

		switch (element.type) {

			case 'text':
			case 'hidden':
			case 'password':
			case 'textarea':
			case 'select-one':
				query += element.name + '=' + encodeURIComponent(element.value) + '&'
			break;

			case 'select-multiple':
				var isSet = false;
				for(var j = 0; j < element.options.length; j++) {
					var current = element.options[j];
					if(current.selected) {
						query += element.name + '=' + encodeURIComponent(current.value) + '&';
					}
				}
			break;

			case 'radio':
				if (element.checked) {
					query += element.name + '=' + encodeURIComponent(element.value) + '&'
				}
			break;

			case 'checkbox':
				if (element.checked) {
					query += element.name + '=' + encodeURIComponent(element.value);
					query += '&';
					tail = element.name;
				}
			break;

		}
	}
	query = query.substr(0, query.length - 1);
	return query;
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp(".*" + className + ".*");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function Scale(image) {
	if (image.width > 500) {
		image.height = Math.round(((500)/image.width)*image.height);
		image.width = 500;
		image.title = "Preview";
		image.setAttribute("onclick", "Preview(this);");
		image.style.cursor = "pointer"; 
	}
}

function Preview(image) {
	document.getElementById('lightbox').innerHTML = "<a onclick=\"Return();\"><img src=\"" + image.src + "\" /></a>";
	document.getElementById('curtain').style.display = "block";
	document.getElementById('lightbox').style.display = "block";
}

function BrowseScale(image,width) {
	
		image.height = Math.round(((width)/image.width)*image.height);
		image.width = width;
		image.title = "Preview";
		image.setAttribute("onclick", "BrowsePreview(this);");
		image.style.cursor = "pointer"; 
	
}

function BrowsePreview(image) {
	document.getElementById('lightbox').innerHTML = "<a onclick=\"Return();\"><img src=\"" + image.src + "\" /></a>";
	document.getElementById('curtain').style.display = "block";
	document.getElementById('lightbox').style.display = "block";
}

function Return() {
	document.getElementById('lightbox').style.display = "none";
	document.getElementById('curtain').style.display = "none";
	document.getElementById('lightbox').innerHTML = "";
}

function Bookmark() {
	var url = document.location.href;
	var end = (url.indexOf("?") == -1) ? url.length : url.indexOf("?");
	switch (url.substring(url.lastIndexOf("/")+1, end)) {
		case 'torrents.php': var sort = '0'; break;
		case 'requests.php': var sort = '1'; break;
		case 'forums.php': var sort = '2'; break;
		default: var sort = '3';
	}
	$('lightbox').innerHTML = '<div id="bookmarkbox"><h2>New Bookmark</h2><p>' + document.title + '</p><form id="bookmark" method="post"><input type="hidden" name="title" value="' + document.title + '" /><input type="hidden" name="sort" value="' + sort + '" /><input type="hidden" name="uri" value="' + url + '" /><p>' + url + '</p><div class="center"><input type="button" value="Add Bookmark" onclick="Save_Bookmark()" class="formbutton" onmouseover="this.className=\'formbutton formbuttonhov\'" onmouseout="this.className=\'formbutton\'"/><input type="button" value="Cancel" onclick="Return()" class="formbutton" onmouseover="this.className=\'formbutton formbuttonhov\'" onmouseout="this.className=\'formbutton\'"/></div></form></div>';
	$('curtain').style.display = "block";
	$('lightbox').style.display = "block";
}




function Save_Bookmark() {
	var parameters = serialize('bookmark');
    try {
        bookmarkreq = new XMLHttpRequest();
        bookmarkreq.overrideMimeType('text/html');
    } catch(e) {
        bookmarkreq = new ActiveXObject("Microsoft.XMLHTTP")
    }

	bookmarkreq.onreadystatechange = function() {
	    if (bookmarkreq.readyState == 4 && bookmarkreq.status == 200) {
			$('lightbox').style.display = "none";
			$('curtain').style.display = "none";
			$('lightbox').innerHTML = "";
		}
	};

    bookmarkreq.open('POST', 'bookmarks.php?action=add', true);
    bookmarkreq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    bookmarkreq.setRequestHeader("Content-length", parameters.length);
    bookmarkreq.setRequestHeader("Connection", "close");
    bookmarkreq.send(parameters);
}






/*function Save_Bookmark() {
	var parameters = serialize('bookmark');
    try {
        bookmark = new XMLHttpRequest();
        bookmark.overrideMimeType('text/html');
    } catch(e) {
        bookmark = new ActiveXObject("Microsoft.XMLHTTP")
    }

	bookmark.onreadystatechange = function() {
	    if (bookmark.readyState == 4 && bookmark.status == 200) {
			$('lightbox').style.display = "none";
			$('curtain').style.display = "none";
			$('lightbox').innerHTML = "";
		}
	};
	bookmark.open('POST', 'bookmarks.php?action=add', true);
    bookmark.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    bookmark.setRequestHeader("Content-length", parameters.length);
    bookmark.setRequestHeader("Connection", "close");
    bookmark.send(parameters);
}
*/
/*-- Starting a global display swapper with uber options to handle all the different types NOT FINISHED --*/

function toggleDisplay(elem,opts) {
	if ($(opts['prefixParent'])) {
		if (!opts['prefixElemType']) { opts['prefixElemType']="*"; }
		elems=getElementsByClassName(elem,opts['prefixElemType'],$(opts['prefixParent']));
		elem=elems[0];

	} else { elems=""; }

	if ($(elem).className && $(elem).className.match(/(^| )hide$/)) {
		$(elem).className=$(elem).className.substr(0,$(elem).className.length-5);
		if (opts['hideText'] && $(opts['masterElem'])) { $(opts['masterElem']).innerHTML=opts['hideText']; }
	} else {
		$(elem).className=$(elem).className+' hide';
		if (opts['showText'] && $(opts['masterElem'])) { $(opts['masterElem']).innerHTML=opts['showText']; }
	}
	newClass=$(elem).className;

	for(s=0; s<elems.length; s++) { elems[s].className=newClass; }

	return false;
}

function toggleChecks(formElem,masterElem) {
	if (masterElem.checked) { checked=true; } else { checked=false; }
	for(s=0; s<$(formElem).elements.length; s++) {
		if ($(formElem).elements[s].type=="checkbox") {
			$(formElem).elements[s].checked=checked;
		}
	}
}






function ToggleUserInfo() {

	if ($('userinfo').style.display == "none") {
		ShowUserInfo();
	} else {
		HideUserInfo();
	}

}



function HideUserInfo() {
	document.getElementById('userinfo').style.display = "none";
	document.getElementById('userinfo_toggle').setAttribute("src", "img/userinfobutton_down.png");
	document.getElementById('userinfo_toggle').setAttribute("alt", "Mostrar User Bar");
	document.getElementById('userinfo_toggle').setAttribute("title", "Mostrar User Bar");
	//document.body.style.paddingTop = "10px";
	
	createCookie('td-userbar','hidden',365);
	
	if (document.getElementById('toolbar') != null ) {
			document.getElementById('toolbar').style.display = "none";
			//document.body.style.paddingBottom = "10px";
	}
}

function ShowUserInfo() {
	document.getElementById('userinfo').style.display = "block";
	document.getElementById('userinfo_toggle').setAttribute("src", "img/userinfobutton_up.png");
	document.getElementById('userinfo_toggle').setAttribute("alt", "Ocultar User Bar");
	document.getElementById('userinfo_toggle').setAttribute("title", "Ocultar User Bar");
	//document.body.style.paddingTop = "36px";
	
	createCookie('td-userbar','visable',365)
	
	if (document.getElementById('toolbar') != null ) {
			document.getElementById('toolbar').style.display = "block";
			//document.body.style.paddingBottom = "36px";
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

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

function eraseCookie(name) {
	createCookie(name,"",-1);
}

