/* 
 * @include "/searchfood/web/js/lib/prototype.js" 
 * @include "/searchfood/web/js/lib/scriptaculous.js" 
 * @include "/searchfood/web/js/lib/builder.js" 
 * @include "/searchfood/web/js/lib/controls.js" 
 * @include "/searchfood/web/js/lib/effects.js" 
 * @include "/searchfood/web/js/lib/sound.js" 
 * @include "/searchfood/web/js/lib/slider.js"
 * @include "/searchfood/web/js/lib/dragdrop.js"
 * @include "/searchfood/web/js/toolfunctions.js"
 * @include "/searchfood/web/jwchat/jsjac.js"
 */

// var winclose = null;
// window.onunload = closeWindow;
// window.onload = stopUnloading;
/*
 * function closeWindow(){ if(window.closed) new
 * Ajax.Request('/connection/closeWindow'); //winclose =
 * window.setTimeout('reallyCloseWindow()', 3000); }
 * 
 * function reallyCloseWindow(){ new
 * Ajax.Request('/connection/closeWindow'); }
 * 
 * function stopUnloading(){ if(winclose!=null) window.clearTimeout(winclose); }
 */

var big = false;
var validpanier = false;
var fb_init_ok = false;
/*
 * OLpageDefaults(BGCLASS,'overbg', BORDER,0, CAPTIONFONTCLASS,'overtitle',
 * CLOSEFONTCLASS,'overclose', CLOSECLICK, FGCLASS,'olfg',
 * TEXTFONTCLASS,'overtext', CGCLASS,'olcg');
 */

function disableImage(id, img, disabled) {
	if (disabled) {
		$(id).innerHTML = "<img src='/images/" + img + "_d.png'>";
	} else {
		$(id).innerHTML = "<img src='/images/" + img + ".png'>";
	}
}
var advanced_search = false
function showHideAdvancedSearch() {
	if ($('advanced_search_component')) {
		if ($$('.advanced_search_out')[0]
				&& $$('.advanced_search_out')[0].style.display != "none") {
			// $('advancedsearch_arrow').innerHTML="<img
			// src='/images/simple.png'/>";

			Effect.multiple($$('.advanced_search_out'), Effect.SlideUp);

		} else {
			// $('advancedsearch_arrow').innerHTML="<img
			// src='/images/advanced.png'/>";
			Effect.multiple($$('.advanced_search_out'), Effect.SlideDown);

		}
		advanced_search = !advanced_search;
	}
	return false;
}

function showMenuProd(idprod, url, slideid) {

	/*
	 * if (idprod != "") { // if($$('#'+slideid+'_inner #need_ajax').length==0) //
	 * new Effect.SlideUp(slideid, {queue: 'end',duration:0.2}); new
	 * Ajax.Updater(slideid + '_inner', url, { onComplete : function() { new
	 * Effect.SlideDown(slideid, { queue :'end', duration :0.5 }); },
	 * evalScripts :true, parameters :'id=' + idprod }); } else {
	 * $(slideid).hide(); $(slideid + '_inner').innerHTML = ''; }
	 */
	showHideAjaxInfoForSelect(idprod, url, slideid);

}

function checkAndAddProdToBasket(button) {

	if (formCheck(button)) {
		showLoading();
		if ($('basket_fourn').value != ""
				&& $('basket_fourn').value != $('prod_fourn').value)
			clearPanierOrCancelAddForFourn();
		else {
			if ($('basket_distr').value == "" && $('prod_service').value == "4") {
				selectServiceForAddProd();
			} else if ($('basket_time').value == "") {
				if ($('basket_distr').value == "")
					new Ajax.Request(
							'/basket/setService?service=' + $('prod_service').value+'&dontrender=true',
							{
								evalScripts :false,
								asynchronous :false,
								onSuccess: function(){
								$('basket_distr').value=$('prod_service').value;
							}
							});
				selectHourForAddProd();
			} else if ($('basket_distr').value != ""
					&& $('prod_service').value != "4"
					&& $('prod_service').value != "0"
					&& $('prod_service').value != $('basket_distr').value) {
				new Ajax.Request('/basket/checkAddProduct', {
					parameters :'service=' + $('prod_service').value,
					onComplete : function(transport) {
						var resp = transport.responseText;
						if (resp == "0")
							clearPanierOrCancelAddForService();
						else if (resp == "1")
							changeServicePanier();
					}
				});
			} else {
				closeWeb2();
				if($('add_prod_to_basket'))
				$('add_prod_to_basket').onsubmit='';
				else if($('add_menu_to_basket'))
					$('add_menu_to_basket').onsubmit='';
				formCheckAndSubmit(button);
			}
		}
		return false;
	} else {
		return false;
	}
}

