	var $j = jQuery.noConflict(); 
	var step = 1;
 
	// Init
	$j(document).ready(function() {
		$j('#online_quote').find('.oq_quantity').val(0);
		$j('#online_quote').find('.oq_product_total input').val(0);
		$j('#online_quote').find('#oq_total').val(0);
		$j('#online_quote').find('#oq_user_info').css('display','none');
		$j('#online_quote').find('#oq_user_info_submit').css('display','none');
		$j('#online_quote').find('#oq_previous').css('display','none');
		$j('#online_quote').find('#oq_next').css('display','none');
		$j('#online_quote').find('.oq_loading').css('display','none');
		$j('#online_quote').find('.oq_category').css('display','none');
		$j('#online_quote').find('.oq_product_total').css('display','none');	
		
		// init diaporama
		$j('#online_quote').find('#oq_posts').css('display','none');
		$j('#online_quote').find('#oq_diaporama').innerfade({ speed: 750, timeout: 2000, type: 'random' }); 
		
		// Bind form to jquery.form plugin
        var options = { 
			target:        '#oq_infos',
			beforeSubmit:  showRequest,
			success:       showResponse
		}; 
		$j('#oq_online_quote_form').ajaxForm(options); 
        
	});
	
	// pre-submit callback 
	function showRequest(formData, jqForm, options) { 
		var queryString = $j.param(formData); 
		$j('#oq_infos').css('display','none');
		$j('.oq_loading').css('display','block');
		return true; 
	} 
	 
	// post-submit callback 
	function showResponse(responseText, statusText, xhr, $form)  { 
		$j('#oq_infos').fadeIn('10');
		$j('.oq_loading').css('display','none');
	}
	
	// Category click
	$j('#online_quote > #oq_categories > #oq_menu > ul > li > a').live('click', function(e){
		e.preventDefault();
		$j('#online_quote').find('#oq_diaporama').css('display','none');
		$j('#online_quote').find('#oq_posts').css('display','block');
		if ($j(this).parent().children().size() > 1 ) {
			$j(this).parent().children('ul').slideToggle();
		}else{
			$j('#oq_posts').scrollTop(0);
			var value = $j(this).html();
			var catDesc = $j(this).attr("title");
			$j("#oq_infos").html(catDesc);
			
			$j.each($j('.oq_category'), function(i, item) {
				$j(item).parent().parent().parent().slideUp('100');
				//$j(item).parent().parent().parent().css('display','none');
				if ($j(item).val() == value) {
					$j(item).parent().parent().parent().slideDown('100');
					//$j(item).parent().parent().parent().css('display','block');
				}
			});
		}
	});
	
	// Sub-Category click
	$j('.children a').live('click', function(e){
		e.preventDefault();
		$j('#online_quote').find('#oq_diaporama').css('display','none');
		$j('#online_quote').find('#oq_posts').css('display','block');
		$j('#oq_posts').scrollTop(0);
		var value = $j(this).html();
		var catDesc = $j(this).attr("title");
		$j("#oq_infos").html(catDesc);
		
		$j.each($j('.oq_category'), function(i, item) {
			$j(item).parent().parent().parent().slideUp('100');
			//$j(item).parent().parent().parent().css('display','none');
			if ($j(item).val() == value) {
				$j(item).parent().parent().parent().slideDown('100');
				//$j(item).parent().parent().parent().css('display','block');
				

			}
		});
		$j('#oq_products h2').html(value);
	});

	// Add click
	$j(".oq_add").live('click', function(e){
		e.preventDefault();
		updateTotal($j(this),"+");
		updateGlobalTotal();
	});
	
	// Remove click
	$j(".oq_remove").live('click', function(e){
		e.preventDefault();
		updateTotal($j(this),"-");
		updateGlobalTotal();
	});	
	
	// Quantity Input change
	$j(".oq_quantity").live('change', function(e){
		updateTotal($j(this),"input");
		updateGlobalTotal();
	});	
	
	// Update item Total
	function updateTotal(item,type){
		var curVal = parseFloat(item.parent().parent().find('.oq_quantity').val());
		var productPrice = parseFloat(item.parent().parent().parent().find('.oq_price').val()).toFixed(2);
		
		// Add
		if(type=="+"){
			curVal++;
			if(curVal>=0){
				item.parent().parent().find('.oq_quantity').val(curVal);
				var productTotal = parseFloat(curVal*productPrice).toFixed(2);
				if(productTotal>0){
					item.parent().parent().parent().find('.oq_product_total').slideDown('10');
					item.parent().parent().parent().find('.oq_product_total input').val(productTotal);
				}
			}	
		}	
		
		// Remove	
		if(type=="-"){
			curVal--;
			if(curVal>=0){
				item.parent().parent().find('.oq_quantity').val(curVal);
				var productTotal = parseFloat(curVal*productPrice).toFixed(2);
				if(productTotal<=0){
					item.parent().parent().parent().find('.oq_product_total').slideUp('10');
					item.parent().parent().parent().find('.oq_product_total input').val(productTotal);
					
				}else{
					item.parent().parent().parent().find('.oq_product_total').slideDown('10');
					item.parent().parent().parent().find('.oq_product_total input').val(productTotal);
				}
			}	
		}	
		
		// Input	
		if(type=="input"){
			if(curVal>=0){
				item.parent().parent().find('.oq_quantity').val(curVal);
				var productTotal = parseFloat(curVal*productPrice).toFixed(2);
				if(productTotal<=0){
					item.parent().parent().parent().find('.oq_product_total').slideUp('10');
					item.parent().parent().parent().find('.oq_product_total input').val(productTotal);
				}else{
					item.parent().parent().parent().find('.oq_product_total').slideDown('10');
					item.parent().parent().parent().find('.oq_product_total input').val(productTotal);
				}
			}	
		}
	}
	
	// Update global total
	function updateGlobalTotal(){
		var globalTotal = 0;
		$j.each($j('.oq_product_total input'), function(i, item) {
			globalTotal += parseFloat($j(item).val());
		});
		$j("#oq_total").val(globalTotal.toFixed(2));
		if(globalTotal > 0){
			$j("#oq_next").fadeIn('100');
		}
	}
	
	// Next click
	$j('#oq_next').live('click', function(e){
		if(parseFloat($j('#oq_total').val())>0){
			$j('.oq_loading').css('display','block');
			step++
			displayStep(step);
		}else{
			alert("Vous n'avez selectionné aucun produit.");
		}
	});
	
	// Previous click
	$j('#oq_previous').live('click', function(e){
		$j('.oq_loading').css('display','block');
		step--;
		displayStep(step);
	});
	
	
	function displayStep(step){
		switch(step){
			case 1 :
				if($j("#oq_total").val()=="0.00"){
					$j("#oq_next").css('display','none');
				}else{
					$j("#oq_next").fadeIn('10');
				}
				$j("#oq_diaporama").fadeIn('10');
				
				$j("#oq_menu").fadeIn('10');
				$j("#oq_products").css('width','300px');
				
				$j(".center").css('width','170px');
				$j(".oq_post .oq_name").css('width','170px');
				$j("#oq_previous").css('display','none');
				$j.each($j(".oq_post"), function(i, item) {
					$j(item).fadeOut('10');
				});
				
				$j('#oq_menu ul').scrollTop(0);
				$j('#oq_posts').scrollTop(0);
				
				$j('#oq_infos').css('display','none');
				$j.post($j('#wp_pluginurl').val() + "/wp-onlinequote/querydb.php", {"var" : "step1info"}, function(data){
					$j('#oq_infos').html(data);
					$j('#oq_infos').fadeIn('10');
					$j('.oq_loading').css('display','none');
				});
				
				$j('#oq_products h2').css('display','none');
				$j.post($j('#wp_pluginurl').val() + "/wp-onlinequote/querydb.php", {"var" : "step1Title"}, function(data){
						$j('#oq_products h2').html(data);
						$j('#oq_products h2').fadeIn('10');
						$j('.oq_loading').css('display','none');
					});
				
			break;
			case 2 :
					$j("#oq_diaporama").css('display','none');
					$j("#oq_products").css('display','block');
					$j('#oq_categories').css('display','block');
					
					$j.each($j(".oq_product_total input"), function(i, item) {
						if($j(item).val() == "0"){		
							$j(item).parent().parent().parent().css('display','none');
						}else{
							$j(item).parent().parent().parent().css('display','block');
						}
					});
					
					$j("#oq_menu").css('display','none');
					$j("#oq_products").css('width','520px');
					$j('#oq_user_info').css('display','none');
					$j(".oq_post .center").css('width','390px');
					$j(".oq_post .oq_name").css('width','390px');
					$j("#oq_previous").css('display','block');
					$j("#oq_next").css('display','block');
					$j('#oq_total_block').css('display','block');
					$j('#oq_user_info_submit').css('display','none');
					$j('#oq_infos').css('display','none');
					
					$j('#oq_posts').scrollTop(0);
					
					$j('#oq_products h2').css('display','none');
					
					$j.post($j('#wp_pluginurl').val() + "/wp-onlinequote/querydb.php", {"var" : "step2info"}, function(data){
						$j('#oq_infos').html(data);
						$j('#oq_infos').fadeIn('10');
						$j('.oq_loading').css('display','none');
					});
					
					$j.post($j('#wp_pluginurl').val() + "/wp-onlinequote/querydb.php", {"var" : "step2Title"}, function(data){
						$j('#oq_products h2').html(data);
						$j('#oq_products h2').fadeIn('10');
						$j('.oq_loading').css('display','none');
					});
				
			break;
			case 3 :
				$j("#oq_menu").css('display','none');
				$j('#oq_products').css('display','none');
				$j('#oq_total_block').css('display','none');
				$j('#oq_user_info').fadeIn('10');
				$j('#oq_user_info_submit').fadeIn('10');
				$j("#oq_next").css('display','none');
				
				$j('#oq_infos').css('display','none');
				$j.post($j('#wp_pluginurl').val() + "/wp-onlinequote/querydb.php", {"var" : "step3info"}, function(data){
					$j('#oq_infos').html(data);
					$j('#oq_infos').fadeIn('10');
					$j('.oq_loading').css('display','none');
				});
			break;
		}
	}
