/**
 * Prototype pour la rubrique ESPACE ANNONCEUR
 * 
 * @author Olivier
 * @version 2.2
 */


	
/**
 * Prototype des fonctions communes
 */	
var ptCommon = {

	/**
	 * Initialisation des tooltip des icones d'aide
	 */
	initHelp: function () {
		$("img[title]").tooltip({
			position: "center right",
			offset: [0, 2],
			effect: "fade",
			tipClass: "oforms-tooltip"}
		);
	},
	
	
	/**
	 * Ouvre la boite de dialogue
	 */
	openModal: function (dialog) {
		dialog.overlay.fadeIn('fast', function () {
			dialog.container.css('top', 0 - dialog.container.height() - 20);
			dialog.container.show();
			dialog.data.show();
			dialog.container.animate({top:"15%"}, 500);
		});
	},
	
	
	/**
	 * Ferme la boite de dialogue
	 */
	closeModal: function (dialog) {
		var self = this; // this = SimpleModal object
		dialog.container.animate(
			{top:"-" + (dialog.container.height() + 20)},
			500,
			function () {
				dialog.overlay.fadeOut('fast', function () {
					self.close(); // or $.modal.close();
				})
			}
		);
	}
	
};



/**
 * Prototype des pages principales
 */
var ptMain = {
	
	/**
	 * Initialisation
	 */
	init: function() {
		// Animation du bouton du depot d'annonce
		this.animateButtonDepotAnnonce();
		
		// Rollover sur le bouton de depot d'annonce
		$(".depot-annonce BUTTON").mouseover(function () {
			$(this).css("color", 'black');
		});
		$(".depot-annonce BUTTON").mouseout(function () {
			$(this).css("color", 'white');
		});
		
		// Test si javascript dans le formulaire
		$("input[name='javascript']").val(1);
		// Test si javascript dans le lien du depot d'annonce
        $("#iLinkNewAnn").attr('href', $("#iLinkNewAnn").attr('href')+'1');
	},
	
	
	/**
	 * Animation du bouton du depot d'annonce
	 */
	animateButtonDepotAnnonce: function () {
		$(".depot-annonce BUTTON").animate({ opacity:0.3 }, 1000).animate({ opacity:1 }, 2000);
		setTimeout('ptMain.animateButtonDepotAnnonce()', 300);
	}
	
};



/**
 * Prototype des pages de factures
 */
