// JavaScript Document

var msgCD, BB_msgCD; // msg disappear countdown
var site = 'http://www.futon-shop.ch/fr/';
var ajaxUrlBase = '/fr/bo_ajax_responders/';
var ajaxUrl = '';
var currentMainImage=0, imagesTM;

var count = 0;
var unlogged = false;

var ie=false;
var moz=false;
if (navigator.appName == "Microsoft Internet Explorer") {
	ie=true;
} else if (navigator.appName == "Netscape") {
	moz=true;
}

	
$(document).ready(function(){
	
	//msgCD = setTimeout("msgGetAway();", 4000);
	
	if (unlogged) {
		//setTimeout("retry();", 4000);
		$('a#loglink').click( function(event) {
									  // event.preventDefault();
									   window.name='_preview_unlogged';
							});
		return false;
	} else {
		window.name='_preview';
	}
	
	$('a.pallino').click( function(event) {
								event.preventDefault();
								$('a.pallino').removeClass('sel');
								$(this).addClass('sel');
								var nr = $(this).attr('rel');
								$('.photo_slider_viewer').animate({left: -Number(900*nr)+'px'});
								$('.photo_slider_viewer').children('.photo_slider_viewer_item[rel='+currentMainImage+']').animate({opacity: 0});
								$('.photo_slider_viewer').children('.photo_slider_viewer_item[rel='+nr+']').animate({opacity: 1});
								
								clearTimeout(imagesTM);
								currentMainImage=nr;
								imagesTM = setTimeout(autoSlideMainImages, 6000);
							});
	imagesTM = setTimeout(autoSlideMainImages, 6000);
	
	//  images
	$('a.model_item_img').click( function(event) {
								event.preventDefault();
								gallery_id = $(this).attr('rel');
								startGallery(gallery_id);
							});
	$('a.model_item_thb').click( function(event) {
								event.preventDefault();
								pseudo = '.pseudoclass_'+$(this).attr('model')+' img';
								src = $(this).find('img').attr('src').replace('100x100','400x400');
								$(pseudo).attr('src',src);
							});
	
	$('a.prod_img').click( function(event) {
								event.preventDefault();
								gallery_id = $(this).attr('rel');
								startGallery(gallery_id);
							});
	
	$('.nav a').click( function(event) {
								// event.preventDefault();
							});
	
	
	$('a.buybtn').click( function(event) {
								event.preventDefault();
								var model = $(this).attr('rel');
								addToCart(model)
							});
	$('input[type="submit"]').click( function(event) {
								event.preventDefault();
								var form = $(this).parents('form').first();
								if (form && form!=undefined) {
									getRequired(form);
								}
							});
	$('select#select_currency').change( function(event) {
								setCurrency($(this).val());
							});
	
	// top_bar_cart
	$('#top_bar_cart').click( function(event) {
								event.preventDefault();
								$('#top_bar_cart_container').slideToggle();
								$('#currency_tab').fadeToggle();
								$('#search_tab').fadeToggle();
								if ( $(this).find('.selector').length ) {
									$(this).find('.selector').addClass('backselector').removeClass('selector');
									$(this).find('span').text('Fermer')
									$box = $('<div id="BlackBox" style="z-index:1000">');
									$('#top_bar').before($box);
									h = getDocHeight();
									
									$box.css('display','inline-block');
									$box.css('height', h );
									$box.animate({'opacity':'0.85'},'fast');
								} else {
									$(this).find('.backselector').addClass('selector').removeClass('backselector');
									$(this).find('span').text('Panier')
									$box = $('body').find('#BlackBox');
									$box.animate({'opacity':'0'},'fast', function() { $box.remove(); } );
								}
								loadCart();
							});
	
	try {
		$('a#update_qts').click( function(event) {
					event.preventDefault();
					var data='';
					$('.qt_input').each( function(id) {
													data+='ids['+id+']='+$(this).attr('rel')+'&qts['+id+']='+$(this).val()+'&';
												  });
					data = data.substr(0,data.length-1);
					ajaxUrl = ajaxUrlBase+'ajax_cart.php';
					getContent('content_load=update_qts_page&'+data, drawCart);
				  });
		$('select.delivery_options').change( function(event) {
					var wht = $(this).attr('rel');
					var del = $(this).find('option:selected').attr('rel');
					var delP = $(this).find('option:selected').attr('price');
					
					$('input#phidden_'+wht).val(delP);
					$('#price_'+wht).text(del);
					
					var toAdd=0;
					$('input[id^=phidden]').each( function() {
														   	toAdd += parseFloat($(this).val());
														   });
					$('#total_after_delivery').text( number_format( parseFloat($('#only_cart_total').val())+toAdd, 2,".","'" ) );
					
					
				  });
		$('input#cart_delivery_address_as_invoice').change( function(event) {
					$('.cart_addresses[id^="cart_delivery_address_"]').each( function(i) {
																		if ( $(this).attr('disabled') ) {
																			$(this).css('opacity','1');
																			$(this).removeAttr('disabled');
																		} else {
																			$(this).css('opacity','0.2');
																			$(this).attr('disabled','disabled');
																		}
																	});
					
					$(this).parents('.cart_cell').first().find('label').not( $(this).parent() ).each( function(i) {
																		if ( $(this).css('opacity')!=1 ) {
																			$(this).css('opacity','1');
																		} else {
																			$(this).css('opacity','0.4');
																		}
																	});
					$(this).parents('.cart_cell').first().find('strong').each( function(i) {
																		if ( $(this).css('opacity')!=1 ) {
																			$(this).css('opacity','1');
																		} else {
																			$(this).css('opacity','0.4');
																		}
																	});
				  });
		
		/*
		$('input[id^="cart_address"]').keyup( function(event) {
												lTab = $(this).attr('id').split('_');
												label = lTab[lTab.length-1];
												dest=$('input.cart_addresses[id="cart_delivery_address_'+label+'"]');
												dest.val( !dest.val() || $(this).val().indexOf(dest.val())===0 ? $(this).val() : dest.val() );
											  });
		*/
		
	} catch(err) {}
	//try {
		// changing store country
		$('select#cart_address_country').change( function(event) {
					$('input[name="cart_step"]').val(1);
					$(this).parents('form').first().submit();
				  });
		
	//} catch(err) {}
	
	setModelSelectionListeners();
	
	
	$(window).resize(function(event) {
		  try {
			  
			var $box = $('#BlackBox');
			var $dialog = $('.BlackBox_centerer');
			h = getDocHeight();
			$box.css('height', h );
			$dialog.css('height', h );
				
		  } catch(e) {}
		});
	if (ie) {
		// fucking IE!!!
		$('#currency_tab').css('margin-top','-1px');
		$('#currency_tab select').css('font-size','11px').css('height','auto').css('border','1px solid #cccccc');
		$('#currency_tab .selector').css('background-image','none').css('height','auto').css('width','auto').css('margin-left','-24px').css('margin-bottom','1px');
	}
	// page stores geo
	// solving firefox causing to select last selected option on refresh even if attribute selected is on
	
	if (moz) {
		$('select.cm_inner').find('option:first').attr('selected','selected');
	}
	
	
	try {
		if ($addresses.length) {
			loadGMapsScript();
			
			$('a.locate_store').click( function(event) {
									showStore($(this).attr('rel'));
								});
			$('a.reset_stores_map').click( function(event) {
									event.preventDefault();
									storesZoomOut();
								});
		}
	} catch(err) {}
});

