/**
 * @author MaTT
 */


//location
var i_location_action_arr;
var i_location_search = "";
var i_location_action = "";
var i_sublocation = "";
var seccion = "";
var seccionSingular = "";
var section = "";
var sectionSingle = "";
var menuActivo = 0;
var uploadSectionActive = 'fotos';


//menu
var menu_timeout = 1000;
var menu_activo = false;

function menu_close(){
	if (menu_activo) $("ul#busqueda_opciones").hide();
	menu_activo=false;
}

function simpleModal(title, htmlContent){
	modalBox.close();
	modalBox.title = title;
	modalBox.htmlContent = htmlContent;
	modalBox.buttonOK = "Ok";
	modalBox.buttonOkFunction = function(){modalBox.close();};
	modalBox.top='40%';
	modalBox.left='50%';
	modalBox.width='350px';
	modalBox.height='120px';
	modalBox.show();
}

function confirmModal(addtxt, okFnc){
	modalBox.close();
	modalBox.title = "Borrar";
	modalBox.htmlContent = mensaje_modal_inicio_Standard + "Seguro desea borrar "+addtxt+"? <br><br><input type='button' value='Si' id='borrar_btn_si'><input type='button' value='No' id='borrar_btn_no'></span>";
	modalBox.top='20%';
	modalBox.left='50%';
	modalBox.width='120px';
	modalBox.height='120px';
	modalBox.afterShow = function(){
	
		$("input#borrar_btn_si").click(function(){
				okFnc.apply();
		});
		$("input#borrar_btn_no").click(function(){modalBox.close();});
	};
	modalBox.show();
}

//modal data
var dataforuser;
var modal_register_data='';
var modalRegisterLoaded = false;
var modal_login_data='';
var modalLoginLoaded = false;
var modalLoaded = false;
var modal_fotos_data;
var fotos_upload_retry = false;
var modal_videos_data;
var videos_upload_retry = false;
var binds_for_add_resource = false;
var mensaje_modal_inicio_Standard = "<span style='font-size: 14px; text-align: center; width: 100%; display: block; margin-top:10px;'>";
var switching_between_tabs = false;
var modal_btn_close = "<input type='button' id='btn_cerrar' value='Ok' />";
var modalForUploadLoaded = '';
var proceedWithFunctionAfterEvent = "";

(function($){$.modal=function(data,options){return $.modal.impl.init(data,options);};$.modal.close=function(){$.modal.impl.close(true);};$.fn.modal=function(options){return $.modal.impl.init(this,options);};$.modal.defaults={overlay:50,overlayId:'modalOverlay',overlayCss:{},containerId:'modalContainer',containerCss:{},close:true,closeTitle:'Close',closeClass:'modalClose',persist:false,onOpen:null,onShow:null,onClose:null};$.modal.impl={opts:null,dialog:{},init:function(data,options){if(this.dialog.data){return false;}this.opts=$.extend({},$.modal.defaults,options);if(typeof data=='object'){data=data instanceof jQuery?data:$(data);if(data.parent().parent().size()>0){this.dialog.parentNode=data.parent();if(!this.opts.persist){this.dialog.original=data.clone(true);}}}else if(typeof data=='string'||typeof data=='number'){data=$('<div>').html(data);}else{if(console){console.log('SimpleModal Error: Unsupported data type: '+typeof data);}return false;}this.dialog.data=data.addClass('modalData');data=null;this.create();this.open();if($.isFunction(this.opts.onShow)){this.opts.onShow.apply(this,[this.dialog]);}return this;},create:function(){this.dialog.overlay=$('<div>').attr('id',this.opts.overlayId).addClass('modalOverlay').css($.extend(this.opts.overlayCss,{opacity:this.opts.overlay/100,height:'100%',width:'100%',position:'fixed',left:0,top:0,zIndex:3000})).hide().appendTo('body');this.dialog.container=$('<div>').attr('id',this.opts.containerId).addClass('modalContainer').css($.extend(this.opts.containerCss,{position:'fixed',zIndex:3100})).append(this.opts.close?'<a class="modalCloseImg '+this.opts.closeClass
+'" title="'+this.opts.closeTitle+'"></a>':'').hide().appendTo('body');if($.browser.msie&&($.browser.version<7)){this.fixIE();}this.dialog.container.append(this.dialog.data.hide());},bindEvents:function(){var modal=this;$('.'+this.opts.closeClass).click(function(e){e.preventDefault();modal.close();});},unbindEvents:function(){$('.'+this.opts.closeClass).unbind('click');},fixIE:function(){var wHeight=$(document.body).height()+'px';var wWidth=$(document.body).width()+'px';this.dialog.overlay.css({position:'absolute',height:wHeight,width:wWidth});this.dialog.container.css({position:'absolute'});this.dialog.iframe=$('<iframe src="javascript:false;">').css($.extend(this.opts.iframeCss,{opacity:0,position:'absolute',height:wHeight,width:wWidth,zIndex:1000,width:'100%',top:0,left:0})).hide().appendTo('body');},open:function(){if(this.dialog.iframe){this.dialog.iframe.show();}if($.isFunction(this.opts.onOpen)){this.opts.onOpen.apply(this,[this.dialog]);}else{this.dialog.overlay.show();this.dialog.container.show();this.dialog.data.show();}this.bindEvents();},close:function(external){if(!this.dialog.data){return false;}if($.isFunction(this.opts.onClose)&&!external){this.opts.onClose.apply(this,[this.dialog]);}else{if(this.dialog.parentNode){if(this.opts.persist){this.dialog.data.hide().appendTo(this.dialog.parentNode);}else{this.dialog.data.remove();this.dialog.original.appendTo(this.dialog.parentNode);}}else{this.dialog.data.remove();}this.dialog.container.remove();this.dialog.overlay.remove();if(this.dialog.iframe){this.dialog.iframe.remove();}this.dialog={};}this.unbindEvents();}};})(jQuery);
///////////////////////////////////////

var modalBox = {
	id: '1',
    title: '',
    htmlContent: '',
    buttonOK: '',
    buttonOkFunction:'',
    buttonCancel: '',
    buttonCancelFunction:'',
    buttonSubmit: '',
    buttonSubmitFunction:'',
    top:'',
    left: '',
    width: '', 
    height: '', 
	afterShow:'', 
	
	hideFront: function () {
		$('#confirmModalContainer').hide();
	},
	
    show: function () {
		if ($('div#confirm').html()=='') $(body).append("<div id='confirm' style='display:none'><p class='message'></p></div>");
		$('#confirm').modal({
			close:false, 
			overlayId:'confirmModalOverlay',
			containerId:'confirmModalContainer', 
			onOpen: function (dialog) {		
				dialog.overlay.fadeIn('fast', function () {
					dialog.container.fadeIn('fast', function () {
					  dialog.data.fadeIn('slow'); 
					});
				  });
			},
			onClose: function (dialog) {		
				dialog.data.fadeOut('slow', function () {
					dialog.container.fadeOut('fast', function () {
					  dialog.overlay.fadeOut('fast'); 
						$.modal.close();
					});
				  });
			},
			onShow: function (dialog) {		
				
				$("div.video div.bordes").hide();
				
				if (modalBox.top!='') $("div#confirmModalContainer").css("top", modalBox.top);
				if (modalBox.left!='') $("div#confirmModalContainer").css("left", modalBox.left);
				
				if (modalBox.width=="") modalBox.width="500";
				if (modalBox.width!='') {
					$("div#confirmModalContainer").css("width", modalBox.width);
					$("#confirmModalContainer a.modalCloseX").css("left", parseInt(modalBox.width)-20 + 'px');	
				}
				if (modalBox.height!='') {
					$("div#confirmModalContainer").css("height", modalBox.height);
						
				}

				if (modalBox.htmlContent.indexOf('<div id="contModal">')==-1){
					modalBox.htmlContent = '<div id="contModal">' + modalBox.htmlContent + '</div>';
				}
				
				
				dialog.data.find('.header span').empty().val('').html('').html(modalBox.title);
				dialog.data.find('.message').empty().val('').html('').html(modalBox.htmlContent);

				var tam = parseInt(dialog.data.find('#contModal').children(0).css('width'));
				
				tam = (tam<250)? 250:tam;
				tam+=10;
				dialog.data.find('#contModal').css('width', tam + 'px');
				$("#contModal").css("width", tam + 'px');
				
				//centrar siempre
				m_ref_pos = ($(window).width() - $("#contModal").width())/2; 
				m_ref_pos = (m_ref_pos<0)? 10 : m_ref_pos;
				$("#contModal").css("left", m_ref_pos + 'px');
				
				setTimeout(function(obj){
					if (!obj) obj = $("#contModal");
					if (obj) {
					var tam = parseInt(obj.children(0).css('width'));
					tam = (tam<250)? 250:tam;
					tam+=10;
					obj.css("width", tam + 'px');
					m_ref_pos = ($(window).width() - obj.width())/2; 
					m_ref_pos = (m_ref_pos<0)? 10 : m_ref_pos;
					obj.css("left", m_ref_pos + 'px');
					}
				}, 1000, $("#contModal"));

				if (jQuery.isFunction(modalBox.afterShow)){
					modalBox.afterShow.apply();
				}
				
				
			}
		});
		return false;
	},
	
	close: function (){
		$.modal.close();
		$("div.video div.bordes").show();
		
		
	}
	
};




 var destacados = {
    position: 0,
    secondsDelay: 10,
    state: 'play',
    data: [],
    destino: '#destacado',
    name: 'destacados',
    prefix: sectionSingle,
    _interval: null,
    seccionInterna: '',

    getAll: function () {
		
		this.prefix = "article";
		this.seccionInterna = "articulos";

      var params = urlParams2Obj ();
      var miObj = this;

	  var myparams = params._action;
	  myparams = this.prefix+ 's';

      $.get ('/destacados/', function (data) {
          miObj.getAll2 (data);
          miObj.cacheImages ();
        });
        
    },
    getAll2: function (data) {
      this.data = $('_regs _reg', data);
     
      this.show ();
      if (this.state == 'play')
        this._setInterval ();
    },
    show: function () {
      if (this.data.length > 0) {
        this.position = (this.position < 0? this.data.length - 1: this.position) % this.data.length;
        miObj = this;
        $(this.destino).fadeOut ('normal', function () { miObj._pass ();});
      }
    },
    _pass: function () {
      var id = $('id', this.data[this.position]).text ();
      var titulo = ($('titulo', this.data[this.position]).text ());
      var imagen = ($('imagen', this.data[this.position]).text ());//id + '.jpg';
      
      var descripcion = $('cuerpo', (this.data[this.position])).text ();
      var link = $('url', (this.data[this.position])).text ();

      $(this.destino + ' .titulo').html ('<a href="'+link+'" title="'+ titulo +'">'+ (titulo) +'</a>');
      $(this.destino + ' .imagen').html ('<a href="'+link+'" title="'+ titulo +'"><img class="foto" src="/uploaded/destacados/'+ imagen +'" alt="'+ titulo +'" border="0" /></a>');
      $(this.destino + ' .descripcion').html ((descripcion));
      
      $(this.destino).fadeIn ('fast');
    },
    _setInterval: function () {
      this._clearInterval ();
      this._interval = setInterval (this.name +'.next ();', this.secondsDelay * 1000);
    },
    _clearInterval: function () {
      clearInterval (this._interval);
    },
    cacheImages: function () {
      var html = '';
      this.data.each (function (key, value) {
        html += '<img src="uploaded/destacados/'+ $('imagen', value).text () +'" />';
      });
      $(this.destino + ' .images').html (html);
    },
    play: function () {
      this.state = 'play';
      this.next ();
      this._setInterval ();
    },
    pause: function () {
      this.state = 'pause';
      this._clearInterval ();
    },
    switchPlay: function () {
      if (this.state == 'pause')
        this.play ();
      else if (this.state == 'play')
        this.pause ();
    },
    next: function () {
      this.pause();
      this.position++;
      this.show ();
    },
    prev: function () {
		this.pause();
      this.position--;
      this.show ();
    }
  };