function clearPanierOrCancelAddForService() {
	new Ajax.Updater('contentweb2',
			'/basket/clearPanierOrCancelAddForService', {
				onComplete :showWeb2,
				evalScripts :true
			});
	return false;
}

function selectChangeServicePanier() {
	new Ajax.Updater('contentweb2',
			'/basket/selectChangeServicePanier', {
				onComplete :showWeb2,
				evalScripts :true
			});
	return false;
}

function changeServicePanier() {
	new Ajax.Updater('contentweb2', '/basket/changeServicePanier', {
		onComplete :showWeb2,
		evalScripts :true
	});
	return false;
}

function selectServiceForAddProd() {
	new Ajax.Updater('contentweb2',
			'/basket/selectServiceForAddProd', {
				onComplete :showWeb2,
				evalScripts :true
			});
	return false;
}

function checkPanier() {

	new Ajax.Updater(
			(big ? 'panier_com' : 'small_panier'),
			'/basket/checkPanier' + (big ? "?big=true" : "?big=false"),
			{
				evalScripts :true
			});
}

function selectHourForAddProd() {
	new Ajax.Updater('contentweb2', '/basket/selectBasketTime', {
		onComplete :showWeb2,
		evalScripts :true,
		parameters :"fid=" + $('prod_fourn').value + "&serv="
				+ ($('basket_distr').value!=""?$('basket_distr').value:$('prod_service').value)
	});
	return false;
}

function changeBasketTime() {
	new Ajax.Updater(
			'contentweb2',
			'/basket/changeBasketTime?basket_date=' + $('basket_time').value,
			{
				onComplete :showWeb2,
				evalScripts :true,
				parameters :"fid=" + $('basket_fourn').value
			});
	return false;
}

function clearPanierOrCancelAddForFourn() {
	new Ajax.Updater('contentweb2',
			'/basket/clearPanierOrCancelAddForFourn', {
				onComplete :showWeb2,
				evalScripts :true
			});
	return false;
}

function clearPanierOrChangeService(change) {
	if (!change) {
		changeUserLocation($('ville').value, $('quartier').value);
	}
	new Ajax.Updater(
			'contentweb2',
			'/basket/clearPanierOrChangeService?change=' + (change ? '1&ville='
					+ $('ville').value + '&quartier=' + $('quartier').value
					: '0'), {
				onComplete :showWeb2,
				evalScripts :true
			});
	return false;
}

function changeUserLocation(villeid, quartierid) {
	new Ajax.Request('/home/saveLocation', {
		parameters :'ville=' + villeid
				+ (quartierid != "" ? "&quartier=" + quartierid : ""),
		asynchronous :false
	});
	new Ajax.Updater('search_locations', '/search/getSearchLocations');
	new Ajax.Updater('user_location', '/localisation/getUserLocation');
}

function setPanierEmporterAndAdd() {
	return addProductChangeService("1");
}

function setPanierLivraisonAndAdd() {
	return addProductChangeService("2");
}

function clearPanier(confirmText) {
	if (!$('acceder_panier_img')) {
		if (confirmText == "" || confirm(confirmText)) {
			new Ajax.Updater('small_panier', '/basket/clearPanier', {
				evalScripts :true,
				asynchronous :false,
				onLoading : function() {
					showLoading();
				},
				onComplete : function() {
					endLoading();
				},
				onSuccess : function() {
					changePanierTot(0);
				}
			});
		}
	}
	else {
		if (confirmText == "" || confirm(confirmText)) {
			new Ajax.Updater("restaurateur_acceder_panier",
					'/basket/clearPanier?acceder=true', {
						evalScripts :true,
						asynchronous :false,
						onLoading : function() {
							showLoading();
						},
						onComplete : function() {
							endLoading();
						},
						onSuccess : function() {
							changePanierTot(0);
						}
					});
		}
	}
	if ($('valid_panier_total_value_raw')){
		document.location.reload(true);
	}

}

function clearPanierAndAdd() {
	clearPanier("");
	return checkAndAddProdToBasket($('add_to_basket_button'));

}

function changeBasketService(newservice) {
	if (update != undefined && update) {
		new Ajax.Updater((big ? 'panier_com' : 'small_panier'),
				'/basket/setService?service=' + newservice
						+ (big ? "&big=true" : "&big=false"), {
					evalScripts :true,
					asynchronous :false
				});
	} else {
		new Ajax.Request('/basket/setService?service=' + newservice,
				{
					evalScripts :true,
					asynchronous :false
				});
	}
	return false;
}

