/**
 * @author cmoreno
 */

function encontrar(id) {
	if ($('ul.titulares').find('div.cuerpo-' + id).hide().end().find('.noti-' + id + '.contraer')) {
		$('ul.titulares').find('div.cuerpo-' + id).hide().end().find('.noti-' + id + '.contraer').click(function(e){
		alert('.noti-' + id + ' si');
			$('div.cuerpo-'+id).slideToggle();	
			$('.noti-' + id + '.contraer').toggleClass('mostrar');
			$('.noti-' + id + '.mostrar').removeClass('contraer');
			e.preventDefault();
		});	
	}		
}

if (Drupal.jsEnabled) {		
  $(document).ready(function () {  		
	
    //hide the all of the element with class msg_body
     $("div.det_not").hide();
    //toggle the componenet with class msg_body
    $(".boton_desp").click(function(){
		var cId = $(this).attr('id').split('-');
		$('#prv-'+cId[1]).slideToggle(100);
		if($(this).hasClass('open')){
			$(this).removeClass('open').addClass('close');
		}
		else{
			$(this).removeClass('close').addClass('open');
		}
	});
	
	
	$("#guardados .nombre_mes a").click(function(){
		var cId = $(this).attr('id').split('-');
		$('#content-'+cId[1]).slideToggle(600);
		if($(this).hasClass('open')){
			$(this).removeClass('open').addClass('close');
		}
		else{
			$(this).removeClass('close').addClass('open');
		}
	});
	
	
	if($('.comment-form').length > 0){
		var oForm = $('.comment-form form').get(0);
		manageNodeForm(oForm.id);
	}	
	
		if($('#node-form').length > 0){		
		var oForm = $('#node-form').get(0);
		manageNodeForm(oForm.id);
	}	
				
	if($('enviar').length > 0){		
		var oForm = $('.enviar form').get(0);
		manageForwardForm(oForm.id);
	}
	
	if ($('#forward-form').length > 0) {
		var oForm = $('#forward-form').get(0);
		manageNodeForward(oForm.id);
	}
		
	
	if(Lightbox && $('body').hasClass('front')){
		var customShowData = {showData : function(){ // overwrite native method just for lightmodal
			$('#loading').hide();
			Lightbox.updateDetails();
			var src = unescape(Lightbox.imageArray[Lightbox.activeImage][0]);
	        if (Lightbox.imageArray[Lightbox.activeImage][4]) {
	        	$(src).appendTo("#modalContainer");
	        }
	        else {
	        	$("#modalContainer").load(src,function(){
					// enviar amigo
					if($("#modalContainer form").length > 0){
						var oForm = $("#modalContainer form").get(0);
						if(oForm.id.indexOf('forward-form') != -1){ // it's a forward form
							manageForwardForm(oForm.id);
						}
					}
					// compartir noticia
					if ($("#modalContainer #compartir").length > 0) {
						$("#modalContainer #compartir ul a").click(function(e){
							var cUrl = this.href;
							e.preventDefault();
							Lightbox.end();
							setTimeout(function(){
								location.href = cUrl;
							},1000);
						});
					}
				});
	        }
	        $('#modalContainer').unbind('click');
			$('#modalContainer').css({'zIndex': '10500'}).show();
			Lightbox.inprogress = false;
			// Adjust the page overlay size.
		    var arrayPageSize = Lightbox.getPageSize();
		    var arrayPageScroll = Lightbox.getPageScroll();
		    var pageHeight = arrayPageSize[1];
		    if (Lightbox.isZoomedIn && arrayPageSize[1] > arrayPageSize[3]) {
		      var lightboxTop = (Lightbox.topPosition == '' ? (arrayPageSize[3] / 10) : Lightbox.topPosition) * 1;
		      pageHeight = pageHeight + arrayPageScroll[1] + lightboxTop;
		    }
		    $('#overlay').css({'height': pageHeight + 'px', 'width': arrayPageSize[0] + 'px'});
		}}
		jQuery.extend(Lightbox,customShowData);
	}
	
	if($('#compartir').length > 0) {
		$('#handler-Ntooltip').hover(
			function(){
				var x = $('#handler-Ntooltip').position().left + 12;
				var y = $('#handler-Ntooltip').position().top + 8;
				$('#Ntooltip').css({'left':x,'top':y}).show();	
			},
			function(){
				$('#Ntooltip').hide();
			}
		);
		$('#Ntooltip').hover(
			function(){
				$(this).show();	
			},
			function(){
				$(this).hide();
			}
		);
	}
	
		$('div.suscribir').find('div.rss_options_news').hide().end().find('#rss-noticia').click(function(e) {
		$("div.rss_options_news").slideToggle();
		$("#rss-noticia").toggleClass("mostrar");
		e.preventDefault();
		});
		
   	$('div.datos').find('#editar_perfil').click(function() {	  
		 $('div.idn_frases').slideToggle();		
	  	 $('#editar_perfil').hide();	 		 
	 });
	
	 if ($('#idn-blog-update-form').length > 0) {		 	
		var oForm = $('#idn-blog-update-form').get(0);
			manageUpdateForm(oForm.id);
	}
  
	$('div.idn_frases').find('.cancelar_perfil').click(function() {
  		$('div.idn_frases').slideToggle();
	 	$('#editar_perfil').show();
	})	;

	$('div.envio_noticia').find('div.envio_form').hide().end().find('#forward').click(function(e) {	
      $('div.envio_form').slideToggle();	
	  $('#forward').toggleClass("close");
	  e.preventDefault();	  
    });
		
	$('#rss-toggle a').click(function(e) {
		$("#rss_options_news").slideToggle();
		$(this).toggleClass("close");
		e.preventDefault();
	});
	
	$('#rss-toggle2 a').click(function(e) {
		$("#rss_options_comments").slideToggle();
		$(this).toggleClass("close");
		e.preventDefault();
	});
	
	$('.envio_form #forward').click(function() {
		$(".envio_form").slideToggle();
		$(this).toggleClass("close");
	});
	
	$('div.aldia').find('#rss_options_blog').hide().end().find('#rss-toggle2').click(function() {
		$("#rss_options_blog").slideToggle();
		$("a#rss-toggle2").toggleClass("mostrar");
	});
		
	$('div.noticia-bottom').find('#envio_noticia').hide().end().find('#envio_form').click(function() {
		$("#envio_form").slideToggle();
		$("a#envio_form ").toggleClass("close");
		});  
		
	$('div.share').find('#share-news').hide().end().find('#comparte').click(function() {
		$("#share-news").slideToggle();
		$("a#comparte").toggleClass("mostrar");
		});  									
});	
}

