/**
* Tommy Brière
* 2007-11-05
* Utilitaire de gestion de calendrier
**/
ressourcesTextes.add([["mot.adm_js_calendrier_erreur_implantation","Vous devez implémenter une version spécifique à chargerMois..."]]);

YAHOO.namespace("webtitan.calendrier");
YAHOO.webtitan.calendrier.maxYear=0;
YAHOO.webtitan.calendrier.maxMonth=0;
YAHOO.webtitan.calendrier.minYear=0;
YAHOO.webtitan.calendrier.minMonth=0;
YAHOO.webtitan.calendrier.filtre_cato=null;
YAHOO.webtitan.calendrier.filtre_categorie=null;

YAHOO.webtitan.calendrier.setPrevNextBtnState= function(prev, next){
var calendrier= $(YAHOO.webtitan.calendrier.instance.id );
var div= calendrier.getElementsByTagName("div")[0];
var aprev= div.getElementsByTagName("a")[0];
var anext= div.getElementsByTagName("a")[1];
if(prev){} else{
div.removeChild(aprev);}
if(next){} else{
div.removeChild(anext);}}
YAHOO.webtitan.calendrier.updatePrevNextBtnState= function(){
if(YAHOO.webtitan.calendrier.maxYear>0){
var date= YAHOO.webtitan.calendrier.getCurPage();
var month= date[1];
var year= date[0];
var prev=(!((year==YAHOO.webtitan.calendrier.minYear)&&(month==YAHOO.webtitan.calendrier.minMonth)));
var next=(!((year==YAHOO.webtitan.calendrier.maxYear)&&(month==YAHOO.webtitan.calendrier.maxMonth)));
YAHOO.webtitan.calendrier.setPrevNextBtnState(prev, next);}}
var changePageHandler= function(type, args, obj){
if(YAHOO.webtitan.calendrier.maxYear>0){
var date= YAHOO.webtitan.calendrier.getCurPage();
var month= date[1];
var year= date[0];
if((year==YAHOO.webtitan.calendrier.maxYear)&&(month>YAHOO.webtitan.calendrier.maxMonth)){
YAHOO.webtitan.calendrier.instance.previousMonth();
return;} else if((year==YAHOO.webtitan.calendrier.minYear)&&(month<YAHOO.webtitan.calendrier.minMonth)){
YAHOO.webtitan.calendrier.instance.nextMonth();
return;} else if(year<YAHOO.webtitan.calendrier.minYear){
YAHOO.webtitan.calendrier.instance.nextMonth();
return;} else if(year>YAHOO.webtitan.calendrier.maxYear){
YAHOO.webtitan.calendrier.instance.previousMonth();
return;}
YAHOO.webtitan.calendrier.updatePrevNextBtnState();}
YAHOO.webtitan.calendrier.validerQueAJour();}
function echecAction(){
}

function calendrierEvenementRender(workingDate, cell){
var annee= YAHOO.webtitan.calendrier.pageData[workingDate.getFullYear()];
if(annee){
var mois= annee[workingDate.getMonth()+1];
if(mois){
if((mois[workingDate.getDate()-1])&&(mois[workingDate.getDate()-1]==1)){
YAHOO.util.Dom.addClass(cell, "cal_event");


} else{
YAHOO.util.Dom.addClass(cell, "cal_no_event");}}}}

YAHOO.webtitan.calendrier.pageData= new Array();

YAHOO.webtitan.calendrier.getCurPage= function(){
var date= YAHOO.webtitan.calendrier.instance.cellDates[7];
return date;}

function calendrierMonthReceived(o){
if(o.responseXML){
YAHOO.webtitan.calendrier.working=false;
var xml= o.responseXML.documentElement;
var year= xml.getAttribute("year");
var month= xml.getAttribute("month");
var jours= new Array();
for(var i=0; i< xml.childNodes.length; i++){
var jour= xml.childNodes[i];
jours[i]= jour.getAttribute("hasEvent");}
YAHOO.webtitan.calendrier.pageData[year][month]= jours;
YAHOO.webtitan.calendrier.instance.render();
YAHOO.webtitan.calendrier.updatePrevNextBtnState();
YAHOO.webtitan.calendrier.validerQueAJour();} else{
alert(o.responseText);
YAHOO.webtitan.calendrier.working=false;}}

