$(document).ready(function(){
    

    // reset the lang dropdown
  selectLanguage();
    
  $("#calview").change(function() {
    var calDisp = $("#calview option:selected").attr("value").split(":");   
    p3.calMode = calDisp[0];
    p3.calSubMode = calDisp[1];
    
    p3.calLoad(p3.calMonth, p3.calYear);       
      
  });
    
  var select = function(dateText) {              
    var d = dateText.split("/"); 
    var index = parseInt(d[1]);
    if(p3.calData[index] && p3.calData[index] != "") {
      if(p3.calMode != "ferme") {
        popupcalendrier(d[1],d[0],d[2],p3.calMode,langId,p3.calSubMode);
      }
    }                                
  };
  
  var cdmy = function(cyear, cmonth, inst) {                
    if(cmonth != (p3.calMonth) || cyear != p3.calYear) {                                        
      p3.calMonth = cmonth;
      p3.calYear = cyear;      
      p3.calLoad(cmonth, cyear);                                       
    }        
  }
  
  var bfd = function(date) {
  var obj = new Array();        
  obj[0] = true;     
  obj[2] = "";
  
  if((date.getMonth()+1) == p3.calMonth) {          
    var ev = p3.calData[date.getDate()];  
      
    if(ev && ev != "" && ev != "undefined") {      
      if(ev == p3.calSubMode || p3.calSubMode == 0) {          
          if(p3.calMode == "ferme") {
            obj[1] = "calClosed";
          }
          else if(p3.calMode == "cours") {
            obj[1] = "calCourse";
          }
          else {
            obj[1] = "calDark";
          }                
      }
      else {
        obj[1] = "calLight";              
      }      
    }                                
  }                 
  return obj;
};     
      
  if(document.getElementById("cal") != null) {
    $("#cal").datepicker({  
     beforeShowDay: bfd,       
     onSelect: select,
     onChangeMonthYear: cdmy  
    });
    $("#cal").datepicker('option', 'changeMonth', true);
    $("#cal").datepicker('option', 'changeYear', true);
    p3.calLoad();  
  }   
  
   
});


function gotoLanguage(lang) {
  var newUri = uri.replace("/" +curlang+ "/","/"+lang+"/");
  location.href=newUri;
}

function selectLanguage() {
  if(document.lang) {
    var sel = document.lang.langue;
    for(var i = 0 ; i < sel.options.length; i++) {
      if(sel.options[i].value == curlang) {
        sel.selectedIndex = i;
      }
    } 
  }
}   

function affcours(astrcour) {
	opener.location.href = astrcour;
	window.close();
}

function popupcoursecalculator(aintcours,aintlangue) {
	var fen1 = window.open("/coursecalculator.php?cours=" + aintcours + "&langue=" + aintlangue,"coursecalculator","menubar=no,width=850,height=600,toolbar=no,scrollbars=no,resizable=yes");
	if(fen1)
    fen1.focus();	
}

function popupcalendrier(aintjour,aintmois,aintannee,astrmode,aintlangue,ainttheme) {
	var url = "/popup_calendrier.php?day=" + aintjour + "&month=" + aintmois + "&year=" + aintannee + "&mode=" + astrmode + "&langue=" + aintlangue + "&theme=" + ainttheme;   
  var fen1 = window.open(url, "calinfo", "menubar=no,width=500,height=400,toolbar=no,scrollbars=yes,resizable=yes");
	 
  if(fen1)
    fen1.focus();
}

function loadGallery(id) { 
  $("#gallery").fadeOut("fast"); 
  $.get("?album=" + id, function(data){
    $("#gallery").html(data);
    	$('#gallery a').lightBox({imageLoading: '/res/img/lightbox-ico-loading.gif',
      	imageBtnClose: '/res/img/lightbox-btn-close.gif',
      	imageBtnPrev: '/res/img/lightbox-btn-prev.gif',
      	imageBtnNext: '/res/img/lightbox-btn-next.gif'}
      );
    $("#gallery").fadeIn("fast");
  });

}

function clearTxt(field){
	if (field.defaultValue == field.value) {
		field.value = "";
	}
    else if (field.value == "") {
 		field.value = field.defaultValue;
    }	
}
	