// TOP BAR
function loadCart() {
	ajaxUrl = ajaxUrlBase+'ajax_cart.php';
	getContent('content_load=cart', fillCartInTB);
}
function fillCartInTB(content) {
	
	// update changes if in cart page
	try {
		if ($('#cart_in_page a#update_qts').length)
			$('#cart_in_page a#update_qts').trigger('click');
	} catch(err) {}
												
	var $cart_container = $('#tb_cart');
	$cart_container.html(content);
	
	$('#tb_cart .cart_trash').click( function(event) {
												event.preventDefault();
												var loadImg = site+'/images/loader-small.gif';
											  	toremove=$(this).attr('rel');
												$(this).css('background-image','url('+loadImg+')');
												$(this).unbind('click');
												getContent('content_load=remove_from_cart&oid='+toremove+'&tb=1', fillCartInTB);
											  });
	$('#tb_cart a#update_qts').click( function(event) {
												event.preventDefault();
												var data='';
												$('#tb_cart .qt_input').each( function(id) {
																			  	data+='ids['+id+']='+$(this).attr('rel')+'&qts['+id+']='+$(this).val()+'&';
																				try {
																					$('#cart_in_page .qt_input[rel="'+$(this).attr('rel')+'"]').val($(this).val());
																				} catch(err) {}
																			  });
												data = data.substr(0,data.length-1);
												getContent('tb=1&content_load=update_qts&'+data, fillCartInTB);
											  });
}