var ptFacture = {
	
	/**
	 * Ouvre un popup contenant le visualisation de la facture
	 * @param string url : Url à afficher dans le popup
	 */
	openPreview: function (url) {
		w = 620; h = 500;
		l = (800/w)*50; t = (600/h)*50;
		result = window.open(url, 'popup', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width='+w+',height='+h+',left='+l+',top='+t);
		result.focus();
	},

	
	/**
	 * Met en attente avant l'ouverture du fichier au format PDF
	 */
	openPDF: function() {
		$('html,body').animate({ scrollTop: 0}, 1000, "swing");
		$("#oWaitLoad").slideDown(2000).fadeOut(10000);
	},
	
	
	/**
	 * Desactive les boutons de la page règlement
	 */
	initDisableReglement: function() {
		//$("button").click(function() {
		$("form").submit(function() {
			$("button").attr('disabled', 'disabled')
		});
	}
};



/**
 * Prototype du formulaire des tarifs
 */
var ptTarif = {
		
	/**
	 * Options de la boite de dialogue
	 */
	optionsModal: {
		overlayCss: {backgroundColor: '#000'},
		containerId: 'popupContainer',
		/*closeHTML: null,*/
		opacity: 65, 
		position: ['0',],
		overlayClose: true,
		onOpen: ptCommon.openModal,
		onClose: ptCommon.closeModal
	},
	

	/**
	 * Insertion d'un nouveau tarif sur clic du bouton d'ajout
	 * 
	 * @param integer id : Identifiant de l'annonce
	 */
	insert: function(id) {$(this).attr('disabled', 'disabled')
		$("#popupFormContent").load("3-4-tarifs.ajax.php?annonce_id="+id+"&action=add");
		$("#popupForm").modal(this.optionsModal);
		$("#btSubmit").click(function () {
			$(this).attr("disabled", "disabled");
			ptTarif.submit();
		});
		$(".close").click(function () { ptTarif.close(); });
	},
	
	
	/**
	 * Modification d'un tarif sur clic de l'icone de modif
	 * 
	 * @param integer id      : Identifiant de l'annonce
	 * @param integer idtarif : Identifiant du tarif
	 */
	update: function(id, idtarif) {
		$("#popupFormContent").load("3-4-tarifs.ajax.php?annonce_id="+id+"&id="+idtarif+"&action=upd");
		$("#popupForm").modal(this.optionsModal);
		$("#btSubmit").click(function () {
			$(this).attr("disabled", "disabled");
			ptTarif.submit();
		});
		$(".close").click(function () { ptTarif.close(); });
	},
	
	
	/**
	 * Suppression d'un tarif sur clic de l'icone de suprression
	 * 
	 * @param integer id      : Identifiant de l'annonce
	 * @param integer idtarif : Identifiant du tarif
	 */
	delete2: function(id, idtarif) {
		$("#popupConfirm").modal(this.optionsModal);
		$("#btYes").click(function () {
			$(this).attr("disabled", "disabeld");
			$.get("3-4-tarifs.ajax.php?annonce_id="+id+"&id="+idtarif+"&action=del", function(){
				$("input[name='refresh']").val(1);
				$("#oFtarifs").submit();
			});
		});
		$(".close").click(function () { ptTarif.close(); });
	},
	
	
	/**
	 * Traitement de la validation du formulaire
	 */
	submit: function() {
		$.ajax({
			type: "POST",
			dataType: "text",
			url: "3-4-tarifs.ajax.php",
			data: $("#popupFormContent form").serialize(),
			error: function(msg) {
				$("#popupFormContent").html('<div class="msgerr m-error"><b>Une erreur interne est survenue.</b><br\>Merci de réessayer.</div>');
			},
			success: function(msg) {
				if (msg == 'OK') {
					// si ok rafraissement de la page
					$("input[name='refresh']").val(1);
					$("#oFtarifs").submit();
				} else {
					$("#btSubmit").attr("disabled", "");
					$("#popupFormContent").html(msg);
				}
					
			}
		});
	},
	
	
	/**
	 * Deplace un tarif vers le bas
	 * 
	 * @param integer id      : Identifiant de l'annonce
	 * @param integer idtarif : Identifiant du tarif
	 */
	increment: function(id, idtarif) {
		$.get("3-4-tarifs.ajax.php?annonce_id="+id+"&id="+idtarif+"&action=inc", function(){
			$("input[name='refresh']").val(1);
			$("#oFtarifs").submit();
		});
	},
	
	
	/**
	 * Deplace un tarif vers le haut
	 * 
	 * @param integer id      : Identifiant de l'annonce
	 * @param integer idtarif : Identifiant du tarif
	 */
	decrement: function(id, idtarif) {
		$.get("3-4-tarifs.ajax.php?annonce_id="+id+"&id="+idtarif+"&action=dec", function(){
			$("input[name='refresh']").val(1);
			$("#oFtarifs").submit();
		});
	},
	
	
	/**
	 * Ferme la boite de dialogue
	 */
	close: function() {
		$.modal.close();
	}
		
};



/**
 * Prototype du formulaire de l'album photo
 */
var ptPhoto = {
		
	/**
	 * Options de la boite de dialogue
	 */
	optionsModal: {
		overlayCss: {backgroundColor: '#000'},
		containerId: 'popupContainer',
		/*closeHTML: null,*/
		opacity: 65, 
		position: ['0',],
		overlayClose: true,
		onOpen: ptCommon.openModal,
		onClose: ptCommon.closeModal
	},
	
	
	/**
	 * Ajoute une nouvelle photo sur clic du bouton ajout
	 * 
	 * @param object  bt      : bouton clique
	 */
	insert: function(bt) {
		$(bt).attr("disabled", "disabeld");
		$("input[name='actionphoto']").val("insert");
		$("input[name='idphoto']").val(0);
		$("#oFphotos").submit();
	},
	
	
	/**
	 * Affecte cette photo en photo primaire sur clic du bouton primary
	 * 
	 * @param object  bt      : bouton clique
	 * @param integer idphoto : Identifiant de la photo
	 */
	primary: function(bt, idphoto) {
		$(this).attr("disabled", "disabled");
		$("input[name='actionphoto']").val("primary");
		$("input[name='idphoto']").val(idphoto);
		$("#oFphotos").submit();
	},
	
	
	/**
	 * Suppression d'une photo sur clic du bouton de supression
	 * 
	 * @param integer idphoto : Identifiant de la photo
	 */
	delete2: function(idphoto) {
		$("#popupConfirm").modal(this.optionsModal);
		$("#btYes").click(function () {
			$(this).attr("disabled", "disabled");
			$("input[name='actionphoto']").val("delete");
			$("input[name='idphoto']").val(idphoto);
			$("#oFphotos").submit();
		});
		$(".close").click(function () { ptPhoto.close(); });
	},
	
	
	/**
	 * Ferme la boite de dialogue
	 */
	close: function() {
		$.modal.close();
	}
	
};



/**
 * Prototype du formulaire des saisons tarifaires
 */
var ptSaison = {
		
	/**
	 * Options de la boite de dialogue
	 */
	optionsModal: {
		overlayCss: {backgroundColor: '#000'},
		containerId: 'popupContainer',
		/*closeHTML: null,*/
		opacity: 65, 
		position: ['0',],
		overlayClose: true,
		onOpen: ptCommon.openModal,
		onClose: ptCommon.closeModal
	},
	
	
	/**
	 * Ajoute une nouvelle parution sur clic du bouton ajout
	 * 
	 * @param object bt : bouton clique
	 */
	insert: function(bt) {
		$(bt).attr("disabled", "disabled");
		$("input[name='actionsaison']").val("insert");
		$("input[name='idsaison']").val(0);
		$("#oFsaison").submit();
	},
	
	
	/**
	 * Suppression d'une parution sur clic du bouton de supression
	 * 
	 * @param integer idphoto : Identifiant de la photo
	 */
	delete2: function(idsaison) {
		$("#popupConfirm").modal(this.optionsModal);
		$("#btYes").click(function () {
			$(this).attr("disabled", "disabled");
			$("input[name='actionsaison']").val("delete");
			$("input[name='idsaison']").val(idsaison);
			$("#oFsaison").submit();
		});
		$(".close").click(function () { ptSaison.close(); });
	},
	
	
	/**
	 * Ferme la boite de dialogue
	 */
	close: function() {
		$.modal.close();
	}

};



/**
 * Prototype du formulaire des disponibilites
 */
var ptDispo = {
		
	/**
	 * Options de la boite de dialogue
	 */
	optionsModal: {
		overlayCss: {backgroundColor: '#000'},
		containerId: 'popupContainer',
		/*closeHTML: null,*/
		opacity: 65, 
		position: ['0',],
		overlayClose: true,
		onOpen: ptCommon.openModal,
		onClose: ptCommon.closeModal
	},
	
	
	/**
	 * Ajoute une nouvelle parution sur clic du bouton ajout
	 * 
	 * @param object bt : bouton clique
	 */
	insert: function(bt) {
		$(bt).attr("disabled", "disabled");
		$("input[name='actiondispo']").val("insert");
		$("input[name='iddispo']").val(0);
		$("#oFdispo").submit();
	},
	
	
	/**
	 * Suppression d'une parution sur clic du bouton de supression
	 * 
	 * @param integer idphoto : Identifiant de la photo
	 */
	delete2: function(idsaison) {
		$("#popupConfirm").modal(this.optionsModal);
		$("#btYes").click(function () {
			$(this).attr("disabled", "disabled");
			$("input[name='actiondispo']").val("delete");
			$("input[name='iddispo']").val(idsaison);
			$("#oFdispo").submit();
		});
		$(".close").click(function () { ptDispo.close(); });
	},
	
	
	/**
	 * Ferme la boite de dialogue
	 */
	close: function() {
		$.modal.close();
	}

};



/**
 * Prototype du formulaire des saisons tarifaires
 */
var ptPromo = {
		
	/**
	 * Options de la boite de dialogue
	 */
	optionsModal: {
		overlayCss: {backgroundColor: '#000'},
		containerId: 'popupContainer',
		/*closeHTML: null,*/
		opacity: 65, 
		position: ['0',],
		overlayClose: true,
		onOpen: ptCommon.openModal,
		onClose: ptCommon.closeModal
	},
		
	
	/**
	 * Insertion d'une parution sur clic du bouton ajout
	 * 
	 * @param integer id   : Identifiant de l'annonce
	 * @param integer date : Date de debut de la parution
	 */
	insert : function (id, date) {
		$("#popupFormContent").load("3-8-promo.ajax.php?annonce_id="+id+"&date_deb="+date+"&action=add");
		$("#popupForm").modal(this.optionsModal);
		$("#btSubmit").click(function () {
			$(this).attr("disabled", "disabled");
			ptPromo.submit();
		});
		$(".close").click(function () { ptPromo.close(); });
	},
	
	
	/**
	 * Modification d'une parution sur clic de l'icone de modif
	 * 
	 * @param integer id         : Identifiant de l'annonce
	 * @param integer idparution : Identifiant de la parution
	 */
	update: function(id, idparution) {
		$("#popupFormContent").load("3-8-promo.ajax.php?annonce_id="+id+"&id="+idparution+"&action=upd");
		$("#popupForm").modal(this.optionsModal);
		$("#btSubmit").click(function () {
			$(this).attr("disabled", "disabled");
			ptPromo.submit();
		});
		$(".close").click(function () { ptPromo.close(); });
	},
	
	
	/**
	 * Suppression d'une parution sur clic de l'icone de suppression
	 * 
	 * @param integer id         : Identifiant de l'annonce
	 * @param integer idparution : Identifiant de la parution
	 */
	delete2: function(id, idparution) {
		$("#popupConfirm").modal(this.optionsModal);
		$("#btYes").click(function () {
			$(this).attr("disabled", "disabeld");
			$.get("3-8-promo.ajax.php?annonce_id="+id+"&id="+idparution+"&action=del", function(){
				$("input[name='refresh']").val(1);
				$("#oFpromo").submit();
			});
		});
		$(".close").click(function () { ptPromo.close(); });
	},
	
	
	/**
	 * Traitement de la validation du formulaire
	 */
	submit: function() {
		$.ajax({
			type: "POST",
			dataType: "text",
			url: "3-8-promo.ajax.php",
			data: $("#popupFormContent form").serialize(),
			error: function(msg) {
				$("#popupFormContent").html('<div class="msgerr m-error"><b>Une erreur interne est survenue.</b><br\>Merci de réessayer.</div>');
			},
			success: function(msg) {
				if (msg == 'OK') {
					// si ok rafraissement de la page
					$("input[name='refresh']").val(1);
					$("#oFpromo").submit();
				} else {
					$("#btSubmit").attr("disabled", "");
					$("#popupFormContent").html(msg);
				}
					
			}
		});
	},
	
	
	/**
	 * Ferme la boite de dialogue
	 */
	close: function() {
		$.modal.close();
	}

};

