var AJAX = '/ajax/ajax.php';

function getkey(e)
{
	if (window.event)
		return window.event.keyCode;
	else if (e)
		return e.which;
	else
		return null;
}
function inputIdentificat(e)
{
	var key, keychar;
	key = getkey(e);
	
	if (key == null) return true;

	// deshabilita l'enter i fa que cerci les relacionades
	if ( key==13 )
	{
		usuari_identificar();
		return false;
	}

	return true;
}
function inputIdentificatComentaris(e)
{
	var key, keychar;
	key = getkey(e);
	
	if (key == null) return true;

	// deshabilita l'enter i fa que cerci les relacionades
	if ( key==13 )
	{
		usuari_identificar_comentari();
		return false;
	}

	return true;
}

function usuari_identificar()
{
	if ( $('#ipt-usuari').val() != "" && $('#ipt-contrasenya').val() != "" )
	{
		var usuari = $('#ipt-usuari').val();
		var contrasenya = $('#ipt-contrasenya').val();
		$('#div-usuari').css("display", "none")
		
		var recordar = $('recordar');
		
		if( recordar.checked )
			var recordar = true;
		else
			var recordar = false;
		
		$.getJSON( AJAX, { usuari_form: usuari, contrasenya_form: contrasenya, recordar: recordar, accio: 'identificar' },
		function( resposta )
		{
			if( resposta['resultat'] == true )
			{
				var SAFECHARS = "0123456789" + // Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()"; // RFC2396 Mark characters
				var HEX = "0123456789ABCDEF";
		
				var encoded = "";
				var usuari = resposta['usuari'];
				
				for (var i = 0; i < usuari.length; i++ )
				{
					var ch = usuari.charAt(i);
					if (ch == " ")	{ 
						encoded += "+"; // x-www-urlencoded, rather than %20
					} else if (SAFECHARS.indexOf(ch) != -1) {
						encoded += ch;
					} else {
						var charCode = ch.charCodeAt(0);
						encoded += "%";
						encoded += HEX.charAt((charCode >> 4) & 0xF);
						encoded += HEX.charAt(charCode & 0xF);
					}
				}
		
				location.href = "http://www.jornal.cat/usuari/"+ encoded;
			}
			else if( resposta['resultat'] == 'error-usuari' )
			{
				$('#div-usuari').css("display", "block")
				$('#div-usuari').addClass("error-text");
				$('#div-usuari').html( 'Usuari incorrecte' );
			}
			else if( resposta['resultat'] == 'error-contrasenya' )
			{
				$('#div-usuari').css("display", "block")
				$('#div-usuari').addClass("error-text");
				$('#div-usuari').html( 'Contrasenya incorrecte' );
			}
		});
	}
	else
	{
		$('#div-usuari').css("display", "block")
		$('#div-usuari').addClass("error-text");
		$('#div-usuari').html( 'Has deixat alguna dada en blanc' );
	}
}



function usuari_identificar_comentari ()
{
	if ( $('#ipt-usuari_comentari').val() != "" && $('#ipt-contrasenya_comentari').val() != "" )
	{
		usuari = $('#ipt-usuari_comentari').val();
		contrasenya = $('#ipt-contrasenya_comentari').val();
		$('#div-usuari_comentari').css("display", "none")
		
		var recordar = $('#recordar').val();

		$.getJSON( AJAX, { usuari_form: usuari, contrasenya_form: contrasenya, recordar: recordar, accio: 'identificar' },
		function( resposta )
		{
			if( resposta['resultat'] == true )
			{
				$('#usuari_anonim').css("display", "none")
				$('#usuari_identificat').css("display", "block")
				$('#identificat').val( 'true' );
			}
			else if( resposta['resultat'] == 'error-usuari' )
			{
				$('#div-usuari_comentari').css("display", "block")
				$('#div-usuari_comentari').addClass("error-text");
				$('#div-usuari_comentari').html( 'Usuari incorrecte' );
			}
			else if( resposta['resultat'] == 'error-contrasenya' )
			{
				$('#div-usuari_comentari').css("display", "block")
				$('#div-usuari_comentari').addClass("error-text");
				$('#div-usuari_comentari').htm( 'Contrasenya incorrecte' );
			}
		});
	}
	else
	{
		$('#div-usuari_comentari').css("display", "block")
		$('#div-usuari_comentari').addClass("error-text");
		$('#div-usuari_comentari').html( 'Has deixat alguna dada en blanc' );
	}
}