YAHOO.webtitan.calendrier.getChargerMoisData= function(year, month){
alert(_TR("mot.adm_js_calendrier_erreur_implantation" ,"Vous devez implémentez une version spécifique au site de chargerMois..."));
return "";}

YAHOO.webtitan.calendrier.chargerMois= function(year, month){
if(YAHOO.webtitan.calendrier.working){} else{
YAHOO.webtitan.calendrier.working= true;
var sUrl= YAHOO.webtitan.calendrier.chargerMoisUrl;
var callback={
success: calendrierMonthReceived,
failure: echecAction,
argument:[]};
var postData= this.getChargerMoisData(year, month);
YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);}}

YAHOO.webtitan.calendrier.validerQueAJour= function(){
if(YAHOO.webtitan.calendrier.working){
} else{
var date= YAHOO.webtitan.calendrier.getCurPage();
var month= date[1];
var year= date[0];
if(YAHOO.webtitan.calendrier.pageData[year]){
} else{

YAHOO.webtitan.calendrier.pageData[year]= new Array();}
if((YAHOO.webtitan.calendrier.pageData[year][month])&&(YAHOO.webtitan.calendrier.pageData[year][month]!=null)){
} else{

YAHOO.webtitan.calendrier.chargerMois(year, month);}}}

YAHOO.webtitan.calendrier.updateMonth= function(jour){
var year= jour.getFullYear();
var month= jour.getMonth()+1;
if(YAHOO.webtitan.calendrier.pageData[year]){
YAHOO.webtitan.calendrier.pageData[year][month]=null;}
this.validerQueAJour();}

YAHOO.webtitan.calendrier.updateAllMonth= function(){
YAHOO.webtitan.calendrier.pageData= new Array();
this.validerQueAJour();}

YAHOO.webtitan.calendrier.localize= function(cal1){
cal1.cfg.setProperty("DATE_FIELD_DELIMITER", "-");
cal1.cfg.setProperty("MDY_DAY_POSITION", 3);
cal1.cfg.setProperty("MDY_MONTH_POSITION", 2);
cal1.cfg.setProperty("MDY_YEAR_POSITION", 1);
cal1.cfg.setProperty("MD_DAY_POSITION", 2);
cal1.cfg.setProperty("MD_MONTH_POSITION", 1);
cal1.cfg.setProperty("MY_DAY_POSITION", 2);
cal1.cfg.setProperty("MY_MONTH_POSITION", 1);
if(curlangue== "fr"){
cal1.cfg.setProperty("MONTHS_SHORT",["Ja", "Fe", "Mr", "Al", "Ma", "Jn", "Jl", "Au", "Se", "Oc", "No", "De"]);
cal1.cfg.setProperty("MONTHS_LONG",["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"]);
cal1.cfg.setProperty("WEEKDAYS_1CHAR",["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]);
cal1.cfg.setProperty("WEEKDAYS_SHORT",["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]);
cal1.cfg.setProperty("WEEKDAYS_MEDIUM",["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]);
cal1.cfg.setProperty("WEEKDAYS_LONG",["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"]);}
if(curlangue== "en"){
cal1.cfg.setProperty("MONTHS_SHORT",["Ja", "Fe", "Mr", "Al", "Ma", "Jn", "Jl", "Au", "Se", "Oc", "No", "De"]);
cal1.cfg.setProperty("MONTHS_LONG",["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]);
cal1.cfg.setProperty("WEEKDAYS_1CHAR",["S", "M", "T", "W", "T", "F", "S"]);
cal1.cfg.setProperty("WEEKDAYS_SHORT",["<sup>Sun</sup>", "<sup>Mon</sup>", "<sup>Tu</sup>", "<sup>Wed</sup>", "<sup>Th</sup>", "<sup>Fri</sup>", "<sup>Sat</sup>"]);
cal1.cfg.setProperty("WEEKDAYS_MEDIUM",["Sunday ", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]);
cal1.cfg.setProperty("WEEKDAYS_LONG",["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]);}}

YAHOO.webtitan.calendrier.commonInit= function(){
YAHOO.webtitan.calendrier.localize(YAHOO.webtitan.calendrier.instance);
YAHOO.webtitan.calendrier.instance.changePageEvent.subscribe(changePageHandler, YAHOO.webtitan.calendrier.instance, true);
for(var i=1; i<= 12; i++){
YAHOO.webtitan.calendrier.instance.addMonthRenderer(i, calendrierEvenementRender);}}