// END TOP BAR

function retry() {
	$('#logging_in_container').animate({height:'85px'},500);
	setTimeout("fakeLogin();",2000);
}
function fakeLogin() {
	window.location.href=site;
}

function getContent(data,callback,listeners) {
	$.ajax({
			type: "POST",
			url: ajaxUrl,
			data: data,
			success: function(content){
				
				if (jQuery.isFunction(callback)) {
					callback(content,listeners);
				}
					
			}
		});
	
}


function modelSelectionSteps(content, listeners) {
	// sendMessage(content);
	var d = $('<div>');
	d.html(content);
	d.find('.bo_model_selection_element').each( function(id) {
														 	$('.bo_model_selection_element[rel="'+$(this).attr('rel')+'"]').html( $(this).html() );
														 });
	$('#bo_model_selection_unshared').html( d.find('#bo_model_selection_unshared').html() );
	$('#bo_model_selection_description').html( d.find('#bo_model_selection_description').html() );
	$('#bo_model_selection_price').html( d.find('#bo_model_selection_price').html() );
	$('#bo_model_selection_stock').html( d.find('#bo_model_selection_stock').html() );
	$('a.buybtn').attr('rel', d.find('#bo_model_id').text() );
	//alert(d.html())
	$('a.buybtn').css('display', d.find('#bo_saleable').text()?'inline-block':'none' );
	
	setModelSelectionListeners();
}

function setModelSelectionListeners() {
	
	var loadImg = '<img src="'+site+'/images/loader-small.gif">';
	
	$('select.cm_inner').attr('disabled','disabled').css('background-color','#FEF8E5');
	$('ul.bo_contextual_menu li a').unbind('click');
	$('ul.bo_contextual_menu li a').click( function(event) {
								event.preventDefault();
								$('ul.bo_contextual_menu li a').css('background-color','#ffffff');
								$('ul.bo_contextual_menu li a').css('width','auto');
								$(this).css('background-color', '#F2EFE8' );
								$(this).css('width','161px');
								var pixels = ($(this).attr('rel') * 37);
								$(this).parent().parent().css('top', -pixels );
								//alert($(this).parent().parent().attr('class'))
								$(this).parent().parent().css('background-position', 'right 1px' );
								$(this).parent().parent().parent().css('display', 'none' );
								setTimeout(showDropDowns,50);
								$('.multi_models_images .multi_model_images').css('display','none');
								$('#imgs_'+$(this).attr('model')).css('display','inline-block');
								
								selNr = parseInt( $(this).parents('.bo_model_selection_element').attr('rel') );
								
								$('#bo_model_selection_price').html( loadImg );
								
								ajaxUrl = ajaxUrlBase+'ajax_products.php';
								getContent('content_load=selection_elements&mid='+$(this).attr('model')+'&selElNr='+(selNr+1), modelSelectionSteps);
								
							});
	
	$('select.cm_inner').change( function(event) {
								$('select.cm_inner').attr('disabled','disabled').css('background-color','#FEF8E5');
								selNr = parseInt( $(this).parents('.bo_model_selection_element').attr('rel') );
								
								$('.multi_models_images .multi_model_images').css('display','none');
								$('#imgs_'+$(this).find('option:selected').attr('model')).css('display','inline-block');
								
								$('#bo_model_selection_price').html( loadImg );
								
								ajaxUrl = ajaxUrlBase+'ajax_products.php';
								getContent('content_load=selection_elements&mid='+$(this).find('option:selected').attr('model')+'&selElNr='+(selNr+1), modelSelectionSteps);
								$('select.cm_inner').unbind('change'); // avoid iterative calling of this and stacks overflow as long as possible server failures
							});
	$('select.cm_inner').removeAttr('disabled').css('background-color','#ffffff');
	
	/*$("#bo_model_selection_price").stop(true);
	$('#bo_model_selection_price').animate({ opacity:'0.2' }, 200, function() {
											$(this).animate({ opacity:'1' }, 200);
									  });*/
}