/**
 * 
 * esto aún no es aplicable porq la variable manageupdate no es posible usarlo 
 * 
 */
var manageUpdateForm= function (cFormId){
	var oForm = $('.'+cFormId);
	var oTextarea = $('#edit-name',oForm);	
	var oCharsCont = $('#left_chars',oForm);
	var limit = Number(oCharsCont.html());
	var oErrorMsg = '';  
	if(oTextarea.val().length > 0){
		oCharsCont.html(((limit - oTextarea.val().length) > 0)? (limit - oTextarea.val().length) : '0');
	}
	oTextarea.keyup(function(e){
		var result = limit - oTextarea.val().length;
		oCharsCont.html((result > 0)? result : '0');
		if (oTextarea.val().length >= limit) {
			oTextarea.val(oTextarea.val().slice(0, limit));
		}
		e.preventDefault();
	});
}	
	
var manageNodeForm= function (cFormId){
	var oForm = $('.'+cFormId);
	var oTextarea = $('textarea',oForm);
	var oCharsCont = $('#left_chars',oForm);
	var limit = Number(oCharsCont.html());
	var oErrorMsg = '';  
	if(oTextarea.val().length > 0){
		oCharsCont.html(((limit - oTextarea.val().length) > 0)? (limit - oTextarea.val().length) : '0');
	}
	oTextarea.keyup(function(e){
		var result = limit - oTextarea.val().length;
		oCharsCont.html((result > 0)? result : '0');
		if (oTextarea.val().length >= limit) {
			oTextarea.val(oTextarea.val().slice(0, limit));
		}
		e.preventDefault();
	});
}

var manageNodeForward= function (cFormId){
	var oForm = $('#'+cFormId);	
	var isLightBoxed = $('#lightbox').find('form[id="'+cFormId+'"]').length > 0;
	var oTextarea = $('textarea',oForm);
	var oCharsCont = $('#left_chars',oForm);
	var limit = Number(oCharsCont.html());
	var oErrorMsg = '';  
	if(oTextarea.val().length > 0){
		oCharsCont.html(((limit - oTextarea.val().length) > 0)? (limit - oTextarea.val().length) : '0');
	}
	oTextarea.keyup(function(e){
		var result = limit - oTextarea.val().length;
		oCharsCont.html((result > 0)? result : '0');
		if (oTextarea.val().length >= limit) {
			oTextarea.val(oTextarea.val().slice(0, limit));
		}
		e.preventDefault();
	});
	$('.form-item :input',oForm).click(function(){
		if($(this).parent().hasClass('field-error')){
			$(this).parent().removeClass('field-error')
		}
	});
	$(':submit',oForm).click(function(e){		
	});
		
}


