$(document).ready(function(){
	Shadowbox.init();
	select_skin();
	checkbox();
	slider();
	history_back();
	blank();
	
	/* ROUNDABOUT SLIDER */
	if($('#carousel ul').length > 0){
		$('#carousel ul').roundabout({
			shape: 'tearDrop',
			minScale: 0.1,
			minOpacity: 1,
			btnPrev: '#carousel .prev',
			btnNext: '#carousel .next',
		});
	}
	
	/* PARA EL BUSCADOR */
	if($('#buscador').length > 0){
		
		if($('#gestion').length > 0){
			$('#gestion select').bind('change',function(){
				$('#precio').load('/requires/comunes/ajax/buscador.php',{estado : $('#gestion select').val()},function(){select_skin();});
			});
		}
	}
	
	$('.galeria .left-nav').click(function(e){e.preventDefault();scroll_left(3,100,12);});
	$('.galeria .right-nav').click(function(e){e.preventDefault();scroll_right(3,100,12);});
	
});

function blank(){
	$('.blank').click(function(e){
		this.target = "_blank";
	});
}

function scroll_right(n_imagenes,ancho,gap){
	$('.galeria .right-nav').unbind();
	total = $('.gallery a').length;
	
	salto = n_imagenes*(ancho + gap);
	
	n_saltos = Math.ceil((total-n_imagenes)/n_imagenes);
	if(n_saltos == 0)
		n_saltos = 1;
		
	maxima = n_saltos*salto*(-1);
	// alert(maxima);
	
	if(parseInt($(".gallery").css("left")) - salto  >= parseInt(maxima)){	
		$(".gallery").animate({"left": "-="+salto+"px"}, "slow",'linear');
	} 
	
	$('.galeria .right-nav').bind('click', function(e) {
		e.preventDefault();
		scroll_right(n_imagenes,ancho,gap);
	});
	
}

function scroll_left(n_imagenes,ancho,gap){
	
	salto = n_imagenes*(ancho + gap);
	
	$('.galeria .left-nav').unbind();
	
	if(parseInt($(".gallery").css("left"))< 0){
		$(".gallery").animate({"left": "+="+salto+"px"}, "slow",'linear');
	} 
	
	$('.galeria .left-nav').bind('click', function(e) {
		e.preventDefault();
		scroll_left(n_imagenes,ancho,gap);
	});
}

/* SELECT SKIN */
function select_skin(){
	$('.select').each(function(){
		if($(this).parent('.select-skin').length == 0){
			$(this).after('<div class="select-skin"><span></span></div>');
			$(this).appendTo($(this).next('div.select-skin'));
			$(this).change(function(){
				myString = $(this).find(':selected').text();
				if(myString.length > 17)
					myString = myString.substr(0,14) + '...';
				$(this).siblings('span').text(myString);
				// $(this).siblings('span').text($(this).find(':selected').text());
			});
			myString = $(this).find(':selected').text();
			if(myString.length > 20)
				myString = myString.substr(0,17) + '...';
			$(this).siblings('span').text(myString);
			// $(this).siblings('span').text($(this).find(':selected').text());
		}
	});
	
}

function checkbox(){
	/* CHECKBOX SKINNING */
	$('.checkbox').each(function(){
			$(this).after('<div class="checkbox-skin"></div>');
			$(this).appendTo($(this).next('div.checkbox-skin'));
			$(this).click(function(){
				if($(this).attr('checked')){
					$(this).parent().addClass('checked');
				}
				else{
					$(this).parent().removeClass('checked');
				}
			});
			
			if($(this).is(':checked')){
				$(this).parent().addClass('checked');
			}
	});
}

/* INFINITE CAROUSEL */
function slider(){ 
     
    //grab the width and calculate left value
    var item_width = $('#slider .slide').outerWidth(); 
	var offset = 1;
    var left_value = (item_width+offset) * (-1); 
         
    //move the last item before first item, just in case user click prev button
    $('#slider .slide:first').before($('#slider .slide:last'));
     
    //set the default item to the correct position 
    $('#slider #slides-wrapper').css({'left' : 4*left_value});
 
    //if user clicked on prev button
    $('#prev').click(function() {
 
		 clearTimeout(run); 
		 run = setTimeout('rotate()', speed);
		
        //get the right position            
        var left_indent = parseInt($('#slider #slides-wrapper').css('left')) + item_width ;
 
        //slide the item            
        $('#slider #slides-wrapper').animate({'left' : left_indent}, 500,function(){    
 
            //move the last item and put it as first item               
            $('#slider .slide:first').before($('#slider .slide:last'));           
 
            //set the default item to correct position
            $('#slider #slides-wrapper').css({'left' : 4*left_value});
			
			
			// active = $('#slide-nav .active');
			// prevSlide = active.prev('span');
			// active.removeClass('active');
			
			// if(prevSlide.length > 0)
				// prevSlide.addClass('active');
			// else
				// $('#slide-nav span:last').addClass('active');
         
        });
 
        //cancel the link behavior            
        return false;
             
    });
 
  
    //if user clicked on next button
    $('#next').click(function() {
         
		 clearTimeout(run); 
		 run = setTimeout('rotate()', speed);   
		
        //get the right position
        var left_indent = parseInt($('#slider #slides-wrapper').css('left')) - item_width;
        
        //slide the item
        $('#slider #slides-wrapper').animate({'left' : left_indent }, 500, function () {
             
            //move the first item and put it as last item
            $('#slider .slide:last').after($('#slider .slide:first'));                  
             
            //set the default item to correct position
            $('#slider #slides-wrapper').css({'left' : 4*left_value});
			
			// active = $('#slide-nav .active');
			// nextSlide = active.next();
   			// active.removeClass('active');
			// if(nextSlide.length > 0)
				// nextSlide.addClass('active');
			// else
				// $('#slide-nav span:first').addClass('active');
			
        });
                  
        //cancel the link behavior
        return false;
         
    });        
     
    //if mouse hover, pause the auto rotation, otherwise rotate it
    $('#slider').hover(
         
        function() {
            clearTimeout(run);
        }, 
        function() {
            run = setTimeout('rotate()', speed);   
        }
    ); 

}

//a simple function to click next link
//a timer will call this function, and the rotation will begin :)  
function rotate() {
    $('#next').click();
}


//rotation speed and timer
var speed = 5000;
var run = setTimeout('rotate()', speed); 

function history_back(){
	$('.back-history').click(function(e){e.preventDefault();history.back()});
}