function destacadosNext () {
  destacados.next ();
}

function destacadosPreview () {
  destacados.prev ();
}

function destacadosPause () {
  destacados.switchPlay ();
}



function urlParams2Obj () {
  var params = i_location_search;
  if (params.indexOf ('?') == 0)
    params = params.substr (1);

  var arr = params.split ('&');
  var ret = {};
  var param;

  for (var i = 0; i < arr.length; i++) {
    param = arr[i].split ('=');
    ret[param[0]] = param[1];
  }
  return ret;
}
function realUrlParams2Obj () {
  var params = String(location.search);
  if (params=="" || params==undefined) params = String(location);
  
  params = params.substr (params.indexOf ('?')+1, params.length);

  var arr = params.split ('&');
  var ret = {};
  var param;

  for (var i = 0; i < arr.length; i++) {
    param = arr[i].split ('=');
    ret[param[0]] = param[1];
  }
  return ret;
}

function obj2UrlParams (params) {
  var ret = '';
  $.each (params, function (key, value) {
    if (value!="" & value!=undefined & key!='_action'){
		if (ret != '') ret += '&';
		ret += key + '=' + value;
	}
  });
  return ret;
}




/* Sistema de mensajeria */

/* Marca un mensaje como leido. */
function markRead(pmid) {
	/* Si pmid <> undefined, significa que la llamada a esta funcion viene de la vista de mensaje. */

	/* Ajax loader */
	$('#toolbar').append(getAjaxLoadingImg(35, 20));
	
	if (typeof pmid != 'undefined')
	{
		$.post('../includes/ajax_usermessages.php', { action : 'markread', pmid : pmid }, function (response) {
			if (response == 'OK')
			{
				window.location.href = '/mensajeria.php?a=inbox';
				removeAjaxLoadingImg();		
			}
		});

		return;
	}
	
	var selected_messages = new Array();

	$.each($('input[name="chk_pm"]'), function() {
		if ($(this).attr("checked")) {
		   selected_messages.push($(this).val());
		}
	});
   
   /* Rremover strong de los ul que marque como leidos. */
   $.each(selected_messages, function() { 
		$('#mensaje_' + this).removeClass('noleido');
		$('#mensaje_' + this).addClass('leido');
   });

	if (selected_messages.length > 0) 
	{	
		var list_pmids = selected_messages.join(',');
		
		$.post('../includes/ajax_usermessages.php', { action : 'markread', pmid : list_pmids }, function () {
			
			setCounter('mensajes'); 
			
			removeAjaxLoadingImg();
		});
	}
	else
	{
		removeAjaxLoadingImg();
		alert('Selecciona un mensaje.');
	}
}

/* Marca un mensaje como no leido */
function markUnread(pmid) {
	
	/* Ajax loader */
	$('#toolbar').append(getAjaxLoadingImg(35, 20));

	/* Si pmid <> undefined, significa que la llamada a esta funcion viene de la vista de mensaje. */
	if (typeof pmid != 'undefined')
	{
		$.post('../includes/ajax_usermessages.php', { action : 'markunread', pmid : pmid }, function (response) {
			if (response == 'OK')
			{
				window.location.href = '/mensajeria.php?a=inbox';				
				removeAjaxLoadingImg();				
			}
		});

		return;
	}
	
	var selected_messages = new Array();

	$.each($('input[name="chk_pm"]'), function() {
		if ($(this).attr("checked")) {
		   selected_messages.push($(this).val());
		}
	});
   
   // aplicar strong a los ul que marco como no leidos
   $.each(selected_messages, function() { 
		$('#mensaje_' + this).removeClass('leido');
		$('#mensaje_' + this).addClass('noleido');
   });

	if (selected_messages.length > 0) 
	{	
		var list_pmids = selected_messages.join(',');
		
		$.post('../includes/ajax_usermessages.php', { action : 'markunread', pmid : list_pmids }, function () {
																											
			setCounter('mensajes');
			
			removeAjaxLoadingImg();																											
		});
	}
	else
	{
		removeAjaxLoadingImg();
		alert('Selecciona un mensaje.');
	}
}

/* Funcion para controlar la seleccion de mensajes: ninguno, todos, leidos, no leidos. */
function selectAll(condition, element)
{
	if (condition == '' || element == '') return false;
	
	$('div[id^="'+element+'_"] ul li.checkbox input[type="checkbox"]').attr('checked', '');
	
	if (condition == 'none')
	{
		$('div[id^="'+element+'_"] ul li.checkbox input[type="checkbox"]').attr('checked', '');
		return false;
	}
	
	if (condition == 'all')
	{
		$('div[id^="'+element+'_"] ul li.checkbox input[type="checkbox"]').attr('checked', 'checked');
		return false;		
	}

	if (condition == 'selectallread')
	{
		$('div[id^="'+element+'_"].leido ul li.checkbox input[type="checkbox"]').attr('checked', 'checked');
	}
	
	if (condition == 'selectallunread')
	{
		$('div[id^="'+element+'_"].noleido ul li.checkbox input[type="checkbox"]').attr('checked', 'checked');
	}	
}


/* Muestra un modal para confirmar la eliminacion de un mensaje.
   
   Parametros:
   - from: desde donde vengo (inbox, outbox, cruz inbox/outbox, vista de mensaje inbox/outbox).
   - messageList: id o lista de ids que quiero eliminar.
*/

function confirmDeletion(from, messageList, element)
{
	if ( from == '' || element == '' )
	{
		return false;
	}
	
	var strFrom = new String(from);
	var htmlModal = '<h1 class="confirm_title">Confirmaci&oacute;n</h1><p class="facebox_content">&iquest;Est&aacute;s seguro que deseas eliminar el mensaje?</p><p class="confirm_button"><a href="javascript:pmDelete(\'' + strFrom.toLowerCase() + '\', \'idList\', true, \'' + element + '\');" title="Aceptar">Aceptar</a></p>';
	var error = false;

	var abrElement = '';
	
	switch ( element )
	{
		case 'mensaje':
			abrElement = 'pm';
			break;
		case 'notificacion': 
			abrElement = 'notif';
			break;
		case 'anuncio':
			abrElement = 'anuncio';
			break;
		default:
			abrElement = 'pm';
			break;
	}
			


	switch (strFrom.toLowerCase())
	{
		/* Para inboxlist u outboxlist, armo un array con la lista de mensajes separados por coma,
		   para despues pasarle a la funcion delete definitiva. 
			
		   Unicamente aqui se permite tener messageList = '', sino, muestra un error.
		*/
		
		case 'inboxlist':
		case 'outboxlist':
		case 'notiflist':
			var messageList = new Array();
			$.each($('input[name="chk_' + abrElement + '"]'), function() {
				if ( $(this).attr("checked") )
				{
				   messageList.push($(this).val());
				}
			});
			
			var messageID = messageList.join(',');
			
			if ( messageID.length < 1 )
			{
				alert('Selecciona uno o mas mensajes/notificaciones antes de hacer click en Eliminar');
				error = true;
				break;
			}
			
			break;
		
		case 'inboxcross':
		case 'outboxcross':
		case 'notifinboxcross':
			var messageID = parseInt(messageList);
			
			if ( messageID < 1 )
			{
				error = true;
				break;
			}
			
			break;
			
		case 'inboxview':
		case 'outboxview':
			var messageID = parseInt(messageList);

			if ( messageID < 1 )
			{
				error = true;
				break;
			}
			
			break;

		case 'notifview':
			break;
		default:
			alert('Error desconocido. Ponte en contacto con un Administrador del sitio.');
			error = true;
			break;
	}
	
	if ( !error )
	{
		htmlModal = htmlModal.replace(/idList/gi, messageID);
		$.facebox(htmlModal);
	}
	else
	{
		//alert('Se produjeron errores durante el proceso.');
		return;
	}
}

/* Elimina un mensaje. Realiza el llamado AJAX al backend para eliminacion.

   Parametros:
   - from: desde donde vengo (inbox, outbox, cruz inbox/outbox, vista de mensaje inbox/outbox).
   - messageList: id o lista de ids que quiero eliminar.

*/

function pmDelete(from, messageList, fB, element)
{
	if ( fB ) // Si vengo desde el fbox...
	{
		selectAll('none', element);
		$.facebox.close();
	}
	
	if ( from == '' || messageList == '' || messageList < 1 || element == '' )
	{
		return false;
	}
	
	if ( from == 'inboxlist' || from == 'inboxcross' || from == 'inboxview')
	{
		var flagAction = 'deleteto';
	}
	else if ( from == 'outboxlist' || from == 'outboxcross' || from == 'outboxview' )
	{
		var flagAction = 'deletefrom';
	}
	
	/* AJAX Loader */
	removeAjaxLoadingImg(); // ...por si ya estaba de antes / quedo colgado / whatever.
	$('#toolbar').append(getAjaxLoadingImg(40, 20));
	
	var strFrom = new String(from);
	
	switch (strFrom.toLowerCase())
	{
		case 'inboxlist':
		case 'outboxlist':
		case 'notiflist':
			/* En estos dos casos, messageList es un ID solo o una lista de ID's separadas por coma,
			   por lo que la convierto en un Array para despues procesarla con jQuery. */
			var arrIDList = new Array();
			arrIDList = messageList.split(',');
			
			$.each(arrIDList, function () {
				var $divMensajeID = $('#' + element + '_' + this);
				
			$divMensajeID
				.css('background-color', '#D4F5FF')
				.fadeOut(500, function() { $(this).remove() } );
			});
			
			break;
		
		case 'inboxcross':
		case 'outboxcross':
		case 'notifinboxcross':
			var messageID = parseInt(messageList);
			var $divMensajeID = $('#' + element + '_' + messageID);
			
			$divMensajeID
				.css('background-color', '#D4F5FF')
				.fadeOut(500, function() { $(this).remove() } );
			
			break;
			
		case 'inboxview':
		case 'outboxview':
			var messageID = parseInt(messageList);
			var a = getParam(document.referrer, 'a');
			var f = getParam(document.referrer, 'f');
			
			$.post('/includes/ajax_usermessages.php', { action: flagAction, pmid: messageList }, function(response) {
				var res = $.trim(response);
				removeAjaxLoadingImg();	
				
				if ( a != '' )
				{
					document.location.href = '/mensajeria.php?a=' + a;
				}
				else if ( f != '' )
				{
					document.location.href = '/mensajeria.php?a=' + f;
				}
			});

			break;
		
		default:
			break;
	}
	
	/* AJAX Request para eliminar. */
	var opcion = '';
	switch ( element )
	{
		case 'mensaje':
			$.ajax({
				type: 'POST',
				url: '/includes/ajax_usermessages.php',
				data: 'action=' + flagAction + '&pmid=' + messageList,
				success: function(response) {
					var res = $.trim(response);
					removeAjaxLoadingImg();
				},
				complete: function() {
					var arrayMsj = new Array();
					
					$.each($('input[name="chk_pm"]'), function() {
						arrayMsj.push( $(this).val() );
					});

					setCounter('mensajes');
					
					if ( arrayMsj.length < 5 ) $('#btnnewmessagebottom').remove();
					if ( arrayMsj.length < 1 ) document.location.reload();
				}
			});
			
			break;
			
		case 'notificacion':
			$.ajax({
				type: 'POST',
				url: '/includes/ajax.php',
				data: 'notif=delete&notifid=' + messageList,
				success: function(response) {
					var res = $.trim(response);
					removeAjaxLoadingImg();
				},
				complete: function() {
					var arrayNotification = new Array();
					
					setCounter('notificaciones');
					
					$.each('input[name="chk_notif"]', function() {
						arrayNotification.push( $(this).val() );
					});
					
					if ( arrayNotification.length < 1 ) document.location.reload();
				}
			});
			
			break;
	}
}

