/* GLOBAL VARIABLES */
var mycarousel_items = new Array()
var global_index;
var carousel;
var play = true;
/* FIN GLOBAL VARIABLES */

/*  CAROUSEL-YUI */

/**
 * Custom inital load handler. Called when the carousel loads the initial
 * set of data items. Specified to the carousel as the configuration
 * parameter: loadInitHandler
 **/
var loadInitialItems = function(type, args) {
	/*var start = args[0];
	var last = args[1]; */
	var start = 1;
	var last = mycarousel_items.length + 1;
	load(this, start, last);	
};


/**
 * Custom load next handler. Called when the carousel loads the next
 * set of data items. Specified to the carousel as the configuration
 * parameter: loadNextHandler
 **/
var loadNextItems = function(type, args) {	

	var start = args[0];
	var last = args[1]; 
	var alreadyCached = args[2];
	
	if(!alreadyCached) {
		load(this, start, last);
	}
};

/**
 * Custom load previous handler. Called when the carousel loads the previous
 * set of data items. Specified to the carousel as the configuration
 * parameter: loadPrevHandler
 **/
var loadPrevItems = function(type, args) {
	var start = args[0];
	var last = args[1]; 
	var alreadyCached = args[2];
	
	if(!alreadyCached) {
		load(this, start, last);
	}
};

// Format function
var fmtItem = function(index) {
	var item = mycarousel_items[index-1];
	var innerhtml = '<a href="javascript:void(0)" onclick="maximize(' + 
		item.index + ')"><img src="' + item.url 
		+ '" alt="' 
		+ item.url + '" /><br/><div class="bandagris">' 
		+ item.nombre + '</div></a>';
	
	return innerhtml;
	
};


/**
 * Load function
 */

function getImgSize(imgSrc)
{
	var newImg = new Image();
	newImg.src = imgSrc;
	var height = newImg.height;
	var width = newImg.width;
	alert ('The image size is '+width+'*'+height);
}



var load = function(carousel, start, last) {
	
	for(var i=start;i<=last;i++) {
		
		carousel.addItem(i, fmtItem(i));
	}
};






function set_color(id) {

	var colors = {
		// Carteleria Industrial
		'1':  '#A8D8C0',
		
		// Carteleria Alta Resolucion
		'20': '#EAD0B6',
		
		// Pequeno Formato
		'21': '#CCCCFF',
		
		// Sistemas de Corte
		'4':  '#CCCC99',
		
		// Informacion Textil
		'23': '#FFCCCC',
		
		// Sistemas Expositores
		'6': '#ABCFFF',
		
		// Equipos
		'0':  '#CEEAD5'
	};
	
	//console.log(colors['0']);	
	var new_color = colors[String(id)];
	

	$('#turquesa').css({'background-color':new_color});
}


function reload_carousel() {
	//$('body a').css({'cursor':'default'});
	
			var left;
		if (mycarousel_items.length == 1) {
			$('#navegarizq').addClass('oculto');
			$('#navegardcha').addClass('oculto');
			
			left = 309;
		} else if (mycarousel_items.length == 2) {
			$('#navegarizq').addClass('oculto');
			$('#navegardcha').addClass('oculto');
			left = 206;
		} else if (mycarousel_items.length == 3) {
			$('#navegarizq').addClass('oculto');
			$('#navegardcha').addClass('oculto');
			left = 103;
		}else if (mycarousel_items.length > 3 ) {
			$('#navegarizq').removeClass('oculto');
			$('#navegardcha').removeClass('oculto');
			left = 0;
		}
		left = '-'+left+'px';
		$('#mycarousel').css({'left': left});
		
		carousel.setProperty("size",mycarousel_items.length,false);
		$('#ajaxload').addClass('oculto');
			if (mycarousel_items.length > 3) {	
				carousel.startAutoPlay(2000);
			} else {
				carousel.stopAutoPlay();
			}
	
}

function filtrar(myclass) {
	
	//$('body a').css({'cursor':'wait'});
	$('#ajaxload').removeClass('oculto');
	//si myclass no esta definido...
	if (typeof(myclass)== 'undefined')
		myclass = '';
	prevLength = mycarousel_items.length;		
	//carga el array de datos
		
	 $.getJSON("galeria_ajax.php?myclass=" + myclass, function(data){
	 	
     	//pasamos el resultado a una variable global
		mycarousel_items = data;


		//ahora instanciamos el carousel
		if (typeof(carousel) == 'undefined') {
			carousel = new YAHOO.extension.Carousel("mycarousel", 
			{
				numVisible:        	4,
				scrollInc:         	1,
				animationSpeed:		1,
				size:				mycarousel_items.length,
				wrap: 				true,
				scrollBeforeAmount:	0,
				scrollAfterAmount: 	0,
				loadInitHandler:   loadInitialItems,
				loadNextHandler:   loadNextItems,
				loadPrevHandler:   loadPrevItems,
				prevElement:     "navegarizq",
	 		 	 nextElement:     "navegardcha",
				 autoPlay: 			0,
				 disableSelection: false			
			});
			
			//var actualLength = parseInt(data.length);
			if (mycarousel_items.length > 4 && play == true) {
				carousel.startAutoPlay(2000);
			}
			//$('body').css({'cursor':'default'});
			$('#ajaxload').addClass('oculto');
		} else {

			//el carousel ya ha sido instanciado... hay que recargarlo
			carousel.stopAutoPlay();
			setTimeout("reload_carousel()",2001);
	
		}
	 });

	
}
function hidefloating() {
	
	$('#floating').addClass('oculto');
	if (mycarousel_items.length > 3)
		carousel.startAutoPlay();
}