function usuari_usuari ()
{
	if ( $('#usuari').val() != "" )
	{
		var usuari = $('#usuari').val();
		$('#div-usuari').css("display", "none")
		
		$.post( AJAX, { usuari: usuari, accio: 'comprovar_usuari' },
		function( resposta )
		{
			if( resposta == 'true' )
			{
				$('#usuari').addClass("usuari-error");
				$('#div-usuari').css("display", "block")
				$('#div-usuari').addClass("error-text");
				$('#div-usuari').html( "Usuari no disponible" );
			}
			else
			{
				$('#usuari').addClass("usuari");
				$('#div-usuari').css("display", "block")
				$('#div-usuari').addClass("correcte-text");
				$('#div-usuari').html( "Usuari disponible" );
			}
		});
	}
	else
	{
		$('#usuari').addClass("usuari-error");
		$('#div-usuari').css("display", "block")
		$('#div-usuari').addClass("error-text");
		$('#div-usuari').html( "No ho pots deixar en blanc" );
	}
}



function usuari_email () {

	if ( $('#email').val() != "" && echeck( $('#email').val() ) )
	{
		$('#email').addClass("usuari");
		$('#div-email').css("display", "none")
	}
	else
	{
		$('#email').addClass("error-error");
		$('#div-email').css("display", "block")
		$('#div-email').addClass("error-text");
		$('#div-email').html( "El correu electrònic no és correcte" );
	}
}

function usuari_contrasenya ( id_camp ) {

	if ( $('#'+id_camp).val() == "" )
	{
		$('#'+id_camp).addClass='usuari-error';
		$('#div-'+id_camp).css("display", "block")
		$('#div-'+id_camp).addClass("error-text");
		$('#div-'+id_camp).html( 'No pots deixar la contrasenya en blanc' );
	}
	else if ( id_camp == "contrasenya2" )
	{
		if ( $('contrasenya1').val() != $('contrasenya2').val() )
		{
			$('#contrasenya1').addClass("usuari-error");
			$('#contrasenya2').addClass("usuari-error");
			$('#div-contrasenya2').css("display", "block")
			$('#div-contrasenya2').addClass("error-text");
			$('#div-contrasenya2').html( 'Les contrasenyes no són iguals' );
		}
		else
		{
			$('#contrasenya1').addClass("usuari");
			$('#contrasenya2').addClass("usuari");
			$('#div-contrasenya1').css("display", "none")
			$('#div-contrasenya2').css("display", "none")
		}
	}
	else
	{
		$('#div-contrasenya1').css("display", "none")
		$('#div-contrasenya2').css("display", "none")
	}
}


function votar()
{
	var enq = $("input[@name='enq']:checked").attr("value");
  	if( enq )
	{
		$.getJSON( AJAX, { id_enquesta_opcio: enq, accio: 'votar' },
		function( resposta )
		{
			var vots = 0;
			vots = parseInt( vots );
				
 			$('#enquesta-opcions').fadeOut("slow", function()
 			{
				$(this).empty();

				for(var i = 0; i < resposta.opcions.length; i++)
				{
					tmp = parseInt( resposta.opcions[i].vots );
					vots = tmp + vots;
					afegeixOpcio(resposta.opcions[i].id_element, resposta.opcions[i].titol, resposta.opcions[i].width1, resposta.opcions[i].percentatge, i, enq);
				}

				html = '<div class="llegenda"><img src="img/icones/vots.gif" alt="Vots" /> <span id="enquesta-vots">'+ vots +'</span> vots <a href="enquesta/'+ resposta.uri  +'#comentaris"><img src="img/icones/comentari_blau_fosc.gif" alt="Comentaris" /> '+ resposta.comentaris +'</a></div></div>';

				$('#enquesta-opcions').append( html );
				$('#enquesta-opcions').fadeIn("slow",function(){animateResults();});
			});
		});
	}
	else
	{
		alert("Has de seleccionar una opció!");
		return false;
	}
}