/* AJAX LOADING */
function getAjaxLoadingImg(img_width, img_height, additionalstyle)
{
	var ruta = '';
	if (typeof additionalstyle == undefined)
	{
		estilo = '';
	}
	else
	{
		estilo = additionalstyle;
	}
	
	var imagen = '<div class="ajax_loader"><img src="/themes/revolution/imagenes/general/loading.gif" style="width:'+img_width+'px;height:'+img_height+'px;"'+estilo+' alt="" /></div>';

	return imagen;
}

function removeAjaxLoadingImg()
{
	$('div.ajax_loader').remove();
}

function getParam( url, parametro ){
	var regexS = "[\\?&]"+parametro+"=([^&#]*)";
	var regex = new RegExp ( regexS );
	var tmpURL = url
	var results = regex.exec( tmpURL );
	if( results == null )
		return"";
	else
		return results[1];
}




/* Notificaciones */

// Marcar como leida
function markNotifRead(item)
{
	if (typeof item != 'undefined')
	{
		$('#toolbar').append(getAjaxLoadingImg(40, 20));
		
		$.post('/includes/ajax.php', 'notif=markread&notifid=' + item, function(data) {
			$('#toolbar a.unread').addClass('inactivo');
			$('#toolbar a.read').removeClass('inactivo');
			$('#toolbar a.read').attr('href', "javascript: markRead('"+item+"')");
			
			setCounter('notificaciones');
			
			removeAjaxLoadingImg();
		});
	}
	else
	{
		var arrSelected = new Array();
		$.each($('input[name="chk_notif"]'), function() {
			if ($(this).attr("checked")) {
			   arrSelected.push($(this).val());
			}
		});

	   // aplicar strong a los ul que marco como no leidos
	   $.each(arrSelected, function() { 
			$('#notificacion_' + this).removeClass('noleido');
			$('#notificacion_' + this).addClass('leido');
	   });		
		
		if (arrSelected.length > 0) 
		{	
			$('#toolbar').append(getAjaxLoadingImg(40, 20));
			
			var lstNotifIds = arrSelected.join(',');

			$.post('../includes/ajax.php', { notif : 'markread', notifid : lstNotifIds }, function () {
				
				setCounter('notificaciones');
				
				removeAjaxLoadingImg();
			});
		}
		else
		{
			removeAjaxLoadingImg();
			alert('Selecciona un mensaje.');
		}
	}
}

// Marcar como no leida
function markNotifUnread(item)
{
	if (typeof item != 'undefined')
	{
		$('#toolbar').append(getAjaxLoadingImg(40, 20));
		
		$.post('/includes/ajax.php', 'notif=markunread&notifid=' + item, function(data) {
			$('#toolbar a.unread').addClass('inactivo');
			$('#toolbar a.read').removeClass('inactivo');
			$('#toolbar a.read').attr('href', "javascript: markRead('"+item+"')");
			
			setCounter('notificaciones');
			
			removeAjaxLoadingImg();
		});
	}
	else
	{
		var arrSelected = new Array();
		$.each($('input[name="chk_notif"]'), function() {
			if ($(this).attr("checked")) 
			{
			   arrSelected.push($(this).val());
			}
		});
		
	   // aplicar strong a los ul que marco como no leidos
	   $.each(arrSelected, function() { 
			$('#notificacion_' + this).removeClass('leido');
			$('#notificacion_' + this).addClass('noleido');
	   });		
		
		if (arrSelected.length > 0) 
		{	
			$('#toolbar').append(getAjaxLoadingImg(40, 20));
			
			var lstNotifIds = arrSelected.join(',');

			$.post('../includes/ajax.php', { notif : 'markunread', notifid : lstNotifIds }, function () {
				setCounter('notificaciones');
				removeAjaxLoadingImg();
			});
		}
		else
		{
			removeAjaxLoadingImg();
			alert('Selecciona un mensaje.');
		}
	}
}

// Eliminar notificacion.-
function deleteNotif(item)
{
	// Si item es numerico, estamos en la vista de notificacion.
	if (!isNaN(item))
	{
		$('#toolbar').append(getAjaxLoadingImg(40, 20));
		
		$.post('/includes/ajax.php', { notif: 'delete', notifid : item }, function (response) {
			window.location = '/mensajeria.php?a=notif_inbox';
			removeAjaxLoadingImg();
		});
	}
	else
	{
		var arrSelected = new Array();

		// Crear un array con los IDs de los mensajes a eliminar
		$.each($('input[name="chk_notif"]'), function() {
			if ($(this).attr("checked")) {
			   arrSelected.push($(this).val());
			}
		});
		
		if (arrSelected.length == 0)
		{
			alert('Selecciona un mensaje.');
			return;
		}
		
		$('#toolbar').append(getAjaxLoadingImg(40, 20));

		$.each(arrSelected, function () {
			$('#notificacion_' + this).css('background-color', '#FF0000');
			$('#notificacion_' + this).fadeOut(500, function() { $('#notificacion_' + this).remove(); });
		});
		
		var lstNotifids = arrSelected.join(',');
		
		$.post('/includes/ajax.php', { notif : 'delete', notifid : lstNotifids }, function (response) {
			removeAjaxLoadingImg();
			if (checkRdrAfterDelete('notification'))
			{
				location.reload();
			}
		});		
	}	
}




// Aceptar amigo
function okFriends(notificationID)
{
	if ( notificationID == '' || isNaN( notificationID ) ) return false;
	
	
	$.ajax({
		type: 'POST',
		data: 'action=seamosamigos&action_f=okfriends&id_notification=' + notificationID,
		url: '/domain/ajaxUserAdvice_Helper.php',
		success: function(response)
		{
			if ( $.trim( response ) == 'OK' )
			{
				alert('Amigo agregado.');
				window.location.href = '/mensajeria.php?a=notif_inbox';
			}
			else
			{
				return false;
			}
		}
	});
	
}

// Rechazar amigo
function rejectFriends(notificationID)
{
	if ( notificationID == '' || isNaN( notificationID ) ) return false;
	
	$.ajax({
		type: 'POST',
		data: 'action=seamosamigos&action_f=nofriends&id_notification=' + notificationID,
		url: '/domain/ajaxUserAdvice_Helper.php',
		success: function(response) {
			if ( $.trim( response ) == 'OK' )
			{
				alert('Rechazaste la invitacion.');
				window.location.href = '/mensajeria.php?a=notif_inbox';				
			}
			else
			{
				return false;
			}
		}
	});
}

/* / Notificaciones */




/* Anuncios globales */ 
// Marcar como no leida
function markAnnounceUnread(item)
{
	if (typeof item != 'undefined')
	{
		$('#toolbar').append(getAjaxLoadingImg(40, 20));
		
		$.post('/includes/ajax_usermessages.php', 'announce=markunread&announceid=' + item, function(data) {
			setCounter('anuncios');
			removeAjaxLoadingImg();
		});
	}
	else
	{
		var arrSelected = new Array();
		$.each($('input[name="chk_announce"]'), function() {
			if ($(this).attr("checked"))
			{
			   arrSelected.push($(this).val());
			}
		});
		
	   // aplicar strong a los ul que marco como no leidos
	   $.each(arrSelected, function() {
			$('#anuncio_' + this).removeClass('leido');
			$('#anuncio_' + this).addClass('noleido');
	   });
		
		if (arrSelected.length > 0)
		{
			$('#toolbar').append(getAjaxLoadingImg(40, 20));
			
			var lstAnnounceId = arrSelected.join(',');

			$.post('/includes/ajax_usermessages.php', { announce : 'markunread', announceid : lstAnnounceId }, function () {

				setCounter('anuncios');
				
				removeAjaxLoadingImg();
			});
		}
		else
		{
			removeAjaxLoadingImg();
			alert('Selecciona un anuncio.');
		}
	}
}

// Marcar como leida
function markAnnounceRead(item)
{
	removeAjaxLoadingImg();
	
	if (typeof item != 'undefined')
	{
		$('#toolbar').append(getAjaxLoadingImg(40, 20));
		
		$.post('/includes/ajax_usermessages.php', 'announce=markread&announceid=' + item, function(data) {
			$('#anuncio_' + item).addClass('leido');
			
			setCounter('anuncios');
			
			removeAjaxLoadingImg();
		});
	}
	else
	{
		var arrSelected = new Array();
		$.each($('input[name="chk_announce"]'), function() {
			if ($(this).attr("checked")) 
			{
			   arrSelected.push($(this).val());
			}
		});
		
	   // aplicar strong a los ul que marco como no leidos
	   $.each(arrSelected, function() { 
			$('#anuncio_' + this).removeClass('noleido');
			$('#anuncio_' + this).addClass('leido');
	   });		
		
		if (arrSelected.length > 0) 
		{	
			$('#toolbar').append(getAjaxLoadingImg(40, 20));
			
			var lstAnnounceId = arrSelected.join(',');

			$.post('../includes/ajax_usermessages.php', { announce : 'markread', announceid : lstAnnounceId }, function () {
				setCounter('anuncios');
				removeAjaxLoadingImg();
			});
		}
		else
		{
			removeAjaxLoadingImg();
			alert('Selecciona un anuncio.');
		}
	}
}

/* / Anuncios globales */ 





