// Fonction permettant de faire un appel au widget 'calendrier' // Args: // idElement id js du champs dans lequel renvoyer les valeurs // format format de date a utiliser // dateSelect date a laquel le calendrier doit s'afficher // selectDate date que le calendrier doit selectionner // Hover active ou desactive le changement de couleur des dates au survol de la souris // close activer ou desactive le boutton pour fermer le calendrier // calType defini le type de calendrier a utiliser (par defaut: Normal, dispos: Normal, Aprox, Mois, Planning et Semaine) // past defini si le type de calendrier 'Aprox' doit afficher le passer ou le futur // rFunc defini s'il faut executer des fonctions lors du click sur une date // annee defini l'annee a laquel le calendrier va aller // mois defini le mois auquel le calendrier va aller // type si quelqu'un trouve je suis prenneur // proba pertinance de la date function getCal ( idElement , format , dateSelect , selectDate , Hover , close , calType , past , rFunc , annee , mois , type , proba ) { if ( typeof dateSelect == undefined || dateSelect == '' ) var dateSelect = ''; // Si Close est pas specifier, le boutton pour fermer la bulle aparait -> a tester if ( typeof close == 'undefined' ) var close = true; if ( typeof mois == 'undefined' ) var mois = false; if ( typeof annee == 'undefined' ) var annee = false; if ( typeof type == 'undefined' ) var type = 'A'; if ( typeof past == 'undefined' ) var past = false; else var past = true; if ( typeof calType == 'undefined' || calType == '' ) var calType = 'Normal'; if ( typeof selectDate == 'undefined' || selectDate == '' ) var selectDate = 'false'; if ( typeof Hover == 'undefined' || ! Hover ) var Hover = 'false'; if ( typeof rFunc == 'undefined' || rFunc == '' ) var rFunc = 'null'; else var rFunc = encodeURIComponent ( rFunc ); if ( typeof proba == 'undefined' || proba == '' ) var proba = 'null'; else var proba = proba; if ( ! document.getElementById ( 'bulleCalendrier' ) ) { var Body = document.getElementsByTagName ( 'body' )[0]; var Div = document.createElement ( 'div'); Div.style.width = '550px'; Div.style.zIndex = 120; Div.style.position = 'fixed'; Div.id = 'bulleCalendrier'; Body.appendChild ( Div ); } if ( selectDate.match ( /^\d+:\d+$/ ) ) { var probaSel = selectDate.replace ( /:\d+$/ , '' ); var selectDate = selectDate.replace ( /^\d+:/ , '' ); } else var probaSel = 'null'; var URI = 'index.php?ajax=calendrier&Elt=' + idElement + '&Format=' + encodeURIComponent ( format ) + '&Date=' + dateSelect + '&Close=' + close + '&Mois=' + mois + '&TYPEAFFICHAGE=' + type + '&Annee=' + annee + '&Past=' + past + '&CalType=' + calType + '&SelectDate=' + selectDate + '&Hover=' + Hover + '&rFunc=' + rFunc + '&proba=' + proba + '&probaSel=' + probaSel; var Req = new Request ( { url: URI , evalScripts: true, onSuccess: function( retour ) { retourGetCal ( retour ); }, onFailure: function() { alert ( 'Request Failed' ); } } ); Req.send ( ); } function SetColor ( Elt , Hover ) { if ( ! Hover ) return; if ( Elt.className.match ( " " ) ) { var ClsO = Elt.className.split ( " " ); Cls = ClsO[ClsO.length - 1]; var Reste = ''; for ( var i = ClsO.length - 2 ; 0 <= i ; i-- ) Reste += ClsO[i] + ' '; } else { var Cls = Elt.className; var Reste = ''; } if ( Cls.match ( /_Hover$/ ) ) Elt.className = Reste + Cls.substr ( 0 , Cls.length - 6 ); else Elt.className = Reste + Cls + '_Hover'; } function retourGetCal( retour ) { document.getElementById ( 'bulleCalendrier' ).innerHTML = retour; } function closeBulle ( ) { div = document.getElementById ( 'bulleCalendrier' ); document.getElementsByTagName ( 'body' )[0].removeChild ( div ); } function setDate ( date, unix, elt, rFunc ) { if ( date == '' ) return; var proba = ''; if ( document.getElementById ( 'proba_1' ) ) { for ( var i = 1 ; document.getElementById ( 'proba_' + i ) ; i++ ) { if ( document.getElementById ( 'proba_' + i ).checked ) { var proba = document.getElementById ( 'proba_' + i ).value; var cproba = document.getElementById ( 'cproba_' + i ).value; var tproba = document.getElementById ( 'tproba_' + i ).value; } } } if ( document.getElementById ( elt + '_txt' ) ) { if ( typeof cproba != 'undefined' ) document.getElementById ( elt + '_txt' ).style.backgroundColor = cproba; if ( typeof tproba != 'undefined' ) { document.getElementById ( elt + '_txt' ).title = 'Pertinance::' + tproba; new Tips ( elt + '_txt' ); } document.getElementById ( elt + '_txt' ).value = date; } if ( proba != '' ) var dSave = proba + ':' + unix; else var dSave = unix; document.getElementById ( elt ).value = dSave; if ( typeof rFunc != 'undefined' && rFunc != '' ) eval ( rFunc ); closeBulle ( ); } function switchYear ( ) { if ( document.getElementById ( 'AnneeRO' ) && document.getElementById ( 'AnneeRW' ) && document.getElementById ( 'AnneeRO' ).style.display == 'block' ) { document.getElementById ( 'AnneeRO' ).style.display = 'none'; document.getElementById ( 'AnneeRW' ).style.display = 'block'; } else if ( document.getElementById ( 'AnneeRO' ) && document.getElementById ( 'AnneeRW' ) ) { document.getElementById ( 'AnneeRW' ).style.display = 'none'; document.getElementById ( 'AnneeRO' ).style.display = 'block'; } } function chgYear ( idElement , format , dateSelect , selectDate , Hover , close , calType , past , rFunc , annee , mois , type , proba ) { if ( annee.match ( /^\d+$/ ) && annee < 2039 && annee >= 1970 ) getCal ( idElement , format , dateSelect , selectDate , Hover , close , calType , past , rFunc , annee , mois , type , proba ); else { alert ( decodeURIComponent ( "Ann%C3%A9e%20invalide." ) ); switchYear ( ); } } function unixToString ( unix ) { var newDate = new Date( ); newDate.setTime( unix*1000 ); switch ( newDate.getMonth() ) { case 0: var m = 'janvier'; break; case 1: var m = 'février'; break; case 2: var m = 'mars'; break; case 3: var m = 'avril'; break; case 4: var m = 'mai'; break; case 5: var m = 'juin'; break; case 6: var m = 'juillet'; break; case 7: var m = 'aout'; break; case 8: var m = 'septembre'; break; case 9: var m = 'octobre'; break; case 10: var m = 'novembre'; break; case 11: var m = 'décembre'; break; } var d = newDate.getDate(); if ( d.length == 1 ) var d = "0" + d; var y = newDate.getFullYear(); return d + ' ' + m + ' ' + y; }