function addProductChangeService(newservice) {

	new Ajax.Request('/basket/setService?service=' + newservice, {
		onComplete : function(transport) {
			$('basket_distr').value = newservice;
			checkAndAddProdToBasket($('add_to_basket_button'));
		},
		onLoading :web2winLoading,
		evalScripts :true,
		asynchronous :false
	});
	return false;
}

function setPanierService(idservice) {
	new Ajax.Request('/basket/setService?service=' + idservice, {
		onComplete : function(transport) {
			window.location.reload(true);
		},
		evalScripts :true,
		asynchronous :false
	});
	return false;
}

function saveBasketTime() {
	var b_date = getStandardDateFromDMY($('basket_date_value').value);

	// alert($('basket_date_value').value);
	new Ajax.Request('/basket/saveTime', {
		onComplete : function() {
			$('basket_time').value = b_date + " " + $('basket_hour').value
					+ ":" + $('basket_minutes').value + ":00";
			checkAndAddProdToBasket($('add_to_basket_button'));
		},
		onLoading :web2winLoading,
		parameters :"date="
				+ b_date
				+ "&hour="
				+ $('basket_hour').value
				+ "&min="
				+ $('basket_minutes').value
				+ ($('flexible').checked ? "&flexible=1&flexibility="
						+ $('flexibility').value : ""),
		evalScripts :true,
		asynchronous :false
	});
	return true;
}

function saveChangeBasketTime() {
	closeWeb2();
	var b_date = getStandardDateFromDMY($('basket_date_value').value);
	new Ajax.Request('/basket/saveTime', {
		parameters :"date="
				+ b_date
				+ "&hour="
				+ $('basket_hour').value
				+ "&min="
				+ $('basket_minutes').value
				+ ($('flexible').checked ? "&flexible=1&flexibility="
						+ $('flexibility').value : ""),
		evalScripts :true,
		asynchronous :false
	});
	if (validpanier) {
		new Ajax.Updater('validpanier_time_inside',
				'/basket/getValidPanierTime', {
					evalScripts :true,
					asynchronous :false
				});
	} else {
		new Ajax.Updater(
				(big ? ($("panier_restaurant_com") ? 'panier_restaurant_com'
						: 'panier_com') : 'small_panier'),
				'/basket/getPanierInner' + (big ? "?big=true"
						: "?big=false"), {
					evalScripts :true,
					asynchronous :false
				});
	}
	return false;
}

function refreshSmallPanier() {

}

function refreshPanier() {
	if (!validpanier) {
		var ac_pan = false;
		if ($("restaurateur_acceder_panier"))
			ac_pan = true;

		new Ajax.Updater(ac_pan ? 'restaurateur_acceder_panier'
				: 'small_panier',
				'/basket/refreshPanier' + (ac_pan ? '?acceder=true'
						: ''), {
					onLoading : function() {
						showLoading();
					},
					onComplete : function() {
						endLoading();
					},
					evalScripts :true
				});
	}
}

function checkPanierWithLocation(button) {

	if (formCheck(button)) {

		/*
		 * new Ajax.Request( '/basket/checkBasketWithLocation', {
		 * parameters :'ville=' + $('ville').value + ($('quartier').value != "" ?
		 * "&quartier=" + $('quartier').value : ""), onComplete :
		 * function(transport) { var resp = transport.responseText; if (resp ==
		 * "0") clearPanierOrChangeService(false); else if (resp == "1")
		 * clearPanierOrChangeService(true); else if (resp=="2")
		 * $('select_location_form').submit(); } });
		 */
		$('select_location_form').submit();
	}

}

function savePromoProdElement() {

}

function panierDateChanged(msg) {
	alert(msg);
}

function panierModifiedByFourn(msg) {
	alert(msg);
}

function newDelyAddress(url, ret) {
	if (ret == undefined || ret == null)
		ret = "document.location.reload(true);";
	new Ajax.Updater("contentweb2", url, {
		onLoading: function(){web2winLoading();},
		evalScripts :true,
		parameters :'ret=' + ret
	});
}

function checkPayments() {
	var res = false;
	$$('.fourn_payment_box').each( function(el) {
		res = res || el.checked;
	});
	return res;

}