function showNewMessageBottom(checkElemType)
{
	if ( checkElemType == '' ) return false;
	
	var strElem = new String(checkElemType);
	var contador = 0;
	
	strElem = strElem.toLowerCase();
	
	$.each($('input[name="chk_'+strElem+'"]'), function () {
		contador++;
	});
	
	if ( contador > 5 )
	{
		$('#btnnewmessagebottom').html('<div class="toolbar_navigation"><a href="/mensajeria.php?a=new"><button onclick="location.href=this.parentNode.href">Redactar mensaje</button></a></div><div style="clear:both;"></div>');
	}
	else
	{
		$('#btnnewmessagebottom').remove();
	}
}



/* Rutinas de control de errores al enviar un mensaje nuevo. */
function checkToList(action)
{	
	if ( action == '' || action == 'undefined' )
	{
		return false;
	}
	
	var $toList = $('#to');
	var $toListErr = $('#to_errors');
	var strToList = $toList.val();
	var strErrListS = '<ul>';
	var strErrListE = '</ul>';
	var strErrList = '';
	
	if ( action == 'out' ) // Controles para cuando el campo Para... pierde el foco.-
	{
		// Que se haya ingresado al menos un destinatario.
		if ( strToList.length < 1 )
		{
			strErrList = strErrList + '<li>Debes ingresar al menos un destinatario.</li>';
		}
		
		var arrayToList = strToList.split(';');
		
		// Recorro el array buscando elementos vacios, que deben eliminarse para que no cuenten
		// erroneamente, como un usuario mas.
		arrayToListLength = arrayToList.length;
		
		for ( i=0; i < arrayToListLength; i++ )
		{
			if ( arrayToList[i] == '' )
			{
				arrayToList.splice(i, 1);
			}
		}
		
		// Que se hayan ingresado cinco destinatarios como maximo.	
		if ( arrayToList.length > 5 )
		{
			strErrList = strErrList + '<li>Puedes ingresar hasta 5 destinatarios como m&aacute;ximo.</li>';
		}
		// Si hay errores, los muestro. Sino no hago nada (y despues tengo mas plata).	
		if ( strErrList.length > 0 )
		{
			var strErrListOutput = strErrListS + strErrList + strErrListE;
		}
		else
		{
			$toListErr.html('');
			return;
		}
	}
	else if ( action == 'in' )
	{
		strErrListOutput = '<ul><li class="aclaracion">Puedes ingresar hasta 5 destinatarios, separados por punto y coma.</li></ul>';
	}
	
	$toListErr.html(strErrListOutput);
}

function checkBody(action) 
{
	if ( action == '' || action == 'undefined' )
	{
		return false;
	}
	
	
	var $body = $('#body');
	var $bodyErr = $('#body_errors');
	var strBody = $body.val();
	var strErrListS = '<ul>';
	var strErrListE = '</ul>';
	var strErrList = '';
	var strErrListOutput = '';
	var intMaxChars = 2000;
	var intCharsLeft = intMaxChars - strBody.length;
	
	if ( action == 'out' )
	{
		if ( strBody.length < 1 )
		{
			strErrList = strErrList + '<li>Debes ingresar un texto.</li>';
		}
		
		if ( strBody.length > intMaxChars )
		{
			strErrList = strErrList + '<li>Puedes ingresar hasta 2000 caracteres.</li>';
		}
		
		if ( strErrList.length > 0 )
		{
			strErrListOutput = strErrListS + strErrList + strErrListE;
		}
		else
		{
			$bodyErr.html('');
			return;
		}
	}
	else if ( action == 'in' )
	{
		strErrListOutput = '<ul><li class="aclaracion">Quedan <span>' + intCharsLeft + '</span> caracteres.';
	}
	else if ( action == 'count' )
	{
		var $body = $('#body');
		var strText = $body.val();
		var txtLength = strText.length;

		if ( txtLength > intMaxChars )
		{
			strErrList = strErrList + '<li>Has alcanzado el l&iacute;mite de 2000 caracteres.</li>';
			$body.val( strText.substr(0, intMaxChars) ); 
		}
		else
		{
			strErrListOutput = strErrListOutput = '<ul><li class="aclaracion">Quedan <span>' + intCharsLeft + '</span> caracteres.';
		}
	}
	
	$bodyErr.html(strErrListOutput);
}


function switchFormAction(from)
{
	var strFrom = new String(from);
		strFrom = strFrom.toLowerCase();
	
	var $form = $('#frmnewmessage');
	
	if ( strFrom == '' || strFrom == null )
	{
		strFrom = 'reply';
	}
	
	if ( strFrom != 'reply' && strFrom != 'replyall' && strFrom != 'forward' )
	{
		strFrom = 'reply';
	}
	
	$form.attr('action', '/mensajeria.php?a=new&f=' + strFrom);
	
	$form.submit();
	
}

function switchFocusOnNew()
{
	var from = getParam(window.location, 'f');
	
	if ( from == 'reply' || from == 'replyall' )
	{
		$('#body').focus();
	}
	else if ( from == 'forward' || from == '' || from == null )
	{
		$('#to').focus();
	}
}


function submitNewMessage()
{
	var nmTo = $('#to').val();
	var nmSubject = $('#subject').val();
	var nmBody = $('#body').val();
	var f = 2;
	
	var $ajaxerrors = $('#ajax_errors');
	var $bodyerrors = $('#body_errors');
	var $tolisterrors = $('#to_errors');
	
	$.ajax({
		type: 'POST',
		url: '/includes/ajax_usermessages.php',
		data: 'newmessage=process&ajax=1&tolist=' + nmTo + '&subject=' + nmSubject + '&body=' + nmBody,
		dataType: 'json',
		success: function (response) 
				 {
					var status = $.trim(response.status);
					 
					if ( status == 'OK' )
					{
						$('#form_newmessage input[name="enviar"]').css('disabled', 'disabled');
						window.location.href = '/mensajeria.php';
						return false;
					}
					else if ( status == 'BODYVACIO' )
					{
						$bodyerrors.html('<ul><li>Debes ingresar un texto.</li></ul>');
						
						for ( i=0; i<=f; i++ )
						{
							$bodyerrors.fadeOut('fast').fadeIn('fast');
						}
						
						controls('enable');
						
					}
					else if ( status == 'TOLISTVACIO' )
					{
						$tolisterrors.html();
						
						for ( i=0; i<=f; i++ )
						{
							$tolisterrors.fadeOut('fast').fadeIn('fast');
						}
						
						controls('enable');
						
					}
					else
					{
						var errors = '<p>Se produjeron los siguientes errores durante el env&iacute;o: </p><ul>';
						
						$.each(response, function(k, v) 
						{
							errors = errors + v.reason;
						});
						
						errors = errors + '</ul>';
						
						$ajaxerrors.html(errors);
						
						$ajaxerrors.slideDown('fast');
						
						controls('enable');
						
					}
					
					removeAjaxLoadingImg();					
					
					$('#form_newmessage input[name="enviar"]').css('visibility', 'visible');
					
					return false;
					
				 }
	});
}

function controls(action)
{
	var $fBody = $('#body');
	var $fToList = $('#to');
	var $fSubject = $('#subject');
	var strAction = new String(action);
	
	if (strAction.toLowerCase() == 'disable')
	{
		$fBody.attr('disabled', 'disabled');
		$fToList.attr('disabled', 'disabled');
		$fSubject.attr('disabled', 'disabled');		
	}
	else if (strAction.toLowerCase() == 'enable')
	{
		$fBody.attr('disabled', '');
		$fToList.attr('disabled', '');
		$fSubject.attr('disabled', '');		
	}
}

function setCounter(element)
{
	if ( typeof element == undefined || element == '' ) return false;
	
	var $tabMensajes = $('#tabs li:eq(0)');
	var $tabNotificaciones = $('#tabs li:eq(2)');
	var $tabAnuncios = $('#tabs li:eq(3)');
	var $headerUnread = $('#unread');
	
	$.ajax({
		url: '/includes/ajax_usermessages.php',
		type: 'POST',
		data: 'action=contar&quecontar='+element.toLowerCase(),
		dataType: 'json',
		success: function(data) 
		{
			switch( element.toLowerCase() )
			{
				case 'mensajes':
					if ( data.cantidad > 0 )
					{
						$tabMensajes.html('Bandeja de entrada <span>('+data.cantidad+')</span>');
					}
					else
					{
						$tabMensajes.html('Bandeja de entrada');
					}
					
					$headerUnread.text(data.cantidadtotal);
					
					break;
				
				case 'notificaciones':
					if ( data.cantidad > 0 )
					{
						$tabNotificaciones.html('Notificaciones <span>('+data.cantidad+')</span>');
					}
					else
					{
						$tabNotificaciones.html('Notificaciones');
					}
					
					$headerUnread.text(data.cantidadtotal);
					
					break;
				
				case 'anuncios':
					if ( data.cantidad > 0 )
					{
						$tabAnuncios.html('Anuncios <span>('+data.cantidad+')</span>');
					}
					else
					{
						$tabAnuncios.html('Anuncios');
					}
					
					$headerUnread.text(data.cantidadtotal);
					
					break;
					
				default:
					break;
			}
		}
	});
}

/* / Sistema de mensajeria */















/* Votar */
function voteItem (userid, itemid, tablaid, type) {
	var url = '/includes/ajax.php?action=vote&userid='+userid+'&itemid='+itemid+tablaid; 
	var html = $('#num_voto').html();
	$.get(url, function (data) {
		if (data != 'VOTADO' && data != 'Error'){
			html = data;
			$("a.votar").hide();
			$("span.votado").show();
			$("div.votos big").html (html);
			
			/* IndexTools */ 
			
			switch (type)
			{
				case 'video':
					var ACTION = '13';
					_s_action('13');
					break;
				case 'foto':
					var ACTION = '17';
					_s_action('17');
					break;
				default:
					break;
			}
			
			/* Produccion */
		}
		else if(data == 'VOTADO'){
			$("a.votar").hide();
			$("span.votado").show();
		} 
	});
}


/* Slider Thumbs Fotos */


function itemShareFormTab (i) {
  $('#share_form .tab').hide ();
  $('#share_form ul.tabs li').toggleClass ('selected');
  $('#share_form .tab:eq('+ i +')').show ();
}

function itemShareCompleteUrl () {
  var url = encodeURIComponent(location);
  $('#share_form #akst_social ul li a').each (function (key, value) {
    value.href += url;
  });
  $('#share_form #akst_email input[name=url]').val (location);
}

function itemShareSetPosition () {
  if ($('#share_form').length > 0 ) { 
    var offset = $('.preferencias').offset();
    var top = offset.top + $('.preferencias').height() + 30;
    var left = offset.left;
    left += $('.preferencias').width ();
    left -= $('#share_form').width ();
    left += 12;
    $('#share_form').css ({'top': top + 'px', 'left': left + 'px'});
  }
}

function itemCompartir () {
  itemShareSetPosition ();
  $('#share_form').toggle ();
}



function comentarioPositivo(idcomentario){
	comentarioVotar(idcomentario, 1);
}

function comentarioNegativo(idcomentario){
	comentarioVotar(idcomentario, -1);
}

