/**
 * Renvoi vers l'ecran utilisateur/consulterdroit si l'utilisateur choisi est en mode "personnalisé"
 * @param int pnum_typeDroits (0 : Personnalisé / 1 : Tous)
 * @author nvincent
 */
function gotoEcranUtilisateurDroits(  pnum_typeDroits )
{
	if(pnum_typeDroits == 0)
	{
		return true;
	}
	else
	{
		// Voir pour intégrer les alerts dans un div du layout avec disparition automatique
		alert('Pour pouvoir modifier les droits d\'un utilisateur, vous devez sélectionner les droits "personnalisé"');
		return false;
	}
}

/**
 * Affiche à l'écran la dialog perso (div) lorsqu'une maintenance est imminente
 * @author nvincent
 */
function activeDialogMaintenance()
{
	jQuery('#dialogMaintenance').css('display','block');
}

/**
 * Cache la dialog perso (div) lorsqu'une maintenance est imminente
 * @author nvincent
 */
function desactiveDialogMaintenance()
{
	jQuery('#dialogMaintenance').css('display','none');
}

function falseFunction(){
	return false;
}

// Main Menu Management


var subMenus = new Array("subMenuMesDossiers", "subMenuMessages", "subMenuGestion", "subMenuMonCompte", "subMenuStatistiques" , "subMenuDso","subMenuAdministration");
var currentSubMenu = "";
var myTimer;

function showSubMenu(menuId){

	clearTimeout(myTimer);

	var anObject = document.getElementById(menuId);

	for (var loop = 0; loop < subMenus.length; loop++){
		var anObject2 = document.getElementById(subMenus[loop]);
		if (anObject2){
			//alert(anObject2 == anObject);
			if ((anObject2 == anObject) && (anObject2.className == "subMenuInvisible")) anObject2.className = "subMenuVisible";
			if ((anObject2 != anObject) && (anObject2.className == "subMenuVisible")) anObject2.className = "subMenuInvisible";
		}
	}

} // end showSubMenu

function backToPreviousSubMenu(){
	showSubMenu(currentSubMenu);
}

function startTimer(){
	myTimer = setTimeout('backToPreviousSubMenu();', 1000);
}

function stopTimer(){
	clearTimeout(myTimer);
}




// Search Field

searchFieldCleaned = false;

cleanSearchField = function(){
	if (!searchFieldCleaned){
		// On ne nettoie qu'au premier focus
		// aprÃ¨s inutile d'effacer les donnÃ©es saisies par l'utilisateur
		searchFieldCleaned = true;
		window.document.getElementById("headerSearchField").value = "";
	}
} // end cleanSearchField





// Panel Management

function switchPanel(panelId, ajaxLoadUrl){
	var anObject = document.getElementById(panelId);
        if(ajaxLoadUrl && !anObject.serfiLoaded) {
            /*alert($.get(ajaxLoadUrl, 'text'));
            $(anObject).load(ajaxLoadUrl);
            anObject.serfiLoaded = true;*/
            $.get(ajaxLoadUrl, null, function (data) {
                //alert(data);
                $(anObject).append(data);
                anObject.serfiLoaded = true;
            });
        }
	if (anObject.className == 'detailPanelOpen'){
		anObject.className = 'detailPanelClose';
		var someLink = anObject.getElementsByTagName('a');
		someLink[0].className = 'panelLinkClose';
	} else {
		anObject.className = 'detailPanelOpen';
		var someLink = anObject.getElementsByTagName('a');
		someLink[0].className = 'panelLinkOpen';
	} // end if else
}

function closePanel(panelId){
	var anObject = document.getElementById(panelId);
	anObject.className = 'detailPanelClose';
	var someLink = anObject.getElementsByTagName('a');
	someLink[0].className = 'panelLinkClose';
}

function openPanel(panelId){
	var anObject = document.getElementById(panelId);
	anObject.className = 'detailPanelOpen';
	var someLink = anObject.getElementsByTagName('a');
	someLink[0].className = 'panelLinkOpen';
}

function closeAllPanels(panelId){
//  $("#detailCreancesPanel, #detailVersementsPanel, #detailMessagesPanel, #detailOperationsPanel, #detailEcheancierPanel").find("a:first").click();
  $("#detailCreancesPanel, #detailVersementsPanel, #detailMessagesPanel, #detailOperationsPanel, #detailEcheancierPanel").find("a.panelLinkOpen").click();
}