function afegeixOpcio(id, titol, width1, percentatge, i, enq)
{
	var html = '';

	if( enq == id )
		html += '<label for="enq_opt'+id+'"><strong>'+titol+'</strong></label><br />\n'
	else
		html += '<label for="enq_opt'+id+'">'+titol+'</label><br />\n'
	
	html += '<div class="enq_barra" style="width: 0%;"></div>\n';
	html += '<div class="enq_percent">'+ percentatge +'%</div>\n';
	html += '<br class="p" /><br />\n';
			
	$('#enquesta-opcions').append( html );
}

function animateResults()
{
  $("#enquesta-opcions div.enq_barra").each(function()
  {
      var percentage = $(this).next().text();
      $(this).css({width: "0%"}).animate({width: percentage}, 'slow');
  });
}

function inscriure( accio )
{
	var email = $("#email-titulars").val();

	if( email )
	{
		if( !echeck( email ) )
		{
			alert("El correu electrònic que has posat és incorrecte");
			return false;
		}

		if( $('#acc_hora:checked').val() ) 
			opcio = 'hora';
		else
			opcio = 'dia';
		
		if( accio == 'alta' ) accio = 'inscriure_alta';
		if( accio == 'baixa' ) accio = 'inscriure_baixa';
				
		$.getJSON( AJAX, { email: email, opcio: opcio, accio: accio },
		function( resposta )
		{
			if( resposta.exit == 'true' ) $("#inscriure-formulari").empty();
			
			$("#inscriure-text").html( resposta.text );
		});
	}
	else
	{
		alert("Falta posar el teu correu electrònic");
		return false;
	}
}



function enviar_comentari()
{
	var error = false;
	var error_text = '';
	var id_article;
	var nom;
	var tmp;
	var email;
	var comentari;
	var poblacio = "";
	var url = "";
	
	var id_article = $('#id_article').val();
	var lloc = $('#lloc').val();
	var identificat = $('#identificat').val();
	
	if( $('#color').val() )
		var color = $('#color').val();
	
	if( identificat == 'false' )
	{
		if( $("#email").val() ) return false;

		if( $("#nom").val() )
		{
			$("#nom").removeClass("comentari-error");
			$("#nom").addClass("comentar-"+color);
			var nom = $("#nom").val();
		}
		else
		{
			$("#nom").addClass("comentari-error");
			$("#nom").removeClass("comentari-"+color);
			error_text += "<li>Has de posar el teu nom</li>\n";
			error = true;
		}
		
		if( $("#ae").val() )
		{
			var ae = $("#ae").val();
	
			if( echeck( ae ) )
			{
				$("#ae").removeClass("comentari-error");
				$("#ae").addClass("comentari-"+color);
			}
			else
			{
				$("#ae").addClass("comentari-error");
				$("#ae").removeClass("comentari-"+color);
				error_text += "<li>El correu elctrònic que has posat és erroni</li>\n";
				error = true;
			}
		}
		else
		{
			$("#ae").addClass("comentari-error");
			$("#ae").removeClass("comentari-"+color);
			error_text += "<li>Has de posar el correu electrònic</li>\n";
			error = true;
		}
	}
	else
	{
		var nom = '';
		var email = '';
	}
	
	if( $("#comentari").val() )
	{
		var comentari = $("#comentari").val();
		$("#comentari").removeClass("comentari-error");
		$("#comentari").addClass("comentari-"+color);
	}
	else
	{
		$("#comentari").addClass("comentari-error");
		$("#comentari").removeClass("comentari-"+color);
		error_text += "<li>Has d'escriure un comentari</li>\n";
		error = true;
	}
		
 	if( !error )
	{
		$("#comentari-formulari").html( '<img src="/img/icones/loader.gif" alt="loader" style="margin: 100px 0px 100px 250px" />' );
		$.post( AJAX, { id_article: id_article, lloc: lloc, nom: nom, email: ae, comentari: comentari, accio: 'enviar_comentari' },
		function( resposta )
		{
			$("#comentari-error").css("display", "")
			$("#comentari-formulari").fadeOut("slow");
			
			if( identificat == "true" )
				$("#comentari-enviat_usuari").fadeIn("slow");
			else
				$("#comentari-enviat_anonim").fadeIn("slow");
		});
	}
	else
	{
		$("#comentari-error").fadeIn("slow");
		$("#comentari-error").html( "<ul>" + error_text + "</ul>");
	}
}

