/*
 * jQuery errors & confirm management
 *
 */

// code html de l'erreur
error_code = '<div id="confirm_box"><p id="confirm_message"><img src="../../../../images/i_icons/error.png" alt="" /> <span></span></p><div class="confirm_buttons"><input type="button" id="discard_button" value="Annuler" /><input type="button" id="confirm_button" value="OK" /></div></div>';

// objet regroupant les messages d'erreur
var errors_messages = {
	default_delete : 'Êtes vous sûr(e) de vouloir supprimer ?',
	default_empty_db : 'Êtes vous sûr(e) de vouloir vider la base de données ?',
	gallery_resize_all: 'Êtes-vous sûr(e) de vouloir redimensionner toutes les images ?',
	page_delete : 'Attention, vous allez supprimer la page courante ! Êtes-vous bien sur de vouloir effectuer cette opération ?'
};

jQuery(document).ready(function() {
	// les liens de demande de confirmation auront un rel="confirm|ref_message"
	jQuery('a[rel^=confirm]').click(function() {
		var error_msg = errors_messages[jQuery(this).attr("rel").split("|").pop()];
		if( jQuery(this).parents("div.content_section").size() ) {
			var insert_point = jQuery(this).parents("div.content_section");
		} else if( jQuery("div.content_section:eq(0)").size() ) {
			var insert_point = jQuery("div.content_section:eq(0)");
		} else if( jQuery("div.content_section_left:eq(0)").size() ) {
			var insert_point = jQuery("div.content_section_left:eq(0)");
		} else if( jQuery(this).parents("div#popup_content").size() ) { 
			var insert_point = jQuery("div#popup_content");
		} else {
			if( console ) {
				console.error("No insert point founded !");
			}
			return false;
		}
		if( !jQuery("#confirm_box").size() ) {
			jQuery(error_code).hide().prependTo(insert_point);
			jQuery("#confirm_message span").text( error_msg );
			jQuery("#confirm_box").corner("10px cc:#fff").css("opacity", 0.0).slideDown("normal").animate({opacity: 1.0}, "slow");
			var boxposition = jQuery("#confirm_box").offset();
			window.scrollTo(0, boxposition.top);
			var confirm_url = jQuery(this).attr("href");
			// buttons behavior
			jQuery("#discard_button").click(function() {
				jQuery("#confirm_box").slideUp("fast", function()  {
					jQuery("#confirm_box").remove();
				});
			});
			jQuery("#confirm_button").click(function() {
				jQuery("#confirm_box").slideUp("fast", function()  {
					jQuery("#confirm_box").remove();
					window.location.href = confirm_url;
				});
			});
		}		
		return false;
	});
	
	// les options avec demande de confirmation auront un rel="confirm|ref_message|final_link"
	jQuery('option[rel^=confirm]').click(function() {
		var params = jQuery(this).attr("rel").split("|");
		var error_msg = errors_messages[ params[1] ];
		var final_url = params[2];
		if( jQuery(this).parents("div.content_section").size() ) {
			var insert_point = jQuery(this).parents("div.content_section");
		} else if( jQuery("div.content_section:eq(0)").size() ) {
			var insert_point = jQuery("div.content_section:eq(0)");
		} else if( jQuery("div.content_section_left:eq(0)").size() ) {
			var insert_point = jQuery("div.content_section_left:eq(0)");
		}
		if( !jQuery("#confirm_box").size() ) {
			jQuery(error_code).hide().prependTo(insert_point);
			jQuery("#confirm_message span").text( error_msg );
			jQuery("#confirm_box").corner("10px").css("opacity", 0.0).slideDown("normal").animate({opacity: 1.0}, "slow");
			var boxposition = jQuery("#confirm_box").offset();
			window.scrollTo(0, boxposition.top);
			// buttons behavior
			jQuery("#discard_button").click(function() {
				jQuery("#confirm_box").slideUp("fast", function()  {
					jQuery("#confirm_box").remove();
				});
			});
			jQuery("#confirm_button").click(function() {
				jQuery("#confirm_box").slideUp("fast", function()  {
					jQuery("#confirm_box").remove();
					window.location.href = final_url;
				});
			});
		}		
		return false;
	});
	
	// message sur le click de submit s'il y a un champ input:file
	preload_1 = new Image();	preload_1.src = "../../../../images/i_icons/loader.gif";
	preload_2 = new Image();	preload_2.src = "../../../../images/i_icons/information.png";
	jQuery('form input[type="submit"]').click(function() {
		parent_form = jQuery(this).parents("form");
		if( parent_form.find("input:file").size() ) {
			parent_form.children().slideUp("normal");
			info_code = '<div id="info_box"><div style="text-align: center; margin: 0 0 5px;"><img src="../../../../images/i_icons/loader.gif" alt="" /></div><p id="confirm_message"><img src="../../../../images/i_icons/information.png" alt="" /> Veuillez patienter pendant l\'envoi de votre fichier.</p><p>Ne fermez pas la fenêtre tant que l\'envoi n\'est pas terminé.</p></div>';
			parent_form.append( jQuery(info_code).hide().corner("10px") );
			jQuery("#info_box").slideDown("normal");
		}
	});
	
});