function showSearch() {
	var bigp = $('small_to_big').makePositioned().makeClipping()
			.cleanWhitespace();
	new Effect.Parallel( [ new Effect.Scale(bigp, window.opera ? 0 : 1, {
		scaleFrom :100,
		sync :true,
		scaleContent :false,
		scaleMode :'box',
		scaleY :false,
		queue :'end',
		duration :0.5,
		restoreAfterFinish :true,
		scaleMode : {
			originalHeight :bigp.getDimensions().height,
			originalWidth :bigp.getDimensions().width
		},
		afterSetup : function(effect) {
			bigp.makePositioned();
			bigp.down().makePositioned();
			bigp.makeClipping().show();
		},
		afterFinishInternal : function(effect) {
			bigp.hide().undoClipping().undoPositioned();
			bigp.down().undoPositioned();
		}
	}), new Effect.Fade($('closed_search'), {
		sync :true,
		queue :'end',
		duration :0.3
	}) ]);

	new Effect.Morph('right_top', {
		style :'width:267px;',
		queue :'end',
		duration :0
	});
	var smallp = $('small_panier_outer').makePositioned().makeClipping()
			.cleanWhitespace();
	var search = $('search_localisation_outer').makePositioned().makeClipping()
			.cleanWhitespace();
	search.down().makePositioned().makeClipping().cleanWhitespace();
	new Effect.Parallel( [ new Effect.Scale(search, 100, {
		scaleContent :false,
		sync :true,
		scaleFrom :window.opera ? 1 : 0,
		scaleMode :'box',
		scaleY :false,
		queue :'end',
		duration :0.5,
		scaleMode : {
			originalHeight :$('middle_top').getDimensions().height,
			originalWidth :$('middle_top').getDimensions().width
		},
		afterSetup : function(effect) {
			search.makePositioned();
			search.down().makePositioned();
			search.makeClipping().show();
		},
		afterFinishInternal : function(effect) {
			effect.element.undoClipping().undoPositioned();
			effect.element.down().undoPositioned();
		}

	}), new Effect.Morph('right_top', {
		sync :true,
		style :'margin-left:504px;'
	}), new Effect.Scale(smallp, 100, {
		scaleContent :false,
		sync :true,
		scaleFrom :window.opera ? 0 : 1,
		scaleMode :'box',
		scaleY :false,
		queue :'end',
		duration :0.5,
		scaleMode : {
			originalHeight :smallp.getDimensions().height,
			originalWidth :smallp.getDimensions().width
		},
		restoreAfterFinish :true,
		afterSetup : function(effect) {
			effect.element.makePositioned();
			effect.element.down().makePositioned();

			effect.element.makeClipping().show();
		},

		afterFinishInternal : function(effect) {
			effect.element.undoClipping().undoPositioned();
			effect.element.down().undoPositioned();
		}

	}) ], {
		queue :'end',
		duration :0.5
	});

}

function showRestaurantComp() {
	var bigp = $('small_to_big_restaurant').makePositioned().makeClipping()
			.cleanWhitespace();
	new Effect.Parallel( [ new Effect.Scale(bigp, window.opera ? 0 : 1, {
		scaleFrom :100,
		sync :true,
		scaleContent :false,
		scaleMode :'box',
		scaleY :false,
		queue :'end',
		duration :0.5,
		restoreAfterFinish :true,
		scaleMode : {
			originalHeight :bigp.getDimensions().height,
			originalWidth :bigp.getDimensions().width
		},
		afterSetup : function(effect) {
			bigp.makePositioned();
			bigp.down().makePositioned();
			bigp.makeClipping().show();
		},
		afterFinishInternal : function(effect) {
			bigp.hide().undoClipping().undoPositioned();
			bigp.down().undoPositioned();
		}
	}), new Effect.Fade($('closed_restaurant'), {
		sync :true,
		queue :'end',
		duration :0.3
	}) ]);

	new Effect.Morph('middle_right', {
		style :'width:41px;',
		queue :'end',
		duration :0
	});
	var smallp = $('restaurateur_acceder_panier').makePositioned()
			.makeClipping().cleanWhitespace();
	var search = $('restaurant_page_header').makePositioned().makeClipping()
			.cleanWhitespace();
	search.down().makePositioned().makeClipping().cleanWhitespace();
	new Effect.Parallel( [ new Effect.Scale(search, 100, {
		scaleContent :false,
		sync :true,
		scaleFrom :window.opera ? 1 : 0,
		scaleMode :'box',
		scaleY :false,
		queue :'end',
		duration :0.5,
		scaleMode : {
			originalHeight :search.getDimensions().height,
			originalWidth :713
		},
		afterSetup : function(effect) {
			search.makePositioned();
			search.down().makePositioned();
			search.makeClipping().show();
		},
		afterFinishInternal : function(effect) {
			effect.element.undoClipping().undoPositioned();
			effect.element.down().undoPositioned();
		}

	}), new Effect.Morph('middle_right', {
		sync :true,
		style :'margin-left:733px;'
	}), new Effect.Scale(smallp, 100, {
		scaleContent :false,
		sync :true,
		scaleFrom :window.opera ? 0 : 1,
		scaleMode :'box',
		scaleY :false,
		queue :'end',
		duration :0.5,
		scaleMode : {
			originalHeight :smallp.getDimensions().height,
			originalWidth :smallp.getDimensions().width
		},
		restoreAfterFinish :true,
		afterSetup : function(effect) {
			effect.element.makePositioned();
			effect.element.down().makePositioned();

			effect.element.makeClipping().show();
		},

		afterFinishInternal : function(effect) {
			effect.element.undoClipping().undoPositioned();
			effect.element.down().undoPositioned();
		}

	}) ], {
		queue :'end',
		duration :0.5
	});

}

