$.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);
                                    setTimeout("reload();", 2000) ;
	}
};

function reload()
{
    location.href = window.location ;
}


$.msg = function(txt,type,timeout,container)
{
	var is_body = container.length==0,
		appendto = is_body?$("body"):container;
	$("#messages").remove();
	var box = $("<div id='messages' class='"+type+"-message' />").html(nl2br(txt)).appendTo(appendto).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);
	
	if(is_body)
	box.css({marginTop:'-'+Math.floor(box.outerHeight()/2)+'px'}).addClass("messages-fly").fadeTo(200,1);
	else
	box.parent().show().end().fadeTo(200,1);
	
	if(timeout)
	{
		setTimeout(function()
		{
			box.fadeTo(300,0.1,function(){$(this).remove();});
		},2000);
	}
	return;

};

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