function genera_comentaris( pagina, id_article, lloc )
{
 	if( pagina && id_article )
	{
		$("#comentaris-cnt").html( '<img src="/img/icones/loader.gif" alt="loader" style="margin: 100px 0px 100px 250px" />' );
		$.post( AJAX, { id_article: id_article, pagina: pagina, lloc: lloc, accio: 'genera_comentaris' },
		function( resposta )
		{
			$("#comentaris-cnt").html( resposta );
			window.location.hash = "comentaris";
		});
	}
	else
	{
		alert("Error inesperat!");
	}
	
}
function veure_comentari( id_comentari, lloc )
{
 	if( id_comentari )
	{
		$.post( AJAX, { id_comentari: id_comentari, lloc: lloc, accio: 'veure_comentari' },
		function( resposta )
		{
			$("#comentari-cnt-" + id_comentari ).html( resposta );
		});
	}
	else
	{
		alert("Error inesperat!");
	}
}
function limitacio( numero, id_article, lloc )
{
 	if( numero && id_article && lloc )
	{
		$("#comentaris-cnt").html( '<img src="/img/icones/loader.gif" alt="loader" style="margin: 100px 0px 100px 250px" />' );
		$.post( AJAX, { numero: numero, accio: 'limitacio' },
		function()
		{
			genera_comentaris( "1", id_article, lloc );
		});
	}
	else
	{
		alert("Error inesperat!");
	}
}


function echeck(str)
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1)
		return false;

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		return false;

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		return false;

	if (str.indexOf(at,(lat+1))!=-1)
		return false;

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		return false;

	if (str.indexOf(dot,(lat+2))==-1)
		return false;

	if (str.indexOf(" ")!=-1)
		return false;

	return true;
}