/* FIN CAROUSEL-YUI */

/* OVERLAY */
function maximize(index) {
	//paramos el carousel
	try {
		$('#ajaxload').removeClass('oculto');
		carousel.stopAutoPlay();	
	
	
		if (index == 'next') {
	
			if (global_index == mycarousel_items.length - 1) {
				global_index = 0;
			} else {
				global_index++;
			}
		} else if (index == 'prev') {
			if (global_index == 0) {
				global_index = mycarousel_items.length - 1 ;
			} else {
				global_index--;
			}
		} else {
			global_index = index;
		}
	
		id = mycarousel_items[global_index].id;
	} catch (e) {
		id = index;
	}
	
	var nitems;
	if (typeof(mycarousel_items) == 'undefined') {
		nitems = 0;
	} else {
		nitems = mycarousel_items.length;
	}
		$.ajax({
			type: "GET",
			url: "galeria_item.php",
			data: 'id=' + id + '&size='+nitems,
			success: function(data){
				
				//calcula el tamano para la imagen
				$('#ajaxload').addClass('oculto');
				$("#floating").html(data);
				var img_size_alt = $("#img-floating-top").attr('alt1');
				var img_size = img_size_alt.split(',');
				
				
				var height = img_size[1];
				var width = img_size[0];
				
				var max_height = 279;
				var max_width = 360;
				
				var new_height = max_width * height / width;
				var new_width = max_height * width / height;
				
				//console.log(height + ' ' + width  + ' ' + new_height + ' ' + new_width);
				if (height/width > max_height/max_width) {
					//console.log('maximiza alto');
					//maximiza alto
					
					var left_margin = String(parseInt((360 - new_width)/2+40));
					$('#img-floating-top').css({'height':max_height+'px','width':'auto','left':left_margin+'px'});
				} else {
					//console.log('maximiza ancho');
					//maximiza ancho
					$('#img-floating-top').css({'height':'auto','width':max_width+'px'});
				}	
				$('#img-floating-top').removeClass('oculto');
		 		$("#floating").removeClass('oculto');		
			}
			});	
}

/* FIN OVERLAY */

/* MENU CATEGORIAS */
function mostrar_equipos () {
	set_color('0');
	
	//mostrar caja subcat
	
	
		filtrar("equipos");
		
		$.ajax({
			type: "GET",
			url: "menu_galeria.php",
			data: 'myclass=equipos',
			success: function(data){
		 		$("#ocultosubmenu").html(data);
				$("#ocultosubmenu").addClass('mostrar');
				$("#ocultoitem").removeClass('mostrar');
			}
			});	
	
}

function mostrar_menu(myclass) {
	var cat = /c_(\d+)/.exec(myclass);
	cat=cat[1];
	set_color(cat);
	var subcat = /s_(\d+)/.exec(myclass);
	filtrar(myclass);
	if (subcat == null) {
		//mostrar caja subcat
		
		
		$.ajax({
			type: "GET",
			url: "menu_galeria.php",
			data: 'myclass=' + myclass,
			success: function(data){
				//console.log(data);
		 		$("#ocultosubmenu").html(data);
				$("#ocultosubmenu").addClass('mostrar');
				$("#ocultoitem").removeClass('mostrar');
			}
			});	
	} else {
		subcat=subcat[1];
		//mostrar caja subcat2
		var msg = "menu_galeria.php" + 'myclass=' + myclass;
		
		$.ajax({
			type: "GET",
			url: "menu_galeria.php",
			data: 'myclass=' + myclass,
			success: function(data){
				
		 		$("#ocultoitem").html(data);
				$("#ocultoitem").addClass('mostrar');
			}
			});	
	}
	
}

function set_bullet_gal_c(myclass) {
	$('.link-menu').removeClass("rojo");	
	$('#'+myclass+'_bullet').addClass("rojo");
}

function set_bullet_gal_s(myclass) {
	$('#menu_gal_s > ul > li > a').removeClass("rojo");
	$('#menu_gal_s2 > ul > li > a').removeClass("rojo");
	$('#'+myclass+'_bullet').addClass("rojo");
}

function set_bullet_gal_s2(myclass) {
	$('#menu_gal_s2  > ul > li > a').removeClass("rojo");
	$('#'+myclass+'_bullet').addClass("rojo");
}

/* FIN MENU CATEGORIAS */

function valid_browser() {
	
	
	
}
$(document).ready(function() {
	//ocultamos las cajas de ocultosubmenu y ocultoitem
	//$('a').css({'text-decoration':'none'});
	$("#ocultoitem").addClass('oculto');
	$("#ocultosubmenu").addClass('oculto');

	var url = window.location;
	var myclass = String(url).match(/#(.*)/)
	if (myclass != null) {
		var is_item = /item/;
		if (!is_item.test(myclass)) {
			set_bullet_gal_c(myclass[1]);
			if (String(myclass[1]).search(/equipos/) >= 0) {
				mostrar_equipos();
			} else {
				mostrar_menu(myclass[1]);	
			}	 
		} else {
			play = false;
			var item = /item_(\d+)/.exec(myclass);
			filtrar();
			maximize(item[1]);
		}
	} else {
		filtrar();
	}

	
});