function showDropDowns() {
	$('ul.bo_contextual_menu').css('display','inline-block');
}

function autoSlideMainImages() {
	var numImages=$('.photo_slider_viewer').children().length;
	
	if (Number(currentMainImage)+1==numImages) {
		currentMainImage=-1;
	}
	var nextTrigger = $('a.pallino[rel='+(Number(currentMainImage)+1)+']');
	nextTrigger.trigger('click');
}


// ERROR & INFO GET AWAY
function msgGetAway() {
	clearTimeout(msgCD);
	$(".error,.info").slideUp();
	// $("body").animate( {marginTop:'0px'}, 'fast');
}

function clean($s) {
	
	$s=$s.replace('=','**eq**');
	$s=$s.replace('&','**amp**');
	$s=$s.replace('/','**sl**');
	$s=$s.replace(':','**dp**');
	$s=$s.replace('?','**qm**');
	
	return $s;
}

// BLACK BOX BUY BTN
function addToCart(mid, pid) {
	
	var topBasis = 120;
	ajaxUrl = ajaxUrlBase+'ajax_cart.php';
	getContent('content_load=add_model_to_cart&mid='+mid, fillCartInBB);
	
	$('body').append('<div id="BlackBox"></div><div class="BlackBox_centerer"><div id="BB_container"><div id="BB_inner_container"><div id="BB_content"><br/><br/><img src="'+site+'images/loader.gif"></div></div></div></div>');
	var $buybtn_main = $('#BB_container');
	var $buybtn_cart = $('#BB_container #BB_inner_container');
	var $box = $('#BlackBox');
	var $buybtn_ambient = $('.BlackBox_centerer');
	
	$buybtn_ambient.css('visibility','hidden');
	$buybtn_ambient.css('display','block');
	var wh_h = $buybtn_main.height();
	$buybtn_ambient.css('display','none');
	$buybtn_ambient.css('visibility','visible');
	
	
	// find the top space
	var scrollXY = getScrollXY();
	h = getDocHeight();
	topSpace = scrollXY[1]+topBasis;
	
	$box.css('display','inline-block');
	$box.css('height', h );
	$box.animate({'opacity':'0.85'},'fast');
	$buybtn_ambient.css('display','inline-block');
	$buybtn_ambient.css('height', h );
	$buybtn_ambient.animate({'opacity':'1'},'fast');
	
	$buybtn_main.css('top',topSpace);
	
	
	$(document).keyup(function(event) {
			if (event.keyCode == '13') {
				event.preventDefault();
			}
		});
}
function fillCartInBB(content, listeners) {
	
	try {
		var gallery = $('.gallery_images');
		if (gallery) {
			gallery.removeClass('gallery_images');
			gallery.html('<div id="BB_content"></div>');
		}
	} catch(e) {}
	
	var $buybtn_main = $('#BB_container');
	var $buybtn_cart = $('#BB_container #BB_inner_container');
	var $box = $('#BlackBox');
	var $buybtn_ambient = $('.BlackBox_centerer');
	
	var $cart_container = $('#BB_container #BB_content');
	$cart_container.html(content);
	
	$('#BB_content .cart_trash').click( function(event) {
												event.preventDefault();
											  	toremove=$(this).attr('rel');
												getContent('content_load=remove_from_cart&oid='+toremove, fillCartInBB);
											  });
	$('a#update_qts').click( function(event) {
												event.preventDefault();
												var data='';
												$('.qt_input').each( function(id) {
																			  	data+='ids['+id+']='+$(this).attr('rel')+'&qts['+id+']='+$(this).val()+'&';
																			  });
												data = data.substr(0,data.length-1);
												getContent('content_load=update_qts&'+data, fillCartInBB);
											  });
	$('a#close').click(function(event) {
				event.preventDefault();
				closeBB();
		});
	
	if (ie) {
		
		var scrollXY = getScrollXY();
		topSpace = scrollXY[1]+120;
		if ( ie && topSpace + $buybtn_main.height() > $('body').height() ) {
			$('body').height( topSpace + $buybtn_main.height() );
			$box.height(topSpace + $buybtn_main.height());
			$buybtn_ambient.height(topSpace + $buybtn_main.height());
		}
		
	}
	
	setTimeout(hideCartTitle,3000);
}
function drawCart(content) {
	var d = $('<div>'); d.html(content);
	$('span#bo_cart_active_zone').html( d.find('#bo_cart_active_zone').html() );
}
function hideCartTitle() {
	var ct = $('.cart_title').not('.fixed');
	if (ct) {
		ct.slideUp('fast');
	}
	$('li.sel').removeClass('sel');
}

