/**
 * Metodo para cargar un CSS desde un controlador que utilice ajax.
 * Revisa si el archivo fue cargado previamente.
 * @param url | url del css que se desea cargar
 * @return void
 */
var cssIncludes=new Array(); /* Array para llevar un registro de los includes dinámicos */
function cargarCss(url){
	// Si url es un string
		if (typeof(url)=="string") {
			return _cargaCss(url);
		}
	// Si url es un array
		if (url instanceof Array) {
			for (i in url) {
				_cargaCss(url[i]);
			}
			return true;
		}
}
function _cargaCss(url){
	var existe = false;
	/* Comprobamos si existe en los links del documento */
		$("link").each(function (i) {
			if(this.href.toLowerCase()==url.toLowerCase()) {
				existe=true;
			}
		});
	/* Comprobamos si ya se ha cargado dinámicamente */
		for (i in cssIncludes) {
			if (url.toLowerCase()==cssIncludes[i].toLowerCase()) existe=true;
		}
	if(!existe){
		//jsdebugLog("Cargar "+url+" OK");
		cssIncludes.push(url); /* Almacenamos el include en el registro */
		$("head").append("<link href='"+url+"' rel='stylesheet'type='text/css'/>");
	} else {
		//jsdebugLog("Cargar "+url+" YA");
	}
}

/**
 * Metodo para cargar un JS's desde un controlador que utilice ajax.
 * Revisa si el archivo fue cargado previamente.
 * @param url | url del js que se desea cargar
 * @return void
 */
var jsIncludes=new Array(); /* Array para llevar un registro de los includes dinámicos */
function cargarJs(url){
	// Si url es un string
		if (typeof(url)=="string") {
			return _cargaJs(url);
		}
	// Si url es un array
		if (url instanceof Array) {
			for (i in url) {
				_cargaJs(url[i]);
			}
			return true;
		}
}
function _cargaJs(url) {
	var existe = false;
	/* Comprobamos si existe en los scripts del documento */
		$("script").each(function () {
			if (this.src.length>0) {
				if(this.src.toLowerCase()==url.toLowerCase()) existe=true;
			}
		});
	/* Comprobamos si ya se ha cargado dinámicamente */
		for (i in jsIncludes) { /* Almacenamos el include en el registro */
			if (url.toLowerCase()==jsIncludes[i].toLowerCase()) existe=true;
		}
	if(!existe){
		//console.log(url);
		//jsdebugLog("Cargar "+url+" OK");
		jsIncludes.push(url);
		$("body").append("<"+"script type='text/javascript' src='"+url+"'></"+"script>");
	} else {
		//jsdebugLog("Cargar "+url+" YA");
	}
}
// Objeto para almacenar conjuntos de librerias que se cargan comunmente de forma conjunta en la aplicación 
// Mediante cargarJs(jsLib.nombre_libreria)
// Podemos añadir todas las que queramos al objeto
var jsLib={
		ui_dialog: [
		            jslibUrl+"/jquery/ui/ui.core.min.js",
					jslibUrl+"/jquery/ui/ui.resizable.min.js",
					jslibUrl+"/jquery/ui/ui.draggable.min.js",
					//jslibUrl+"/jquery/ui/ui.dialog.min.js",
					jslibUrl+"/jquery/cui/cui.dialog.js" // Modificaciones al ui.dialog original
				],
		ui_draggable: [
	            jslibUrl+"/jquery/ui/ui.core.min.js",
				jslibUrl+"/jquery/ui/ui.draggable.min.js",
				jslibUrl+"/jquery/ui/ui.sortable.min.js",
				jslibUrl+"/jquery/ui/ui.droppable.min.js"
			],
		ui_sortable: [
				jslibUrl+"/jquery/ui/ui.core.min.js",
				jslibUrl+"/jquery/ui/ui.draggable.min.js",
				jslibUrl+"/jquery/ui/ui.sortable.min.js",
				jslibUrl+"/jquery/ui/ui.droppable.min.js"
			],
		ui_slider: [
		        jslibUrl+"/jquery/ui/ui.core.min.js",
				jslibUrl+"/jquery/ui/ui.slider.min.js"    
			],
		ui_datepicker: [
		        jslibUrl+"/jquery/ui/ui.core.min.js",
				jslibUrl+"/jquery/ui/ui.datepicker.min.js",
				jslibUrl+"/jquery/ui/i18n/ui.datepicker-"+curLang+".min.js" // Idioma
			],
		vacia: [] // es un ejemplo de otra libreria...
	}
