active_sub = 'searchbot';

$Q(document).ready(function(){ 
		

	//	

		
		// On préselectionne les infos dans le moteur de recherche
		$Q.getJSON(site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=search_critereas_json", function(j){
			
			//alert(j.toSource());

		/*$Q("#ext_part").show();
		$Q("#ext_tot").show();
		$Q("#ext_sup").show();
		$Q("#ext_rai").show();*/
		$Q("#illustrations li").show();
		$Q("#illustrations span").show();
	/*	$Q("#illustrations div").show();*/
		$Q("#illustrations ul").show();
	
			// On désélectionne tout
			$Q('#cat_search>input:checkbox').each( function() { this.attr('checked', false); });

			// On selectionne selon les infos déjà recherchées
			$Q.each(j,function(key,value) {

			   if(value=='1') { $Q('#'+key).attr('checked', true); }

			    if((key=='use_lon')&&(value=='0')) { $Q('#no_long').attr('checked', true); $Q("#sli_longs").hide(); $Q("#label_no_long").css('color','#FF885F'); }//
			    if((key=='use_cha')&&(value=='0')) { $Q('#no_char').attr('checked', true); $Q("#sli_chars").hide(); $Q("#label_no_char").css('color','#FF885F'); }//

            });

				

			GetSlideChaVal2();

			
			//var abc = $Q('#longueur').selectToUISlider({});

			coef =  ($Q.cookie('Display_sysconv')=='metrique')? 1 : 0.03937;

						 							

			var abc = $Q('#longueur').selectToUISlider({labels: 2, Coef: coef,

							sliderOptions: {

								stop: function(e,ui) {

									$Q('#longueur').select();

								}

							}

						}); 

			

			$Q('#longueur').select( function() { 

				//alert($Q(this).val()); 
				GetSlideChaVal2();

			} );

			
		});
			

			
		

		

		

		$Q('#ext_part, #ext_tot, #ext_sup, #ext_rai').click(function(){ 

			//alert($Q(this).attr('id'));

			var val = ($Q(this).attr('checked')==true)? 1 :0;

			$Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=Set_ext&ext="+$Q(this).attr('id')+"&va="+val, dataType: "text", async: false}); 

			$Q('#longueur').select();

			//$Q('#search_criterion_slider_lon').bind('slidechange',function(event, ui) { return false; });

		});	


		

		//bind

		$Q('.buttonForm').click(function(){

				

			// alert(site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=load_products_json&"+$Q('#cat_search').serialize());

			//console.log(site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=load_products_json&"+$Q('#cat_search').serialize());

			$Q('<div id="clickmap-overlay"></div>').appendTo('body'); 

			$Q('<div id="clickmap-loading"></div>').appendTo('body'); 

			

			$Q('#search_results').slideUp("slow",function(){ GetProducts(); });

	
			return false;

			

		});	



	

		// # Désactiver la prise en charge des longueurs

		$Q("#no_long").click(function(){

			//# Coché
			if($Q("#no_long").attr('checked')) 
			{ 
				//# On masque le slide
				$Q("#sli_longs").hide();
				$Q("#label_no_long").css('color','#FF885F');

				//# On enregistre en session pour la recherche
				$Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=Set_use_lon&va=0", dataType: "text", async: false}); 

				

				//# On redéfinit les intervales de charges
				GetSlideChaVal2();
			}
			//# Décoché
			else 
			{ 				
				//# On enregistre en session pour la recherche
				$Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=Set_use_lon&va=1", dataType: "text", async: false}); 

				//# On redéfinit les intervales de charges
				GetSlideChaVal2();

				//# On montre le slide
				$Q("#sli_longs").show(); 
				$Q("#label_no_long").css('color','#0095D9');
			}

		});	



			

		// # Désactiver la prise en charge des charges

		$Q("#no_char").click(function(){
			//# Coché
			if($Q("#no_char").attr('checked')) 
		{ 
				//# On masque le slide
				$Q("#sli_chars").hide();
				$Q("#label_no_char").css('color','#FF885F');

				//# On enregistre en session pour la recherche
				$Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=Set_use_cha&va=0", dataType: "text", async: false}); 

				//# On redéfinit les intervales de charges
				//GetSlideChaVal2();
			}
			//# Décoché
			else 
			{ 				
				//# On enregistre en session pour la recherche
				$Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=Set_use_cha&va=1", dataType: "text", async: false}); 

				//# On redéfinit les intervales de charges
				GetSlideChaVal2();

				//# On montre le slide
				$Q("#sli_chars").show(); 
				$Q("#label_no_char").css('color','#0095D9');
			}
		});	

/*	*/

	});

	


	function GetSlideChaVal2()
	{
		
				$Q('#search_criterion_slider_cha').slider( 'destroy' );
				
						$Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=load_charges&lon="+$Q('#longueur').val(), dataType: "json", success: function(j){ 

								//$Q('#search_criterion_slider_cha').hide();
								//alert("L : "+$Q('#lon_lon').val()+"\n"+"C : "+json['min']+" <-> "+json['max']);
								
								
								//$Q('#search_criterion_slider_cha').fadeOut().fadeIn().fadeOut().fadeIn();

								coef =  ($Q.cookie('Display_sysconv')=='metrique')? 1 : 2.2046;
								
								var min = (isNaN(parseInt(j['min'])))? '7' : parseInt(j['min']);
								var dmin = (coef=='1')? min : (Math.round((min*2.2046)*100) / 100);
								var max = (isNaN(parseInt(j['max'])))? '1250' : parseInt(j['max']);
								var dmax = (coef=='1')? max : (Math.round((max*2.2046)*100) / 100);
								var med =  (isNaN(parseInt(j['med'])))? '620' : parseInt(j['med']);
								var dmed = (coef=='1')? med : (Math.round((med*2.2046)*100) / 100);
								
								$Q('#show_min').html(dmin);
								$Q('#show_max').html(dmax);
								$Q('#show_curr').html(dmed);
								$Q('#charge').val(med);
								//DisplaySlideChaVal(med);
								//$Q('#cha_cha').val(med);
								
								$Q('#search_criterion_slider_cha').slider( 'destroy' );
								
									//unit = ($Q.cookie('Display_sysconv')=='metrique')? 'kg' : 'lb';
									
									//lon = (unit=='kg')? lon : (Math.round((lon*2.2046)*100) / 100);
		
									$Q('#search_criterion_slider_cha').slider({
										//steps: 1,
										maxValue: max,
										minValue: min,
										min: min,
										max: max,
										//startValue: (((max-min)/2)+min),
										value: med,
									//	stepping: 1,
									//	range: true,
										//values: [150,500,1000],
										//values: [150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000],
										
										slide: function(e2, ui2) { 
											//alert(ui.toSource());
											//$Q("#lon_min").html((ui.slider.curValue)+150);
											
											//$Q('#cha_min').html((ui2.slider.curValue));
											//$Q("#cha_min").html($Q('#cha_cha').val());
											
											//DisplaySlideChaVal((ui2.slider.curValue)+min);
											//$Q('#cha_cha').val((ui2.slider.curValue)+min);
											
											//$Q('#show_curr').html(ui2.value);
											//alert(coef);
											v = (coef=='1')? Math.ceil(ui2.value) : (Math.round((ui2.value*2.2046)*100) / 100);
											$Q('#show_curr').html(v);
											
											
										},
										
									
										stop: function(e2, ui2) { 
											//alert(ui.toSource());
											//$Q("#lon_min").html((ui.slider.curValue)+150);
											//ui2.slider.curValue = (ui2.slider.curValue<min)? min : ui2.slider.curValue;
											//alert(ui2.slider.curValue);
											//$Q("#cha_min").html($Q('#cha_cha').val());
											//DisplaySlideChaVal((ui2.slider.curValue)+min);
											
											//$Q('#cha_cha').val((ui2.slider.curValue)+min);
											//$Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=Set_charges&cha="+parseInt((ui2.slider.curValue)+min), async: false});
											//alert(ui2.value);
											
											$Q('#charge').val(ui2.value);
											$Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=Set_charges&cha="+$Q('#charge').val(), async: false});
											
										}
									});		
								
								
							//	$Q('#search_criterion_slider_cha').toggle();
							//alert($Q('#search_criterion_slider_cha').slider.toSource());
								}
							});

		
	}	
	
	function implode( glue, pieces ) {
    // *     example 1: implode(' ', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: 'Kevin van Zonneveld'
 
   	 return ( ( pieces instanceof Array ) ? pieces.join( glue ) : pieces );
	}
	
	function array_push ( array ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_push(['kevin','van'], 'zonneveld');
    // *     returns 1: 3
 
    var i, argv = arguments, argc = argv.length;
 
    for (i=1; i < argc; i++){
        array[array.length++] = argv[i];
    }
 
    return array.length;
}
	

		var template_prod = $Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=get_template_prod&lan="+lang, dataType: "text", async: false}).responseText;
		var template_prodRails = $Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=get_template_prodRails&lan="+lang, dataType: "text", async: false}).responseText;
		
		var template_prodcharges = $Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=get_template_prodcharges&lan="+lang, dataType: "text", async: false}).responseText;
		var template_prodchargesRails = $Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=get_template_prodchargesRails&lan="+lang, dataType: "text", async: false}).responseText;
		


	function GetProducts()
	{
		 var out = '';
		  var outf = '';
		  var out2 = '';
		  var out3 = '';
		  var out4 = '';
		  var out5 = '';
		  var out6 = '';
		  var out7 = '';
	
		
		// Affichage produits ()
		$Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=load_products_json&"+$Q('#cat_search').serialize(), dataType: "json", success: function(json){ 
					
					
						$Q('.total').show();
						$Q('#nbtot').html(json['prods'].length);
						
						if(json['prods'].length==0) { 
							
							outf = json['msg'];
							//alert(json['msg']);
						}
						else
						{
							
							
							//out = $Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=get_template_glob", dataType: "text", async: false}).responseText;
							out = "[X_PRODS_X]";
							// alert(out);
							var template_prod = $Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=get_template_prod&lan="+lang, dataType: "text", async: false}).responseText;
							var template_prodRails = $Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=get_template_prodRails&lan="+lang, dataType: "text", async: false}).responseText;
							
							var template_prodcharges = $Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=get_template_prodcharges&lan="+lang, dataType: "text", async: false}).responseText;
							var template_prodchargesRails = $Q.ajax({type: "GET", url: site+"tl_files/chambrelan/_soa/soa.php?act=soa&todo=get_template_prodchargesRails&lan="+lang, dataType: "text", async: false}).responseText;
								
							  for (i=0; i<json['prods'].length; i++)
							  {
								 out3 = template_prod;
								 out3 = (json['prods'][i]['gli_ext']=='4')? template_prodRails : out3;
								 out3 = (json['prods'][i]['gli_ext']=='6')? template_prodRails : out3;
								
								
								 out3 = out3.replace("[X_RANK_X]", json['prods'][i]['RANK']);
								 out3 = out3.replace("[X_PICTTHUMB_X]", json['prods'][i]['pict'].replace(".png","_p.png"));
								 out3 = out3.replace("[X_PICT_X]", json['prods'][i]['pict']);
								 out3 = out3.replace("[X_URL_X]", json['prods'][i]['url']);
								 out3 = out3.replace("[X_URL_X]", json['prods'][i]['url']);
								 out3 = out3.replace("[X_CPT_X]", i);
								 out3 = out3.replace("[X_CPT_X]", i);
								 out3 = out3.replace("[X_CPT_X]", i);
								 out3 = out3.replace("[X_REF_X]", json['prods'][i]['gli_ref2']);
								 out3 = out3.replace("[X_MAT_X]", json['prods'][i]['gli_materiau']);
								 out3 = out3.replace("[X_LMIN_X]", json['prods'][i]['gli_larg_min']);
								 out3 = out3.replace("[X_LMAX_X]", json['prods'][i]['gli_larg_max']);
								 out3 = out3.replace("[X_CMIN_X]", json['prods'][i]['gli_charg_min']);
								 out3 = out3.replace("[X_CMAX_X]", json['prods'][i]['gli_charg_max']);
									 
													 
								 var id = 0;
								 var haz_sel = 'n';
								
								 var fl_lon = new Array();
								 var fl_cha = new Array();
								 var fl_dev = new Array();
								 
								 var fl_chant = new Array();
								 var fl_plat = new Array();
							 
								 for (i2=0; i2<json['prods'][i]['tab_charges'].length; i2++)
								{
									
									var classe = '';
								
									if(($Q("#no_char").attr('checked'))&&($Q("#no_long").attr('checked')))
									{
										classe = ' opacity3';
									}
									else
									{/**/
										if((array_key_exists(parseInt(i2+4), json['prods'][i]['tab_charges']))&&(json['prods'][i]['tab_charges'][(i2+4)]['selected']=='1')) { classe = ' opacity1'; }
										else if((array_key_exists(parseInt(i2+3), json['prods'][i]['tab_charges']))&&(json['prods'][i]['tab_charges'][(i2+3)]['selected']=='1')) { classe = ' opacity2'; }
										else if((array_key_exists(parseInt(i2+2), json['prods'][i]['tab_charges']))&&(json['prods'][i]['tab_charges'][(i2+2)]['selected']=='1')) { classe = ' opacity3'; }
										else if((array_key_exists(parseInt(i2+1), json['prods'][i]['tab_charges']))&&(json['prods'][i]['tab_charges'][(i2+1)]['selected']=='1')) { classe = ' opacity4'; }
										
										else if(json['prods'][i]['tab_charges'][i2]['selected']=='1') { classe = ''; }
										
										else if((array_key_exists(parseInt(i2-1), json['prods'][i]['tab_charges']))&&(json['prods'][i]['tab_charges'][(i2-1)]['selected']=='1')) { classe = ' opacity4'; }
										else if((array_key_exists(parseInt(i2-2), json['prods'][i]['tab_charges']))&&(json['prods'][i]['tab_charges'][(i2-2)]['selected']=='1')) { classe = ' opacity3'; }
										else if((array_key_exists(parseInt(i2-3), json['prods'][i]['tab_charges']))&&(json['prods'][i]['tab_charges'][(i2-3)]['selected']=='1')) { classe = ' opacity2'; }
										else if((array_key_exists(parseInt(i2-4), json['prods'][i]['tab_charges']))&&(json['prods'][i]['tab_charges'][(i2-4)]['selected']=='1')) { classe = ' opacity1'; }
										
										else { classe = ' opacity1'; }
									}
								
									
									array_push(fl_lon,'<td class="tabChargeCell'+classe+'">'+json['prods'][i]['tab_charges'][i2]['longueur']+'</td>');
									array_push(fl_cha,'<td class="tabChargeCell'+classe+'">'+json['prods'][i]['tab_charges'][i2]['charge']+'</td>');
									array_push(fl_dev,'<td class="tabChargeCell'+classe+'">'+json['prods'][i]['tab_charges'][i2]['developpement']+'</td>');
									
									array_push(fl_chant,'<td class="tabChargeCell'+classe+'">'+json['prods'][i]['tab_charges'][i2]['achant']+'</td>');
									array_push(fl_plat,'<td class="tabChargeCell'+classe+'">'+json['prods'][i]['tab_charges'][i2]['aplat']+'</td>');
								
								}	
									
									 out6 = template_prodcharges;
									 out6 = (parseInt(json['prods'][i]['gli_ext'])=='4')? template_prodchargesRails : out6;
									 out6 = (parseInt(json['prods'][i]['gli_ext'])=='6')? template_prodchargesRails : out6;
									
									//alert(out6);
									
									
									out6 = out6.replace('<td class="tabChargeCell">','');
									out6 = out6.replace('<td class="tabChargeCell">','');
									out6 = out6.replace('<td class="tabChargeCell">','');
								
									out6 = out6.replace("[X_LONG_X]", implode('',fl_lon));
									out6 = out6.replace("[X_CHARG_X]", implode('',fl_cha));
									out6 = out6.replace("[X_DEVLP_X]", implode('',fl_dev));
									
									out6 = out6.replace("[X_CHANT_X]", implode('',fl_chant));
									out6 = out6.replace("[X_PLAT_X]", implode('',fl_plat));
									
									
							
									out7 += out6;	
									
									
								
								 out3 = out3.replace("[X_CHARGES_X]", out7);
								 out7 = '';
							
								out4 += out3;	
							  }
							  
							  outf = out.replace("[X_PRODS_X]", out4);
				
						outf = json['msg']+outf;
						
					}	
						
					
					$Q('#search_results').html(outf);
						 
												
						$Q('#longueur').unbind( "select" );
								$Q("#longueur").parent().children(".ui-slider").remove();
								$Q('#longueur').parent().remove(".ui-slider");
								
										//Coef: coef,
						coef =  ($Q.cookie('Display_sysconv')=='metrique')? 1 : 0.03937;
						var abc = $Q('#longueur').selectToUISlider({labels: 2, Coef:coef,
										sliderOptions: {
											stop: function(e,ui) {
												$Q('#longueur').select();
											}
										}
									}); 
						
						$Q('#longueur').select( function() { 
							//alert($Q(this).val()); 
							GetSlideChaVal2();
						} );		
						 var l_unit = ($Q.cookie('Display_sysconv')=='metrique')? 'mm' : 'in';
						 var c_unit = ($Q.cookie('Display_sysconv')=='metrique')? 'kg' : 'lb';
						 $Q("#l_unit").html('('+l_unit+')');
						 $Q("#c_unit").html('('+c_unit+')');
						 GetSlideChaVal2();
						 //DisplaySlideLonVal($Q('#lon_lon').val());
						 //DisplaySlideChaVal();
					
						  $Q('#search_results').slideDown("slow",function(){
								
								$Q('#clickmap-loading').remove(); 
								$Q('#clickmap-overlay').remove(); 
								
								//if(json.length>0) {  }
								//MultiBox.destroy();
								$Q("#mbqr").removeClass("mb");
								
								
								new MultiBox('mb', {descClassName: 'multiBoxDesc', useOverlay: true, showNumbers: false, showControls: false,openFromLink:false});
								
								$Q("#mbqr").addClass("mb");

								
							});
						 
					  
					
							
			
					
		}, async: false}); //
		
		
	}
	
	function array_key_exists ( key, search ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Felix Geisendoerfer (http://www.debuggable.com/felix)
    // *     example 1: array_key_exists('kevin', {'kevin': 'van Zonneveld'});
    // *     returns 1: true
 
    // input sanitation
    if( !search || (search.constructor !== Array && search.constructor !== Object) ){
        return false;
    }
 
    return key in search;
}