// BLACK BOX GALLERY
var galleryCurrentIndex=0, nrGalleryImages=0;
function startGallery(id) {
	// find the top space
	
	galleryCurrentIndex=0; nrGalleryImages=0;
	$('body').append('<div id="BlackBox"></div><div class="BlackBox_centerer"><div id="BB_container"><div id="BB_inner_container" class="gallery_images"><div id="BB_content" class="gallery_title"></div></div></div></div>');
	
	
	
	var $gallery_main = $('#BB_container');
	var $gallery_images = $('#BB_container #BB_inner_container');
	var $gallery_title = $('#BB_container #BB_content');
	var $box = $('#BlackBox');
	var $gallery = $('.BlackBox_centerer');
	
	var imgPath = Array();
	
	$('a[rel='+id+']').each( function(index) {
									  
								t = $(this).attr('title');
								if ($(this).attr('product')) {
									t = '<span>'+$(this).attr('product')+'</span> ('+t+')';
								} else {
									t = '<span>'+t+'</span>';
								}
								h = $(this).attr('h');
								url = $(this).attr('href');
								
								// alert(url+t+h)
								imgPath.push(Array(url,t,h));
								nrGalleryImages++;
							});
	
	prev = '<a href="#" class="go_left" style="height:'+(Number(imgPath[0][2])+5)+'px;"></a>';
	next = '<a href="#" class="go_right" style="height:'+(Number(imgPath[0][2])+5)+'px"></a>';
	
	mid=$('a[rel='+id+']').attr('model_id');
	buybtn = mid?'<a href="#" id="buybtn" rel="'+mid+'" class="BB_btn">Acheter</a><br class="clearfloat"><br/>':'<br class="clearfloat"><br/>';
	
	var firstImage = '<a href="#" id="close" class="BB_btn">Fermer</a>'+buybtn+prev+'<img id="gallery_image" src="'+imgPath[0][0]+'" border="0" style="height:'+imgPath[0][2]+'px;"/>'+next+'<br class="clearfloat">';
	
	$gallery_title.prepend(firstImage);
	$gallery_title.append('<div id="gallery_path">'+imgPath[0][1]+'</div>');
	
	if (ie) {
		$('a.go_left').css('background','url(images/prev_ie.png) 10px center no-repeat');
		$('a.go_right').css('background','url(images/next_ie.png) 86px center no-repeat');
	}
	$('a.go_left').css('visibility','hidden');
	if (nrGalleryImages==1) $('a.go_right').css('visibility','hidden');

	$('a.go_left').click( function(event) {
								   	event.preventDefault();
								   	galleryCurrentIndex--;
									$('img#gallery_image').attr('src',imgPath[galleryCurrentIndex][0]);
									$('img#gallery_image').css('height',imgPath[galleryCurrentIndex][2]+'px');
									$gallery_title.find('#gallery_path').html(imgPath[galleryCurrentIndex][1]);
									$('a.go_left').css('height',(Number(imgPath[galleryCurrentIndex][2])+5)+'px');
									$('a.go_right').css('height',(Number(imgPath[galleryCurrentIndex][2])+5)+'px');
									
									if (galleryCurrentIndex==0) $('a.go_left').css('visibility','hidden');
									$('a.go_right').css('visibility','visible');
								  });
	$('a.go_right').click( function(event) {
								   	event.preventDefault();
									
								   	galleryCurrentIndex++;
									$('img#gallery_image').attr('src',imgPath[galleryCurrentIndex][0]);
									$('img#gallery_image').css('height',imgPath[galleryCurrentIndex][2]+'px');
									$gallery_title.find('#gallery_path').html(imgPath[galleryCurrentIndex][1]);
									$('a.go_left').css('height',(Number(imgPath[galleryCurrentIndex][2])+5)+'px');
									$('a.go_right').css('height',(Number(imgPath[galleryCurrentIndex][2])+5)+'px');
									
									if (galleryCurrentIndex==nrGalleryImages-1) $('a.go_right').css('visibility','hidden');
									$('a.go_left').css('visibility','visible');
								   });
	
	
	$gallery.css('visibility','hidden');
	$gallery.css('display','block');
	var wh_h = $gallery_main.height();
	$gallery.css('display','none');
	$gallery.css('visibility','visible');
	
	var topBasis = 120;
	
	var scrollXY = getScrollXY();
	topSpace = scrollXY[1]+topBasis;
	h = getDocHeight();
	
	$box.css('display','inline-block');
	$box.css('height', h );
	$box.animate({'opacity':'0.85'},'fast');
	$gallery.css('display','inline-block');
	$gallery.css('height', h );
	$gallery.animate({'opacity':'1'},'fast');
	
	$gallery_main.css('top',topSpace);
	
	$(document).keyup(function(event) {
			if (event.keyCode == '13') {
				event.preventDefault();
				closeBB();
			}
		});
	$('a#close').click(function(event) {
				event.preventDefault();
				closeBB();
		});
	$('a#buybtn').click(function(event) {
				event.preventDefault();
				ajaxUrl = ajaxUrlBase+'ajax_cart.php';
				getContent('content_load=add_model_to_cart&mid='+mid, fillCartInBB);
		});
}