var p3 = {
  props: {
    ajxUrl:"/ajxcalendrier.php",
    next5Url:"/next5.php"
  },
  calData:{},
  calMode:"activites",
  monthNames:[],
  calSubMode:0,
  calMonth:(new Date().getMonth()+1),
  calYear: new Date().getFullYear(),
  calSelLabels:new Array(),
  inFlight: false,
  calLoad: function (month, year) {            
    
    if(!month || month == "undefined")
      p3.calMonth = (new Date().getMonth()+1);
    else
      p3.calMonth = month;
    if(!year || year == "undefined")
      p3.calYear = new Date().getFullYear();
    else
      p3.calYear = year;
        
    
    var params = "?mois=" + p3.calMonth + "&annee="+p3.calYear + "&mode=" + p3.calMode + "&langue=" + langId + "&filtretheme="+p3.calSubMode;   
    var fullUrl = p3.props.ajxUrl + params;        
       
    if(!p3.inFlight) {
      p3.inFlight = true;
      $.get(fullUrl, function(data){     
              
        p3.calData = new Array();        
                
        var counter = 1;      
        $("date", data).each(function(i) {
            var day = $(this).find("jour").text();
            var event = $(this).find("evenement").text();                     
            p3.calData[counter] = event;
            counter ++;
        });
        
        counter = 0;
        $("mois", data).each(function(i) {
            var monthName = $(this).find("nom").text();                                 
            if(monthName.length > 0) {
              p3.monthNames[counter] = monthName;
              counter ++;
            }
        });       
        // clunky setup for labels for select box to handle languages
       
        p3.calSelLabels[0] = $("cours", data).text();
        p3.calSelLabels[1] = $("activites", data).text();
        counter = 2;
        $("theme", data).each(function(i) {
            var theme = $(this).find("nom").text();                                 
            p3.calSelLabels[counter] = p3.calSelLabels[1] + " : " + theme;
            counter ++;
        });       
        p3.calSelLabels[5] = $("ferme", data).text();        
                  
        p3.calSetData();     
      });
    }
  },
  
  calSetData: function() {                
    if(p3.calSelLabels.length > 0) {
        var optlist = $("#calview").find("option");                    
        for(var i = 0 ; i < optlist.length; i++) {          
          $(optlist[i]).html(p3.calSelLabels[i]);
        }
    }
               
    if(p3.monthNames.length > 0) {       
      //var month = parseInt($(".ui-datepicker-month option:selected").val());
      //console.debug("month : " + month);
      
      //var myDate=new Date();
      //myDate.setFullYear(p3.calYear,p3.calMonth-1,1);
      //console.debug(myDate);
      //$("#cal").datepicker( 'setDate' , myDate );
      //$("#cal").datepicker("option", "monthNamesShort", p3.monthNames );            
      
    }
    
    $("#cal").datepicker("refresh");    
        
    p3.calNext5();             
    p3.inFlight = false;
    
    
    $(".ui-datepicker-calendar a").mouseover(function() {          
          var day = $(this).text();
          if(day < 10)
            day = "0" + day;
          var month = parseInt($(".ui-datepicker-month option:selected").val()) + 1;
          if(month < 10)
            month = "0" + month;
          var year = $(".ui-datepicker-year option:selected").val();
          var modeSelect = $("#calview option:selected").val().split(":");
          var mode = modeSelect[0];
          var submode = modeSelect[1];
          
          if($(this).parent().hasClass("calDark") || $(this).parent().hasClass("calLight"))  {
          
            var url = "/popup_calendrier_short.php?day=" + day + "&month=" + month + "&year=" + year + "&mode=" + mode + "&langue=" + langId + "&theme=" + submode;
            var curelem = this;
            $.get(url, function(data) {          
                $(curelem).attr("title", $(data).find("h3").text());                      
              });                    
            }
          }
      );  
      
  },
  calNext5: function() {
    var uri = this.props.next5Url + "?month=" + p3.calMonth + "&year="+p3.calYear + "&mode=" + p3.calMode + "&lang=" + langId + "&langstr=" + curlang + "&theme="+p3.calSubMode;
    $.get(uri, function(data){ 
      if($(".calevts")) {
        $(".calevts").html(data);
      }
    });
  }
}; 
  