/*	
 * Custom function for Jquery
 *
 */

/**
 * Create a toggle-fade function in jQuery
 * @param speed
 * @param easing
 * @param callback
 * @return
 */
jQuery.fn.fadeToggle = function(speed, easing, callback) {
   return this.animate({opacity: 'toggle'}, speed, easing, callback);
}; 

/**
 * Create a timeOut function in jQuery
 * @param time
 * @return
 */
jQuery.fn.idle = function(time){
	return this.each(function(){
		var i = $(this);
		i.queue(function(){
			setTimeout(function(){
				i.dequeue();
			}, time);
		});
	});
};

/**
 * Create an auto toggle-display function in jQuery
 * @param idle
 * @param html
 * @return
 */
jQuery.fn.toggleDisplay = function(html, idle){
	return this.each(function(){
		$(this).hide().html(html).slideDown('fast').idle(idle).slideUp('slow');			
	});
};

/**
 * Méthode qui gère le bouton submit du formulaire (blocage + loader)
 * @param enabled
 * @param btnSelector
 * @return
 */
function handleSubmitBtnLoader( enabled, btnSelector ) {
	if( enabled == true ) {
		// active le bouton
		$(btnSelector).attr('enabled', true);
		$(btnSelector).removeClass('defaultCursor');
		$(btnSelector).next('span.loading_form').remove();
	} else {
		// désactive le bouton
		$(btnSelector).attr('enabled', false);
		$(btnSelector).addClass('defaultCursor');
		var eltPosition = $(btnSelector).offset();
		var eltWidth = $(btnSelector).width();
		eltPosition['left'] = eltPosition['left'] + eltWidth + 30;
		var loaderHtml = '<span class="loading_form"></span>'
		$(btnSelector).after(loaderHtml).next('span.loading_form').css(eltPosition);
	}
}

/**
 * Méthode qui gère le bouton submit du formulaire (blocage + loader)
 * @param enabled
 * @param btnSelector
 * @return
 */
function handleSubmitBtnLoader( enabled, btnSelector ) {
	if( enabled == true ) {
		// active le bouton
		$(btnSelector).attr('enabled', true);
		$(btnSelector).removeClass('defaultCursor');
		$(btnSelector).next('span.loading_form').remove();
	} else {
		// désactive le bouton
		$(btnSelector).attr('enabled', false);
		$(btnSelector).addClass('defaultCursor');
		var eltPosition = $(btnSelector).offset();
		var eltWidth = $(btnSelector).width();
		eltPosition['left'] = eltPosition['left'] + eltWidth + 30;
		var loaderHtml = '<span class="loading_form"></span>'
		$(btnSelector).after(loaderHtml).next('span.loading_form').css(eltPosition);
	}
}

/**
 * Méthode qui force la hauteur minimale pour IE <= 7 
 * "min-height" css value must be declared in stylesheet for compatible browser
 * @param selector
 */
function forceMinHeight( selector ) {
	alert( $(this).height());
}

function toggleEditor(id) {
	var elm = document.getElementById(id);

	if (tinyMCE.getInstanceById(id) == null) {
		tinyMCE.execCommand('mceAddControl', false, id);
	} else {
		tinyMCE.execCommand('mceRemoveControl', false, id);
	}
}


$(document).ready(function(){
	$('.messClose').live('click', function(){	
		$(this).parent().slideUp();
		return false;
	});
	
	$('.confirm').live('click', function(){	
		$(this).parent().slideUp();
		return false;
	});
});


datePickerOpts = { dateFormat: 'dd/mm/yy',	dayNamesMin: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'], monthNames	:	['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre' ], yearRange:	'-90:0'	};