function openAllPanels(panelId){

        $("#detailCreancesPanel, #detailVersementsPanel, #detailMessagesPanel, #detailOperationsPanel, #detailEcheancierPanel").find("a.panelLinkClose").click();
}

function verifconfirmCheckBox(){
	if ($('#confirmCheckBox').attr('checked')){
		return true;
	}else {
		alert('Veuillez approuvez les conditions de cr\351ation de dossier');
		return false;
	}
}
jQuery(function($){
	$.datepicker.regional['fr'] = {
		closeText: 'Fermer',
		prevText: '&#x3c;Préc',
		nextText: 'Suiv&#x3e;',
		currentText: 'Courant',
		monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
		'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
		monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
		'Jul','Aoû','Sep','Oct','Nov','Déc'],
		dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
		dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
		dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
		weekHeader: 'Sm',
		dateFormat: 'dd/mm/yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['fr']);
});

jQuery(function() {
	jQuery(".typeDate").datepicker();
    // $.datepicker.setDefaults($.datepicker.regional['']);
	jQuery(".typeDate").datepicker($.datepicker.regional['fr']);
});


/**
 * Supprime un fichier joint à un dossier (+effacement bdd)
 * @param pnum_id_piecejointe
 * @param pnum_demandedossier_id
 * @param pnum_societe_id
 */
function supprimerPieceJointe( pnum_id_piecejointe, pnum_demandedossier_id, pnum_societe_id )
{
	jQuery.ajax({
		url:'/ajax/supprimerPieceJointe',
		type:'POST',
		data:'societe_id='+pnum_societe_id+'&demandedossier_id='+pnum_demandedossier_id+'&id_piecejointe='+pnum_id_piecejointe,
		success:function(data){
			// Remise en forme des champs
			if( data == true )
			{
				alert('La pièce jointe a bien été supprimée');
				// On retire la ligne pour l'affichage
				jQuery('#id_pj_'+pnum_id_piecejointe).parent().parent('tr').fadeOut('slow', function(){jQuery(this).remove()});
			}
			else
			{
				alert('Une erreur est survenue');
			}
		},
		error:function(xhr, ajaxOptions, thrownError){
			alert(xhr.status);
            alert(thrownError);
		}
	});
	
	return false;
}
	
