var preloaderArr = Array();

//preloader('progress', '/images/preloader.gif');

function preloader(position, images) 
{
	preloaderArr[position] = new Image();
	preloaderArr[position].src = images;
}

function makeAdvancedSearch_2()
{
	var xmlhttp = getHTTPObject();
	xmlhttp.abort();
	
	var marks = document.getElementById('marks').value;
	var years = document.getElementById('years').value;
	var cartype = document.getElementById('cartype').value;
	var enginetype =  document.getElementById('enginetype').value;
	if ( marks != '' && years != '' && cartype != '' && enginetype != '' )
	{
		showPreloader( 'page_body_part' );
		$.scrollTo( '#page_body_part', 800 );
		var url = 'categories_ajax.php?marks=' + marks + '&years=' + years + '&cartype=' + cartype + '&enginetype='+enginetype;
		xmlhttp.open('GET', url, true);
		xmlhttp.onreadystatechange = function() 
		{
			if ( xmlhttp.readyState == 4 )
			{
				document.getElementById('page_body_part').innerHTML = xmlhttp.responseText;
			}
		}
		xmlhttp.send(null);
	}
	else
	{
		alert( 'S\'il vous plaît choisir les critères de recherche !' );
	}
	return false;
}

function makeAdvancedSearch()
{
	var marks = document.getElementById('marks').value;
	var years = document.getElementById('years').value;
	var cartype = document.getElementById('cartype').value;
	var enginetype =  document.getElementById('enginetype').value;
	if ( marks != '' && years != '' && cartype != '' && enginetype != '' )
	{
		/*
		$( '#advanced_search_form' ).slideUp( 'normal' );
		clearGlobalVars();
		showPreloader( 'page_body_part' );
		//$.scrollTo( '#page_body_part', 800 );
		var url = 'categories_ajax.php?marks=' + marks + '&years=' + years + '&cartype=' + cartype + '&enginetype='+enginetype;
		$.get( 
			url, 
			function( data ) 
			{
				$('#page_body_part' ).html( data );
				$( '#advanced_search_button' ).slideDown( 'slow' );
				$( '#special_words' ).slideDown( 'slow' );
			}
		);
		*/
		return true;
	}
	else
	{
		alert( 'S\'il vous plaît choisir les critères de recherche !' );
	}
	return false;
}

function showAdvancedSearchForm()
{
	$( '#advanced_search_form' ).slideDown( 'normal' );
	$( '#advanced_search_button' ).slideUp( 'normal' );
	return false;
}

function makeAdvancedSearchTwo()
{
	var refProduct = document.getElementById('refProduct').value;
	if ( refProduct != '' && refProduct != 'Entrez la référence produit' )
	{
		/*clearGlobalVars();
		showPreloader( 'page_body_part' );
		$.scrollTo( '#page_body_part', 800 );
		var url = 'product_listing_ajax.php?refProduct=' + refProduct;
		$.get( 
			url, 
			function( data ) 
			{
				$('#page_body_part' ).html( data );
			}
		);*/
		return true;
	}
	else
	{
		alert( 'S\'il vous plaît remplir \'Entrez la référence produit\' !' );
	}
	return false;
}

function makeAdvancedSearchThree()
{
	var typeMines = document.getElementById('typeMines').value;
	if ( typeMines != '' && typeMines != 'Entrez le type mine' )
	{
		/*clearGlobalVars();
		showPreloader( 'page_body_part' );
		//$.scrollTo( '#page_body_part', 800 );
		var url = 'product_type_mines_ajax.php?typeMines=' + typeMines + '&searchTypeMines_x=true';
		$.get( 
			url, 
			function( data ) 
			{
				$('#page_body_part' ).html( data );
			}
		);*/
		return true;
	}
	else
	{
		alert( 'S\'il vous plaît remplir \'Entrez le type mine\' !' );
	}
	return false;
}

function showPreloader( target )
{
	var target_el = document.getElementById( target );
	target_el.innerHTML = '<div style="text-align: center; padding: 50px 0;"><img src="images/ajax-loader.gif" alt="loading" title="Loading" /></div>';
}

