/**
 * luxetdeco.fr
 * @author La maison du web
 * @link http://www.luxetdeco.fr/
 * @copyright Copyright 2010 luxetdeco.fr
 */
//Variables globales
var LIEN_CAT=false;
var URL_REWRITING=false;
var NAV_ACTIVE=false;
var DISABLE_AJAX=false;
var LOCK_CLICK=false;
var SLIDER_STOP=false;
var SLIDER_TIMER=null;
var HISTORIQUE;
var H_PAGE;
var SEARCH=Array();
jQuery.fx.interval = 16;


function bindNavigation()
{
	/*Navigation page par page listing produit*/
	$('.navigation a','#main').click(function(){
		var lien=$(this).attr('href');
		if(lien!='#')
			page_nav($(this).attr('href'));
		return false;
	});
}

function bindImgThumbs()
{
	$('.img_thumb','#main').hover(function()
	{
		if(!LOCK_CLICK)
		{
			LOCK_CLICK=true;
			$('#image_article_large').after('<div id="image_article_large_2"><img src="'+$(this).attr('src')+'"  width="317" height="317" alt="'+$(this).attr('alt')+'" class="img_thumb" /></div>').fadeOut(280,function()
			{
				$('#image_article_large').remove();
				$('#image_article_large_2').attr('id','image_article_large');
				bindLightBox();
				LOCK_CLICK=false;
			});
		}
	},function(){
	});
	bindLightBox();
	bindFicheArt();
}

function bindLightBox()
{
	$('#image_article_large').click(function(){
		var image=$(this).children();
		dialogBox('<div align="center"><img src="'+image.attr('src')+'" alt="'+image.attr('alt')+'" class="img_thumb" /></div>','Image '+ image.attr('alt'),800 );
	});
    
}

function bindFicheArt()
{
    var min = 1;
    
    min = $('#quantite_min').val();
    
    $('#qte').spinner({max: 1000, min: min});
	$('#options_article').accordion();
	$('#add_basket_input').click(function(){
		if( $('#default-image').length > 0)
			updatePanier('/json/panier.json.php?'+$('#form_fiche_art').serialize(),$('.produit-img-box #default-image a'));
		else
			updatePanier('/json/panier.json.php?'+$('#form_fiche_art').serialize(),$('.produit-img-box [rel^="article"] a:first '));
		
        $('#qte').spinner({max: 1000, min: 1});
        return false;
    });
	$('#qte').change(function(){calculPrixArt();});
    calculPrixArt();
}

function calculPrixArt()
{
	var prix=0;
	var qte=parseInt($('#qte').val());
    var stock=$('#quantite_stock').val();
	$('.art_option:checked','#produit-options').each(function(){
		var op_prix=$(this).next().next('.op_prix').find('.val_op_prix').html();
		stock=$(this).next().next().next('.op_stock').val();
        if(op_prix!='')
        {
            op_prix=parseFloat(op_prix.replace(',','.'));
            prix+=op_prix; 
        }
	});
    if(stock >= qte)
    {
        $('.stock_article').html('Disponibilité : <span class="stock1">en stock</span>');
        $('#add_basket_input').show();
    }
    else
    {
        $('#add_basket_input').hide();
        $('.stock_article').html('Disponibilité : <span class="stock2">épuisé</span>');
    }
    
	var prix_base=parseFloat($('#prix_base_art').val().replace(',','.'));
	prix+=prix_base;
	$('#prix_total_art').html((prix*qte).toFixed(2).replace('.',','));
	
}

function bindListing()
{
	$('.detail','#produits').click(function(){
		var id_art=$(this).attr('id').substr(3);
		document.location.href='/fiche_produit.php?art='+id_art; //URL RW OFF
		return false;
	});
}

function majPanier()
{
	$.getJSON('/json/nbpanier.json.php',function(json)
	{
		var nb_produit = json.nb_produit;
		$('#nb_produit').text(nb_produit);
	});
}