$(document).ready(function (){
	// 
	$(".typeDate").each(function (idx){
		this.onkeydown = function (){
			//alert(this.value.length);
			switch (this.value.length){
				case 2:
				case 5:
					if(isNaN(this.value.charAt(this.value.length)))
					{
						alert("La date doit être du type jj/mm/aaaa");
						this.value="";
					}
					else
					{
						this.value+=("/");
					}
				break;
				default:
					if(isNaN(this.value.charAt(this.value.length - 1))){
						alert("La date doit être du type jj/mm/aaaa");
						this.value="";
					}
			}
		}
		this.onblur = function (){
			if((this.value.length != 10) && (this.value.length != 0) ){
				alert("La date doit être du type jj/mm/aaaa");
			}
			switch (this.value.length)
			{
			}
		}
	});
	
	// Gestion ajax des code position en fonction du groupe dans l'ecran "rechercher des dossiers"
	if( jQuery('select#codpos').length > 0 )
	{
		jQuery('select#etat').change(function(){	
			var objEtat = jQuery(this);
			jQuery.ajax({
				url:'/ajax/getcodespositionbygroupecode',
				type:'POST',
				data:'code='+objEtat.val(),
				datatype:'json',
				success:function(data){
					var obj = jQuery.parseJSON(data);
					jQuery('select#codpos option').remove();
					jQuery('select#codpos').append('<option value="0">Tous</option>');
					for( var i in obj )
					{
						jQuery('select#codpos').append('<option value="'+obj[i]+'">'+obj[i]+'</option>');
					}
					//alert(data.1);
				},
				error:function(xhr, ajaxOptions, thrownError){
					alert(xhr.status);
	                alert(thrownError);
				}
			});
		});
	}
	
	// Gestion des droits (tous / personnalisé) dans l'ecran de paramétrage des utilisateurs "utilisateur/index"
	if( jQuery('select[name=sel_droitsClients]').length > 0 )
	{
		jQuery('select[name=sel_droitsClients]').change(function(){
			var obj = jQuery(this);
			var pos = obj.attr('id').indexOf('_');
			var pos2 = 0;
			while(pos > -1)
			{
				pos = obj.attr('id').indexOf('_', pos+1);
				if( pos != -1 ) pos2 = pos;
			}
			var id = obj.attr('id').substring(pos2+1, obj.attr('id').length);
			// Tous
			if( obj.val() == 1 )
			{
				// requete ajax
				jQuery.ajax({
					url:'/ajax/setalldroitsclients',
					type:'POST',
					data:'all=1&societe='+jQuery('#hid_id_societe').val()+'&utilisateur='+jQuery('#hid_id_utilisateur_'+id).val(),	// TODO !!!
					datatype:'json',
					success:function(data){
						// Remise en forme des champs
						if( data == true )
						{
							var nomcomplet = obj.parent().parent().children('td').eq(1).html();
							jQuery('a#btnDroits_'+id).addClass("btnDisabled");
							jQuery('#hid_typeDroits_'+id).val(1);
							jQuery('#alertTempo').css('display','block').html('Les droits de l\'utilisateur '+nomcomplet+' ont été changés');
							setTimeout("jQuery('#alertTempo').fadeOut('slow');",2000);
						}
						else
						{
							jQuery('#alertTempo').html('Une erreur est survenue !!!');
						}
					},
					error:function(xhr, ajaxOptions, thrownError){
						alert(xhr.status);
		                alert(thrownError);
					}
				});				
			}
			else // Personnalisé
			{
				// requete ajax
				jQuery.ajax({
					url:'/ajax/setalldroitsclients',
					type:'POST',
					data:'all=0&societe='+jQuery('#hid_id_societe').val()+'&utilisateur='+jQuery('#hid_id_utilisateur_'+id).val(),	// TODO !!!
					datatype:'json',
					success:function(data){
						// Remise en forme des champs
						if( data == true )
						{
							var nomcomplet = obj.parent().parent().children('td').eq(1).html();
							jQuery('a#btnDroits_'+id).removeClass("btnDisabled");
							jQuery('#hid_typeDroits_'+id).val(0);
							jQuery('#alertTempo').css('display','block').html('Les droits de l\'utilisateur '+nomcomplet+' ont été changés');
							setTimeout("jQuery('#alertTempo').fadeOut('slow');",2000);
						}
						else
						{
							jQuery('#alertTempo').html('Une erreur est survenue !!!');
						}
					},
					error:function(xhr, ajaxOptions, thrownError){
						alert(xhr.status);
		                alert(thrownError);
					}
				});
			}
		});
	}
	
	// Donne le focus au champ identifiant sur la page de login
	if( jQuery('input[name=codeutilisateur]').length > 0 )
	{
		jQuery('input[name=codeutilisateur]').focus();
	}
	
	// Action sur la liste de parametrage de date d'archivage dans la page admin
	jQuery('#typeDateParamArchive').change(function(){
		var obj = jQuery(this);
		if( obj.val() == 'aucune' )
		{
			jQuery('#lib_ancien').css('display','none');
			jQuery('#dateParamArchive_depuis').css('display','none');
			jQuery('#dateParamArchive_depuis').attr('disabled','disabled');
			jQuery('#nbMoisParamArchive').css('display','none');
			jQuery('#nbMoisParamArchive').attr('disabled','disabled');
			jQuery('#errNbMois').css('display','none');
			jQuery('#errDepuis').css('display','none');
		}
		else if( obj.val() == 'depuis' )
		{
			jQuery('#lib_ancien').css('display','none');
			jQuery('#dateParamArchive_depuis').css('display','block');
			jQuery('#dateParamArchive_depuis').removeAttr('disabled');
			jQuery('#nbMoisParamArchive').css('display','none');
			jQuery('#nbMoisParamArchive').attr('disabled','disabled');
			if( jQuery('#dateParamArchive_depuis').val() == '' ) jQuery('#dateParamArchive_depuis').focus();
			jQuery('#errNbMois').css('display','none');
			jQuery('#errDepuis').css('display','block');
		}
		else if( obj.val() == 'ancien' )
		{
			jQuery('#lib_ancien').css('display','inline');
			jQuery('#dateParamArchive_depuis').css('display','none');
			jQuery('#dateParamArchive_depuis').attr('disabled','disabled');
			jQuery('#nbMoisParamArchive').css('display','block');
			jQuery('#nbMoisParamArchive').removeAttr('disabled');
			jQuery('#nbMoisParamArchive').focus();
			jQuery('#errNbMois').css('display','block');
			jQuery('#errDepuis').css('display','none');
		}
	});
	
	// masque de saisie numérique lors de la saisie des montants d'une créances
	jQuery('#principal, #interetsRetard, #clausePenale').keydown(function(e){
		var key = e.which || e.keyCode;

			if (	// numbers
					key >= 48 && key <= 57 ||
					// Numeric keypad
					key >= 96 && key <= 105 ||
					// comma, period and minus, . on keypad
					key == 190 || key == 188 || key == 110 ||
					// Backspace and Tab and Enter
					key == 8 || key == 9 || key == 13 ||
					// Home and End
					key == 35 || key == 36 ||
					// left and right arrows
					key == 37 || key == 39 ||
					// Del and Ins
					key == 46 || key == 45) return true;

			return false;
	});
	
});

