/* ***********************************************************************
* Plugins initialization
*/
jQuery.noConflict();


/*  Jquery Scroll TO */
function initInfoVisor(){
    if ( jQuery("#opciones_compra_buscador").length ) {
		
		jQuery(".info-help").hover(
	      function () {
		  	var elemento = jQuery(this).attr('id');
	       	jQuery('#'+elemento+'_thunb').show();
	      }, 
	      function () {
		  	var elemento = jQuery(this).attr('id');
	       	jQuery('#'+elemento+'_thunb').hide();
	      }
	    );
	}	
}

function initGuiaTabs () {
	if (jQuery("#opciones_compra_buscador").length) {
		jQuery(".op_dimensiones a").addClass("active");
		jQuery("#op_vehiculos").hide();;
		controlerTab();
		jQuery('#msg_error').hide();
		controlerSubmit();
		controlerAjaxSelect();
	}
}

function controlerSubmit() {
	jQuery("#op_dimensiones_form").submit(function() {

		document.cookie = "tipo_dim_form=" + $("tipo_dim_form").selectedIndex + "; path=/";
		document.cookie = "anchura_form=" + $("anchura_form").selectedIndex + "; path=/";
		document.cookie = "altura_form=" + $("altura_form").selectedIndex + "; path=/";
                document.cookie = "carga_form=" + $("carga_form").selectedIndex + "; path=/";
		document.cookie = "diametro_form=" + $("diametro_form").selectedIndex + "; path=/";
		document.cookie = "velocidad_form=" + $("velocidad_form").selectedIndex + "; path=/";

		

		var validate = true;
       jQuery("#op_dimensiones_form select").each(function(){
        	var valor = jQuery(this).val();
			if(valor =='...'){
				validate = false;
			}
      });
	  if(!validate) {
	  	jQuery('#msg_error').show();
	  } else {
	  	jQuery('#msg_error').hide();
      var path;
      jQuery.ajax({
				   type: "GET",
           async: false,
				   url: "/es/garage/gom/selecops",
				   data: "form=dimensiones&ID_selector=Submit&Tipo_dim="+jQuery("#tipo_dim_form").val()+"&Anchura="+jQuery("#anchura_form").val()+"&Altura="+jQuery("#altura_form").val()+"&Diametro="+jQuery("#diametro_form").val()+"&Carga="+jQuery("#carga_form").val()+"&Velocidad="+jQuery("#velocidad_form").val(),
				   success: function(msg){
             path = msg;
			   	 }
			});
      
      if( location.pathname == '/')
        location.href = '/es/'+path;
      else
          location.href= location.pathname + path;
	  }
      return false;
  });
	jQuery("#op_vehiculos_form").submit(function() {

		document.cookie = "constructor_form=" + $("constructor_form").selectedIndex + "; path=/";
		document.cookie = "modelo_form=" + $("modelo_form").selectedIndex + "; path=/";
		document.cookie = "tipo_form=" + $("tipo_form").selectedIndex + "; path=/";
    		document.cookie = "anyo_form=" + $("anyo_form").selectedIndex + "; path=/";
		document.cookie = "dimensiones_form=" + $("dimensiones_form").selectedIndex + "; path=/";

		var validate = true;
       jQuery("#op_vehiculos_form select").each(function(){
        	var valor = jQuery(this).val();
			if(valor =='...'){
				validate = false;
			}
      });
	  if(!validate) {
	  	jQuery('#msg_error').show();
	  } else {
	  	jQuery('#msg_error').hide();
      var path;
      jQuery.ajax({
				   type: "GET",
           async: false,
				   url: "/es/garage/gom/selecops",
				   data: "form=vehiculos&ID_selector=Submit&Fabricante="+jQuery("#constructor_form").val()+"&Modelo="+jQuery("#modelo_form").val()+"&Tipo="+jQuery("#tipo_form").val()+"&value="+jQuery("#anyo_form").val(),
				   success: function(msg){
             path = msg;
			   	 }
			});
      
      if( location.pathname == '/')
        location.href = '/es/'+path;
      else
          location.href= location.pathname + path;
	  }
      return false;
    });
}

