ol(function()
{
	$.browser.ie6 = ($.browser.msie && $.browser.version < 7);
	
	$("ul.archives li.year").each(function()
	{
		$(this).find("a:eq(0)")
		.bind("click",function(e)
		{
			var parent = $(this).parent();
			if(parent.hasClass("active"))
				parent.removeClass('active');
			else
				parent.addClass('active');
				
			if($(this).hasClass('no-return'))
			e.preventDefault();
		});
	});
	
	
	$(".re").each(function()
	{
		var html = $(this).html();
		$(this).replaceWith($.base64decode(html));
	});
	
});


$.fn.googlemap = function(addr)
{
	return this.each(
	function()
	{
		var $obj = {};
		var $self = $(this).empty();
		var setcenter = function(response)
		{
			$("#logocontrol,#copyright,.gmnoprint,#menumtctl,#_magnifyingglass").remove();
			$self.find("div:last").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($(this).get(0));
		$obj.map.setUIToDefault();
		$obj.geocoder = new GClientGeocoder();
		$obj.geocoder.current_map = $obj.map;
		$obj.geocoder.getLocations(addr,setcenter);
	});
};


var $feat = 
{
	init:function()
	{
		$feat.a = $(".pagination-featured a").bind("click",$feat.change);	
		if($feat.a.length==0) return;
	}
	,change:function(e)
	{
		e.preventDefault();
		var $self = $(this);
		$self.parent().find("a").removeClass("active");
		$self.addClass("active");
		var vars = $self.attr("rel").split(",")
			,mod = vars[0]
			,p 	 = vars[1];
			
		$.ajax({url:"/application/request/load_mod"
		,data:"mod="+mod+"&p="+p
		,success:function(data)
		{
			$("#"+mod).html(data);
		}});
	}
};


ol($feat.init);

// gallery
var $ag = 
{
	init: function()
	{
		if($("#gallery").length == 0) return ;
		$("a[rel='image-gallery']").bind("mouseover"
		,function()
		{
			$(".image-gallery").removeClass("active-thumb");
			$(this).addClass("active-thumb");
			var new_src = $(this).attr("name");
			$("#change-thumb").attr({src:new_src});
			
		})
		.colorbox()
		.eq(0).trigger("mouseover");
		$("#change-thumb").parent("a").bind("click",function(){$("a.active-thumb").trigger("click");return false;});
	}
	,change:function(it,mod)
	{
		if(it.value == '') return;
		$.ajax({url:'/application/request/get_gallery',data:'module='+mod+'&gallery_id='+it.value
		,success:function(data)
		{
			$("#gallery").replaceWith(data);
			$ag.init();
		}});
	}
	
};

ol($ag.init);

var $poll =
{
	init: function()
	{
		$poll.poll = $(".poll");
		if($poll.poll.length == 0) return;
		$(".poll-results,.poll-submit").bind("click",$poll.submit);
		$(".poll-load-result").find('.poll-results').trigger('click');
	}
	,submit: function(e)
	{
		e.preventDefault();
		var id 			= $(this).attr("rel");
		var response 	= $("input[name='poll["+id+"]']:checked").val();
		if($(this).hasClass('poll-submit') && typeof response == "undefined")
		{
			$.msg(lang('Svp choisir un choix de reponse'),'error',true);
			return;
		}
		if(typeof response == "undefined") response = '';
		$.ajax({url:'/application/request/poll_vote'
		,data:'poll_id='+id+'&answer_id='+response
		,success:function(data)
		{
			data = utils.eval(data);
			var count = 0;
			for(var i in data.results)
			{
				var d = data.results[i];
				var table = $("#answers-"+d.id);
				table.find(".poll-radio").remove();
				table.find(".poll-anwser").css({paddingRight:'10px'}).each(function(){$(this).width($(this).find("span").width());});
				
				var res = table.find(".poll-result");
				if($.browser.msie)
				{
					var txt_width = table.find(".poll-anwser").innerWidth();
					//alert(txt_width);
					var width = table.width() - txt_width;
				}
				else
				{
					var width = res.width();
				}
				
				var expand = $('<div class="poll-bar"></div>').width(4).append('<div class="bar-left" /><div class="bar-right" />');
				res.empty().append(expand).append('<div class="poll-percent">'+d.percent+'%</div>');
				
				var bar_width = width*(parseInt(d.percent)/100)-40;
				
				if(bar_width > 4)
				expand.animate({width:bar_width+'px'},500,'');
				
				count += parseInt(d.vote);
			}
			
			var poll_container = $("#poll-"+id);
			var str = poll_container.hasClass('small-poll') ?  nl2br(lang('Nombre de repondants : %d')) : lang('Nombre de repondants : %d');
			
									 
			poll_container.find(".poll-btn").html($.sprintf(str,count>1?'s':'',count,data.poll.nicedate));
			
		}});
		return false;
	}
	
};
ol($poll.init);



var $select = 
{
	 city:{}
	,region :{}
	,current:
	{
		 region :''
		,city 	: ''
		,select :
		{
			 region : 'user[lib_region_id]'
			,city : 'user[lib_city_id]'	
		}
	}
	,init:function()
	{
		oc(function()
		{
			$select.city = $("select[name='"+$select.current.select.city+"']");
			if($select.city.length==0) return;
			$select.region = $("select[name='"+$select.current.select.region+"']")
								.val($select.current.region)
								.bind("change",$select.onchange).trigger("change");
		});
	}
	,onchange:function()
	{
		var $self = $(this);
		if($self.val()=='')
		{
			$select.city.html('<option value="">'+lang('--Choisir une ville--')+'</option>');
			$self.triggerHandler("REGION_CHANGE");
			return;
		}
		$.ajax({url:'/application/request/get_cities',data:'region_id='+$self.val()
		,success:function(data)
		{
			data = utils.eval(data);
			var d = data.results;
			var html = '<option value="" selected=selected>'+lang('--Choisir une ville--')+'</option>';
			for(var i in d)
			{
				html += '<option value="'+d[i].id+'" '+($select.current.city==d[i].id?'selected="selected"':'')+'>'+d[i].name+'</option>';
			}
			
			$select.city.html(html);
			$select.region.triggerHandler("REGION_CHANGE");
		}});
	}
};

$select.init();




var $rq =
{
	send:function(form)
	{
	   $('.field-error').removeClass('field-error');
		$.ajax({url:'/application/request/form_'+form
	   ,data:$(document[form]).serialize()
	   ,success:function(data)
	   {
		   data = utils.eval(data);
		   
		   if(!data.success)
		   {
			   if(document[form].onerror)
			   {
				  var callback =  eval(document[form].onerror.value);
				  callback(data,document[form]);
			   }
			   else
			   {
					$rq.errors(data.errors,$(document[form]));
					$.msg(data.msg,'error',true);
			   }
		   }
		   else
		   {
			   if(document[form].onsuccess)
			   {
				  var callback =  eval(document[form].onsuccess.value);
				  callback(data,document[form]);
			   }
			   else
			   {
					document[form].reset();
					
					if(document[form].fancy_response)
					{
						$ov.open(data.msg,true);
						return;
					}
					
					$.msg(data.msg,'success',false);
			   }
		   }
		   
	   }});
	}
	,errors:function(fields,form)
	{
	   if(fields)
	   {
		for(var i in fields)
		{
			var $self = form.find("*[name='"+fields[i]+"']").eq(0);
			if($self.prev(".field-label").length==1)
				$self.prev(".field-label").addClass('field-error');	
			else
				$self.parent().prev('.field-label').addClass('field-error');	
		}
	   }
	}
	,callback: 
	{
		inscription_formation : function(data,form)
		{
			form.reset();
			$ov.open(data.msg);
		}
		,login:function(data)
		{
			if(data.redirect)
			{
				location.href=data.redirect;
			}
		}
		,reset_password:function(data)
		{
			$.msg(data.msg,'success',false);
			setTimeout(function(){location.href=data.redirect;},5000)
		}
		,myaccount:function(data)
		{
			$.msg(data.msg,'success',false);			
		}
		,survey:
		{
			 onerror:function(data,form)
			{
				$(".survey-title").removeClass('red');	
				if(data.missings.length > 0)
				{
					for(var i in data.missings)
					{
						$("#question-"+data.missings[i]).find(".survey-title").addClass('red');	
					}
				}
				
				$.msg(data.msg,'error',false);
			}
			,onsuccess:function(data,form)
			{
				$(".survey-title").removeClass('red');
				
			}
		}
	}
};


var $ns =
{
	init: function()
	{
		var container = $("#newsticker-container");
		$ns.parent = container.find("#newsticker");
		var ul = $ns.parent.find("ul");
		var html = '';
		$.get(config('feed_url'),'',
		 function(data)
		 {
			$(data).find('rss channel item')
			.each(function()
			{
				html += '<li><a href="'+$(this).find('link').text()+'">- '+$(this).find('title').text()+'</a></li>';	   
			});
			
			var append = '';
			for(var i=0;i<5;i++) append += html;
			ul.append(append);
					
			var content = $ns.parent.find("li a");
			
			$ns.container_width = 645;
			$ns.width = 0;
			
			content.each(function(i)
			{
				$ns.width += parseInt($(this,i).outerWidth());
				
			}).parent('li').hover($ns.stop,$ns.restart);
			
			$ns.duration = ($ns.width+$ns.container_width)/0.05;
			$ns.parent.hide().width($ns.width);
			setTimeout($ns.animate,100);
		});
		return $ns;
	},
	animate: function()
	{
		$ns.parent.show().css({left:$ns.container_width+"px"});
		$ns.parent.animate({left: '-='+$ns.width+"px"},$ns.duration,'linear',$ns.animate);
	},
	stop:function()
	{
		$ns.parent.stop();
	},
	restart: function()
	{
		var left = $ns.parent.offset().left + $ns.width + $ns.container_width ;
		var time_left = left/0.05;
		$ns.parent.animate({left: '-='+left+"px"},time_left,'linear',$ns.animate);
	}
};

oc($ns.init);


var $new_ad =
{
	
	init:function()
	{
		$load_tpl('login-publish',$new_ad.open);
	}
	,open:function(data)
	{
		$ov.open(data);
	}
	,submit:function()
	{
		var email = document.new_ad_email.email.value;
		document.new_ad['contact[user_email]'].value = email;
		$ov.close(true);
		setTimeout(function(){$.scrollTo(document.new_ad,500);},600);
	}
	,success:function(data,form)
	{
		form.reset();
		$ov.open(nl2br(data.msg),true);
	}
	
};

var $ad =
{
	init:function()
	{
		$ad.a = $(".annonce .toggle-show,.annonce .toggle-hide");
		if($ad.a.length == 0) return;
		$ad.a.bind("click",$ad.onclick);
		//$(".annonce .toggle-show:eq(0)").trigger("click");
	}
	,onclick:function(e)
	{
		e.preventDefault();
		var $self = $(this);
		var id = $self.attr("rel");
		var method = $self.hasClass('toggle-hide') ? "addClass" : "removeClass";
		$(id)[method]("annonce-hide");
	}
};

ol($ad.init);

var $load_tpl = function(tpl,callback)
{
	$.ajax({url:'/application/request/load_ov',data:'tpl='+tpl,success:callback});	
};

$.msg = function(txt,type,timeout)
{
	$("#messages").remove();
	var box = $("<div id='messages' class='"+type+"-message' />").html(nl2br(txt)).appendTo("body").css({opacity:0.1});
	var but = $("<a href='' class='close'></a>")
				.bind('click',function(){box.fadeTo(300,0.1,function(){$(this).hide();});return false;}).appendTo(box);
	
	box.css({marginTop:'-'+Math.floor(box.outerHeight()/2)+'px'}).fadeTo(200,1);
	
	if(timeout)
	{
		setTimeout(function()
		{
			box.fadeTo(300,0.1,function(){$(this).remove();});
		},2000);
	}
	return;
};


var $ov =
{
	 is_open:false
	,open:function(html,is_small)
	{
		$ov.scrolltop = $(window).scrollTop();
		$ov.content = $('<div class="box-content '+(is_small?'box-small':'')+'" />').append(html);
		$ov.container = $('<div id="box-request" />');
		$ov.container.append('<div class="box-top" />')
						.append($ov.content)
						.append('<div class="box-bottom" /><a href="javascript:$ov.close();" class="box-close" />')
						.appendTo("body")
						//.css({marginTop:-($ov.container.height()/2)+'px'})
						.hide();
						
		$ov.overlay = $('<div id="black-overlay" />').appendTo("body");
		$ov.container.show("fast");
		$.scrollTo("body",500);
		$ov.is_open = true;
		if($.browser.ie6)
		{
			$ov.overlay.height($(window).height());
		}
	}
	,close:function(success)
	{
		if(!$ov.is_open) return;
		$ov.container.hide("fast",function(){$(this).remove();$ov.overlay.hide("fast",function(){$(this).remove();$.scrollTo($ov.scrolltop,500);$ov.is_open=false;});});
	}
};



function get_banner(zone){var m3_u = (location.protocol=='https:'?'https://ads.motionindesign.com/www/delivery/ajs.php':'http://ads.motionindesign.com/www/delivery/ajs.php');var m3_r=Math.floor(Math.random()*99999999999);if (!document.MAX_used) document.MAX_used = ',';document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);document.write ("?zoneid="+zone+"&amp;block=1");document.write ('&amp;cb=' + m3_r);if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used); /*document.write ("&amp;lang=" + lg);*/document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));document.write ("&amp;loc=" + escape(window.location));if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));if (document.context) document.write ("&context=" + escape(document.context));if (document.mmm_fo) document.write ("&amp;mmm_fo=1");document.write ("'><\/scr"+"ipt>");}

$.fn.altrow = function()
{
	$(this).removeClass('odd').filter(function(i){return i%2!=0;}).addClass('odd');
	return this;
};

function nl2br (str, is_xhtml) {
    var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';

    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
}
