$(document).ready(function(){
	var options = { 
		dataType: 'json',
			success: addFormResponse
	}; 

 	/**
 	 * Bind submit action to add form
 	 */
	function bindSubmit(){
	 	$('#add_job').submit(function(){
	 		if($(this).valid()){
	 			$('#add_job').ajaxSubmit(options);
	 		}
	 		return false;
	 	});
	}
	bindSubmit(); 	
	
	function bindReturn(){
		$('div#return a').unbind();
		$('div#return a').click(function(event) {
			event.preventDefault();
			$.ajax({
				url: baseUrl+'/ads/job/add-form/format/html',
				success: function ( resp ) {
					$('#publish').html(resp);
					doDateFields();
					doRequiredLabels();
					bindSubmit();
				 	$('#add_job').validate(validateOptions);
					Tooltip();
				}
			});
 		});
	}
	function Tooltip(){
		$('.form li.tooltip label').cluetip({
			cluetipClass: 'jtip', 
			sticky: true,
	      	mouseOutClose: true,
	  		local: true, 
	  		hideLocal: true,
			closePosition: 'title',
	  		closeText: 'X'
		});
	}
	Tooltip();
	 	
 	/**
 	 * Success handler
 	 */
 	function addFormResponse(data) {
		$('#newsletter').focus().blur();
		if(data.code == 1){
			$('#publish').html('<h3 class="ajax-response">'+data.response+'</h3><div class="buttons" id="return"><a href="#return" class="button">Retour</a></div>');
			 bindReturn();
		}else if(data.code == 0){
			$('#publish').html('<div class="form">' + data.response + '</div>');
			bindSubmit();
		}		
 	}

 	/**
 	 * JQuery validation -->
 	 */
 	var validateOptions = {rules:{}, messages:{}};
 	
 	$('input.required').each(function() {
		validateOptions['rules'][$(this).attr('name')] = {required: true}; 		
 	});
 	$('input.accept').each(function() {
		validateOptions['rules'][$(this).attr('name')] = {checked: true}; 		
		validateOptions['messages'][$(this).attr('name')] = {checked: "Veuillez accepter les conditions d'utilisation du service."}; 		
 	});
	validateOptions['errorPlacement'] = function(error, element) {
		if (element.attr('name') == "is_faq_accept")
			error.insertAfter($('#faq_accept'));
		else
			error.insertAfter(element);
	};

 	$('#add_job').validate(validateOptions);
});