function updatePanier(url,div_drag)
{
	$.getJSON(url,function(json)
	{
		var item_existe=$('#pan'+json.id);
        var url='/'+json.slug_cat+'/'+json.slug+'.html'; // url rewrité
		var span_item='<span style="margin-right:5px">'+json.qte+' x</span><span><a class="notxtdeco" href="'+url+'">'+json.nom+'</a></span><span  style="float:right">'+json.prix_total_ht+' &euro;</span>';
		if(item_existe.length == 0)
			$('#item-panier').append('<li id="pan'+json.id+'">'+span_item+'</li>');
		else
			item_existe.html(span_item);
		var obj_prix=$('#total_panier');
		var prix=parseFloat(obj_prix.text().replace(',','.'));
		prix=prix+parseFloat(json.prix_ht);
		obj_prix.text((prix.toFixed(2)).replace('.',',')+' €');


	});
	var article=div_drag.clone();

    if (article.attr('class') == 'home')
        top = '750px';
    else
        top = '450px';

    left = $('#monpanier_header').offsetLeft-100;
    top = $('#monpanier_header').offsetTop+200;

	article.appendTo('#monpanier_header').css({'position' : 'absolute', 'top' : top, 'left':left}).animate({'width':'10px','height':'10px','top':top,'right':'100px'},400,function(){$(this).remove();}).children().animate({'width':'10px','height':'10px'},400);
	//$('#statut-panier').fadeOut(400,function(){$(this).remove();});
}

function getJSONproduit(lien) 
{  
	/*if(LOCK_CLICK) return false;
	else
	{
		LOCK_CLICK=true;
		setTimeout(function(){LOCK_CLICK=false;},310);
	}*/

    lien = lien.substr(0,lien.length-1).substr(1);
	historyNav(lien+'/');
    var_url_cat = 'slug='+lien;
	/*var getVar = lien.split('?'); //Version non URL rewrité!
	var var_url_cat=getVar[1];*/

	$.getJSON('/json/articles.json.php?'+var_url_cat,function(json)
	{
		remove_slider();
		var html_articles='';
		var content=$('#liste_produit');

        /*
        var html = '<div id="title_bar">';
        html += '<div id="title_bar_left"></div>';
        html += '<div id="title_bar_content">';
        html += '<h2 id="titreCat">';
        html += '</h2></div>';
        html += '<div id="title_bar_right"></div>';
        html += '</div>';

        content.html(html);
*/

		if(json.nav!==undefined)
		{
			content.append(json.nav);
			$('#title_bar').html(json.nav);
			$('#footer_top').html(json.fil_ariane);
			bindNavigation();
		}

		if(json.prod!==undefined)
		{	
			html_articles= getHtmlArticles(json);
			$('#liste_produit').html(html_articles);
			$('#liste_produit').append(json.nav);
		}
		else
		{
			$('#liste_produit').html('');
		}
		
		if(json.err!==undefined)
			err(json.err);

		content.fadeIn(300,function(){
			$(this).stop().show();
		});
		bindListing();
	});
}
function getHtmlArticles(json)
{
	var html_articles='';
	$.each(json.prod,function(i,p)
	{
		var have_options='';
		if(p.vignette==null)
			p.vignette='image_article.jpg';

		if(p.have_options!=null)
		{
			var have_options='options';
		}
		if(p.stock>0)
			stock = '<span class="stock">en stock</span>';
		else
			stock = '<span class="stock2">épuisé</span>';	
		
		
		//var url_p='/'+p.categorie_id+'-'+p.nom_cat+'/'+p.id_art+'-'+p.slug+'.html'; //URL rewrité
		var url_p='/'+p.slug_cat+'/'+p.slug+'.html'; // url rewrité

		html_articles+='<div class="produit">';
        /*
		if(p.type_promo!=null)
		{
			html_articles+='<div class="produit-promotion"><img src="/images/promotion.png"></div>';
		}
        else if(p.is_new!=null)
		{
			html_articles+='<div class="produit-nouveaute"><img src="/images/nouveau.png"></div>';
		}*/
        html_articles+='<a href="'+url_p+'">';
        html_articles+='<img id="img'+p.id_art+'" src="/images/articles/thumbs/'+p.vignette+'" width="198" alt="'+p.nom_art+'" title="'+p.nom_art+'" />';
        html_articles+='</a>';
        html_articles+='<a href="'+url_p+'">';
        html_articles+='<h2>'+p.nom_art+'</h2>';
        html_articles+='</a>';
        html_articles+='<p class="desc">'+p.description+'...</p>';
        html_articles+='<p class="cat">Catégorie : <span class="cat_1">'+p.nom_cat+'</span></p>';
        html_articles+='<div class="left grand">';
        html_articles+='<p>à partir de '+p.prix_ht+' € <sup>HT</sup>';
        if(p.unite != '')
            html_articles+='<br />- <span class="a-partir-de">le '+p.unite+'</span> -';
        html_articles+='</p>';
        html_articles+='</div>';
        html_articles+='<div class="right petit">';
        html_articles+='<p>'+p.prix_ttc+' € <sup>TTC</sup></p>';
        html_articles+='</div>';
        html_articles+='<div class="clear"></div>';
        html_articles+='<div class="left stock">';
        html_articles+=stock;
        html_articles+='</div>';
        html_articles+='<div class="right btn">';   
        html_articles+='<div class="addpanier">';
        html_articles+='<a href="'+url_p+'">Ajouter</a>';      
        html_articles+='</div>';
        html_articles+='</div>';
        html_articles+='</div>';

        /*
		if(p.type_promo!=null)
		{
			html_articles+='<span class="listing_prix_barre"><s>'+p.prix_sans_promo+' €</s></span>';
		}
		*/
	});
	return html_articles;
}