enviarEmail = {
	init : function( id_article, lloc ){
		enviarEmail.buildOverlay( id_article, lloc );

		// Display the current position
		$('div.popup span.currentText').html('<span>' + enviarEmail.setPosition + '</span>' + '/' + enviarEmail.setCount);

		enviarEmail.center();

		$('div.popup #fullResContainer').hide();
		$('.loaderIcon').show();
		
		// Need that small delay for the anim to be nice
		setTimeout('enviarEmail.show()',500);
		
		
		$('div.popupOverlay').css({
			'height':$(document).height(),
			'width':$(window).width()
		});
		
		$(window).scroll(function(){ enviarEmail.center(); });
		$(window).resize(function(){ enviarEmail.center(); })
	},
	center : function(){
		//Make sure the gallery is open
		if($('div.popup').size() > 0){
			
			scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0;
			scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || 0;
			
			$('div.popup').css({
				'top': ($(window).height()/2) + scrollTop - ($('div.popup').height()/2),
				'left': ($(window).width()/2) + scrollLeft - ($('div.popup').width()/2)
			});
		};
	},
	show : function(){
		$('.loaderIcon').hide();
		$('div.popup #fullResContainer').fadeIn('fast');
	},
	buildOverlay : function( id_article, lloc ){
		// Build the background overlay div
		backgroundDiv = "<div class='popupOverlay'></div>";
		$('body').append(backgroundDiv);
		$('div.popupOverlay').css('height',$(document).height());
		$('.popupOverlay').bind('click',function(){
			enviarEmail.close();
		});
		
		// Basic HTML
		html = '<div class="popup popup_email"><div class="top"><div class="left"></div><div class="middle"></div><div class="right"></div></div><div class="content_email"><div class="loaderIcon"></div><div id="fullResContainer">';
		
		html += '		<h4 class="blau_cel">Enviar article</h4>\n';
		html += '		<input type="hidden" id="id_article" value="'+ id_article +'" />\n';
		html += '		<label for="nom_e">Nom del destinatari</label>\n';
		html += '		<input id="nom_e" type="text" value="" name="nom" />\n';
		html += '		<br class="p" />\n';
		html += '		<label for="email_e">Correu electrònic del destinatari</label>\n';
		html += '		<input id="email_e" type="text" value="" name="email" />\n';
		html += '		<br class="p" />\n';
		html += '		<label for="r_nom">El teu nom</label>\n';
		html += '		<input id="r_nom" type="text" value="" name="r_nom" />\n';
		html += '		<br class="p" />\n';
		html += '		<label for="r_email">El teu correu</label>\n';
		html += '		<input id="r_email" type="text" value="" name="r_email" />\n';
		html += '		<br class="p" />\n';
		html += '		<label for="comentari">Comentari</label>\n';
		html += '		<textarea id="comentari" name="comentari"></textarea><br /><br />\n';
		html += '		<input type="hidden" id="url_enviar" value="'+ lloc  +'" />\n';
		html += '		<div style="float: left; width: 100px"><input type="image" src="img/icones/enviar_blau.gif" onclick="enviarEmail.enviar()" style="border: none; background-color: transparent; width: 62px" /></div>\n';
		html += '		<div style="float: right; width: 100px; padding-top: 10px"><a onclick="enviarEmail.close()"><img src="/img/icones/tancar.gif" alt="tancar" /></a></div><br class="p" /></div></div><div class="bottom"><div class="left"></div><div class="middle"></div><div class="right"></div></div></div>';		
		$('body').append(html);

		// Then fade it in
		$('div.popupOverlay').css('opacity',0);
		$('div.popupOverlay').fadeTo('fast',0.35, function(){
			$('div.popup').fadeTo('fast',1,function(){
				// To fix an IE bug
				$('div.popup').attr('style','left:'+$('div.popup').css('left')+';top:'+$('div.popup').css('top')+';');
			});
		});
	},
	resize : function(width,height){
		// Get the container size, to resize the holder to the right dimensions
		containerHeight = contentHeight + parseFloat($('div.popup .top').height()) + parseFloat($('div.popup .bottom').height());
		containerWidth = parseFloat($('div.popup .content_email').css("padding-left")) + parseFloat($('div.popup .content_email').css("padding-right"));
		
		var newWidth = width;
		var newHeight = height;
		
		if((containerWidth + width) > $(window).width() || (containerHeight + height) > $(window).height()) {
			// Get the original geometry and calculate scales
			var xscale=(width+containerWidth + 100)/$(window).width();
			var yscale=(height+containerHeight + 100)/$(window).height();
		
			// Recalculate new size with default ratio
			if (yscale>xscale){
				newWidth = Math.round(width * (1/yscale));
				newHeight = Math.round(height * (1/yscale));
			} else {
				newWidth = Math.round(width * (1/xscale));
				newHeight = Math.round(height * (1/xscale));
			};
		};

		// Get the container size, to resize the holder to the right dimensions
		containerHeight += newHeight;
		contentHeight += newHeight;
		containerWidth += newWidth;
	
		return {
			width:newWidth,
			height:newHeight
		};
	},
	close : function(){
		$('div.popup').fadeTo('fast',0, function(){
			$('div.popupOverlay').fadeTo('fast',0, function(){
				$('div.popupOverlay').remove();
				$('div.popup').remove();
			});
		});
	},
	enviar : function(){
		var email = $("#email_e").val();
		var nom = $("#nom_e").val();
		var r_email = $("#r_email").val();
		var r_nom = $("#r_nom").val();
		var comentari = $("#comentari").val();
		var id_article = $("#id_article").val();
		var url_enviar = $("#url_enviar").val();
		
		
		if( email != '' )
		{
			html = '<div class="enviarAmic"><div class="top"><div class="left"></div><div class="middle"></div><div class="right"></div></div><div class="content_email"><div class="loaderIcon"></div><div id="fullResContainer">';
			html += '<img src="/img/icones/loader.gif" alt="loader" style="margin: 150px 0px 100px 125px" />';
			html += '<br class="p" /></div></div><div class="bottom"><div class="left"></div><div class="middle"></div><div class="right"></div></div></div>';
			$(".popup").html( html );
			
			$.post( AJAX, { email: email, nom: nom, r_email: r_email, r_nom: r_nom, id_article: id_article, url_enviar: url_enviar, comentari: comentari, accio: 'enviar_art' },
			function( resposta )
			{
				// Basic HTML
				html = '<div class="enviarAmic"><div class="top"><div class="left"></div><div class="middle"></div><div class="right"></div></div><div class="content_email"><div class="loaderIcon"></div><div id="fullResContainer">';
				html += '<h4 class="blau_cel">S\'ha enviat correctament el missatge</h4>\n';
				html += '<br class="p" /></div></div><div class="bottom"><div class="left"></div><div class="middle"></div><div class="right"></div></div></div>';
				
				$('.popup').html(html);
				$('.popup .content_email').css({height: "25px"})
				
				setTimeout('enviarEmail.close()',3000)
			});
		}
		else
		{
			alert("Has de posar un correu de destí com a mínim");
		}
	}
}


