$.bind.load(function()
{
	$.browser.ie6 = ($.browser.msie && $.browser.version < 7);
});

var $request =
{
	 sending:false
	,submit:function(name)
	{
		if($request.sending) return;
		$request.sending = true;


		var form	= document["form_"+name],
			$form	= $(form),
			$resp	= $("#response-"+name).removeClass('response-success');

		$(".field-error").removeClass("field-error");

		$.ajax({url:'/application/request/request_'+name
		,data:$form.serialize()
		,success:function(data)
		{
			$resp.hide().empty();

			data = $.php.json_decode(data);

		   if(!data.success)
		   {
				$request.errors(data.errors,$form);
				$.msg(data.msg,'error',false,$resp);
		   }
		   else
		   {
			   if(form.onsuccess)
			   {
				  var callback =  eval(form.onsuccess.value);
				  callback(data,$form,$resp);
			   }
			   else
			   {
				    if(!form.noreset)
					form.reset();
					$.msg(data.msg,'success',false,$resp);
					if(typeof $request.callback[name] == 'function')
					{
						$request.callback[name](data,$form,$resp);
					}
			   }
		   }

			$request.sending = false;
		}});
	}
	,errors:function(fields,$form)
	{
	   if(fields)
	   {
		for(var i in fields)
		{
			var field = $form.find("label[for='"+fields[i]+"']");
			if(field.length>1)
			field = $form.find("label[for='"+fields[i]+"']").eq(i);

			if(field.length==0) continue;

			field.addClass('field-error');
		}
	   }
	}
};

$request.callback =
{
        // si l'envoie d'un mail poru contact a été effectué avec succès
        success_contact:function(data,form,$resp)
	{
		$.msg(data.msg,'success',false,$resp);
	}
};


$.msg = function(txt,type,timeout,container)
{
	var is_body = container.length==0,
		appendto = is_body?$("body"):container;
	$("#error-contact").css('display','block');
	var box = $("#error-contact") ;
        box.html(nl2br(txt));
        box.removeClass("success-message") ;
        box.removeClass("error-message") ;

        if (type=="success")
        {
            box.addClass("success-message") ;
        }
        else
        {
            box.addClass("error-message") ;
            setTimeout(scrollTop, 2000) ;
        }
	return;

};

function scrollTop()
{
    location.href="#";
}

$.msg.close = function()
{
	$("#messages").fadeTo(300,0.1,function(){$(this).remove();});
};


var $subsc =
{
	submit: function()
	{
		$.ajax({url:'/application/request/subscribe',data:$(document.subscribe).serialize(),success:this.onsuccess});
	},
	onsuccess: function(data)
	{
		data = utils.eval(data);
		if(data.success)
		{
			document.subscribe.reset();
			$(document.subscribe).find(":input").trigger('blur');
		}
		$.msg(data.msg,(!data.success?'error':'success'),0,$("#newsletter"));
	}
};



/*
 * share
 */ 

var share = 
{
	container: function()
		{
			var $share = $("#share-container");
			if($share.length ==0)
			{
				$share = $("<div id='share-container' />").hide().hover(function(){},function(){$(this).hide();}).appendTo('body');
				share.items('twitter');
				share.items('facebook');
				share.items('send-friend');
				$("a.option-facebook").attr({href:'http://www.facebook.com/share.php?u='+location.href,target:'_blank'});
				$("a.option-twitter").attr({href:'http://twitter.com/home?status='+location.href+' '+$("title").html().split("|")[0],target:'_blank'});
				
			}
			return $share;
		},
	items: function(it)
	{
		var $it = share.container().find('.option-'+it);
		if($it.length == 0)
		{
			var $it = $("<a class='option-"+it+"' href='javascript:;' />").bind('click',function(){share.func($(this).attr('class'));}).appendTo(share.container());
		}
			return $it;
	},
	init: function()
	{
		if($(".share").length ==0) return;
		$.getScript("/assets/js/utils/jquery.simplemodal.js");
		$.getScript("/assets/js/utils/jquery.modal-form.js");
		$(".share").live('click',function(e)
							{
								share.container()
									.css({top: ($(this).offset().top-20) + "px",left: ($(this).offset().left+20) + "px"})
									.show();
								return false;
							});
		
		//$(".share").trigger("click");
	},
	func: function(type)
	{
		switch(type)
		{
			case "option-send-friend":
				$.get("/application/request/send_to_friend", 
						function(data){
							$(data).modal({
									closeHTML: "<a href='#' title='Close' class='modalCloseX simplemodal-close'>x</a>",
									position: ["15%",],
									overlayId: 'contact-overlay',
									containerId: 'contact-container',
									onOpen: contact.open,
									onShow: contact.show,
									onClose: contact.close
								});
						});
				break;
				case 'option-facebook':
						
					break;
			return false;
		}
		share.container().trigger('mouseout');
	}
	
};

$(function()
{
    share.init();
}) ;