function comentarioVotar(idcomentario, valor){
	var url = '/includes/ajax.php?action=comentario&valor='+valor+'&idcomentario='+idcomentario; 
	var comentario_votar = '#comentario_'+idcomentario+' span.valoracion';
	$.get(url, function (data){
		if(data != 'ERROR'){
			if(data >= 0){
				$(comentario_votar).html(data);
			}
			else{
				$(comentario_votar).css("color", "red");
				$(comentario_votar).html(data);
			}
		}
	});
}

function isLogged(){
	if($('#internal_user_status').val()=='Logged'){
		return true;
	}
	else{
		return false;
	}
}

function comentarioCitar(idcomentario){
	var texto = $('#comentario_'+idcomentario+' p.el_comentario').html();
	var autor = $('#comentario_'+idcomentario+' strong.elautor').html();
	$('#descripcion').html("[cita="+autor+"]"+texto+"[/cita]");
	$('#descripcion').focus();
}


function comentarioSpam(id){
	$.post('/includes/ajax.php', 'action=spamm&commentid='+id, function(data){
		if(jQuery.trim(data)=='OK'){
				$('#comentario_'+id).hide();
			}
	});
}


function getVideo(){
	
	var video = $("input[name=video_url]").val();
	
	$('#video_error').hide();
	$('#video_datos').hide();
	$('#video_datos_cargando').show();
	if(video != ''){
		$.getJSON("/includes/ajax_upload.php?video="+video, function(json){
			if(json.titulo!='___null___'){
				$("input[name=video_titulo]").val(json.titulo);
				$("input[name=video_descripcion]").val(json.descripcion);
				$("input[name=video_tags]").val(json.tags);
				$("input[name=yc]").val(json.yc);
				$("input[name=yi]").val(json.yi);
				$("#video_caja_preview").html(json.objeto);
				$('#video_agregar').hide();
				$('#video_datos_cargando').hide();
				$('#video_datos').show();
				$('div#columnaIzquierda p').html('Confirma o edita los siguientes campos:');
				$('#video_url').hide();
			}
			else{
				$('#video_datos_cargando').hide();
				$('#video_error').show();
				
			}
			
			
		});
	}
	else{
		$('#video_datos_cargando').hide();
		$('#video_error').html('&iexcl;Ups! Algo est&aacute; mal. Por favor, verifica los datos requeridos.');
		$('#video_error').show();
	}
	
}



function habilitarCampos(){
	$('#foto_datos').removeClass("deshabilitado");
	$('#foto_datos').addClass("habilitado");
	$('#foto_foto').attr('disabled', '');
	$('#foto_titulo').attr('disabled', '');
	$('#foto_descripcion').attr('disabled', '');
	$('#foto_tags').attr('disabled', '');
	$('input[name=g]').attr('disabled', '');
	$('input[name=gsm]').attr('disabled', '');
	$('input[name=s]').attr('disabled', '');
}

function deshabilitarCampos(){
	$('#foto_datos').removeClass("habilitado");
	$('#foto_datos').addClass("deshabilitado");	
	$('#foto_foto').attr('disabled', 'disabled');
	$('#foto_titulo').attr('disabled', 'disabled');
	$('#foto_descripcion').attr('disabled', 'disabled');
	$('#foto_tags').attr('disabled', 'disabled');
	$('input[name=g]').attr('disabled', 'disabled');
	$('input[name=gsm]').attr('disabled', 'disabled');
	$('input[name=s]').attr('disabled', 'disabled');
}



function setAlbum(){
	if($('#foto_titulo').get(0).disabled == false){
		if($('#album_select').val() == 0){
			deshabilitarCampos();
		}
		else{
			habilitarCampos();
		}
	}
	else{
		if($('input[name=album_type]').val() != 'old'){
			if($('#foto_album_new').val() == ''){
				alert('Debes completar el nombre del album');
			}
			else{
				var url = '/upload.php?album=new&nombre='+$('#foto_album_new').val();
				$.get(url, function (data){
					if(jQuery.trim(data)!='ERROR'){
						$('input[name=albumid]').val(data);
						habilitarCampos();
						
					}
					else{
						deshabilitarCampos();
						alert('Se ha producido un error');
					}
				});
				
			}
		}
		else{
			if($('#album_select').val() == 0){
				deshabilitarCampos();
			}
			else{
				habilitarCampos();
			}
		}
	}
}

function newAlbum(){
	deshabilitarCampos();
	if($('input[name=album_type]').val() == 'old'){
		$('#foto_album_new').val('');
		$('#album_select').hide();
		$('#album_new').show();
		$('#crear_album').html('Cancelar');
		$('input[name=album_type]').val('new');
		$('#newAlbumOK').show();
	}
	else{
		$('#newAlbumOK').hide();
		$('#foto_album_new').val('');
		$('#album_new').hide();
		$('#album_select').show();
		$('#crear_album').html('Crear uno nuevo');
		$('input[name=album_type]').val('old');
	}
}


function saveFoto(){
	var parametros = $('#foto_upload').serialize();
	$('#foto_datos_cargando').show();
	$.post("/upload.php?do=foto", parametros, function(dataloaded){
		if(jQuery.trim(dataloaded)=='OK'){
			alert('OK');
		}
		else{
			alert('ERROR');
		}
	})
}


function borrarFoto(){
	$.post('/includes/ajax.php', 'delete=foto&fotoid='+$('#foto_id_control').val(), function(data){
		if(jQuery.trim(data)=='OK'){
				window.location="/fotos/";
			}
			else{
				alert('error');
			}
	});
}

function borrarVideo(){
	$.post('/includes/ajax.php', 'delete=video&videoid='+$('#video_id_control').val(), function(data){
		if(jQuery.trim(data)=='OK'){
				window.location="/videos/";
			}
			else{
				alert('error');
			}
	});
}


function deleteLikeit(idlikeit){
	$.post('/includes/ajax.php', 'delete=likeit&likeitid='+idlikeit, function(data){
		if(jQuery.trim(data)=='OK'){
				$('#likeit_'+idlikeit).hide();
			}
			else{
				alert('error');
			}
	});
}


function changeUsername(){
	$('#loader').show();
	$('#env').attr('disabled', 'disabled');
	$('#username').attr('disabled', 'disabled');
	$.post('/includes/ajax_change_usernames.php', 'change=username&requerido='+$('#username').val(), function(data){
			if(jQuery.trim(data.error)=='ok'){
				var errores = data.texto.replace(/%/g, '"');
				errores = errores.replace(/!/g, "'");
				$('#errores').html(errores);
				var quedan = data.cambios.replace(/%/g, '"');
				quedan = quedan.replace(/!/g, "'");
				$('#quedan').html(quedan);
				$('#loader').hide();
				$('#errores').fadeIn();
			}
			else{
				$('#env').attr('disabled', '');
				$('#username').attr('disabled', '');
				var errores = data.texto.replace(/%/g, '"');
				errores = errores.replace(/!/g, "'");
				var errorlist = data.errorlist.replace(/%/g, '"');
				errorlist = errorlist.replace(/!/g, "'");
				var propuestos = data.propuestos.replace(/%/g, '"');
				propuestos = propuestos.replace(/!/g, "'");
				$('#errores').html(errores + errorlist + propuestos);
				$('#quedan').html(data.cambios);
				$('#loader').hide();
				$('#errores').fadeIn();
			}
	}, "json");
}

function usarNick(nick){
	$('#username').val(nick);
	$('#errores').hide();	
}


function toolsShow(){
	$('#tools-fecha-a').hide();
	$('#tools-fecha-s').show();
}


function getForumsTools(campo, valor){
	var redir = '';
	var dir_actual = location.search;
	dir_actual = dir_actual.substring(1);
	$.get('/includes/ajax_aux_forums.php', dir_actual+'&parkey='+campo+'&parval='+valor, function(data){
			redir = location.pathname + data;
			location.href = redir;
	})

}




/*************************************
*									 *
*             MINISTATS				 *
*									 *
**************************************/
function updateMinistats(){
	$.getJSON("/tmp_data/ministats.txt",
    function(data){
      $("#ministats").html("<strong>"+data.totalonline+"</strong>  usuarios conectados | <strong>"+data.usuarios+"</strong> amigos</span>");
    });
}










/***********************************************************/
/***********************************************************/
/***********************************************************/


/* DOCUMENT READY */

