$(document).ready(myOnDomReady);
$(window).load(myDocumentLoad);
var myCallPlugin=RQAjaxCallPlugin;
var isRQDEBUG=false;
function RQDebug(s){if(isRQDEBUG){if( !$('#debug').is("div"))	{$("body").append("<div id=\"debug\"></div>");$('#debug').css({position:"absolute",width:250,fontFamily:"Monaco",fontSize:"9px",lineHeight:"11px",top:10,left:10,background:"#fff",opacity:0.9});}$('#debug').append("<div>"+s+"</div>");}}


function PNGSrc(src,width,height)
{
	var s
	if(isIE6)
		s=" src=\"Data/Img/void.gif\" width=\""+width+"\" height=\""+height+"\" style=\"filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='scale');\"";
	else
		s="src=\""+src+"\"";
	return s;
}
function myDocumentLoad()
{	
}

var sRqAnimMenu=false;
var sUserJustLogged=false;
var sRqAnimUser=false;
var isIE6 = false;
var isIE7 = false;
function myOnDomReady()
{
	// browser detection
	isIE = jQuery.browser.msie?true:false;
	isIE6 = (isIE && (jQuery.browser.version.charAt(0)<="6" ))?true:false;
	isIE7 = (isIE && (jQuery.browser.version.charAt(0)=="7" ))?true:false;

	// errors rich graphics
	$('.invalidField').each(function(){
		var t=$(this).html();
		$(this).replaceWith("<div class=\"myInvalidField\"><div class=\"Bg\"><div class=\"T\"><div class=\"B\"><div class=\"inner\">"+t+"</div></div></div></div></div>");
	});
	
	if(sUserJustLogged || sRqAnimMenu)
		sRqAnimUser=true;

	if(sRqAnimUser)
		$('#loginInfo').hide().css({opacity:0.1,top:-200});

	if(sRqAnimMenu)
	{	var logoImgLoader= new Image();
		$(logoImgLoader).load(startMenuAnimation);
		$("#bulleAdherent").hide().css({top:-100,left:30});
		$("#menu a").hide();
		$("#logo").css({left:200,top:-300}).find("img").hide();
		$(logoImgLoader).attr('src',$("#logo img").attr('src'));
	}
	else
	{	$(".imageHeader").show();
		installMenuItemsHandlers();
		showUserInfo();
		if(isIE6)
		{
			$("#bulleAdherent").css({position:"absolute",left:195,top:"-10",opacity:1}).animate({left:196},1,"linear");
		}
	}	

	// a la carte paniers items
	$('.alacarte .panierItem').instalPanierItemHandlers();

	// TG
	if( !(isIE6||isIE7))
		$(".TG .btn a").mousedown(function(){  return $("#PI_"+$(this).attr("className")+" .p").mousedown();});

	// infos on paniers
	$(".panierNormal .name a,.alacarte .panierItem .name a,.TG .info .name a").css({cursor:"help"}).click(function(e){showInfoMatPrem(e,$(this));});

	// caddie
	$("#caddie").installCaddieHandlers();


	// btnPayer
	$("#btnPayer").each(function(){ $(this).data('url',$(this).attr('href') ); $(this).removeAttr('href'); $(this).click(function(){
		if( $(this).is(".cartInvalid") ) alert($(this).attr('title'));
		else self.location.href= $("base").get(0).href + $(this).data('url');
	} ) });

	if( $("#carteReseau").is("div"))
	{
		$(".city,.point").each(function()
			{	$(this).data("x0",parseInt($(this).css("left")));
				$(this).data("y0",parseInt($(this).css("top")));
			}
		)
		$('#carteReseau .panier').css({left:140}).animate({left:140},{queue:true,duration:800}).animate({left:195},{duration:1100,easing:"easeInOutElastic"});


		if( false )
		$(".puzzle").mouseover(function()
		{	var i=$(this).attr('id');
			$("."+i).each(function()
				{	$(this).stop().animate({left:$(this).data("x0")+(-30+60*Math.random()),top:$(this).data("y0")+(-30+60*Math.random())},1000,"easeOutElastic");
				});

			var te=$(this).data("te");
			if( te)
				window.clearTimeout(te);
			$(this).data("te",window.setTimeout("puzzOver('"+i+"');",1000 ));
		}
		);

	
	}

	// tooltips
	sMakeTooltip("rqtooltip");
	$("a.link, a.point").addClass('hasTip');
	RQTooltip.M_install("a.hasTip","rqtooltip");

	$("a.city").mouseover(function(){ $(this).next(".point").mouseover();} ).mouseout(function(){ $(this).next(".point").mouseout();} );
	$("a.point").mouseover(function(){$(this).addClass("over");$(this).prev(".city").addClass("cityover"); } ).mouseout(function(){$(this).removeClass("over");$(this).prev(".city").removeClass("cityover");});


	// point relais
	installPointRelais();
}

