var global=0;

function mycarousel_itemLoadCallback(carousel, state)
{
	//Solamente cargamos de nuevo el carousel si se ha reseteado o comienza
	if(state == 'init'){
		var esnueva, filtro1 = true, filtro2 = true;
		var j = 0;
		$(".tabla").remove();
		carousel.remove();
		
		for (var i = 0; i < matriz_xml.length; i++) {
			if (i > matriz_xml.length) {
				break;
			}
			
			//Caso en el que nos encontramos en la página principal
			if(pag==null){
				filtro1 = ((matriz_xml[i].tipo==0)&&document.formulario.autocaravanas.checked) || ((matriz_xml[i].tipo==1)&&document.formulario.caravanas.checked) || ((matriz_xml[i].tipo>1)&&document.formulario.remolques.checked);
				
				//No hace falta mirar si es nueva o vieja
				if(!filtro1) continue;
			}
			//Propiedad del elemento
			if(matriz_xml[i].nueva == 'true') esnueva=true;
			else esnueva=false;
			
			//Miramos si se debe insertar
			filtro2 = (esnueva&&document.formulario.nuevas.checked) || (!esnueva&&document.formulario.usadas.checked);
		
			if(filtro1 && filtro2){
				j++;
				var s = matriz_xml_getItemHTML(matriz_xml[i]);
				var item = jQuery(s).get(0);
				var item2 = jQuery(s.substring(s.indexOf('<a'),s.indexOf('</div>'))).get(0);
				// Apply thickbox
				tb_init(item2);
				carousel.add(j, item);
			}
		}
		carousel.size(j);
	
		if(global == 0){
			global=1;
		}
		else{
				tb_init('a.thickbox, area.thickbox, input.thickbox');
		}
	}
};

function mycarousel_initCallback(carousel,state)
{
	carousel.buttonNext.bind('click', function() {
        carousel.startAuto(3);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(3);
    });

    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto(3);
    });
	
    jQuery('.jcarousel-scroll select').bind('change', function() {
        carousel.options.scroll = jQuery.jcarousel.intval(this.options[this.selectedIndex].value);
        return false;
    });
	
	jQuery('.c11').bind('click',function(){
			toogleCheckbox('checkbox1');
			if(state != 'reset'){
				carousel.size(0);
				carousel.reset();
			}
	});
	
	jQuery('.c12').bind('click',function(){
		toogleCheckbox('checkbox2');
		if(state != 'reset'){
			carousel.size(0);
			carousel.reset();
		}
	});
	
	//Caso en el que se trata de la página principal
	if(pag == null){
		jQuery('.c21').bind('click',function(){
			toogleCheckbox('checkbox3');
			if(state != 'reset'){
				carousel.size(0);
				carousel.reset();
			}
		});
		
		jQuery('.c22').bind('click',function(){
			toogleCheckbox('checkbox4');
			if(state != 'reset'){
				carousel.size(0);
				carousel.reset();
			}
		});
		
		jQuery('.c23').bind('click',function(){
			toogleCheckbox('checkbox5');
			if(state != 'reset'){
				carousel.size(0);
				carousel.reset();
			}
		});
	}

	arrLabels = document.getElementsByTagName('label');
	for (var i=0; i<arrLabels.length; i++) {			
			if (arrLabels[i].getAttributeNode('for') && arrLabels[i].getAttributeNode('for').value != '') {
				labelElementFor = arrLabels[i].getAttributeNode('for').value;				
				inputElement = document.getElementById(labelElementFor);
			}
			else {continue;}	
	
			inputElementClass = inputElement.className;
		
			if(inputElementClass.indexOf('checkbox') != -1) {
				inputElement.className = 'c_oculto';
				
				if (inputElement.checked) arrLabels[i].className = 'c_checked';
				else arrLabels[i].className = 'c_unchecked';
			}
		}
};



function toogleCheckbox(idcheckbox) {
	var labelElement;
	var arrLabels = document.getElementsByTagName('label');
	var continuar = true;

	for (var i=0; i<arrLabels.length && continuar; i++) {
		if (arrLabels[i].getAttributeNode('for') && (arrLabels[i].getAttributeNode('for').value == idcheckbox)){
			labelElement = arrLabels[i];
			continuar = false;
		}
	}
	
	if(labelElement.className == 'c_checked')labelElement.className = "c_unchecked";
	else labelElement.className = "c_checked";
}

function matriz_xml_getItemHTML(item)
{
	var cadena = '<table class="tablaitem"><tr><td colspan="2"><div class="marco">';
		
	for(var i = 1; i <= item.n_imagen; i++){
		var imagen = eval('item.imagen'+i);
		cadena += '<a href="'+imagen+'" class="thickbox';
	
		if(i!=1){
			cadena+=' oculto';
		}
		
		var aux = imagen.split('/');
		var p_imagen;
		
		if(aux.length == 2) p_imagen = aux[0]+'/p_'+aux[1];//Caso en el que se trata de una imagen preasignada
		else p_imagen = aux[0]+'/'+aux[1]+'/p_'+aux[2];

		cadena += '" title="'+item.especificaciones+ '" rel="caravana'+ item.id_entrada+'"><img src="'+ p_imagen+'" alt="'+ item.modelo+'"/></a>';
	}
	
	cadena += '</div></td></tr><tr><td class="nombres">Marca:</td><td class="contenido">'+item.marca+'</td></tr><tr><td class="nombres">Modelo:</td><td class="contenido">'+item.modelo+'</td></tr><tr><td class="nombres">A&ntilde;o:</td><td class="contenido">'+item.anyo+'</td></tr><tr><td class="nombres">Precio:</td><td class="contenido">'+item.precio_catalogo+' &euro;</td></tr>';
	
	if(item.precio_oferta != 0) cadena += '<tr><td class="oferta">Oferta:</td><td class="oferta_c">'+item.precio_oferta+' &euro;</td></tr>';
	
	cadena += '<tr><td class="nombres"  colspan="2">Especificaciones:</td></tr><tr><td class="especificaciones" colspan="2">'+item.especificaciones.substr(0,120)+'...</td></tr></table>';
	
	//display(cadena.replace(/</g,"&lt;"));
	
	return cadena;
};


var row = 1;
function display(s) {
    // Log to Firebug (getfirebug.com) if available
    //if (window.console != undefined && typeof window.console.log == 'function')
      //  console.log(s);

    if (row >= 1000)
        var r = row;
    else if (row >= 100)
        var r = '&nbsp;' + row;
    else if (row >= 10)
        var r = '&nbsp;&nbsp;' + row;
    else
        var r = '&nbsp;&nbsp;&nbsp;' + row;

    jQuery('#display').html(jQuery('#display').html() + r + ': ' + s + '<br />').get(0).scrollTop += 10000;

    row++;
};

jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({
		scroll: 1,
        auto: 8,
		size: matriz_xml.length,
        wrap: 'last',
        initCallback: mycarousel_initCallback,
		animation: 'slow',
		itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback}
	});
});