var panierLoaded = false;
var panierLoading = false;
function showPanierDetail() {
	if (!panierLoaded && !panierLoading) {
		panierLoading = true;
		new Ajax.Updater('small_to_big', '/basket/getBigPanier', {
			onLoading : function() {
				showLoading();
			},
			onSuccess : function() {
				panierLoading = false;
				panierLoaded = true;
				endLoading();
				panierAnimation();
			},

			evalScripts :true
		});
	} else {
		panierAnimation();
	}

}
var panierAnimTO = null;
function panierAnimation() {
	if (panierLoading) {
		if (panierAnimTO == null)
			panierAnimTO = setTimeout("panierAnimation()", "500");
	} else {
		panierAnimTO = null;
		new Effect.Parallel( [
				new Effect.Scale('search_localisation_outer', window.opera ? 0
						: 1, {
					scaleContent :false,
					sync :true,
					scaleMode :'box',
					scaleY :false,
					queue :'end',
					duration :0.5,
					scaleMode : {
						originalHeight :$('search_localisation_outer')
								.getDimensions().height,
						originalWidth :$('search_localisation_outer')
								.getDimensions().width
					},
					restoreAfterFinish :true,
					afterSetup : function(effect) {
						$('search_localisation_outer').makePositioned();
						$('search_localisation_outer').down().makePositioned();
						$('search_localisation_outer').makeClipping().show();
					},
					afterFinishInternal : function(effect) {
						$('search_localisation_outer').hide().undoClipping()
								.undoPositioned();
						$('search_localisation_outer').down().undoPositioned();
					}
				}), new Effect.Morph('right_top', {
					sync :true,
					style :'margin-left:33px'
				}), new Effect.Morph('right_top', {
					style :'width:740px;min-height:182px;overflow:hidden;',
					sync :true
				}) ], {
			queue :'end',
			duration :0.5
		});

		new Effect.Appear('closed_search', {
			queue :'end',
			duration :0.5
		});

		var smallp = $('small_panier_outer').makePositioned().makeClipping()
				.cleanWhitespace();

		new Effect.Scale(smallp, window.opera ? 0 : 1, {
			scaleContent :false,
			scaleMode :'box',
			scaleY :false,
			queue :'end',
			duration :0.5,
			scaleMode : {
				originalHeight :smallp.getDimensions().height,
				originalWidth :smallp.getDimensions().width
			},
			restoreAfterFinish :true,
			afterSetup : function(effect) {
				smallp.makePositioned();
				smallp.down().makePositioned();
				smallp.makeClipping().show();
			},
			afterFinishInternal : function(effect) {
				smallp.hide().undoClipping().undoPositioned();
				smallp.down().undoPositioned();
			}
		});

		new Effect.Appear('small_to_big', {
			duration :0,
			queue :'end'
		});
		new Effect.Morph('small_to_big', {
			style :"big_panier",
			queue :'end',
			duration :0.5
		});
	}
}

// ======================BIG PANIER RESTAURANT====================