//getCategorySubCategories()
function makeAjaxRequestFromHref_2( link_obj, script_name, target )
{
	var xmlhttp = getHTTPObject();
	xmlhttp.abort();
	
	
	
	showPreloader( target );
	var url = link_obj.href;
	
	var pos = url.indexOf( ".php" );
	url = url.substr( pos + 4 );
	url = script_name + url;
	
	//alert( url ); return false;
	
	xmlhttp.open('GET', url, true);
	xmlhttp.onreadystatechange = function() 
	{
		if ( xmlhttp.readyState == 4 )
		{
			document.getElementById(target).innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);	
	
	return false;
}

function makeAjaxRequestFromHref( link_obj, script_name, target, scrollto )
{
	if ( script_name == 'product_listing_ajax.php' || script_name == 'product_info_ajax.php' )
	{
		$('#special_words').slideUp('normal');
		$('#special-words-title').hide();
		$('#not-special-words-title').show();
		$('#advanced_search_form').hide();
	}
	else
	{
		$('#special_words').slideDown('normal');
		$('#not-special-words-title').hide();
		$('#special-words-title').show();
	}
	
	if ( script_name == 'product_listing_ajax.php' )
	{
		$('#left-column').hide();
		var page_content = $('#page-content');
		page_content.attr( 'id', 'page-content-big' );
	}
	
	showPreloader( target );
	var url = link_obj.href;
	
	var pos = url.indexOf( ".php" );
	url = url.substr( pos + 4 );
	url = script_name + url;
	
	//alert( url ); return false;
	
	clearGlobalVars();
	
	$.get( 
		url, 
		function( data ) 
		{
			$('#' + target ).html( data );
			if ( scrollto.length > 0 )
				$.scrollTo( '#' + scrollto, 800 );
		}
	);
	
	return false;
}

function returnBackToCategories( special, link_obj, script_name, target, scrollto )
{
	if ( $("#left-column").get().length == 0 )
	{
		var url = 'left_column_ajax.php';
		$.get( 
			url, 
			function( data ) 
			{
				$('#page-content-big' ).before( data );
				var page_content = $('#page-content-big');
				page_content.attr( 'id', 'page-content' );
				makeAjaxRequestFromHref( link_obj, script_name, target, scrollto );
			}	
		);
		return false;
	}
	else
	{
		var page_content = $('#page-content-big');
		page_content.attr( 'id', 'page-content' );
		$('#left-column').show();
		return makeAjaxRequestFromHref( link_obj, script_name, target, scrollto );
	}
}

var current_open_subcat = '';
function showHideSubSubCats( link_obj, subcat, script_name )
{
	if ( current_open_subcat == subcat )
	{
		checkForSetTimeOut();
		return false;
	}
					
	if ( current_open_subcat != '' )
	{
		$( '#subcats_container' ).slideUp( 'normal', 
			function()
			{	
				/*var curr_img = $( '#cool_category_img_' + current_open_subcat ).attr( 'src' );
				curr_img = curr_img.replace( '_hover.jpg', '.jpg' );
				$( '#cool_category_img_' + current_open_subcat ).attr( 'src', curr_img );
								
				var new_img = $( '#cool_category_img_' + subcat ).attr( 'src' );
				new_img = new_img.replace( '.jpg', '_hover.jpg' );
				$( '#cool_category_img_' + subcat ).attr( 'src', new_img );
				*/
				current_open_subcat = subcat;
												
				if ( !( $( '#subcats_' + subcat ).html().length > 0 ) )
				{			
					
					//$( '#subcats_' + subcat ).slideDown( 'slow' );
					$( '#subcats_container' ).html( '<div style="text-align: center; padding: 50px 0;"><img src="images/ajax-loader.gif" alt="loading" title="Loading" /></div>' );
					$( '#subcats_container' ).slideDown( 'normal' );
					var url = link_obj.href + '&show_subcategories=1';
					
					var pos = url.indexOf( ".php" );
					url = url.substr( pos + 4 );
					url = script_name + url;
					//alert(url);
					$.get( 
						url, 
						function( data ) 
						{
							document.getElementById( 'subcats_' + subcat ).innerHTML = data;
							document.getElementById( 'subcats_container' ).innerHTML = data;
							//$( '#subcats_' + subcat ).html( data );
							//$( '#subcats_container' ).html( data );
							checkForSetTimeOut();
						}
					);			
				}
				else
				{
					$( '#subcats_container' ).html( $( '#subcats_' + subcat ).html() );
					$( '#subcats_container' ).slideDown( 'normal', checkForSetTimeOut() );
				}
			}
		);
	}
	else
	{			
		/*var new_img = $( '#cool_category_img_' + subcat ).attr( 'src' );
		new_img = new_img.replace( '.jpg', '_hover.jpg' );
		$( '#cool_category_img_' + subcat ).attr( 'src', new_img );
		*/
		
		current_open_subcat = subcat;
		if ( !( $( '#subcats_' + subcat ).html().length > 0 ) )
		{		
		
		
			//$( '#subcats_' + subcat ).slideDown( 'slow' );
			$( '#subcats_container' ).html( '<div style="text-align: center; padding: 50px 0;"><img src="images/ajax-loader.gif" alt="loading" title="Loading" /></div>' );
			$( '#subcats_container' ).slideDown( 'normal' );
			var url = link_obj.href + '&show_subcategories=1';
			
			var pos = url.indexOf( ".php" );
			url = url.substr( pos + 4 );
			url = script_name + url;
			//alert(url);
			$.get( 
				url, 
				function( data ) 
				{ 
					document.getElementById( 'subcats_' + subcat ).innerHTML = data;
					document.getElementById( 'subcats_container' ).innerHTML = data;
					//$( '#subcats_' + subcat ).html( data );
					//$( '#subcats_container' ).html( data );
					checkForSetTimeOut();
				}
			);			
		}
		else
		{
			$( '#subcats_container' ).html( $( '#subcats_' + subcat ).html() );
			$( '#subcats_container' ).slideDown( 'normal', checkForSetTimeOut() );
		}
	}
	
		
	return false;
}

function loadSubSubCats( subcat, url )
{
	$.get( 
		url, 
		function( data ) 
		{
			$( '#subcats_' + subcat ).html( data );
		}
	);
}

var set_time_out_fun = '';
var set_time_out_time = 1;
var current_open_lastcat = '';
function showHideLastCats( category, action )
{
	//$( '#lastcat_' + category ).slideUp( 'slow' );
	//$( '#lastcat_' + category ).css( { backgroundColor:"yellow" } );
	//alert(document.getElementById('lastcat_' + category).innerHTML);
	//document.getElementById('lastcat_' + category).style.display = 'none';
	
	if ( $( '#subcats_container div#lastcat_' + category ).css( 'display' ) == 'block' )
		current_open_lastcat = category;
	
	if ( action == 'open' && current_open_lastcat == category )
		return;
	
	if ( current_open_lastcat == category )
	{
		$( '#subcats_container div#lastcat_' + current_open_lastcat ).slideUp( 'fast' );
		$( '#subcats_container div#categories_menu_top_' + current_open_lastcat ).removeClass();
		$( '#subcats_container div#categories_menu_top_' + current_open_lastcat ).addClass( 'categorieMenuTopHover' );
		current_open_lastcat = '';
		return false;
	}
	
	if ( current_open_lastcat != '' )
	{
		$( '#subcats_container div#lastcat_' + current_open_lastcat ).slideUp( 'fast' );
		$( '#subcats_container div#categories_menu_top_' + current_open_lastcat ).removeClass();
		$( '#subcats_container div#categories_menu_top_' + current_open_lastcat ).addClass( 'categorieMenuTop' );
	}
	
	$( '#subcats_container div#lastcat_' + category ).slideDown( 'fast' );
	
	$( '#subcats_container div#categories_menu_top_' + category ).removeClass();
	$( '#subcats_container div#categories_menu_top_' + category ).addClass( 'categorieMenuTopSelected' );
	
	current_open_lastcat = category;
}

function changeCategoriesMenuBackgr( category )
{
	
	if ( $( '#subcats_container div#categories_menu_top_' + category ).hasClass( 'categorieMenuTopSelected' ) )
		return false;
	
	
	if ( $( '#subcats_container div#categories_menu_top_' + category ).hasClass( 'categorieMenuTopHover' ) )	
	{
		$( '#subcats_container div#categories_menu_top_' + category ).removeClass();
		$( '#subcats_container div#categories_menu_top_' + category ).addClass( 'categorieMenuTop' );
	}
	else
	{
		$( '#subcats_container div#categories_menu_top_' + category ).removeClass();
		$( '#subcats_container div#categories_menu_top_' + category ).addClass( 'categorieMenuTopHover' );
	}
}

function clearGlobalVars()
{
	current_open_subcat = '';
	current_open_lastcat = '';
}





function checkForSetTimeOut()
{
	if ( set_time_out_fun != '' )
	{
		setTimeout( set_time_out_fun, set_time_out_time );
		set_time_out_fun = '';
		set_time_out_time = 1;
	}
}

function makeIntelligentSearch( keyword )
{
	var found = false;
	for ( i = 1; i <= 7; i ++ )
	{
		var headers = $( "#subcats_" + i + " h2" ).get();
		var categories = $( "#subcats_" + i + " div.categorie" ).get();
		for ( j = 0; j < headers.length; j ++ )
		{
			found = false;
			
			var keywords_arr = keyword.split( '#' );
			for ( k = 0; k < keywords_arr.length; k ++ )
			{
				if ( headers[j].innerHTML.match( keywords_arr[k] ) )
					found = true;
				if ( categories[j].innerHTML.match( keywords_arr[k] ) )
					found = true;
				if ( found )
					break;
			}
			
			/*if ( headers[j].innerHTML.match( keyword ) )
				found = true;
			if ( categories[j].innerHTML.match( keyword ) )
				found = true;
			*/
			
			if ( found )
			{ //clearGlobalVars();
				var last_cat_id = categories[j].id.replace( 'lastcat_', '' );
				
				$( 'div.cool-categories-block a' ).each( function(){
					if ( this.className.indexOf( '_selected' ) > 0 )
					{
						this.className = this.className.replace( '_selected', '' );
					}
				} );
				
				$( '#cool_category_link_' + i ).removeClass( 'cool_category_link_' + i );
				$( '#cool_category_link_' + i ).addClass( 'cool_category_link_' + i + '_selected' );
				
				set_time_out_fun = 'showHideLastCats( ' + last_cat_id + ', \'open\' )';
				showHideSubSubCats( document.getElementById( 'cool_category_link_' + i ), i, 'categories_ajax.php' );
				//showHideLastCats( last_cat_id );
				//setTimeout ( 'showHideLastCats( ' + last_cat_id + ' )', 500 );
				
				//alert(last_cat_id);
				break;
			}
		}
		if ( found )
			break;
		//$("div:contains('John')")
	}
	
	
	if ( found == false )
	{
		var has_empty = false;
		for ( i = 1; i <= 7; i ++ )
		{
			if ( $( "#subcats_" + i ).html() == '' )
			{
				has_empty = true;
				break;
			}
		}
		if ( has_empty )
		{
			showPageOverlay( '' );
			
			setTimeout( 'makeIntelligentSearch( \'' + keyword + '\' )', 100 );
		}
		else
		{
			hidePageOverlay();
			alert( "Aucun résultat trouvé !" );
		}
	}
	else
	{
		hidePageOverlay();
	}
}

function showPageOverlay( content )
{
	if ( document.getElementById( 'page-overlay' ) == null )
	{
		if ( content != '' )
			$('body').append( '<div id="page-overlay"><div class="page-overlay-content">' + content + '</div></div>' );
		else
			$('body').append( '<div id="page-overlay"><div class="page-overlay-content"><img src="/images/ajax-loader-transparent.gif" /></div></div>' );		
		
		var $body = $( (navigator.userAgent.indexOf('MSIE 6') >= 0 ) ? document.body : document );
		$( '#page-overlay' ).css(
			{
				width:		$body.width(),
				height:		$body.height()
			}
		);
		delete $body;
		
		if ( navigator.userAgent.indexOf( 'MSIE 6' ) >= 0 )
		{	
			$( '#page-overlay' ).css({
				position:	'absolute',
				top:		'0px',
				left:		'0px'
			});
		}
		
		$( '#page-overlay' ).css( 'opacity', 0.7 ).fadeIn( 400 );
		
		var win = $(window),
		doc = $(document),
		pTop = doc.scrollTop(), 
		pLeft = doc.scrollLeft(),
		minTop = pTop;
		
		pLeft += (win.width() / 2) - ($(".page-overlay-content").width() / 2);
		pTop += (win.height() / 2) - ($(".page-overlay-content").height() / 2);
		pTop = Math.max(pTop, minTop);
		$(".page-overlay-content").css({top: pTop, left: pLeft});
		
	}
}

function hidePageOverlay()
{
	if ( document.getElementById( 'page-overlay' ) != null )
	{
		$('#page-overlay').remove();
	}
}

