var googlemap = function(adr,el)
{
	this.adresse = adr;
	this.map = null;
	this.init(el);
};

googlemap.prototype.init = function(el)
{
	var $obj = this;
	ol(function()
		{
			
			var setcenter = function(response)
			{
				$("#logocontrol,#copyright,.gmnoprint,#menumtctl,#_magnifyingglass").remove();
				var place = response.Placemark[0];
				var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
				$obj.map.setCenter(point, 13);
				var marker = new GMarker(point,{});
				$obj.map.addOverlay(marker);
			};
			
			$obj.map = new GMap2($(el).get(0));
			$obj.map.setUIToDefault();
			$obj.geocoder = new GClientGeocoder();
			$obj.geocoder.current_map = $obj.map;
			$obj.geocoder.getLocations($obj.adresse,setcenter);
		});
};


ol(function()
{
	$("#switch-lang").click(function()
	{
		if(location.hash && location.hash!='#')
		{
			location.href = $(this).attr("href")+location.hash;
			return false;
		}
	});
	
	var img = {imageFixSrc:"/assets/js/utils/iefix/blank.gif"};
	$(".ie6-pngfix").pngfix(img);
	
});


ol(function()
{
	$(".encoded-email").each(function()
	{
		var $this = $(this);
		if($this.is("a"))
		{
			var link = $.base64decode($this.attr('href'));
			$(this).attr({href:'mailto:'+link+'?subject='+$this.attr('title')});
			if($this.html()=='') $this.html(link);
		}
	});
	
});


ol(function(){

$("#main-menu-list li.item")
		.hoverIntent({
					 over:function()
					 {
						var $this = $(this);
						if(!$this.hasClass("active"))
						{
							var img = $this.find("a img");
							var src = img.attr("src").replace('.png','-hover.png');
							img.fadeTo(75,0.5,function(){$(this).fadeTo(75,1);}).addClass("hover");
						}
						
							setTimeout(function()
							{
								if(img)
								{
									if(!img.hasClass("hover")) return;
									if(!$this.hasClass("active")) img.attr({src:src});
								}
								
								if($this.find(".wrapper .submenu").length==0)
								{
									var cont = $("#container-"+$this.attr("id"));
									if(cont.length==0) return;
									var append = cont.find(".submenu").hide().appendTo($this.find(".wrapper")).show(100);
								}
								else
									$this.find(".wrapper .submenu").show(100);
							},25);	
						
						if(!$this.hasClass("active"))
						$this.addClass('hover');
					}
					,out:function()
					{
						var $this = $(this);
						if(!$this.hasClass("active"))
						{
							var img = $this.find("a img");
							var src = img.attr("src").replace('-hover.png','.png');
							img.attr({src:src}).removeClass("hover");
							$this.removeClass('hover');
						}
						
						$this.find(".submenu").hide("fast");
						
					}
					,sensitivity: 5
					,timeout: 100
				});

});


ol(function()
	{
		if($.browser.msie && $.browser.version < 7) return;
		$(".add-corners").each(function()
		{
			$(this).append('<div class="corners"><div class="corner corner-tl" /><div class="corner corner-tr" /><div class="corner corner-bl" /><div class="corner corner-br" /></div>');
			
		});
});


ol(function()
{
	var close_dd;
	var wrapper = $("#cat-dd-wrapper");
	if(wrapper.length == 0 ) return;
	
	$("#cat-dd,#cat-dd *")
	.hover(
		function(){clearTimeout(close_dd);},
		function(){close_dd = setTimeout(function(){$("#cat-dd").removeClass("cat-dd-open");},300);}
		);
	
	var offset  = wrapper.offset();
	var outerHeight = wrapper.outerHeight();
	
	$("#cat-dd").css({left:offset.left+'px',top:offset.top+outerHeight+'px'});
	wrapper.html($("#cat-dd").find(".cat-dd:first").html());
	$("#cat-dd").find(".cat-dd").hover(function(){$(this).addClass('hover');},function(){$(this).removeClass('hover');});
	
	
	wrapper.bind("click",
	function()
	{
		if($("#cat-dd").is(":hidden"))
		{
			$("#cat-dd").addClass("cat-dd-open").height($("#cat-dd").innerHeight());
		}
		else
			$("#cat-dd").trigger("mouseout");
	});
	
});


ol(function()
{
	$.current_fontsize_offset = 0;
	$(".font-resizable-up,.font-resizable-down").bind("click"
	,function()
	{
		var direction = $(this).hasClass('font-resizable-down') ? -1 : 1 ;
		var nextcurrent = $.current_fontsize_offset + direction;
		if((direction > 0 && nextcurrent > 4) || (direction < 0 && nextcurrent < 0) ) return false;
		$.current_fontsize_offset = nextcurrent;
		$(".font-resizable").each(function()
		{
			var fontsize = parseInt($(this).css('fontSize').replace(/([^0-9]+)/g))+direction;
			$(this).css({fontSize:fontsize+'px'});
		});
		
		return false;
	});
});



var $c = 
{
	send: function(form)
	{
		form = $(document[form]);
		
		/*
		var empty = 0;
		form.find(":input").each(function()
		{
			if($(this).is("input[type=submit]")) return;
			if(this.value.replace(/[\s\n\t\r]/g,'') == '') ++empty;
		});
		
		if(empty != 0)
		{
			 alert(lang("Tous les champs sont requis."));
			 return;
		}
		*/
		
		$.ajax({url:'/application/request/contact',data:form.serialize()
			   ,success:function(data)
			   {
					data = utils.eval(data);
					if(!data.error)
					{
						var msg = !data.msg? lang('unknown error') : data.msg;
						alert(msg);
					}
					else
					{
						alert(lang('message sent'));
						form.get(0).reset();
						form.find(":select").trigger("change");
					}
			   }});
		
	}
	
};