// generic tooltips
var sTooltips=new Array()
sTooltips['ib1'] ="<div class=\"arrow\"></div><div class=\"TL\"><div class=\"TR\"><div class=\"BR\"><div class=\"BL\"><div class=\"TM\">&nbsp;</div><div class=\"MR\"><div class=\"MM\"><div class=\"inner\"></div></div></div><div class=\"BM\">&nbsp;</div></div></div></div></div>";
sTooltips['ib2'] ="<div class=\"TL\"><div class=\"TR\"><div class=\"TM\">&nbsp;</div><div class=\"MR\"><div class=\"MM\"><div class=\"inner\"></div></div></div><div class=\"BR\"><div class=\"BL\"><div class=\"BM\"><div class=\"arrow\"></div></div></div></div></div></div>";
sTooltips['ib1ie6'] ="<div class=\"MM\"><div class=\"arrow\"></div><div class=\"inner\"></div></div>";
sTooltips['ib2ie6'] ="<div class=\"MM\"><div class=\"inner\"></div></div><div class=\"arrow\"></div>";
function sMakeTooltip(tipName)
{
	var tip
	if( (tip=$("#"+tipName)) && !tip.find(".inner").is("div") )			// Check if a .inner class is present. If not, it installs the imagebloc structure
	{		var a=tip.html();
			tip.html("").append(sTooltips[tip.attr('class')+((isIE6||isIE7)?"ie6":"")]).addClass("tooltip"+(isIE6?" ie6":"")).find(".inner").html(a);

	}
}


// tooltip mat prem
function showInfoMatPrem(e,p)
{	
	var id,cs;
	p.removeClass('selected')
	if(cs=p.attr('className'))
		id=cs.replace(new RegExp("^(i_)","g"),"");
	else if(cs=p.parents(".panierItem").attr('id'))
		id=cs.replace(new RegExp("^(PI_)","g"),"");

	if( id)
	{	var o=p.offset();
		p.addClass('selected');
		showTooltipMatPrem({p:p,left:o.left,w:p.width(),x0:e.pageX,y0:e.pageY,top:o.top,cb:function()
			{
				myCallPlugin("ListPaniers","action=getInfo&csid="+id,cbShowTipContent);

			}
		});
	}
}
function showTooltipMatPrem(o)
{	var a="tooltipDescr";
	
	if( !$('#'+a).is("div"))
	{	$("body").append(new jQuery("<div id=\""+a+"\"><div class=\"arrow\"><div class=\"bg\"><div class=\"content\">&nbsp;</div></div></div>"));
	}
	var p;
	if(p=$('#'+a).data("p")) p.removeClass('selected');
	o.p.addClass('selected')
	$('#'+a).data("t0",parseInt(o.top)+9);
	$('#'+a).data("p",o.p);
	$('#'+a).css({left:o.left+o.w+5,top:parseInt(o.top)-20}).find(".content").html("<img src=\"Data/Img/loaderMP.gif\" /><br />chargement...");
	if( o.cb) o.cb();
	$('#'+a).fadeIn("slow");

}
function cbShowTipContent(m,e)
{	if(m)
	{	$("#tooltipDescr .content").animate({opacity:0.07},200,"linear",function(){
			var t=$('#tooltipDescr');
			$(this).html(m);
			var h=t.height();
			t.css({top:t.data("t0")-h/2});
			$(this).animate({opacity:1},400,"linear");
		});
	}
}
function closeTooltip()
{
	$("#tooltipDescr").fadeOut("fast");
	var p
	if(p=$('#tooltipDescr').data("p")) p.removeClass('selected');

}
// startMenuAnimation
function startMenuAnimation()
{
	$("#logo").animate({left:10},{duration:1500,queue:false},"linear").animate({top:0},1500,"easeOutBounce",function()
	{
		$(this).find("img").fadeIn("slow",function()
		{
			if($("#bulleAdherent").is("div")) $("#bulleAdherent").show().animate({left:195,top:"-10"},1200,"easeOutElastic",showMenuItems);
			else
				showMenuItems();
		}
		);

	}	
	);
}

// puzzOver
function puzzOver(i)
{	$("#"+i).removeData("te");
	$("."+i).each(function()
	{	$(this).stop().animate({left:$(this).data("x0"),top:$(this).data("y0")},1000,"easeOutElastic");
	});
}