// BLACK BOX
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}
function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}


function sendMessage(msg, yesFunction, noFunction, duration, param) {
	
	$('body').append('<div id="BlackBox"></div><div class="BlackBox_centerer"><div id="BB_subdialog"></div></div><div class="BlackBox_centerer"><div id="BB_dialog"> <div id="BB_msg"></div><div id="BB_btns"></div></div></div>');
	
	var yesBtn = '<a href="" class="BB_submit" id="BB_ok">OK</a>';
	var noBtn = '<a href="" class="BB_submit" id="BB_cancel">Annuler</a>';
	
	btns_str = (noFunction?noBtn+'&nbsp;':'') + yesBtn;
	
	var $dialog_main = $('#BB_dialog');
	var $dialog_sub = $('#BB_subdialog');
	var $dialog_msg = $('#BB_dialog #BB_msg');
	var $dialog_btns = $('#BB_dialog #BB_btns');
	var $box = $('#BlackBox');
	var $dialog = $('.BlackBox_centerer');
	
	if ( jQuery.isFunction(msg) ) {
		$dialog_btns.css('visibility','hidden');
		$dialog_msg.html('Chargement...');
		loadDialogContent(msg());
	} else {
		$dialog_msg.html(msg);
	}
	$dialog_btns.html(btns_str);
	
		$dialog.css('visibility','hidden');
		$dialog.css('display','block');
		var wh_h = $dialog_main.height();
		$dialog.css('display','none');
		$dialog.css('visibility','visible');
		
	$dialog_sub.css('paddingTop',wh_h+20);
	
	var topBasis = 120;
	
	// find the top space
	var scrollXY = getScrollXY();
	topSpace = scrollXY[1]+topBasis;
	h = getDocHeight();
	
	$box.css('display','inline-block');
	$box.css('height', h );
	$box.animate({'opacity':'0.85'},'fast');
	$dialog.css('display','inline-block');
	$dialog_main.css('background-color','#F4EEE2');
	$dialog_main.css('border','1px solid #d4d4d4');
	$dialog_main.css('padding','10px');
	$dialog_main.css('border-radius','6px');
	$dialog.css('height', h );
	$dialog.animate({'opacity':'1'},'fast');
	
	$dialog_main.css('top',topSpace);
	$dialog_sub.css('top',topSpace-6);
	
	
	$("a#BB_ok").click(function(event){
				event.preventDefault();
				closeBB();
				if ( jQuery.isFunction(yesFunction) )
					yesFunction(param);
			});
	$("a#BB_cancel").click(function(event){
				event.preventDefault();
				if (noFunction!=closeBB) closeBB();
				noFunction();
			});
	
	if (duration>0) {
		clearTimeout(BB_msgCD);
		BB_msgCD=setTimeout("closeBB();",duration*1000);
	}
	$(document).keyup(function(event) {
			if (event.keyCode == '13') {
				event.preventDefault();
				closeBB();
				if ( jQuery.isFunction(yesFunction) )
					yesFunction(param);
			}
		});
}
function closeBB() {
	$(document).unbind('keyup');
	var $box = $('#BlackBox');
	var $dialog = $('.BlackBox_centerer');
	$box.css('display','inline-block');
	$box.animate({'opacity':'0'},'fast');
	$dialog.css('display','inline-block');
	$dialog.animate({'opacity':'0'},'fast', 'linear', removeBB);
}
function removeBB() {
	$('#BlackBox').remove('');
	$('.BlackBox_centerer').remove('');
}
function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