var panierRestoLoaded = false;
var panierRestoLoading = false;
function showPanierResaurant() {
	if (!panierRestoLoaded && !panierRestoLoading) {
		panierRestoLoading = true;
		new Ajax.Updater('small_to_big_restaurant',
				'/basket/getBigPanier', {
					onLoading : function() {
						showLoading();
					},
					onSuccess : function() {
						panierRestoLoading = false;
						panierRestoLoaded = true;
						endLoading();
						panierRestoAnimation();
					},
					parameters :'restaurant=true',
					evalScripts :true
				});
	} else {
		panierRestoAnimation();
	}

}
var panierRestoAnimTO = null;
function panierRestoAnimation() {

	if (panierRestoLoading) {
		if (panierAnimTO == null)
			panierRestoAnimTO = setTimeout("panierRestoAnimation()", "500");
	} else {
		panierRestoAnimTO = null;
		new Effect.Parallel( [
				new Effect.Scale('restaurant_page_header',
						window.opera ? 0 : 1, {
							scaleContent :false,
							sync :true,
							scaleMode :'box',
							scaleY :false,
							queue :'end',
							duration :0.5,
							scaleMode : {
								originalHeight :$('restaurant_page_header')
										.getDimensions().height,
								originalWidth :$('restaurant_page_header')
										.getDimensions().width
							},
							restoreAfterFinish :true,
							afterSetup : function(effect) {
								$('restaurant_page_header').makePositioned();
								$('restaurant_page_header').down()
										.makePositioned();
								$('restaurant_page_header').makeClipping()
										.show();
							},
							afterFinishInternal : function(effect) {
								$('restaurant_page_header').hide()
										.undoClipping().undoPositioned();
								$('restaurant_page_header').down()
										.undoPositioned();
							}
						}), new Effect.Morph('middle_right', {
					sync :true,
					style :'margin-left:33px'
				}), new Effect.Morph('middle_right', {
					style :'width:740px;min-height:349px;overflow:hidden;',
					sync :true
				}) ], {
			queue :'end',
			duration :0.5
		});

		new Effect.Appear('closed_restaurant', {
			queue :'end',
			duration :0.5
		});

		var smallp = $('restaurateur_acceder_panier').makePositioned()
				.makeClipping().cleanWhitespace();

		new Effect.Scale(smallp, window.opera ? 0 : 1, {
			scaleContent :false,
			scaleMode :'box',
			scaleY :false,
			queue :'end',
			duration :0.5,
			scaleMode : {
				originalHeight :smallp.getDimensions().height,
				originalWidth :smallp.getDimensions().width
			},
			restoreAfterFinish :true,
			afterSetup : function(effect) {
				smallp.makePositioned();
				smallp.down().makePositioned();
				smallp.makeClipping().show();
			},
			afterFinishInternal : function(effect) {
				smallp.hide().undoClipping().undoPositioned();
				smallp.down().undoPositioned();
			}
		});

		new Effect.Appear('small_to_big_restaurant', {
			duration :0,
			queue :'end'
		});
		new Effect.Morph('small_to_big_restaurant', {
			style :"big_panier_restaurant",
			queue :'end',
			duration :0.5
		});
	}
}

function showItineraire(id) {
	new Ajax.Updater('contentweb2',
			"/restaurant/getItineraireRestaurant?fid=" + id, {
				onComplete : function() {
					showWeb2();
					setTimeout("itineraireLoad('" + id + "')", 1000);
				}
			});
}
var ajax_tt_title = "";
function showProdInTooltip(url, fid, idprod, title) {
	if (timeoutcleartt != null)
		clearTimeout(timeoutcleartt);
	ajax_tt_title = title;
	return OLgetAJAX(url + '?fid=' + fid + '&pid=' + idprod, showProdTTResult,
			0, "ajax_tt");
}

function showProdTTResult() {
	return overlib(OLresponseAJAX, CAPTION, ajax_tt_title);
}

var timeoutcleartt = null;

function clearAjaxTT() {

	timeoutcleartt = setTimeout( function() {
		OLclearAJAX();
		nd();
	}, 2000);

}

function changePanierTot(newval) {
	if ($('panier_total_value_raw')) {
		$('panier_total_value_raw').innerHTML = "" + newval;
	}
	if ($('valid_panier_total_value_raw')) {
		new Ajax.Updater("valid_panier_bottom",
				"/basket/getValidPanier", {
					onLoading : function() {
						showLoading();
					},
					onComplete : function() {
						endLoading();
					},
					evalScripts: true
				});
	}
	if ($('small_panier_total_value_raw')) {
		$('small_panier_total_value_raw').innerHTML = "" + newval;
	}
}

function checkQuantityVal(elid, mes) {
	if (isInteger($(elid).value) && $(elid).value > 0 && $(elid).value < 100) {
		return true;
	} else {
		alert(mes);
		return false;
	}
}