$(function () {
			
			
	// 20090819 Lucas : similar threads, popular threads, popular users
	$('#divRankingsContent div[id!="divRankings_' + $('#divRankings_tabs ul li:eq(0)').attr('class') + '"]').hide();
	$('#divRankings_tabs ul li:eq(0)').addClass('selected')
	
			
	// Mostrar CNR
	$("#nota").html(' <a href="http://www.miravos.tv/2009/08/04/miravos-tv-40-nuevo-contrincante-gnu-linux-mac-vs-pc-tux-stallman-unix-software-libre/?utm_source=psicofxp&utm_medium=cnr&utm_campaign=Cap40" target="_blank"><img style="border:none" src="/imagenes/_temp/miravos_thumb_40.png" alt=""></a><p style="font-size:1.4em;margin:5px 0" id="enr_miravos_title"><a href="http://www.miravos.tv/2009/08/04/miravos-tv-40-nuevo-contrincante-gnu-linux-mac-vs-pc-tux-stallman-unix-software-libre/?utm_source=psicofxp&utm_medium=cnr&utm_campaign=Cap40" target="_blank"><strong>Nuevo contrincante: Linux</strong></a></p> <p id="enr_miravos">&iexcl;En este cap&iacute;tulo vuelve la lucha de titanes! &iexcl;S&iacute;! Lleg&oacute; Linux para combatir cuerpo a cuerpo con Mac y PC. Te vamos a contar todo lo que necesit&aacute;s saber sobre GNU-Linux, sus mejores distribuciones, sus particularidades, su ideolog&iacute;a colaborativa basada en el concepto de Software Libre de la mano de Richard Stallman. Sentate y disfruta de este nuevo Miravos.tv. <a href="http://www.miravos.tv/2009/08/04/miravos-tv-40-nuevo-contrincante-gnu-linux-mac-vs-pc-tux-stallman-unix-software-libre/?utm_source=psicofxp&utm_medium=cnr&utm_campaign=Cap40" target="_blank"> Ver m&aacute;s...</a></p>');

	// Ministats
	updateMinistats();
	
	
	
	var w_ref_pos = ($(window).width() - $("div#sitio").width())/2; 
    w_ref_pos = (w_ref_pos<0)? 10 : w_ref_pos;
    menu_offset = 563;
   
    window.onresize = function(){
		w_ref_pos = ($(window).width() - $("div#sitio").width())/2; 
		w_ref_pos = (w_ref_pos<0)? 10 : w_ref_pos;
		$("ul#busqueda_opciones").css("left", (w_ref_pos+menu_offset)+"px").css('top',($("#menu_busqueda").offset ().top+24)+'px').hide();
		
    }
	
	
	//Caja de busqueda en el header
	var viendo_menu = false;
	$("ul#busqueda_opciones li").each(function(){
		$(this)
		.css('cursor', 'pointer')
		.addClass('myover')
		.mousemove(function(){
			$(this).css('background-color', '#83BBD9').css('color', '#333333');
		})
		.mouseout(function(){
			$(this).css('background-color', '#ffffff').css('color', '#333333');
		})
		.click(function(){
			$("ul#busqueda_opciones").toggle();
			var nuevo_item_busqueda=$(this).html();
			
			$("div#menu_busqueda").html(nuevo_item_busqueda + ' &#9660;').css('cursor', 'pointer');
			bus_seccion = $(this).html();
			bus_seccion3 = bus_seccion.replace('�', 'i');
			bus_seccion3 = bus_seccion3.replace('&iacute;', 'i');
			bus_seccion3 = bus_seccion3.replace('&amp;iacute;', 'i');
			bus_seccion3 = bus_seccion3.replace('í', 'i');
			bus_seccion3 = bus_seccion3.replace('%ED', 'i');
			$("input#buscar_seccion").val(bus_seccion3.toLowerCase());
			menu_activo=false;
		})
		;
	});
	
	$("ul#busqueda_opciones").css("left", (w_ref_pos+menu_offset)+"px").css('top',($("#menu_busqueda").offset ().top+24)+'px').hide();
	
	var menutimeout;

	$("div#menu_busqueda").css('cursor', 'pointer').addClass('myover').click(function(){
		$("ul#busqueda_opciones").toggle();
		menu_activo=true;
	});
	
	$("ul#busqueda_opciones, div#menu_busqueda").mouseout(function(){
			menutimeout = setTimeout ('menu_close()', menu_timeout);
	});
	
	$("ul#busqueda_opciones, div#menu_busqueda").mousemove(function(){
		clearTimeout(menutimeout);
	});
	
	$("form#frm_buscar").submit(function(){
		q = $("input#q").val();
		
		if (q=="")
		{
			return false;
		}
		
		seccion = $("input#buscar_seccion").val();
		seccion = (seccion=="Foros"||seccion=="foros")? 'forums': seccion;
		
		if (seccion=='google')
		{
			location.replace("/do/google/?q="+q+"&cx=003915066760898590818:bfbpb70pe3u&cof=FORID:11&sa=Buscar");
			return false;
		}
		
		if (seccion=='forums')
		{
			location.replace("/forums/search.php?do=process&query="+q);
			return false;
			
		}
		
		if (seccion=='amigos')
		{
			location.replace("/amigos/?pag=1&nombre="+q);
			return false;
		}
		
		location.replace("/"+seccion+"/buscar/"+q+"/");
		return false;
	});

	/* Fotos Slider Gordo puto */
	var other_items = $("div.otras_fotos_class");
	var other_items_current_pos = 0;
	function photos_update_other_items(){
		a=0;
		$("div.otras_fotos_class").each(function(k, v){
			if (a<other_items_current_pos || a>(other_items_current_pos+2)) $(this).hide();
			else $(this).show();
			a++;
		});

		return;
	}

	photos_update_other_items();
	
	$("a#otros_items_prev").click( function()
	{
		if ( other_items_current_pos == 0 ) return;
		other_items_current_pos--;
		photos_update_other_items();
	});
	
	$("a#otros_items_next").click( function()
	{
		if ( (other_items_current_pos + 2) == (other_items.length-1) ) return;
		other_items_current_pos++;
		photos_update_other_items();
	});

	//Share Form
	$("a#akst_close").click(function(){     $('#share_form').hide ();	});
	$("li#akst_tab1").click(function(){     itemShareFormTab (0);		});
	$("li#akst_tab2").click(function(){     itemShareFormTab (1);		});

})


/***************************
 * NUEVO LOGIN / REGISTRO  *
 **************************/
 
//Registro
function regCheckUsername()
{
	//Corregir o eliminar caracteres no validos.
	var regUsername = $('#registroTxtUsuario').val();
	
	if ( regUsername != '' )
	{
		//Quitar caracteres no permitidos.
		if ( regUsername.match(/[^A-Za-z0-9\-_]/g) || regUsername.match(/^[\-_]/g) )
		{
			$('.registroTxtUsuarioError').html( 'El nombre de usuario ingresado no parece v&aacute;lido.' );
			$('.registroTxtUsuarioError').slideDown('medium');
		}
		else
		{
			if ( $('.registroTxtUsuarioError').is(':visible') )
			{
				$('.registroTxtUsuarioError').slideUp('medium');
			}
		}
	}
	else
	{
		if ( $('.registroTxtUsuarioError').is(':visible') )
		{
			$('.registroTxtUsuarioError').slideUp('medium');
		}
	}
}

function regCheckUsernameExists()
{
	//Chequear que no este registrado este usuario.
	var regUsername = $('#registroTxtUsuario').val();
	
	if ( regUsername != '' && !(regUsername.match(/[^A-Za-z0-9\-_]/g) || regUsername.match(/^[\-_]/g)) )
	{	
		$.post('/includes/ajax_loginregistro.php', { action: 'verificarusuario', usuario: regUsername }, function( response ) {
			if ( $.trim( response ) != '' )
			{
				switch ( response )
				{
					case 'OK':
						if ( $('.registroTxtUsuarioError').is( ':visible' ) )
						{
							$('.registroTxtUsuarioError').slideUp( 'medium' );
						}
						$('.registroUsuarioStatus').css( 'visibility', 'visible' );
						break;
						
					case 'USER_EXISTS':
						var nicksSugeridos = '';
						
						nicksSugeridos = 'El nombre de usuario ya se encuentra registrado. Intenta con: '; 
						$.ajax({
							url: '/includes/ajax_loginregistro.php',
							data: { action: 'nickssugeridos', usuario: regUsername },
							type: 'POST',
							dataType: 'json',
							success: function( sugerencias )
							{
								$.each( sugerencias, function(item, value) {
									nicksSugeridos += '<span style="cursor:pointer;" onclick="$(\'#registroTxtUsuario\').val(\''+value+'\'); $(\'.registroTxtUsuarioError\').slideUp(\'medium\'); $(\'#registroTxtUsuario\').focus();">'+ value + '</span>, '; 
								});
							
							nicksSugeridos = nicksSugeridos.substr( 0, (nicksSugeridos.length-2) );
							
							$('.registroTxtUsuarioError').html( nicksSugeridos );
							$('.registroTxtUsuarioError').slideDown( 'medium' );
							$('.registroUsuarioStatus').css( 'visibility', 'hidden' );
							
							}
						});
						
						
						
						break;
						
					case 'UNKNOWN':
					default:
						break;
				}
			}
		});
	}
	else
	{
		if ( $('.registroTxtUsuarioError').is( ':visible' ) )
		{
			$('.registroTxtUsuarioError').slideUp( 'medium' );
		}
		
		$('.registroUsuarioStatus').css( 'visibility', 'hidden' );		
	}
}

function regCheckEmail()
{
	//Verificar que el mail ingresado sea correcto cuando el textbox pierde el foco.
	var regEmail = $('#registroTxtEmail').val();
	
	if ( regEmail != '' )
	{
		if ( !regEmail.match(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i) )
		{
			$('.registroTxtEmailError').html( 'La casilla de e-mail no parece v&aacute;lida.' );
			$('.registroTxtEmailError').slideDown( 'medium' );
		}
		else
		{
			//Hasta aca, el email ingresado es valido. Verifiquemos que este disponible.
			$.post('/includes/ajax_loginregistro.php', { action: 'verificarmail', email: regEmail }, function (response) {
				if ( $.trim( response ) != '' )
				{
					switch ( response )
					{
						case 'OK':
							if ( $('.registroTxtEmailError').is( ':visible' ) )
							{
								$('.registroTxtEmailError').slideUp( 'medium' );
							}
							
							$('.registroEmailStatus').css( 'visibility', 'visible' );
							
							break;
						
						case 'EMAIL_EXISTS':
							$('.registroTxtEmailError').html( 'La casilla de e-mail que ingresaste ya est&aacute; registrada.' );
							$('.registroTxtEmailError').slideDown( 'medium' );
							
							$('.registroEmailStatus').css( 'visibility', 'hidden' );
							
							break;
							
						case 'NOT_VALID_EMAIL':
						default:
							$('.registroTxtEmailError').html( 'La casilla de e-mail no parece v&aacute;lida.' );
							$('.registroTxtEmailError').slideDown( 'medium' );
							break;
					}
				}
			});
		}
	}
	else
	{
		if ( $('.registroTxtEmailError').is(':visible') )
		{
			$('.registroTxtEmailError').slideUp('medium');
		}
	}
}

function regCheckEmailWhileTyping()
{
	//Verificar el usuario ingreso algo o no.
	if ( $('.registroTxtEmailError').is(':visible') )
	{
		$('.registroTxtEmailError').slideUp('medium');
	}

	$('.registroEmailStatus').css( 'visibility', 'hidden' );

	//Establecer como nickname lo que este antes de la arroba.
	if ( $('#registroTxtEmail').val().indexOf('@') == -1 )
	{
		$('#registroTxtUsuario').val( $('#registroTxtEmail').val().replace(/[^A-Za-z0-9\-_]/g, '') );
	}
}

function regCheckLegales()
{
	if ( $('#registroChkLegales').is(':checked') )
	{
		$('.registroChkLegalesError').slideUp( 'medium' );
	}
}

function regHideCaptchaErrors()
{		
	if ( $('.registroTxtCaptchaError').is(':visible') )
	{
		$('.registroTxtCaptchaError').slideUp( 'medium' );
	}
}

function regHideReturnErrors()
{
	if ( $('.registroReturnErrors').is(':visible') )
	{
		$('.registroReturnErrors').slideUp( 'medium' );
	}
}