function loadDialogContent(content) {
	// content deve essere un array {url:String,data:String,callback:function}
	$.ajax({
		type: "POST",
		url: content.url,
		data: content.data,
		success: function(msg){
			$('#BB_dialog #BB_msg').html(msg);
			var wh_h = $('#BB_dialog').height();
			$('#BB_subdialog').css('paddingTop',wh_h+20);
			$('#BB_dialog #BB_btns').css('visibility','visible');
			if (jQuery.isFunction(content.callback)) {
				content.callback();
			}
		}
	});
}
/*function validatePost(params) {
	var i;
	var errMsg = 'Saisis tous les champs obligatoires, stp!';
	for (i in params) {
            if ( !$('#'+params[i]).val() ) {
				sendMessage( errMsg );
				return false;
			}
        }
	return true;
}*/

function getRequired(form) {
	missing = Array();
	form.find('[required="required"]').each( function(i) {
														inputId = $(this).attr('id');
														label = form.find('label#label_'+inputId);
														if ( ($(this).attr('type')=='checkbox' && $(this).attr('checked')==false) || ( !$(this).val() && !$(this).attr('disabled') ) ) {
															label.addClass('redhighlight');
															labelName = label.text();
															labelName = labelName.replace('*','');
															labelName = labelName.replace(':','');
															if (labelName.indexOf(',')>10) {
																t = labelName.split(',');
																labelName=t[0];
															}
															missing.push( labelName );
														} else {
															label.removeClass('redhighlight');
														}
													});
	if (missing.length) {
		msg = missing.join('</li><li>');
		msg = 'Veuillez saisir les suivants champs:<br/><ul style="margin-left:40px;"><li>'+msg+'</li></ul>';
		sendMessage(msg, closeBB, null, 4);
		return false;
	} else {
		form.unbind('submit');
		//form.submit( function(event) { event.preventDefault(); } );
		form.submit();
		form.find('input[type=submit]').attr('disabled','disabled').css('opacity',.7);
		return true;
	}
}

