

/**
 * Javascript de la administración
 *
 * @category javascript
 * @copyright Copyright 2008, Isertia
 * @filesource
 * @package javascript
 * @version 1.0 2008/10/01
 */


/**
 * Ruta web de instalación. Constante
 */
var INSTALATION_DIR = '';


/**
 * Mostrar símbolo de carga 
 * @param e object Elemento al que superponer el cargador
 */
function loading(e)
{
	var lwidth = $(window).width();
	var lheight = $(window).height();
	var container = 'body';
	var ltop = 0;
	var lleft = 0;
	var lposition = 'absolute';
	if(e)
	{
		lwidth = $(e).outerWidth();
		lheight = $(e).outerHeight(true);
		container = e;
		ltop = $(e).offset().top;
		lleft = $(e).offset().left;
		lposition = 'absolute';
	}

	//Crea loading si no existe
	if($('#loading').length < 1)
	{
		$(container).before('<div id="loading"></div>');
		$('#loading').css({opacity: '0.5', left: lleft, top: ltop, width: lwidth, height: lheight, position: lposition});
	}
	return true;
}
function loadingEnd()
{
	$('#loading').remove();
	return true;
}


/**
 * Cargar lightbox con parámetros 
 */
function loadLb()
{
	$('a[rel*=lightbox]').lightBox(
	{
		imageLoading: INSTALATION_DIR+'/img/lightbox-ico-loading.gif',
		imageBtnClose: INSTALATION_DIR+'/img/lightbox-btn-close.gif',
		imageBtnPrev: INSTALATION_DIR+'/img/lightbox-btn-prev.gif',
		imageBtnNext: INSTALATION_DIR+'/img/lightbox-btn-next.gif',
		imageBlank: INSTALATION_DIR+'/img/lightbox-blank.gif',
		containerResizeSpeed: 250,
		txtImage: lng.image,
		txtOf: lng.of,
		keyToPrev: lng.lightbox_prev,
		keyToNext: lng.lightbox_next
	});
}


/**
 * Cargar el slider jFlow
 */
function loadFlow()
{
	$("#multimedia_controls").jFlow({
		slides: "#multimedia_wrapper",
		controller: ".control",
		slideWrapper : "#multimedia",
		selectedWrapper: "active",
		width: "430px",
		height: "305px",
		duration: 400
	});	
}


/**
 * Cargar archivo css
 * @param file string Nombre del css a cargar
 */
jQuery.getCss = function(url, callback)
{	
	var head = document.getElementsByTagName('head')[0];//Head
	var script = document.createElement("link");
	$(script).attr({type: 'text/css', href: url, rel: 'stylesheet', media: 'screen'});//Código css
	
	// Attach handlers for all browsers
	script.onload = script.onreadystatechange = function(){};

	//Añadir a cabecera
	head.appendChild(script);
	
	return undefined;
};


/**
 * Defuscador de email
 * Uso: $(enlace elemento).defuscate();
 */ 
jQuery.fn.defuscate = function()
{
	return this.each(function(){
	var email = String($(this).html()).replace(/\s*\(.+\)\s*/, "@");
	$(this).before('<a href="mailto:' + email + '">' + email + "</a>").remove();
	});
}; 


/**
 * Cargar funcionalidades js tras cargar DOM
 */
$(document).ready(function()
{
	$(".email a").defuscate();
	$('ul.jd_menu').jdMenu({
		disableLinks: false
	});
	
	//Líneas de idioma
	$.getScript(INSTALATION_DIR+"/lng/es/base.js", function()
	{		
		
		//Carga de lightbox
		$.getCss(INSTALATION_DIR+'/css/jquery.lightbox-0.5.css');
		$.getScript(INSTALATION_DIR+"/js/jquery.lightbox-0.5.pack.js", loadLb);
		
		//jFlow	
		$.getScript(INSTALATION_DIR+"/js/jquery.flow.1.2.min.js", loadFlow);
	});
	
	
});