/**
 * Tool Tips
 * par Jay Salvat - http://blog.jaysalvat.com/
 */
(function($) {
$.fn.toolTips = function(settings) {
    options =  {
        offsetX:  10,    // positionnement X par rapport au pointeur
        offsetY:  -5,    // positionnement Y par rapport au pointeur
        baseLine: 'top', // alignement de par rapport au pointeur
        delay:    500,   // délai avant l'ouverture de l'infobulle
        click:    true   // autorise ou non le clic sur le lien
    };
    var options = $.extend(options, settings);

    return this.each(function(){
        var $$ = $(this);
        var aTitle   = $$.attr('title') || '';
        var aHref    = $$.attr('href')  || '';
        var aRel     = $$.attr('rel')   || '';
        var aToolTip = $("<div></div>");
        var aCaption = '';
        var aImage;
        var timer;
        var offsetX = 1;
        var offsetY = 1;

        // Quand le curseur survole un élément
        $$.mouseover(function(e) {
            // Supprime le Title pour éviter le toolTip par défaut du navigateur
            $$.attr('title', '');

            // Si un Title est présent, on fait un block pour la légende
            if (aTitle != '') {
                aCaption = '<div class="toolTip-caption"><span>'+ aTitle +'</span></div>';
            }

            // Si un attribut Rel est présent dans le lien et qu'il mène à une image
            // on passe en mode Vignette
            if (aRel.match(/\.(png|jpg|jpeg|gif)$/)) {
                aImage = $('<img src="'+ aRel +'" />');
                aToolTip = $('<div class="toolTip-thumbnail">'+ aCaption +'</div>');

            // Si le lien est un lien vers une image
            // on passe en mode Prévisualisation
            } else if (aHref.match(/\.(png|jpg|jpeg|gif)$/)) {
                aImage = $('<img src="'+ aHref +'" />');
                aToolTip = $('<div class="toolTip-picture">'+ aCaption +'</div>');

            // Sinon on pas en mode Texte
            } else if (aTitle != '') {
                aToolTip = $("<div class='toolTip-text'><span>"+ aTitle +"</span></div>");
            }

            // Le toolTip précédemment créé est ajouté au Body et masqué
            aToolTip.appendTo("body").hide().css({ position:'absolute', top:0, left:0 });

            // On attend le chargement de l'image éventuellement contenue
            // dans le toolTip pour ajuster le placement selon la hauteur finale
            if ((aImage)) {
                aImage.load(function() {
                    aImage.prependTo(aToolTip);

                    // Quelques ajustements selon les préférences utilisateurs
                    offsetX = options.offsetX;
                    if (options.baseLine == 'bottom') {
                        offsetY = options.offsetY - aToolTip.height();
                    } else if (options.baseLine == 'middle') {
                        offsetY = options.offsetY - (aToolTip.height() / 2);
                    }

                    // Place le toolTip aux coordonnées voulues
                    aToolTip.css({
                        left: parseInt(aToolTip.css('left')) + offsetX + "px",
                        top:  parseInt(aToolTip.css('top'))  + offsetY + "px"
                    });
                });
            }

            // On déplace le toolTip en même temps que la souris
            $$.mousemove(function(e) {
                aToolTip.css({
                    left: e.pageX + offsetX + "px",
                    top:  e.pageY + offsetY + "px"
                });
            });

            // On attend quelques fractions de seconde avant d'afficher le toolTip
            timer = setTimeout( function() { aToolTip.show() }, options.delay);
        })

        // Quand le curseur ne survole plus un élément
        $$.mouseout(function(e) {
            clearTimeout(timer);
            // On remet le Title en place
            $$.attr("title", aTitle);
            // On supprime le suivi de déplacement
            $$.unbind("mousemove");
            // On supprime le toolTip
            aToolTip.remove();
        });

        // Bloque éventuellement le clic sur le lien
        $$.click(function() {
           return options.click;
        });
    });
};
})(jQuery);


    $(function() {
        $(".toolTip").toolTips();
        $(".toolTipGallery").toolTips( { baseLine:'middle', click:false } );
    });