function controlerAjaxSelect(){

		 // para restaurar  select
		var emptyOption = '<option value="...">...</option>';

		//capturo todos los campos select con sus valores
		var data = '';
		jQuery("#op_dimensiones_form select").each(function(){
			data += "&"+jQuery(this).attr('name')+'='+jQuery(this).val();
      	});
		jQuery("#opciones_compra_buscador .loading").ajaxStart(function(){
			jQuery(this).show();
		});
	 /*
		jQuery("#tipo_dim_form").change(function () {
			jQuery("#anchura_form").html(emptyOption);
			jQuery("#altura_form").html(emptyOption);
			jQuery("#carga_form").html(emptyOption);
			jQuery("#diametro_form").html(emptyOption);
			jQuery("#velocidad_form").html(emptyOption);

         	jQuery.ajax({
			   type: "GET",
			   url: "/garage/gom/selecops",
			   data: "ID_selector=tipo_dim&value="+jQuery(this).val(),
			   success: function(msg){
         		 
				 jQuery("#anchura_form").html(msg);
			   }
			 });
        })
	 	jQuery("#anchura_form").change(function () {
			jQuery("#altura_form").html(emptyOption);
			jQuery("#carga_form").html(emptyOption);
			jQuery("#diametro_form").html(emptyOption);
			jQuery("#velocidad_form").html(emptyOption);
         	jQuery.ajax({
			   type: "GET",
			   url: "/garage/gom/selecops",
			   data: "ID_selector=anchura&value="+jQuery(this).val(),
			   success: function(msg){
        		 //jQuery("#opciones_compra_buscador .loading").hide();
				 jQuery("#altura_form").html(msg);
			   }
			 });
        })
	 	jQuery("#altura_form").change(function () {
			jQuery("#carga_form").html(emptyOption);
			jQuery("#diametro_form").html(emptyOption);
			jQuery("#velocidad_form").html(emptyOption);
         	jQuery.ajax({
			   type: "GET",
			   url: "/garage/gom/selecops",
			   data: "ID_selector=altura&value="+jQuery(this).val(),
			   success: function(msg){
        		 //jQuery("#opciones_compra_buscador .loading").hide();
				 jQuery("#diametro_form").html(msg);
			   }
			 });
        })
	 	jQuery("#diametro_form").change(function () {
			jQuery("#carga_form").html(emptyOption);
			jQuery("#velocidad_form").html(emptyOption);
         	jQuery.ajax({
			   type: "GET",
			   url: "/garage/gom/selecops",
			   data: "ID_selector=diametro&value="+jQuery(this).val(),
			   success: function(msg){
        		 //jQuery("#opciones_compra_buscador .loading").hide();
				 jQuery("#carga_form").html(msg);
			   }
			 });
        })
	 	jQuery("#carga_form").change(function () {
			jQuery("#velocidad_form").html(emptyOption);
         	jQuery.ajax({
			   type: "GET",
			   url: "/garage/gom/selecops",
			   data: "ID_selector=carga&value="+jQuery(this).val(),
			   success: function(msg){
        		 //jQuery("#opciones_compra_buscador .loading").hide();
				 jQuery("#velocidad_form").html(msg);
			   }
			 });
        })
		// Segundo form
		var data = '';
		jQuery("#op_dimensiones_form select").each(function(){
			data += "&"+jQuery(this).attr('name')+'='+jQuery(this).val();
      	});
	 	jQuery("#constructor_form").change(function () {
			jQuery("#modelo_form").html(emptyOption);
			jQuery("#tipo_form").html(emptyOption);
			jQuery("#anyo_form").html(emptyOption);
			jQuery("#dimensiones_form").html(emptyOption);

         	jQuery.ajax({
			   type: "GET",
			   url: "/garage/gom/selecops",
			   data: "ID_selector=constructor&value="+jQuery(this).val(),
			   success: function(msg){
        		 //jQuery("#opciones_compra_buscador .loading").hide();
				 jQuery("#modelo_form").html(msg);
			   }
			 });
        })
	 	jQuery("#modelo_form").change(function () {
			jQuery("#tipo_form").html(emptyOption);
			jQuery("#anyo_form").html(emptyOption);
			jQuery("#dimensiones_form").html(emptyOption);

         	jQuery.ajax({
			   type: "GET",
			   url: "/garage/gom/selecops",
			   data: "ID_selector=modelo&value="+jQuery(this).val(),
			   success: function(msg){
        		 //jQuery("#opciones_compra_buscador .loading").hide();
				 jQuery("#tipo_form").html(msg);
			   }
			 });
        })
	 	jQuery("#tipo_form").change(function () {
			jQuery("#anyo_form").html(emptyOption);
			jQuery("#dimensiones_form").html(emptyOption);

         	jQuery.ajax({
			   type: "GET",
			   url: "/garage/gom/selecops",
			   data: "ID_selector=tipo&value="+jQuery(this).val(),
			   success: function(msg){
        		 //jQuery("#opciones_compra_buscador .loading").hide();
				 jQuery("#anyo_form").html(msg);
			   }
			 });
        })
	 	jQuery("#anyo_form").change(function () {
			jQuery("#dimensiones_form").html(emptyOption);

         	jQuery.ajax({
			   type: "GET",
			   url: "/garage/gom/selecops",
			   data: "ID_selector=anyo&value="+jQuery(this).val(),
			   success: function(msg){
        		 //jQuery("#opciones_compra_buscador .loading").hide();
				 jQuery("#dimensiones_form").html(msg);
			   }
			 });
        })*/
}

