// Tooltips
this.tooltip = function(){	
		xOffset = 10;
		yOffset = 20;		
	$(".tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip'><em></em>"+ this.t +"</p>");
		
		var elemWidth = $("#tooltip").get(0).offsetWidth;
		var windowWidth = $('body').get(0).offsetWidth;
		var cssTop = e.pageY - xOffset;
		var cssLeft = e.pageX + yOffset;
		
		if(cssLeft+elemWidth > windowWidth) {
			$("#tooltip")
				.css("top",cssTop + "px")
				.css("left",(cssLeft-elemWidth-35) + "px")
				.css("opacity", 0.9)
				.fadeIn("fast")
				.addClass("left")
				.removeClass("right");
		} else {		
			$("#tooltip")
				.css("top",cssTop + "px")
				.css("left",cssLeft + "px")
				.css("opacity", 0.9)
				.fadeIn("fast")
				.addClass("right")
				.removeClass("left");
		}
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$("a.tooltip").mousemove(function(e){
									  
		var elemWidth = $("#tooltip").get(0).offsetWidth;
		var windowWidth = $('body').get(0).offsetWidth;
		var cssTop = e.pageY - xOffset;
		var cssLeft = e.pageX + yOffset;
		
		if(cssLeft+elemWidth > windowWidth) {
			$("#tooltip")
				.css("top",cssTop + "px")
				.css("left", (cssLeft-elemWidth-35) + "px")
				.css("opacity", 0.9)
				.fadeIn("fast")
				.addClass("left")
				.removeClass("right");
		} else {		
			$("#tooltip")
				.css("top",cssTop + "px")
				.css("left",cssLeft + "px")
				.css("opacity", 0.9)
				.fadeIn("fast")
				.addClass("right")
				.removeClass("left");
		}
		
		//$('#debug').html(windowWidth+" "+elemWidth);
									  
		/*$("#tooltip")
			.css("top",cssTop + "px")
			.css("left",cssLeft + "px");*/
	});			
};

	// Twitter
	function gettwitt(user) {
		$.getJSON('http://api.twitter.com/1/users/show.json?screen_name='+user+'&callback=?', function(data) {
			var txt = data.status.text
	      .replace(/(https?:\/\/[-a-z0-9._~:\/?#@!$&\'()*+,;=%]+)/ig,'<a href="$1">$1</a>')
	      .replace(/@+([_A-Za-z0-9-]+)/ig, '<a href="http://twitter.com/$1">@$1</a>')
	      .replace(/#+([_A-Za-z0-9-]+)/ig, '<a href="http://search.twitter.com/search?q=$1">#$1</a>');
			$('#tabs').before('<div id="tweet" class="tweet graphtip right"><em></em>'+txt+' <small><a href="http://twitter.com/'+user+'">Via Twitter</a></small></div>');

	});

	};

$(document).ready(function(){

	// Alertas
	setTimeout('$("#alerta").fadeOut();',3000);

	// Tooltips
	tooltip();

	// Spoilers
	$('.spoiler span').click(function(){
		$(this).css("color","#000");
	});

	// Tabs
	$('#tabs div').hide();
	if(window.location.hash != '') {
		//alert($('#tabs a[href=\\#redactar]').length);
		$('#tabs a[href=\\'+window.location.hash+']').parent().addClass('active');
		$(window.location.hash).show();
	} else {
		$('#tabs div:first').show();
		$('#tabs .menu li:first').addClass('active');
	}
	$('#tabs .menu li a').click(function(){
		$('#tabs .menu li').removeClass('active');
		$(this).parent().addClass('active');
		var currentTab = $(this).attr('href');
		$('#tabs div').hide();
		$(currentTab).show();
		return false;
	});
	
	// Agregar a lista
	$('#botonlista').bind('click', function(e) {
		$('#boxlista').fadeIn();	return false;
	});

	// Cerar Overlay
	$('.overlay .cerrar').bind('click', function(e) {
		$('.overlay').fadeOut("fast"); return false;
	});
	

	// Editar perfil
	$('.editarperfil').bind('click', function(e) {
		$('#perfil').slideToggle("fast"); return false;
	});

});

function rankFilterProcess() {
	var year = document.getElementById('year');
	var genre = document.getElementById('genre');
	
	var redir = '/rankings';
	
	if(year.value != '') {
		redir += '/'+year.value;
	}
	
	if(genre.value != '') {
		redir += '/'+genre.value;
	}
		
	window.location.href = redir+'/';
	
}

	// Surrounds the selected text with text1 and text2.
	function surroundText(text1, text2, textarea)
	{
		// Can a text range be created?
		if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
		{
			var caretPos = textarea.caretPos, temp_length = caretPos.text.length;
	
			caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;
	
			if (temp_length == 0)
			{
				caretPos.moveStart("character", -text2.length);
				caretPos.moveEnd("character", -text2.length);
				caretPos.select();
			}
			else
				textarea.focus(caretPos);
		}
		// Mozilla text range wrap.
		else if (typeof(textarea.selectionStart) != "undefined")
		{
			var begin = textarea.value.substr(0, textarea.selectionStart);
			var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
			var end = textarea.value.substr(textarea.selectionEnd);
			var newCursorPos = textarea.selectionStart;
			var scrollPos = textarea.scrollTop;
	
			textarea.value = begin + text1 + selection + text2 + end;
	
			if (textarea.setSelectionRange)
			{
				if (selection.length == 0)
					textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
				else
					textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
				textarea.focus();
			}
			textarea.scrollTop = scrollPos;
		}
		// Just put them on the end, then.
		else
		{
			textarea.value += text1 + text2;
			textarea.focus(textarea.value.length - 1);
		}
	}
	
	function storeCaret(textEl) {
		if (textEl.createTextRange) { 
			textEl.caretPos = document.selection.createRange().duplicate();
		}
	}

function buttonProcess(elem,button) {
	var tag = '';
	switch(button) {
		case 'bold': tag1 = '[b]'; tag2 = '[/b]'; break;
		case 'italic': tag1 = '[i]'; tag2 = '[/i]'; break;
		case 'spoiler': tag1 = '[spoiler]'; tag2 = '[/spoiler]'; break;
		case 'url': tag1 = '[url]'; tag2 = '[/url]'; break;
	}
	surroundText(tag1,tag2, elem);
}

var ajaxProcess = function(data,textStatus) {
	if(textStatus == 'success') {
		if(data.message && data.message != '') {
			alert(data.message);
		}
	}
}

function ajaxRequest(action,params) {
	$.post('/ajax/ajax-server.php?action='+action,params,ajaxProcess,'json');
}

function setYoutube(id) {
	swfobject.embedSWF("http://www.youtube.com/v/"+id+"?color1=0xffffff&color2=0xffffff&rel=0", "flashcontent", 600, 370, '9');
}

function filmFilterForm(frm) {
	var url = '';
	if(frm.genero.value != '') {
		url += '/genero/'+frm.genero.value;
	}
	
	/*if(frm.desde.value != '' && frm.desde.value == frm.hasta.value) {
		url += '/year/'+frm.desde.value;
	} else {	*/
		if(frm.desde.value != '') {
			url += '/year/'+frm.desde.value;
		}
		
		if(frm.hasta.value != '') {
			if(frm.desde.value != '') {
				url += '-'+frm.hasta.value;
			} else {
				url += '/year/-'+frm.hasta.value;
			}
		}
	//}
	
	if(frm.pais.value != '') {
		url += '/pais/'+frm.pais.value;
	}
	
	var order = document.getElementById('order');
	
	if(order != null && order.value != '') {
		url += '/orden/'+order.value;
	}
	
	window.location.href = url+'/';
	
	return false;
	
}

var inviteForm = '';

function sendInvite(frm) {
	$.post("/registro/",$(frm).serialize());
	$("#invitetext").children().fadeOut();
	$("#email").attr("value","");
	inviteForm = $(frm).html();
	$(frm).html("<p><strong>¡Gracias por invitar a un amigo!</strong>. <a href='#' onclick='$(\"#inviteForm\").html(inviteForm); return false;'>¡Invita a otro amigo!</a>:</p>");
}

function enviarContacto(elem) {
	out = document.getElementById('contactContainer');
	oldform = out.innerHTML;
	params = {'nombre': elem.nombre.value,'email': elem.email.value,'mensaje': elem.mensaje.value, 'referer': elem.referer.value, 'asunto': elem.asunto.value};
	out.innerHTML = '<img src="/img/ajax-loader.gif" />';	
	page('contactContainer','/ajax/contactarprocess.php',params,enviarOk,'POST');		
	
}

function enviarOk(oXML) {
		elem = document.getElementById('contactContainer');
		elem.innerHTML = oXML.responseText;
}

function retry() {
	elem = document.getElementById('contactContainer');
	elem.innerHTML = oldform;
	
}

function chatsend(frm) {
	if(frm.comment.value == '') {
		alert('¡El mensaje no puede estar vacío!');
	} else {
		$('#chatForm input[type=submit]').attr('disabled',true);
		$.post('/ajax/chat-nuevo.php',$(frm).serialize(),function(data) {
			if(data['result']) {
				$('#chat').prepend(data['item']);
			} else {
				alert('Se ha producido un error al enviar el mensaje.');				
			}
			$('#chatForm input[type=submit]').attr('disabled',false);
			$('#comment').val('');
		},'json');
	}
}

function textlimit(elem,length) {
	if(elem.value.length >= length) {
		elem.value = elem.value.substring(0,length);
	}
	$('#charleft').html(length-elem.value.length);
	return true;
}
		