function resultOrderChanged() {

	if ($('search_type_restaurant').checked) {
		/*new Ajax.Updater("content", "/search/orderRestaurants", {
			parameters :'orderby=' + $('search_order_by').value + '&orderway='
					+ $('search_order_way').value,
			onLoading : function() {
				showLoading();
			},
			onComplete : function() {
				endLoading();
			},
			evalScripts :true
		});*/
		showLoading();
		document.location.href='/search/orderRestaurants?orderby=' + $('search_order_by').value + '&orderway='
			+ $('search_order_way').value;
	} else {

	}
}

function checkAdSearchElement(el) {
	if (el) {
		var parent = $(el.id).up(0);
		var els = parent.select('input', 'select');
		var showdel = false;
		var query = "";
		els
				.each( function(element) {
					if ((element.type.toLowerCase() == "checkbox" && element.checked)
							|| (element.type.toLowerCase() != "checkbox" && element.value != ""))
						showdel = true;
					if (query == "")
						query = element.name
								+ "="
								+ (element.type.toLowerCase() == "checkbox" ? element.checked
										: element.value);
					else
						query = query
								+ "&"
								+ element.name
								+ "="
								+ (element.type.toLowerCase() == "checkbox" ? element.checked
										: element.value);
				});
		// alert(parent.id);
		if (showdel) {
			parent.up().className = "advanced_search_in";
			$$('#' + parent.id + ' .ad_del_element')[0].show();
		} else {
			parent.up().className = "advanced_search_out";
			$$('#' + parent.id + ' .ad_del_element')[0].hide();
			if (!advanced_search) {
				new Effect.SlideUp(parent.up(), {
					queue :'end'
				});
			}
		}

	}

}

function delAdSearchEl(el) {
	var parent = $(el).up('div');
	var eltosend = null;
	var els = parent.select('input', 'select');
	els.each( function(element) {
		eltosend = element;
		if (element.type.toLowerCase() == "checkbox")
			element.checked = false;
		else
			element.value = "";
	});
	checkAdSearchElement(eltosend);
}

function addRemoveSuppPrix(prix, el) {
	if (el.checked) {
		addToPrixTot(prix);
	} else {
		removeFromPrixTot(prix);
	}
}

function checkMenuProdTotalPrix() {
	if (nbloadings != 0)
		setTimeout("checkMenuProdTotalPrix()", 1000);
	else {

		var form = null;
		if ($('add_menu_to_basket'))
			form = $('add_menu_to_basket');
		else if ($('add_prod_to_basket'))
			form = $('add_prod_to_basket');

		if (form != null) {
			var selects = form.select('select');
			// alert("selects: "+selects.length);
			var checks = form.select('input[type=checkbox]');
			// alert("check : "+checks.length);
			var prodprix = form.select('.prod_prix_info_raw');

			var prodsepprix = form.select('.promo_prod_prix_to_add');
			// alert("prix: "+prodprix.length);
			calculTotPrix(selects, checks, prodprix, prodsepprix);
		}

	}
}

function checkPanierPromoTotalPrix() {
	var prixtot = Number($('panier_tot_sups').value);
	var form = null;
	if ($('panier_promos_form'))
		form = $('panier_promos_form');
	if (form != null) {
		var selects = form.select('select');
		selects.each( function(el) {
			var val = getPrixFromText(el.options[el.selectedIndex].text);
			// alert(val);
				prixtot = prixtot + Number(val);
			});
		
		var checks = form.select('input[type=checkbox]');
		checks.each( function(el) {
			if (el.checked) {
				var val = getPrixFromText(el.next('label').innerHTML);
				prixtot = prixtot + Number(val);
			}
		});
		
		$('valid_panier_total_value_raw').innerHTML = '' + (Math.round(prixtot * 100) / 100);
	}
	
}

function calculTotPrix(selects, checks, prodprix, prodsepprix) {
	prixtot = 0;
	prodprix.each( function(el) {
		prixtot = prixtot + Number(el.innerHTML);
	});

	lastval = null;
	lastprodid = null;
	var noel = 0;
	prodsepprix.each( function(el) {
		/*
		 * noel++; var prodid = el.id; prodid = prodid.sub(el.className,"");
		 * prodid = prodid.split("_")[0]; var val = Number(el.innerHTML);
		 * if(lastprodid==null) lastprodid=prodid; if(lastval==null ||
		 * (prodid==lastprodid && lastval>val)){ lastval = val; } else
		 * if(prodid!=lastprodid){ prixtot = prixtot + lastval;
		 * lastprodid=prodid; lastval = val; } if(noel==prodsepprix.length)
		 * prixtot = prixtot + lastval;
		 */
		var val = Number(el.innerHTML);
		prixtot = prixtot + val;
	});

	// alert("after spans : " + prixtot);
	selects.each( function(el) {
		var val = getPrixFromText(el.options[el.selectedIndex].text);
		// alert(val);
			prixtot = prixtot + Number(val);
		});
	// alert("after selects : " + prixtot);
	checks.each( function(el) {
		if (el.checked) {
			var val = getPrixFromText(el.next('label').innerHTML);
			prixtot = prixtot + Number(val);
		}
	});
	// alert("after checks : "+prixtot);
	if ($('quantite') && isInteger($('quantite').value))
		prixtot = prixtot * Number($('quantite').value);
	setPrixTot(prixtot);
}