var manageForwardForm = function(cFormId){	
	var reEmail = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
	var oForm = $('#'+cFormId);
	
	var isLightBoxed = $('#lightbox').find('form[id="'+cFormId+'"]').length > 0;
	var oTextarea = $('textarea',oForm);

	var oCharsCont = $('#left_chars',oForm);
	var limit = Number(oCharsCont.html());
	var oErrorMsg = '';  

	if(oTextarea.val().length > 0){
		oCharsCont.html(((limit - oTextarea.val().length) > 0)? (limit - oTextarea.val().length) : '0');
	}
	oTextarea.keyup(function(e){
		var result = limit - oTextarea.val().length;
		oCharsCont.html((result > 0)? result : '0');
		if (oTextarea.val().length >= limit) {
			oTextarea.val(oTextarea.val().slice(0, limit));
		}
		e.preventDefault();
	});
	$('.form-item :input',oForm).click(function(){
		if($(this).parent().hasClass('field-error')){
			$(this).parent().removeClass('field-error')
		}
	});
	$(':submit',oForm).click(function(e){


		//$('.class-submit',oForm).disable = true;
		$('#error-msg div').empty();
		oErrorMsg = '';
		var aElements = $('.form-item :input',oForm); 
		for(i=0;i<aElements.length;i++){
			var curElement = $(aElements[i]);
			if(jQuery.trim(curElement.val()).length == 0){
				var cLabelTxt = curElement.prev('label').html(); 
				var cTxt = (cLabelTxt.indexOf(',') != -1)? cLabelTxt.split(',')[0] : cLabelTxt;
				oErrorMsg += '<li>' + cLabelTxt + '</li>';
				curElement.parent().addClass('field-error');
				if(i==(aElements.length-1)) oErrorMsg += '</ul>';
			}
			else{
				if(curElement.attr('id').indexOf('email') != -1 && !jQuery.trim(curElement.val()).match(reEmail)){
					oErrorMsg += '<li>tu mail no es un mail válido</li>';
					curElement.parent().addClass('field-error');
					if(i == (aElements.length-1)) oErrorMsg += '</ul>';
				}
				else if(curElement.attr('id').indexOf('recipients') != -1){
						var cEmailChunks = curElement.val().split(',');
						$(cEmailChunks).each(function(){
							if(!jQuery.trim(cEmailChunks[i]).match(reEmail)){
								oErrorMsg += '<li>'+cEmailChunks[i]+' no es un mail válido</li>';
								curElement.parent().addClass('field-error');
							}
						});
						if(i==(aElements.length-1)) oErrorMsg += '</ul>';
				}
			}
		}
		
		if(oErrorMsg != ''){
			$('#error-msg div').html(oErrorMsg);
			var nExtraHeight = $('#error-msg').height() + 100;
			$('#outerImageContainer').height($('#outerImageContainer').height()+nExtraHeight);
			$('#modalContainer').height($('#modalContainer').height()+nExtraHeight);
			$('#error-msg').show();
			e.preventDefault();
		}
		else{
			$(this).val("enviando...");
			$(this).attr("disabled", "disabled");
			$('#error-msg').hide();

			if((isLightBoxed)){
				var cParams = oForm.serialize() + '&ajax=true';
				var cUrl = oForm.attr('action') + '?' + cParams;
				var aActionUrl = oForm.attr('action').split('/'); 
				var cNodeId = aActionUrl[aActionUrl.length-1];
				
				$.ajax({
					type: "GET",
					url: cUrl,
					dataType: "json",
					success: function(response){
						$(this).val("enviar a un amigo");
						$(this).removeAttr("disabled");
						var nExtraHeight = $('#error-msg').height() + 100;
						$('#outerImageContainer').height($('#outerImageContainer').height()-nExtraHeight);
						$('#modalContainer').height($('#modalContainer').height()-nExtraHeight);

						if(response.status == 'ok'){
							Lightbox.end();
							$('#prv-'+cNodeId).append(response.msg);
							setTimeout(function(){
								$('#enviado').fadeOut('slow');
							},5000);
						}
						else if(response.status == 'error'){
							$('#error-msg div').html(oErrorMsg);
							var nExtraHeight = $('#error-msg').height() + 100;
							$('#outerImageContainer').height($('#outerImageContainer').height()+nExtraHeight);
							$('#modalContainer').height($('#modalContainer').height()+nExtraHeight);

							$('#error-msg strong').html('se ha producido un error');
							//$('#error-msg strong').html(response.msg);
							$('#error-msg div').html('por favor, vuelve a intentarlo');
							$('#error-msg').show();
						}
						else if(response.status == 'error2'){
							$('#error-msg strong').html('se ha producido un error');
							//$('#error-msg strong').html(response.msg);
							$('#error-msg div').html('por favor, vuelve a intentarlo');
						}
					},
					error: function(xhrObj,textStatus){
						$('#error-msg strong').html('se ha producido un error');
						$('#error-msg div').html('por favor, vuelve a intentarlo');
						var nExtraHeight = $('#error-msg').height() + 100;
						$('#outerImageContainer').height($('#outerImageContainer').height()+nExtraHeight);
						
						$('#error-msg').show();
					}
				});
				
				e.preventDefault();
				$(this).val("enviar a un amigo");
				$(this).removeAttr("disabled");
			}	
		}
		
	});
}