function page_nav(lien)
{
    
    //document.location.href = '/'+lien.replace('#', '');
    /*var timeout = 210;
    if(LOCK_CLICK){
        return false;
    } 
    else
    {
        LOCK_CLICK=true;
    }
    setTimeout(function(){LOCK_CLICK=false;},timeout);
	getJSONproduit(lien);*/
}

function remove_slider()
{
	var slider=$('#bg_slide');
	if(slider.length>0)
	{
		SLIDER_STOP=true;
		slider.slideUp(1000,function(){
            $('#content_slide').remove();
        });
	}
}

function historyNav(lien)
{
	HISTORIQUE.push(lien);
	var hlen=HISTORIQUE.length;
	if(hlen > 20)
		HISTORIQUE.shift();
	H_PAGE=lien;
	document.location.href='#'+lien;
}

function checkHistory()
{   
    /*alert(H_PAGE);
	if(H_PAGE!=0)
	{*/
        
		var old_page=(document.location.hash).substring(1);
		if(H_PAGE!=old_page)
		{
           /* majPanier();
            $('#liste_produit').fadeOut(300,function(){
                page_nav(document.location.hash);
            });*/
            var lien = document.location.hash;
            document.location.href = '/'+lien.replace('#', '');
            //document.location.href='#'+old_page;
			//alert('page change, h_page:'+H_PAGE+',hash:'+(document.location.hash).substring(1));
			/*if(HISTORIQUE[old_page-1]!=undefined)
				document.location.href=HISTORIQUE[old_page-1];*/
		}
	//}
	setTimeout('checkHistory()',500);
}
/*
function switchBgColor()
{
	$('#body').stop().animate({backgroundColor:bgColor},3000);
}
*/
function switchTxtColor()
{
	$('.txtcolor','#main').stop().animate({color:txtColor},3000);
	$('.selected_nav_lien','#content').stop().animate({backgroundColor:txtColor},3000);
}

function dialogBox(text,title,width)
{
	if(!width) width=300;
	$('#dialog').html(text).dialog('option','title',title).dialog('option','width',width).dialog('open');
}
function err(txt)
{
	dialogBox(txt,'Erreur');
}