function processRegister()
{
	//Reemplazar el boton de Crear cuenta por el AJAX Loader.
	$('#registroBtnEnviar').css( 'display', 'none' );
	$('#registroBtnEnviar').before( putAjaxLoader('registerAjaxLoader') );
	
	
	//Deshabilita los inputs para que no se puedan modificar mientras se procesa el form mediante AJAX.
	$('#registroTxtEmail, #registroTxtUsuario, #registroTxtContrasena, #recaptcha_response_field').attr( 'readonly', 'readonly' );
	
	//Verificar el checkbox.
	if ( !($('#registroChkLegales').is(':checked')) )
	{
		$('.registroChkLegalesError').slideDown( 'medium' );
		
		removeAjaxLoader( 'registerAjaxLoader' );
		$('#registroBtnEnviar').css( 'display', 'inline-block' );
		$('#registroTxtEmail, #registroTxtUsuario, #registroTxtContrasena, #recaptcha_response_field').removeAttr( 'readonly' );
		return false;
	}
	
	var usuarioEmail = $('#registroTxtEmail').val();
	var usuarioNombre = $('#registroTxtUsuario').val();
	var usuarioContrasena = $('#registroTxtContrasena').val();
	var registroCaptcha = Recaptcha.get_response();
	var registroCaptchaChallenge = Recaptcha.get_challenge();

	
	//Primero verificar lo ingresado por el usuario en el reCAPTCHA.
	if ( registroCaptcha != '' && usuarioEmail != '' && usuarioNombre != '' )
	{
		$.post('/includes/recaptcha/ajax_recaptcha.php', { 'do' : 'rcverify', 
			   											   'recaptcha_response_field': registroCaptcha, 
														   'recaptcha_challenge_field': registroCaptchaChallenge 
														 }, function(response) {
																if ( response != 'OK' )
																{
																	switch ( response )
																	{
																		case 'INCORRECTO':
																			$('.registroTxtCaptchaError').html( 'La respuesta es incorrecta. Int&eacute;ntalo nuevamente.' );
																			break;
																			
																		case 'UNKNOWN':
																			$('.registroTxtCaptchaError').html( 'Hubo un error desconocido. Int&eacute;ntalo nuevamente en unos minutos.');
																			break;
																			
																		default:
																			break;
																	}
																	
																	$('.registroTxtCaptchaError').slideDown( 'medium' );
																	removeAjaxLoader( 'registerAjaxLoader' );
																	$('#registroBtnEnviar').css( 'display', 'inline-block' );
																	$('#registroTxtEmail, #registroTxtUsuario, #registroTxtContrasena, #recaptcha_response_field').removeAttr( 'readonly' );
																	return false;

																}
																else //El reCAPTCHA devolvio OK.
																{
																	//Envio los datos para registrar el usuario.
																	$.post('/register.php?do=register', { 'email': usuarioEmail, 'username': usuarioNombre, 'password': usuarioContrasena }, function(regresponse) {
																		if ( regresponse != 'OK' )
																		{
																			$('.registroReturnErrors').html( regresponse ).slideDown( 'medium' );
																			removeAjaxLoader( 'registerAjaxLoader' );
																			$('#registroBtnEnviar').css( 'display', 'inline-block' ).attr( 'value', 'Reintentar' );
																			$('#registroTxtEmail, #registroTxtUsuario, #registroTxtContrasena, #recaptcha_response_field').removeAttr( 'readonly' );
																			Recaptcha.reload();
																			
																		}
																		else
																		{
																			location.replace('/register.php?step=waiting&email=' + usuarioEmail);
																			var registroResponseStatus = 'OK';
																			return false;
																		}
																		
																		return false;
																	});
																}
														 });
	}
	else if ( usuarioEmail == '' )
	{
		$('.registroTxtEmailError').html( 'Debes escribir tu casilla de e-mail.' ).slideDown ( 'medium' );
		removeAjaxLoader( 'registerAjaxLoader' );

		$('#registroBtnEnviar').css( 'display', 'inline-block' ).attr( 'value', 'Reintentar' );
		$('#registroTxtEmail, #registroTxtUsuario, #registroTxtContrasena, #recaptcha_response_field').removeAttr( 'readonly' );
	}
	else if ( usuarioNombre == '' )
	{
		$('.registroTxtUsuarioError').html( 'Debes escribir un nombre de usuario.' ).slideDown ( 'medium' );
		removeAjaxLoader( 'registerAjaxLoader' );
		
		$('#registroBtnEnviar').css( 'display', 'inline-block' ).attr( 'value', 'Reintentar' );
		$('#registroTxtEmail, #registroTxtUsuario, #registroTxtContrasena, #recaptcha_response_field').removeAttr( 'readonly' );
		
	}
	else if ( registroCaptcha == '' )
	{
		$('.registroTxtCaptchaError').html( 'Debes escribir las palabras de la imagen.' ).slideDown ( 'medium' );		
		removeAjaxLoader( 'registerAjaxLoader' );

		$('#registroBtnEnviar').css( 'display', 'inline-block' ).attr( 'value', 'Reintentar' );
		$('#registroTxtEmail, #registroTxtUsuario, #registroTxtContrasena, #recaptcha_response_field').removeAttr( 'readonly' );
	}
	else
	{
		alert ( 'Faltan completar datos.' );
				return false;
	}

	return false;
}

function regCheckPassword()
{
	//Si el usuario introduce contrasena, que tenga mas de 6 caracteres.
	if ( $('#registroTxtContrasena').val() != '' && $('#registroTxtContrasena').val().length > 0 && $('#registroTxtContrasena').val().length < 6 )
	{
		$('.registroTxtPasswordError').html( 'Tu contrase&ntilde;a debe tener m&aacute;s de 6 caracteres.' );
		$('.registroTxtPasswordError').slideDown( 'medium' );
	}
	else
	{
		if ( $('.registroTxtPasswordError').is( ':visible' ) )
		{
			$('.registroTxtPasswordError').slideUp( 'medium' );
		}			
	}
}

function regCheckPasswordWhileTyping()
{
	if ( $('.registroTxtPasswordError').is( ':visible' ) )
	{
		$('.registroTxtPasswordError').slideUp( 'medium' );
	}
}

//Nuevo login
function logCheckUsername()
{
	if ( $('#registroTxtUsuarioLog').val() == '' )
	{
		$('.loginTxtUsuarioError').html( 'Escribe tu nombre de usuario' ).slideDown( 'medium');
	}
}

function hideCheckUsername()
{
	if ( $('#registroTxtUsuarioLog').val() != '' && $('.loginTxtUsuarioError').is(':visible') )
	{
		$('.loginTxtUsuarioError').slideUp( 'medium' );
	}
}

function logCheckPassword()
{
	if ( $('#registroTxtContrasenaLog').val() == '' )
	{
		$('.loginTxtContrasenaError').html( 'Escribe tu contrase&ntilde;a' ).slideDown( 'medium');
	}
}

function hideCheckPassword()
{
	if ( $('#registroTxtContrasenaLog').val() != '' && $('.loginTxtContrasenaError').is(':visible') )
	{
		$('.loginTxtContrasenaError').slideUp( 'medium' );
	}
}

/************************************
 * 	MODAL REGISTER / LOGIN			*
 ************************************/
function modalLogin()
{
	 var fbLoginHtml = '<h1 class="registroTitulo">Ingresar a psicofxp.com</h1><form method="post" action="/login.php?do=login" id="registroForm" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0);"><input type="hidden" name="do" value="login" /><input type="hidden" name="url" id="url" value="{url}" /><input type="hidden" name="vb_login_md5password" /><input type="hidden" name="vb_login_md5password_utf" /><input type="hidden" name="s" value="{sessionhash}" /><input type="hidden" name="securitytoken" value="{securitytoken}" /><ul class="registroItems"><li><label for="registroTxtUsuario">Usuario</label><input type="text" id="registroTxtUsuarioLog" value="" name="vb_login_username" maxlength="15" autocomplete="off" onkeyup="hideCheckUsername();" onblur="logCheckUsername();" tabindex="1" /><div class="loginTxtUsuarioError"></div></li><li><label for="registroTxtContrasena">Contrase&ntilde;a</label><input type="password" id="registroTxtContrasenaLog" value="" name="vb_login_password" autocomplete="off" onkeyup="hideCheckPassword();" onblur="logCheckPassword();" tabindex="2" /><span class="modalLoginPasswordForgot"><a href="/do/pforgot/" title="">&iquest;Olvidaste tu contrase&ntilde;a?</a></span><div class="loginTxtContrasenaError"></div></li><li class="registroLegales"><input type="checkbox" id="registroChkLegales" checked="checked" name="cookieuser" /><label for="registroChkLegales">Recordarme</label></li><li class="registroEnviar"><input type="submit" id="loginBtnEnviar" value="Ingresar" /></li></ul></form><div class="registroIngresar loginRegistrar"><a href="#" onclick="modalRegister();" title="&iacute;Reg&iacute;strate!">&iquest;A&uacute;n no tienes tu cuenta en psicofxp.com? &iexcl;Reg&iacute;strate aqu&iacute;!</a></div>';
	 
	 fbLoginHtml = fbLoginHtml.replace( /\{url\}/, document.location.href );
	 
	 $.facebox( fbLoginHtml );
}

function modalRegister()
{
	var fbRegisterHtml = '<h1 class="registroTitulo">&iexcl;Crea tu cuenta ahora!</h1><form method="post" action="/register.php?do=register" id="registroForm" onsubmit="return processRegister();"><ul class="registroItems"><li><label for="registroTxtEmail">Casilla de e-mail *</label><div class="registroEmailStatus"></div><input type="text" name="email" id="registroTxtEmail" value="" onkeyup="regCheckEmailWhileTyping();" onblur="regCheckEmail();" autocomplete="off" tabindex="1" /><div class="registroTxtEmailError"></div></li><li><label for="registroTxtUsuario">Usuario *</label><div class="registroUsuarioStatus"></div><input type="text" name="username" id="registroTxtUsuario" value="" maxlength="15" onkeyup="regCheckUsername();" onblur="regCheckUsernameExists();" autocomplete="off" tabindex="2" /><div class="registroTxtUsuarioInfo">* S&oacute;lo puedes incluir letras, n&uacute;meros y guiones.</div><div class="registroTxtUsuarioError">El nombre de usuario no es v&aacute;lido.</div></li><li class="registroTxtContrasena"><label for="registroTxtContrasena">Contrase&ntilde;a</label><input type="password" name="password" id="registroTxtContrasena" value="" autocomplete="off" onblur="regCheckPassword();" onkeyup="regCheckPasswordWhileTyping();" tabindex="3" /><div class="registroTxtPasswordInfo">* Si no introduces una contrase&ntilde;a, se generar&aacute; una autom&aacute;ticamente.</div><div class="registroTxtPasswordError"></div></li><li><div id="registroCaptcha"><div id="captchaContainer"><div id="recaptcha_image" class="registroCaptchaImage"></div><div class="registroCaptchaInfo"><p>&iquest;No puedes leer esto?</p><p class="registroCaptchaNuevo"><a href="" title="Haz clic aqu&iacute; para refrescar la imagen de reCAPTCHA" onclick="Recaptcha.reload(); return false;">Obtener dos nuevas palabras</a></p><p class="registroCaptchaSwitchToAudio"><a class="recaptcha_only_if_image" href="" title="Haz clic aqu&iacute; para utilizar reCAPTCHA con audio" onclick="Recaptcha.switch_type(\'audio\'); return false;">Audio reCAPTCHA</a></p><p class="registroCaptchaSwitchToImage"><a class="recaptcha_only_if_audio" href="" title="Haz clic aqu&iacute; para utilizar reCAPTCHA con imagen" onclick="Recaptcha.switch_type(\'image\'); return false;">Imagen reCAPTCHA</a></p><p class="registroCaptchaInfoPoweredby">Powered by reCAPTCHA <span><a href="" title="Ayuda sobre reCAPTCHA" onclick="Recaptcha.showhelp(); return false;">Obtener ayuda</a></span></p></div><div class="registroCaptchaInput"><label for="recaptcha_response_field">Texto del cuadro *</label><input type="text" id="recaptcha_response_field" name="recaptcha_response_field" autocomplete="off" value="" onkeypress="regHideCaptchaErrors();" tabindex="4" /></div></div></div><div class="registroTxtCaptchaError"></div></li><li class="registroLegales"><input type="checkbox" id="registroChkLegales" checked="checked" onclick="regCheckLegales();" /><label for="registroChkLegales">He le&iacute;do y estoy de acuerdo con las <a href="/legales/pautas-convivencia.html" title="Ver las Pautas de convivencia">Pautas de convivencia</a> y los <a href="/legales/terminos-legales.html" title="Ver los T&eacute;rminos legales">T&eacute;rminos legales</a></label><div class="registroChkLegalesError">Debes aceptar las Pautas de convivencia y los T&eacute;rminos legales para poder completar el registro.</div></li><li class="registroEnviar"><div class="registroReturnErrors"></div><input type="submit" id="registroBtnEnviar" value="Crear mi cuenta" onclick="regHideReturnErrors();" /></li></ul><input type="hidden" value="{registroReferer}" id="refURL" /></form><div class="registroIngresar"><a href="#" title="Ingresar" onclick="modalLogin();">&iquest;Ya tienes una cuenta en psicofxp.com? &iexcl;Ingresa ya mismo!</a></div>';
	
	$.facebox( fbRegisterHtml );
	
	createCaptcha();
}