function number_format (number, decimals, dec_point, thousands_sep) {
    number = (number + '').replace(',', '').replace(' ', '');
    var n = !isFinite(+number) ? 0 : +number,
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
}

// lost mdp
function showForRequest() {
	$('#login_div').css('display','none');
	$('#lost_div').css('display','block');
}
function hideForRequest() {
	$('#login_div').css('display','block');
	$('#lost_div').css('display','none');
	$('#email').val('');
}
function sendNewPwd() {
	$.ajax({
		type: "POST",
		url: 'layout/login.php',
		data: 'm='+clean($('#email').val()),
		success: function(msg){
			if (msg=='ok') {
				hideForRequest();
				$('#login_div').prepend('<div class="subinfos" style="width:320px" id="com">Le mot de passe t\'as été envoyé!</div>');
				setTimeout("$('#com').remove();",4000);
			} else {
				$('#lost_div').prepend('<div class="suberror" style="width:320px" id="com">L\'email n\'est pas valide!'+msg+'</div>');
				$('#email').val('');
				setTimeout("$('#com').remove();",4000);
			}
		}
	});
}

function setCurrency(whc) {
	if (readCookie('currency')) {
		eraseCookie('currency');
	}
	createCookie('currency',whc,365);
	refreshUrl = window.location.href;
	if (refreshUrl.indexOf('#')) {
		t = refreshUrl.split('#');
		refreshUrl=t[0];
	}
	window.location.href=refreshUrl;
}

// geoStores
// google maps
			


var map;
var geocoder;
var markers = new Array();
var locations = new Array();
var index = 0;
var openInfoWindow;
var image, shadow, shape;
var theMarker;

function codeAddresses() {
	// for (i=0; i<$addresses.length; i++) {
		var address = $addresses[index];
		if (!address) return; // end
		
		geocoder.geocode( { "address": address }, function(results, status) {
		  if (status == google.maps.GeocoderStatus.OK) {
			map.setCenter(results[0].geometry.location);
			var marker = new google.maps.Marker({
				map: map,
				shadow: shadow,
				icon: image,
				//shape: shape,
				animation: google.maps.Animation.DROP,
				position: results[0].geometry.location
			});
			markers.push(marker);
			locations.push(results[0].geometry.location);
			if (marker) {
				
				var infowindow = new google.maps.InfoWindow({
						content: $infoWindows[index]
					});
				google.maps.event.addListener(marker, 'click', function() {
						if (openInfoWindow!=infowindow) {
						  if (openInfoWindow)
						  	openInfoWindow.close();
						  infowindow.open(map,marker);
						  openInfoWindow = infowindow;
						} else {
						  infowindow.close();
						  openInfoWindow=0;
						}
					});
			}
			
		  } else {
			alert("Error! Can't locate the store: "+address);
		  }
		  index++;
		  codeAddresses();
		});
		
	// }
}

function geocode() {
	geocoder = new google.maps.Geocoder();
	codeAddresses();
}
function showStore(i) {
	map.setCenter(locations[i]);
	map.setZoom(17);
	map.getStreetView().setVisible(false);
}
function storesZoomOut() {
	map.setCenter(locations[locations.length-1]);
	map.setZoom(9);
	map.getStreetView().setVisible(false);
	if (openInfoWindow)
		openInfoWindow.close();
}
function initializegmaps() {
	var myOptions = {
	  zoom: 9,
	  mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
	image = new google.maps.MarkerImage(site+'images/icons/map_marker.png', new google.maps.Size(20, 34), new google.maps.Point(0,0), new google.maps.Point(10, 34));
	shadow = new google.maps.MarkerImage(site+'images/icons/map_marker.png', new google.maps.Size(37, 34), new google.maps.Point(20,0), new google.maps.Point(10, 34));
	shape = {
		  coord: [1, 1, 1, 20, 18, 20, 18 , 1],
		  type: "poly"
	  };
	geocode();
}
  
function loadGMapsScript() {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&callback=initializegmaps";
  document.body.appendChild(script);
}
			


// cookies

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
function dummy() {}