jQuery.fn.RQCascade=function(cb)
{	if(cb)
	{	$(this).data('cb',cb);
	}
	var y=parseInt($(this).css('top'));
	$(this).css({opacity:0,top:y-30,display:"block"}).animate({opacity:1,top:y },500,"easeOutBounce",function(){
		var next= $(this).next("a");
		if( next.is("a")) {	next.data('cb',$(this).data('cb')); $(this).removeData('cb'); next.RQCascade();}
		else 
		{
			var cb=$(this).data('cb');
			if(cb) cb();
		}
	});
}
function showUserInfo()
{	if(sRqAnimUser)
		window.setTimeout("doShowUserInfo()",1300);
}
function doShowUserInfo()
{	$('#loginInfo').show().animate({opacity:1,top:"-10"},700,"easeOutBounce");
}
function showMenuItems()
{

	var m=null;
	var id;
	$("#menu a:first-child").RQCascade(function()
		{	installMenuItemsHandlers();
			showUserInfo();
			$(".imageHeader").fadeIn("slow")
		}
	);
}
var imrxp=/(\.gif)$/;
var imovrxp=/(\Over.gif)$/;
function installMenuItemsHandlers()
{
	var dur=200;
	$("#menu a:not(.current) .bg").css({opacity:0.05})
	$("#menu a").mouseover(function()
	{	if($(this).is(".current")) return;
		var h=$(this).height();
		var w=$(this).width();
		$(this).find(".img").animate({opacity:0.07},{duration:dur,queue:false})
		$(this).find(".bg").css({display:"block",width:w,height:h}).animate({top:0,opacity:1},{duration:dur,queue:false},"linear");
	}).mouseout(function()
	{	if($(this).is(".current")) return;
		var h=$(this).height();
		$(this).find(".img").animate({opacity:1},{duration:dur,queue:false})
		$(this).find(".bg").animate({top:h,opacity:0.08},{duration:dur,queue:false});
	});

}


function myFunctionGoToCaddie(go,count)
{	var csid=$(this).attr('id');
	if(!csid) csid=$(this).attr('className');
	var panierId=$(".alacarte").attr('id')
	if(go)
	{
		var item = jQuery("<span class=\"flyToCaddie\">"+$(this).find(".name").text()+"</span>");
		item.data('csid',csid);
		item.data('count',count);
		addedToCaddie[addedToCaddie.length]=item;
		var start=$(this).find(".name").offset();
		item.css({top:start.top,left:start.left});
		$("body").append(item);
		var cadd=$("#caddie .current");
		if(!cadd.is("div")) cadd=$("#caddie");
		var hCad=cadd.height();
		var dest=cadd.offset();
		item.animate({left:dest.left+8,top:dest.top+hCad-30},700,"easeOutQuad",function()
			{	addPanierItemToCart( panierId,$(this).data('csid'),$(this).data('count'));		// send to PHP
				$(this).fadeOut();
			}
		);
	}
	else
		addPanierItemToCart( panierId,csid,count);
	//cadd.animate({height:hCad+item.height()},1000,"easeOutElastic");
}

// POINT RELAIS
function showPointRelais()
{	$("#PointRelaisSelector").slideDown();
}
function installPointRelais()
{	
	$("[name=pointRelais]").each(function(){
		$(this).click(function()
			{
				var p=$(this).parents(".pointRelais");
				p.siblings().removeClass("selected");
				p.addClass("selected");
			});
	});
	
}

// SEARCH BOX
function focusSearchInput(obj,m)
{
	if(obj)
	{ 
		if(m)
		{	obj.value="";
			//obj.style.background="#DFE0CC";			
		}
		else
		{	//obj.style.background="#ffffff";			
		}
	}
}


function ImprimerRecette(csId)
{	popup('print'+csId,$("base").get(0).href+'async.php?module=Articles&action=print&csid='+csId,790,500,true);
}
function voirLaFacture(id)
{	popup('invoice'+id,$("base").get(0).href+'async.php?module=ECommerce&code='+sRqSessionCode+'&action=userSeeInvoice&orderId='+id,700,500,true);
}


function CommanderIngredients(panierId)
{
	var vars = "action=orderIngredients&panierId="+panierId;
	if( !$(".encartCaddie").is("div"))
		vars+="&addCaddie=true";
	
	myCallPlugin("ECommerce",vars,function(m,e){ if(!e)eval(m);});
}
function showEmballage(id,m)
{	
	var l=$('#divEmball'+id);
	if( m)
		l.show('fast');
	else l.hide('fast');	
}

function showVideoPlayer(divId,url,pre)
{
	// install player
	var pl="Data/Flash/VideoPlayer/player.swf";
	if( pre) pl=pre+pl;
	var so = new SWFObject(pl, "thePlayer", "392", 294+49, "9", "#FAFAFA");
	so.addParam('allowfullscreen',"true");
	so.addParam('allowscriptaccess','always');
	so.addVariable('width','392');
	so.addVariable('height','294');
	so.addVariable();
	so.addVariable('backcolor','0x266EBB');
	so.addVariable('frontcolor','0xFFFFFF');
	so.addParam("flashvars","bufferlength=4&controlbarsize=49&autostart=false&repeat=list&item=0&file="+url);
	so.write(divId);
}

// show
function rqCyclesInit(divId,opts)
{
	$(document).ready(function(){
		var mSlides = $('#'+divId+' .images');	
		if( mSlides.is('div'))
		{	mSlides.cycle(opts.cycle);
		}
	});
}

function remoteAddMPToCart(mpid)
{
	var p = $("#PI_"+mpid+" .p");
	if( p.get(0))
		p.mousedown();
}

// pswd
function checkPsswdSubmit()
{
	if(!psswfCheck())
		return false;						
	SubmitForm('userPasswordForm');
	return true;
}