function controlerTab(){
	jQuery(".op_dimensiones a").click(function () {
		jQuery(".op_vehiculos a").removeClass("active"); 
        jQuery(this).addClass("active");
		jQuery("#op_vehiculos").hide();
		jQuery("#msg_error").hide();
		jQuery("#op_dimensiones").show();
		return false;
    });
	jQuery(".op_vehiculos a").click(function () { 
        jQuery(".op_dimensiones a").removeClass("active");
        jQuery(this).addClass("active");
		jQuery("#op_dimensiones").hide();
		jQuery("#op_vehiculos").show();
		jQuery("#msg_error").hide();
		return false;
    });
}


function mycarousel_initCallback(carousel)
{
    // Disable autoscrolling if the user clicks the prev or next button.
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });

    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};


function initJcarousel(){
	jQuery('#jcarousel').jcarousel({
    visible: 1, 
    scroll: 1,
    auto: 3,
    wrap: 'last',
    initCallback: mycarousel_initCallback

  });
  	jQuery('#jcarousel2').jcarousel({
    visible: 1, 
    scroll: 1,
    auto: 3,
    wrap: 'last',
    initCallback: mycarousel_initCallback

  });
}

function initJMenu(){
  if (!jQuery('#main-menu > li:first-child').hasClass('red-conforauto'))
    jQuery('#main-menu > li:first-child').addClass('red-conforauto');
    
  if (!jQuery('#main-menu > li:nth-child(2)').hasClass('asociados'))
    jQuery('#main-menu > li:nth-child(2)').addClass('asociados');
    
  if (!jQuery('#main-menu > li:nth-child(3)').hasClass('clientes-pas'))
    jQuery('#main-menu > li:nth-child(3)').addClass('clientes-pas');
    
  if (jQuery('#main-menu > li:last-child').hasClass('clientes-pas'))
    jQuery('#main-menu > li:last-child').removeClass('clientes-pas');
    
  if (!jQuery('#main-menu > li:last-child').hasClass('seguridad-vial'))
    jQuery('#main-menu > li:last-child').addClass('seguridad-vial');
    
  jQuery('#main-menu').jmenu({animation:'slide',duration: 250});
}

           
function provenceUpdater(){
  var provMap = new Array();
  provMap['15'] = 130;
  provMap['01'] = 131;
  provMap['02'] = 132;
  provMap['03'] = 133;
  provMap['04'] = 134;
  provMap['33'] = 135;
  provMap['05'] = 136;
  provMap['06'] = 137;
  provMap['07'] = 138;
  provMap['08'] = 139;
  provMap['09'] = 140;
  provMap['10'] = 141;
  provMap['11'] = 142;
  provMap['39'] = 143;
  provMap['12'] = 144;
  provMap['51'] = 145;
  provMap['13'] = 146;
  provMap['14'] = 147;
  provMap['16'] = 148;
  provMap['17'] = 149;
  provMap['18'] = 150;
  provMap['19'] = 151;
  provMap['20'] = 152;
  provMap['21'] = 153;
  provMap['22'] = 154;
  provMap['23'] = 155;
  provMap['26'] = 156;
  provMap['35'] = 157;
  provMap['24'] = 158;
  provMap['25'] = 159;
  provMap['27'] = 160;
  provMap['28'] = 161;
  provMap['29'] = 162;
  provMap['52'] = 163;
  provMap['30'] = 164;
  provMap['31'] = 165;
  provMap['32'] = 166;
  provMap['34'] = 167;
  provMap['36'] = 168;
  provMap['37'] = 169;
  provMap['38'] = 170;
  provMap['40'] = 171;
  provMap['41'] = 172;
  provMap['42'] = 173;
  provMap['43'] = 174;
  provMap['44'] = 175;
  provMap['45'] = 176;
  provMap['50'] = 181;
  provMap['46'] = 177;
  provMap['47'] = 178;
  provMap['48'] = 179;
  provMap['49'] = 180;
  
  jQuery('#shipping-garage-form .form-button-alt, .checkout-cart-index .checkout-types a').click(function(){
    var provcode = jQuery('#postcode').val().substr(0,2);
    var idProvMap = provMap[provcode];
    jQuery('#region_id').val(idProvMap);
  });
  
  jQuery('#postcode').keypress(function(){
    var provcode = jQuery(this).val().substr(0,2);
    var idProvMap = provMap[provcode];
    jQuery('#region_id').val(idProvMap);
  });

}

/* ***********************************************************************
* Event handlers
*/

function domloader() {
	initInfoVisor();
	initGuiaTabs();
  initJcarousel();
  initJMenu();
}

function windowloader() {
  provenceUpdater();
}

/** Event resize**/
function windowOnResize() {
};





/* ***********************************************************************
* Secondary functions
*/



/* ***********************************************************************
* Event controllers
*/

/**
addDOMLoadEvent(domloader); 
window.onload = windowloader;
var resizeTimer = null;
jQuery(window).bind('resize', function() {
    if (resizeTimer) clearTimeout(resizeTimer);
    resizeTimer = setTimeout(windowOnResize, 100);
});

**/


jQuery(document).ready(function(){
 //alert('PROBANDO');
 domloader();    
 windowloader();
 windowOnResize();
});