function getPrixFromText(text) {
	// alert("text to price:"+text);
	var val = text.split("+");

	if (val != null && val.length > 1) {
		val = val[1].split("€");
		if (val.length > 0){
			return Number(val[0].strip());
		}
		else
			return Number(0);
	} else
		return Number(0);
}

function setPrixTot(prix) {

	$('produit_add_prix_total_raw').innerHTML = '' + (Math.round(prix * 100) / 100);
}



function loadProfilTab(id, tabname) {
	new Ajax.Updater('profil_tab_content', '/profil/getTabContent', {
		parameters :'tab=' + id + '&cid=' + $('client_profil_id').value,
		onLoading : function() {
			showLoading();
		},
		onSuccess : function() {
			$$('.actif_profil_tab').each( function(el) {
				el.className = 'passif_profil_tab';
			});
			$(tabname).className = 'actif_profil_tab';
		},
		onComplete : function() {
			endLoading();
		},
		evalScripts :true
	});
}

function getNbSelectedMessage() {
	var cblength = 0;
	$$('.mes_cbox').each( function(el) {
		if (el.checked)
			cblength++;
	});
	return cblength;
}

function checkMessengerActions(el) {
	var cblength = getNbSelectedMessage();
	if (cblength == 1 && el.checked) {
		disableMessengerActions(false);
	} else if (cblength == 0) {
		disableMessengerActions(true);
	}
}

function disableMessengerActions(val) {
	$$('.messenger_message_action').each( function(el) {
		setDivDisabled(el.id, val);
	});
}

function selectLocation(url) {
	new Ajax.Updater('contentweb2', '/home/selectLocation', {
		onSuccess :showWeb2,
		onLoading :showLoading,
		onComplete :endLoading,
		parameters :'returnurl=' + url,
		evalScripts :true
	});
}

function countAndHideContacts(edittext,selecttext){
	
	var nbcontacts=0;
	$$('.contact_checks').each(function(el){
		if(el.checked)
			nbcontacts++;
		});
	if(nbcontacts>0){
		$('send_messages_to_contacts').hide();
		$('edit_invite_message').show();
	$('nb_contacts').innerHTML="<b>"+nbcontacts+"&nbsp;</b>";
	$('nb_contacts_modifier').innerHTML="<a href='#' onclick=\"$('send_messages_to_contacts').show();$('edit_invite_message').hide();\">"+edittext+"</a>";
	}
	else{
		alert(selecttext);
	}
}

function facebook_loginready(){
	FB.ensureInit(function() {
	      FB.Facebook.get_sessionState().waitUntilReady(function(session) {
	          var is_now_logged_into_facebook = session ? true : false;

	          if(is_now_logged_into_facebook){
	          // otherwise, refresh to pick up the state change
	        	  document.location.href='/connection/connectWithFb';
	          }
	        });
	    });
}

function disconnect_fb(){
	
	FB.ensureInit(function() {
		FB_RequireFeatures(["Connect"], function(){ 
	        FB.Connect.logout(function(){document.location.href='/facebook/disconnect';});
		});
	    });
}

function disconnect_fb_sf(){
	document.location.href='/connection/disconnectFromFb';
}

function showPublishFavoriteDialog(name, href, attachmentText,commentText){
	FB.ensureInit(function() {
	FB_RequireFeatures(["Connect"], function(){ 
			var actionLinks = [{ "text": name, "href": href}];
			var attachment = {'name':"SearchFood.com - "+name,'href':href,'caption':attachmentText};
			var res = FB.Connect.streamPublish('', attachment, actionLinks, null, commentText, favoritePublished);
		});
	});
	
}

function favoritePublished (post_id, exception) {
	if(post_id!=null) { 
		} 
	else{
		alert('exception : '+exception);
	}
} 