function createCaptcha() {
		Recaptcha.create('6LcPcwcAAAAAAEimax_1llhZS1EhZ-EvOuqb30IQ',
					 'captchaContainer', {
						   theme: 'custom',
						   callback: function() { 
									  Recaptcha.old_finish_reload = Recaptcha.finish_reload;
									  Recaptcha.finish_reload = function(a, b, c, d) {
										Recaptcha.old_finish_reload(a, b, c, d);
										Recaptcha.resizeImage();
										Recaptcha.stylizeAudioLinks();
									  }
									  Recaptcha.resizeImage();
 									  Recaptcha.stylizeAudioLinks();
									 },
						   lang: 'es',
						   custom_theme_widget: 'registroCaptcha'
					});

	Recaptcha.resizeImage = function() {
		$('#recaptcha_image, #recaptcha_image > img').css({ width: 300*0.8, height: 57*0.9 });
		$('#captcha_response_field').css( 'margin-right', '-6px');
	};
	
	Recaptcha.stylizeAudioLinks = function() {
		$('#recaptcha_image a.recaptcha_audio_cant_hear_link').css('font-size', '9px').css( 'font-weight', 'bold' );
	}
}

/********************
 *  MISC FUNCTIONS  *
 ********************/
function putAjaxLoader(id, alto, ancho, masEstilo)
{
	var imgSrc = '/imagenes/general/ajax_loading.gif';
	var estilo = '';
	var retorno = '';
	
	if ( parseInt( alto ) > 0 ) 
	{
		estilo += 'height:'+alto+'px;';
	}
	
	if ( parseInt( ancho ) > 0 )
	{
		estilo += 'width:'+ancho+'px;';
	}
	
	if ( masEstilo )
	{
		estilo += masEstilo;
	}
	
	retorno = '<img id="'+id+'" src="'+imgSrc+'" style="'+estilo+'" border="0" />';
	
	return retorno;
}

function removeAjaxLoader(id)
{
	$('#'+id).remove();
}


/******************************************************
 * COMPORTAMIENTO DE LA CAJA QUE CONTIENE LOS RANKINGS
 * Agregado el 20090819 por Lukillas.
 * 20090819 TODO : Tab de Linkbacks.
 */
function rankingsShow(ranktype)
{	
	if ( ranktype == 'linkbacks' ) return false;
	
	$('#divRankingsContent div[id!="divRankings_' + ranktype + '"]').hide();
	$('#divRankingsContent div[id="divRankings_' + ranktype + '"]').show();
	
	$('#divRankings_tabs ul li[class!="' + ranktype + '"]').removeClass( 'selected' );
	$('#divRankings_tabs ul li.' + ranktype).addClass( 'selected' );
}







/*******************************************************************
 * FUNCION PARA EL MANEJO DE LOS LINKS PARA MULTICITAR - VBULLETIN
 * Agregado el 20090821 por Lucas
 */
function vbMultiQuote(postid)
{
	var aMultiquotePosts = $.cookie( 'vbulletin_multiquote' );
	
	if (aMultiquotePosts != null && aMultiquotePosts != '')
	{
		aMultiquotePosts = decodeURIComponent(aMultiquotePosts);
		aMultiquotePosts = aMultiquotePosts.split(',');
	}
	else
	{
		aMultiquotePosts = new Array();
	}
	
	var testigo = false;
	
	for ( i in aMultiquotePosts )
	{
		if ( aMultiquotePosts[i] == postid )
		{
			aMultiquotePosts.splice (i, 1);
			$('#vbmq_' + postid).text( $('#vbmq_' + postid).text().substr(3) );
			testigo = true;
		}  
	}
	
	if ( !testigo )
	{
		aMultiquotePosts.push( postid.toString() );
		$('#vbmq_' + postid).text( ' + ' + $('#vbmq_' + postid).text() );
	}
	
	$.cookie ( 'vbulletin_multiquote', aMultiquotePosts.join( ',' ), { path: '/' } );
}

/*******************************************************************
 * FUNCION PARA EL MANEJO DE LOS MENSAJES SELECCIONADOS - VBULLETIN
 */
function styleSelectedPost(postid)
{
	if ( $('#plist_' + postid).is(':checked') )
	{
		$('#post' + postid + ', #edit' + postid + ', #post_message_' + postid).css( 'background-color', '#F7FDFF' );
	}
	else
	{
		$('#post' + postid + ', #edit' + postid + ', #post_message_' + postid).removeAttr( 'style' );
	}
}


/**********************************************************
 * FUNCIONES PARA EL MANEJO DEL SHARETHIS EN SHOWTHREAD
 */

function fbs_click() 
{
	u = location.href;
	t = document.title;
	window.open ( 'http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436' );
	return false;
}

function share_twitter()
{
	var title = document.title;
	title = title.substr ( 0, title.indexOf( ' -') );
	title = title.replace ( /\s/ig, '+' );
	
	var url = encodeURIComponent ( location.href );

	var sTwitter = title + '+' + url;

	window.open ( 'http://twitter.com/home?status='+sTwitter );
	return false;
}

function share_more()
{
	var modalShareTools = '<div id="modalSharetools" style="float:left;"> \
								<h3 style="color:#787878;margin:0 0 5px 0;">Compartir este tema</h3> \
								<div id="modalSharetoolsContainer" style="border:solid 2px #EAEAEA;float:left;padding:10px;"> \
									 <ul style="float:left;margin:0 0 0 15px;"> \
									 	<li style="background:transparent url(/themes/revolution/imagenes/general/sprite_forums.png) scroll no-repeat 0 -806px;margin:3px 0;padding:2px 0 2px 20px;"><a href="#" title="Correo electr&oacute;nico" onclick="return share(\'email\');">Correo electr&oacute;nico</a></li> \
									 	<li style="background:transparent url(/themes/revolution/imagenes/general/sprite_forums.png) scroll no-repeat 0 -1015px;margin:3px 0;padding:2px 0 2px 20px;"><a href="#" title="MySpace" onclick="return share(\'myspace\');">MySpace</a></li> \
									 	<li style="background:transparent url(/themes/revolution/imagenes/general/sprite_forums.png) scroll no-repeat 0 -1159px;margin:3px 0;padding:2px 0 2px 20px;"><a href="#" title="Google Bookmarks" onclick="return share(\'googlebkmk\');">Google Bookmarks</a></li> \
									 	<li style="background:transparent url(/themes/revolution/imagenes/general/sprite_forums.png) scroll no-repeat 0 -1194px;margin:3px 0;padding:2px 0 2px 20px;"><a href="#" title="Windows Live" onclick="return share(\'windowslive\');">Windows Live</a></li> \
									 </ul> \
									 <ul style="float:left;margin:0 15px;"> \
									 	<li style="background:transparent url(/themes/revolution/imagenes/general/sprite_forums.png) scroll no-repeat 0 -1231px;margin:3px 0;padding:2px 0 2px 20px;"><a href="#" title="Technorati" onclick="return share(\'technorati\');">Technorati</a></li> \
									 	<li style="background:transparent url(/themes/revolution/imagenes/general/sprite_forums.png) scroll no-repeat 0 -1303px;margin:3px 0;padding:2px 0 2px 20px;"><a href="#" title="Copada" onclick="return share(\'copada\');">Copada</a></li> \
									 	<li style="background:transparent url(/themes/revolution/imagenes/general/sprite_forums.png) scroll no-repeat 0 -1052px;margin:3px 0;padding:2px 0 2px 20px;"><a href="#" title="Men&eacute;ame" onclick="return share(\'meneame\');">Men&eacute;ame</a></li> \
									 	<li style="background:transparent url(/themes/revolution/imagenes/general/sprite_forums.png) scroll no-repeat 0 -1122px;margin:3px 0;padding:2px 0 2px 20px;"><a href="#" title="Delicious" onclick="return share(\'delicious\');">Delicious</a></li> \
									 </ul> \
								</div> \
						   </div>';
						   
	$.facebox ( modalShareTools );
	
	return false;
}

function share(where)
{
	var share_url = '';
	var this_url = location.href;
	var this_title = document.title;
	
	switch ( where )
	{
		case 'delicious':
			share_url = 'http://delicious.com/post?title=' + this_title + '&url=' + this_url;
			break;
		case 'myspace':
			share_url = 'http://www.myspace.com/Modules/PostTo/Pages/?l=3&u=' + this_url + '&t=' + this_title;
			break;
		case 'technorati':
			share_url = 'http://technorati.com/faves/?add=' + this_url;
			break;
		case 'googlebkmk':
			share_url = 'http://www.google.com/bookmarks/mark?op=add&bkmk=' + this_url + '&annotation=' + this_title;
			break;
		case 'windowslive':
			share_url = 'https://favorites.live.com/quickadd.aspx?marklet=1&mkt=es-ar&url=' + this_url + '&top=1';
			break;
		case 'meneame':
			share_url = 'http://meneame.net/submit.php?url=' + this_url;
			break;
		case 'digg':
			// 20090826 TODO : Agregar funcionalidad para establecer el parametro topic.
			share_url = 'http://digg.com/submit?url=' + encodeURIComponent(this_url) + '&title=' + encodeURIComponent(this_title) + '&bodytext=' + encodeURIComponent(this_title) + '&media=news&topic=educational';
			break;
		case 'copada':
			share_url = 'http://copada.net/submit?url=' + this_url;
			break;
		case 'email':
			var formSharebyMail = '<h3 style="color:#787878;margin:0 0 5px 0;">Compartir por correo electr&oacute;nico</h3> \
								   <form id="formSharebyMail"> \
								   		<p style="margin:0 0 2px 0;"><label for="formSmRcpt">Destinatario: </label></p><p style="margin:0;"><input id="formSmRcpt" name="formsmrcpt" value="" type="text" style="border:solid 1px #E2F4F8;" /></p> \
										<p style="margin:5px 0 2px 0;"><label for="formSmAnotation">Nota: </label></p><p style="margin:0;"><textarea id="formSmAnotation" cols="5" rows="5" style="border:solid 1px #E2F4F8;"></textarea></p> \
										<p><input type="button" value="&iexcl;Compartir!" onclick="compartirPorEmail();" /></p> \
								   </form>';
		
			$('#modalSharetools').css( 'width', '300px').html( formSharebyMail );
			return false;
			break;
		default:
			break;
	}
	
	window.open ( share_url );
	return false;
}

function compartirPorEmail()
{
	$.facebox.close();
}