function axesor( seccio )
{
	if( seccio == 'societats' )
	{
		$('#societats_tab').removeClass("inactiu");
		$('#societats_tab').addClass("actiu");
		$('#no_mercantils_tab').removeClass("actiu");
		$('#no_mercantils_tab').addClass("inactiu");
		$('#negocis_tab').removeClass("actiu");
		$('#negocis_tab').addClass("inactiu");

		$('#societats').css("display", "block");
		$('#no_mercantils').css("display", "none");
		$('#negocis').css("display", "none");
	}
	else if( seccio == 'no_mercantils' )
	{
		$('#societats_tab').removeClass("actiu");
		$('#societats_tab').addClass("inactiu");
		$('#no_mercantils_tab').removeClass("inactiu");
		$('#no_mercantils_tab').addClass("actiu");
		$('#negocis_tab').removeClass("actiu");
		$('#negocis_tab').addClass("inactiu");

		$('#societats').css("display", "none");
		$('#no_mercantils').css("display", "block");
		$('#negocis').css("display", "none");
	}
	else if( seccio == 'negocis' )
	{
		$('#societats_tab').removeClass("actiu");
		$('#societats_tab').addClass("inactiu");
		$('#no_mercantils_tab').removeClass("actiu");
		$('#no_mercantils_tab').addClass("inactiu");
		$('#negocis_tab').removeClass("inactiu");
		$('#negocis_tab').addClass("actiu");

		$('#societats').css("display", "none");
		$('#no_mercantils').css("display", "none");
		$('#negocis').css("display", "block");
	}
}




function generaCodi()
{
	var ample = document.getElementById("ample").value;

	if( ample < 150 )
	{
		alert( "L'amplada no potser més petita de 150 pixels" )
	}
	else
	{
		document.getElementById("codi").value='<script language="javascript" src="http://www.jornal.cat/titulars.php?ample='+ ample +'"></script>';
	}
}

function valors()
{
	$('#grafica').html( '<img src="/img/icones/loader.gif" alt="loader" style="margin: 100px 0px 0px 80px" />' );
	
	var valor = $("#codi_valor").val();
 	var valor_html = $("#codi_valor :selected").text();

	if( valor == 'ibex35' )
	{
			html = '<iframe id="Ibex" width="195" height="283" noresize="" scrolling="no" frameborder="no" src="http://www.infobolsa.es/web/Page/172/FV/I IB/Ibex35"></iframe>';
			$('#grafica').html( html );	
	}
	else
	{
		$.post( AJAX, { valor: valor, valor_html: valor_html, accio: 'valors' },
		function( resposta )
		{
			html = '<iframe id="valores" width="195" height="283" noresize="" scrolling="no" frameborder="no" src="http://www.infobolsa.es/web/Page/172/FV/'+ valor +'/'+ valor_html +'">'+ resposta +'</iframe>';
			$('#grafica').html( html );
		});
	}
}