// Objet Date utilisé par les différentes fonctions
var Date_Calendar = new Date();
var language = 'fr'; 
    var text = {'close': 'Fermer X',
    			'date_suffix': new Array('','er'),
                'from': 'de&nbsp;:',
                'From': 'D&egrave;s',
                'months': new Array('Janvier','F&#233;vrier','Mars','Avril','Mai','Juin','Juillet','Ao&#251;t','Septembre','Octobre','Novembre','D&#233;cembre'),
                'please_wait': 'Veuillez patientez...',
                'the': 'le',
                'to': '&#224; :',
                'until': 'Jusqu\'&agrave;',
                'weekday': new Array('Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi')};
    
function get_formatted_time(lang, time)
{
	if (lang == 'en')
	{
		return hour2(time, 'h') + ':' + minute(time) + ' ' + meridiem(time);
	}
	else
	{
		return hour2(time) + ':' + minute(time);
	}
}

function in_array(needle, haystack)
{
	var i = 0;
    
	while (i < haystack.length)
    {
    	if (haystack[i] == needle)
        {
        	return true;
        }
        
    	i++;
    }
    
    return false;
}

function hour2(time, format)
{
	if (format == null)
    {
    	format = 'H';
    }
    
	hour = time.substr(0, 2);
	
	if (format == 'h')
	{
		hour = parseInt(hour, 10);
		
		if (hour > 12)
		{
			hour -= 12;
		}
		else if (hour == 0)
		{
			hour = 12;
		}
	}
	
	return hour;
}

function minute(time)
{
	return time.substr(3, 2);
}

function meridiem(time)
{
	return (hour2(time) >= 12 ? 'pm' : 'am');
}


// 
// Fonctions AJAX
//

//Variable de l'objet de requête
var Request_Activities = null;

//Function creant l'objet de requête
function Create_Request_Activities() {

	try {
		Request_Activities = new XMLHttpRequest();
	} catch (trymicrosoft) {
		try {
			Request_Activities = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (othermicrosoft) {
			try {
				Request_Activities = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				Request_Activities = null;
			}
		}
	}
};

// Fonction qui va chercher les activites en Ajax
function Get_Activities(year,month)
{
    //On load les activités seulement si on est pas déjà en train de le faire...
    if (!document.getElementById('Calendar_Wait_Message'))
    {
        //Paramètre de date
        if (isNaN(year) || year < 1)
            year = 2012;
        if (year != null)
            Date_Calendar.setFullYear(year);
        else
            year = Date_Calendar.getFullYear();

        if (month != null)
            Date_Calendar.setMonth(month-1);
        else
            month = Date_Calendar.getMonth()+1;
        Date_Calendar.setDate(1);
        Date_Calendar.setHours(0,0,0,0);
	
        //Efface le calendrier actuel
        Erase_Calendar();
	
        //Affiche le message veuillez patienter
        Show_Wait_Message();
	
        //Cree l'objet requete s'il n'est pas déjà créé...
        
        if (Request_Activities == null) 
            Create_Request_Activities();
        //Si la création a réussie, on va chercher les données
        
        if (Request_Activities != null)
        {
            //Va chercher les données
            var url = "/calendrier_files/includes/get_month_activities.php?year="+escape(Date_Calendar.getFullYear())+"&month="+escape(Date_Calendar.getMonth()+1)+"&dummy="+new Date().getTime();
            Request_Activities.open("GET", url, true);
            Request_Activities.onreadystatechange = Request_Activities_StateChange;
            Request_Activities.send(null);
        }
        else
            //Si l'objet request est null, on desinne tout de suite le calendrier
            Draw_Calendar();
        return true;
    }
    
    return false;
}

//Fonction qui recoit les activités de la requête Ajax
function Request_Activities_StateChange() {
	// Une fois la requête complétée, on redesinne le calendrier
	if (Request_Activities.readyState==4) {		
		if (Request_Activities.status==200) {
			// Si la requête est revenue correctement, on traite les activités reçues
			Array_Month_Activities = eval('('+Request_Activities.responseText+')');
		} else {
			// Erreur
		};
		Draw_Calendar();
	};
};

//
// Fonctions de gestion des données du calendrier
//

//Objet contenant les activités du mois en cours
var Array_Month_Activities = null;

//Fonction qui retourne un array des activités d'une journée

function Get_Day_Activities(ActivitiesDate)
{	
    if (Array_Month_Activities != null)
    {
        var Array_Day_Activities = new Array();
        for(var i = 0; i < Array_Month_Activities.length; i++)
        {
            if (Array_Month_Activities[i].date == (ActivitiesDate.getFullYear()+"-"+((ActivitiesDate.getMonth()+1)<10?"0"+(ActivitiesDate.getMonth()+1):(ActivitiesDate.getMonth()+1))+"-"+((ActivitiesDate.getDate())<10?"0"+(ActivitiesDate.getDate()):(ActivitiesDate.getDate()))))
                Array_Day_Activities.push(Array_Month_Activities[i]);
        }
        return Array_Day_Activities;
    }
    else
    {
        return null;
    }
}

//
//Fonctions d'affichage generale
//

//Variables globales pour l'affichage du block
var Block_Scroll_Positions;


function Get_Window_Dimensions() {
	//Obtiens la largeur et hauteur interieur de la fenêtre selon le navigateur
	var Window_Width = 0, Window_Height = 0;
	if( typeof( window.innerWidth ) == 'number' ) { 
		//Non-IE
		Window_Width = window.innerWidth;
		Window_Height = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		Window_Width = document.documentElement.clientWidth;
		Window_Height = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		Window_Width = document.body.clientWidth;
		Window_Height = document.body.clientHeight;
	};
	return [Window_Width, Window_Height];
};

function Get_Scroll_Positions() {
	var scrOfX = 0, scrOfY = 0;
 	if( typeof( window.pageYOffset ) == 'number' ) {
    	//Netscape compliant
    	scrOfY = window.pageYOffset;
    	scrOfX = window.pageXOffset;
  	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    	//DOM compliant
    	scrOfY = document.body.scrollTop;
    	scrOfX = document.body.scrollLeft;
  	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    	//IE6 standards compliant mode
    	scrOfY = document.documentElement.scrollTop;
    	scrOfX = document.documentElement.scrollLeft;
  	}
  	return [ scrOfX, scrOfY ];
};

//
// Fonctions d'affichage du calendrier
// 

//Efface le calendrier (Les semaines du mois en cours)
function Erase_Calendar() {
	var i = 1;
	//Vide l'array des activites
	Array_Activities = null;
	while (Calendar_Week = document.getElementById("Calendar_Week"+i)) {
		Calendar_Week.parentNode.removeChild(Calendar_Week);
		i++;
	};
};

// Affiche le message "Veuillez patientez" dans le calendrier
function Show_Wait_Message() {
	//Désactive les menus déroulants pour éviter de lancer 2 requêtes en même temps
	Calendar_Select_Month = document.getElementById("Calendar_Select_Month");
	Calendar_Select_Month.disabled = true;
	Calendar_Select_Year = document.getElementById("Calendar_Select_Year");
	Calendar_Select_Year.disabled = true;
	//Cree le message
	WaitRow = CreateRow("Calendar_Wait_Message");
	WaitCell = CreateFillerCell(7);
	WaitText = document.createTextNode(text.please_wait);
	WaitCell.appendChild(WaitText);
	WaitRow.appendChild(WaitCell);
	var Calendar_Footer = document.getElementById("Calendar_Footer");
	Calendar_Footer.parentNode.insertBefore(WaitRow,Calendar_Footer);
};

// Efface le message "Veuillez patientez"
function Erase_Wait_Message() {
	//Réactive les menus déroulants 
	Calendar_Select_Month = document.getElementById("Calendar_Select_Month");
	Calendar_Select_Month.disabled = false;
	Calendar_Select_Year = document.getElementById("Calendar_Select_Year");
	Calendar_Select_Year.disabled = false;
	CalendarWait = document.getElementById('Calendar_Wait_Message');
	if (CalendarWait != null) 
		CalendarWait.parentNode.removeChild(CalendarWait);
};


//Crée une rangée dans la table
function CreateRow(RowId) {
	CurrentRow = document.createElement("TR");
	CurrentRow.setAttribute("id",RowId);
	return CurrentRow;

};

//Crée des cellules "Filler" quand le mois ne commence pas un lundi ou ne finit pas un dimanche
function CreateFillerCell(ColSpan) {
	FillerCell = document.createElement("TD");
	FillerCell.setAttribute("colSpan",ColSpan);
	FillerCell.innerHTML = "&nbsp;";
	FillerCell.className = "Calendar_filler_cell";
	return FillerCell;
};

//Crée une cellule "Filler" sans colspan quand le mois ne commence pas un lundi ou ne finit pas un dimanche
function CreateFillerDayCell() {
	FillerCell = document.createElement("TD");
	FillerCell.innerHTML = "&nbsp;";
	FillerCell.className = "Calendar_filler_day";
	return FillerCell;
};

//Crée une la cellule pour une journée

function CreateDayCell(CellDate) {
	var Array_Day_Activities = null;
	DayCell = document.createElement("TD");
	DayCell.setAttribute("id","Calendar_Day_"+(CellDate.getFullYear()+"-"+((CellDate.getMonth()+1)<10?"0"+(CellDate.getMonth()+1):(CellDate.getMonth()+1))+"-"+((CellDate.getDate())<10?"0"+(CellDate.getDate()):(CellDate.getDate()))));
	//Va chercher l'array des activités de cette journée
    
	Array_Day_Activities = Get_Day_Activities(CellDate);
    
    var nbEvenements = 0;
    var nbTypesEvenements = 0;
    var parametreDate = CellDate.getFullYear()+"-"+((CellDate.getMonth()+1)<10?"0"+(CellDate.getMonth()+1):(CellDate.getMonth()+1))+"-"+((CellDate.getDate())<10?"0"+(CellDate.getDate()):(CellDate.getDate()));
    var pourcentage = 0;
    var typesEvenements = new Array();
    
	if ((Array_Day_Activities != null) && (Array_Day_Activities.length>0))
    {
		//Il y a des activités pour cette journée, ajoute un onclick
		//DayCell.onclick=Show_Calendar_Date;
		DayCell.className = "Calendar_Day_With_Activities";
        //DayCell.style.backgroundColor = Array_Day_Activities[0].couleur;
        
        for (i = 0; i < Array_Day_Activities.length; i++)
        {
        	if (!in_array(Array_Day_Activities[i].couleur, typesEvenements))
            {
            	typesEvenements.push(Array_Day_Activities[i].couleur);
            }
        }
        
        nbTypesEvenements = typesEvenements.length;
        pourcentage = Math.floor(100 / nbTypesEvenements);
        totalPourcentage = 0;
   		//pourcentage = 100 / nbTypesEvenements;
        //pourcentage = pourcentage.toFixed(2);
    	
        // Custom content
        //var dayCellHtml = '<div class="custom_content dayCellEvents"><a href="#?custom=true&width=758&height=462" rel="prettyPhoto[custom]">';
        
        //iframe 
        var dayCellHtml = '<div class="dayCellEvents"><a rel="#overlay" href="/calendrier/events.php?date=' + parametreDate + '&lang=' + language + '" >';

        
        for (i = 0; i < nbTypesEvenements; i++)
        {
            if (i == nbTypesEvenements - 1)
            {
            	pourcentage = 100 - totalPourcentage;
            }
            
        	dayCellHtml += '<div class="dayCellColor" style="width:' + pourcentage + '%; background-color: ' + typesEvenements[i] + '"></div>';
        	
            totalPourcentage += pourcentage;
        }
        
        dayCellHtml += '<div class="dayCellDate">' + CellDate.getDate() + '</div></a></div>';
        
        DayCell.innerHTML = dayCellHtml;
	}
    else
    {
		DayCell.className = "Calendar_Day_No_Activities";
        DayCell.innerHTML = CellDate.getDate();
	}
	//DayCellText = document.createTextNode(CellDate.getDate());
	//DayCell.appendChild(DayCellText);
    
	return DayCell;
};



//Affiche le calendrier pour le mois de Date_Calendar
function Draw_Calendar() {
	//Mois actuel	
	month = Date_Calendar.getMonth();
	//Semaine actuel dans le mois
	var CurrentWeek = 1;

	//Efface le message veuillez patienter
	Erase_Wait_Message();
	
	//Affiche le calendrier

	//Obtient la table Calendrier
	var Calendar_Table = document.getElementById("Calendar_Table");
	//Obtient le bas du Calendrier
	var Calendar_Footer = document.getElementById("Calendar_Footer");

	//Filler pour début du mois
    BeginColSpan = Date_Calendar.getDay();
	if (BeginColSpan != 0) {
		//Cree le filler de début de mois
		CurrentWeekRow = CreateRow("Calendar_Week"+CurrentWeek);
        for (var i = 0; i < BeginColSpan; i++)
        {
	    	BeginFillerCell = CreateFillerDayCell();
    		CurrentWeekRow.appendChild(BeginFillerCell);
        }
	};
	while (Date_Calendar.getMonth() == (month)) {
		if (Date_Calendar.getDay() == 0) {
			//Commence une semaine
			CurrentWeekRow = CreateRow("Calendar_Week"+CurrentWeek);
		};
		DayCell = CreateDayCell(Date_Calendar);
		CurrentWeekRow.appendChild(DayCell);
		if (Date_Calendar.getDay() == 6) {
			//Fini la semaine
			Calendar_Footer.parentNode.insertBefore(CurrentWeekRow,Calendar_Footer);
			CurrentWeek++;
		};
		Date_Calendar.setDate(Date_Calendar.getDate()+1);
	};
	//Filler pour fin du mois
	EndColSpan = (7 - Date_Calendar.getDay())%7;
	if (EndColSpan > 0) {
        for (var i = 0; i < EndColSpan; i++)
        {
    		EndFillerCell = CreateFillerDayCell();
	    	CurrentWeekRow.appendChild(EndFillerCell);
        }
		Calendar_Footer.parentNode.insertBefore(CurrentWeekRow,Calendar_Footer);
	};
	
	
	
	
	$(function() {
    // Setup a basic iframe for use inside overlays.
    var theframe = $('<iframe id="ifframe" frameborder="0" scrolling="no"></iframe>');
     // Overlay
    $('a[rel]').overlay({
        mask: '#575850',
        effect: 'apple',
        onBeforeLoad: function() {
            //First get the wrap
            var wrap = this.getOverlay().find(".contentWrap");
            //Get the URL from the trigger
            var link = this.getTrigger().attr("href");
            //Add the link and style attributes to the basic iframe
            $(theframe).attr({ src: link, style: 'height:506px; width:690px; border:none; overflow:hidden;' });
            //Write the iframe into the wrap
            wrap.html(theframe);
        }
    });
});
	

};

//Affiche les activités d'une journée quand on clique sur celle-ci
function Show_Calendar_Date() {
	//Trouve la date de l'element cliqué selon l'ID de celle-ci
	ElementDate = new Date();
	ElementDate.setFullYear(this.id.substring(this.id.length-10,this.id.length-6));
	ElementDate.setMonth(this.id.substring(this.id.length-5,this.id.length-3)-1);
	ElementDate.setDate(this.id.substring(this.id.length-2,this.id.length));
	//Obtient les activités de cette date
	Array_Day_Activities = Get_Day_Activities(ElementDate);
	if (Array_Day_Activities != null) {
		//Affiche le block contenant les détails sur la journée...
		//Obtient les données sur les scrolls et les sauvegarde pour réaffichage
		Block_Scroll_Positions = Get_Scroll_Positions();
		
		//Obtient les dimensions de la fenêtre
		Window_Dimensions = Get_Window_Dimensions();

		//Affiche le block avec les données de la date
		Date_Block = document.getElementById("Calendar_Date_Block");
		if (Date_Block != null) {
			//POUR NE PAS QUE LES SELECTS APPARAISSENT PAR-DESSUS LE THICKBOX
        	Date_Block.innerHTML = '<!--[if lte IE 6]><iframe class="popup-div-ie6"></iframe><![endif]-->';
			//Date_Block.onclick=Hide_Calendar_Date;
			//Entête FERMER du block
			Block_Close_Div = document.createElement("DIV");
			Block_Close_Div.setAttribute("id","Calendar_Date_Block_Close_Header");
			Block_Close_A_Fermer = document.createElement("A");
			Block_Close_A_Fermer.appendChild(document.createTextNode(text.close));
			Block_Close_A_Fermer.onclick = Hide_Calendar_Date;
			Block_Close_Div.appendChild(Block_Close_A_Fermer);
			Date_Block.appendChild(Block_Close_Div);
			//Affiche chacune des activités du block
			for (var i = 0; Array_Day_Activities.length>i;i++) {
				//Div contenant les détails du titre et de la date activité...
				Activity_Div = document.createElement("DIV");
				Activity_Div.className = "Calendar_Date_Block_Activity";
			//Image activité...
			Block_Image_Div = document.createElement("DIV");
            Block_Image_Div.style.cssFloat = 'left';
            Block_Image_Div.style.styleFloat = 'left';
            Block_Image_Div.style.width = '204px';
            //Block_Image_Div.style.height = '107px';
			Block_Image_Div.setAttribute("id","Calendar_Image_Block_" + i);
			Block_Image_Div.innerHTML = '<img src="' + Array_Day_Activities[i]['image_med'] + '" alt=""/>';
			Activity_Div.appendChild(Block_Image_Div);
				//Div pour le titre et la date de l'activité...
				Block_Activity_Div = document.createElement("DIV");
				Block_Activity_Div.className = "Calendar_Date_Block_Activity_Title";
				if (language == 'en')
                {
                	Block_Activity_Div.innerHTML = '<span class="BoldUpper">'+Array_Day_Activities[i].titre+'</span>'+'<br/ >'+text.weekday[ElementDate.getDay()]+', '+text.months[ElementDate.getMonth()]+' '+ElementDate.getDate()+(text.date_suffix[ElementDate.getDate()]!=null?text.date_suffix[ElementDate.getDate()]:'')+' '+ElementDate.getFullYear();
                }
                else
                {
                	Block_Activity_Div.innerHTML = '<span class="BoldUpper">'+Array_Day_Activities[i].titre+'</span>'+'<br/ >'+text.weekday[ElementDate.getDay()]+', '+ text.the + ' '+ElementDate.getDate()+(text.date_suffix[ElementDate.getDate()]!=null?text.date_suffix[ElementDate.getDate()]:'')+' '+text.months[ElementDate.getMonth()]+' '+ElementDate.getFullYear();
				}
                Activity_Div.appendChild(Block_Activity_Div);
                
                Retour = document.createElement('div');
                Retour.style.clear = 'both';
                Retour.appendChild(document.createTextNode(' '));
                Activity_Div.appendChild(Retour);
                
				//Ajoute l'activité au Block
				Date_Block.appendChild(Activity_Div);
				
				//Div contenant les détails de heure
				Activity_Div = document.createElement("DIV");
				Activity_Div.className = "Calendar_Hours_Block_Activity";
				//Div pour la date de début et de fin
				Block_Activity_Div_Time = document.createElement("DIV");
				Block_Activity_Div_Time.className = "Calendar_Date_Block_Activity_Time";

                var time_content = '';
                if (Array_Day_Activities[i].heure_debut == '00:00:00' && Array_Day_Activities[i].heure_fin == '00:00:00')
                    time_content = '&nbsp;';
                else	
                    if (Array_Day_Activities[i].heure_debut == Array_Day_Activities[i].heure_fin || Array_Day_Activities[i].heure_fin == '00:00:00')
                        time_content = text.From + ' ' + get_formatted_time(language, Array_Day_Activities[i].heure_debut);
                    else
                        if (Array_Day_Activities[i].heure_debut == '00:00:00')
                            time_content = text.until + ' ' + get_formatted_time(language, Array_Day_Activities[i].heure_fin);
                        else
                            time_content = '<span class="Bold">' + text.from + '&nbsp;</span>' + get_formatted_time(language, Array_Day_Activities[i].heure_debut) + '<span class="Bold">' + "&nbsp;&nbsp;&nbsp;" + text.to + "&nbsp;" + '</span>' + get_formatted_time(language, Array_Day_Activities[i].heure_fin);

				Block_Activity_Div_Time.innerHTML = time_content;
				Activity_Div.appendChild(Block_Activity_Div_Time);		
				//Ajoute l'activité au Block
				Date_Block.appendChild(Activity_Div);
				
				//Div contenant les détails description
				Activity_Div = document.createElement("DIV");
				Activity_Div.className = "Calendar_Desc_Block_Activity";
				//Div pour la description
				Block_Activity_Div_Description = document.createElement("DIV");
				Block_Activity_Div_Description.className = "Calendar_Date_Block_Activity_Description";
				Block_Activity_Div_Description.innerHTML = Array_Day_Activities[i].description;
				Activity_Div.appendChild(Block_Activity_Div_Description);		
				//Ajoute l'activité au Block
				Date_Block.appendChild(Activity_Div);
				
			};
			//Affiche le block popup
			Date_Block.style.display = "block";
			
			//Centre le block dans la fenêtre
			//Left ((Largeur de fenêtre - Largeur du block) / 2) + Position de scroll gauche
			Date_Block.style.left = (Math.round((Window_Dimensions[0]-Date_Block.offsetWidth)/2)+Block_Scroll_Positions[0])+"px";
			//Top ((Hauteur de fenêtre - hauteur du block)/2) + Position du scroll top
			Date_Block.style.top = (Math.round((Window_Dimensions[1]-Date_Block.offsetHeight)/2)+Block_Scroll_Positions[1])+"px";
			
			//On définit l'élément body comme block
			document.body.style.display = 'block';
			
			//Affiche le block de Background		
			Block_Background = document.getElementById("Calendar_Block_Background");
			if (Block_Background != null) {
				//On affiche le fond du pop-up
				Block_Background.style.display = "block";
				Block_Background.style.top = "0px";
				Block_Background.style.left = "0px";
				Block_Background.style.width = Window_Dimensions[0]+"px";
				
				//Position, hauteur du pied
				var PosPied = document.getElementById('pied').offsetTop; 
				var HautPied = document.getElementById('pied').offsetHeight;
				
				//On définit la hauteur de fond du popup
				if( (PosPied + HautPied) > Window_Dimensions[1] ) {
					//Si le contenu de la page est plus grand que la fenetre
					Block_Background.style.height = PosPied + HautPied + 'px'; 
				} else {
					//Si le contenu de la page est plus petit que la fenetre
					Block_Background.style.height = Window_Dimensions[1] + 'px'; 
				}
			};			
		};
	};
	// Return false, pour ne pas que le navigateur ne suive le lien
	return false;
};

function Hide_Calendar_Date() {
	// Cache le block avec les données de la date
	Date_Block = document.getElementById("Calendar_Date_Block");
	if (Date_Block != null) {
		//Efface le contenu du block
		while (Date_Block.childNodes.length > 0) {
			Date_Block.removeChild(Date_Block.childNodes[0]);
		};
		//Cache le block
		Date_Block.style.display = "none";
		
	};
	//Cache le Block de background
	Block_Background = document.getElementById("Calendar_Block_Background");
	if (Block_Background != null) {
		Block_Background.style.display = "none";
	};
	
	//Rescroll à la bonne position dans la page
	window.scrollTo(Block_Scroll_Positions[0],Block_Scroll_Positions[1])
	
	//return false pour ne pas suivre les liens;
	return false;
};

function Update_UI(aYear, aMonth) {
    var monthContainer = document.getElementById('Calendar_Select_Month');
    var yearContainer = document.getElementById('Calendar_Select_Year');
    var monthContainerDisplay = document.getElementById('CalendrierMois');
    var yearContainerDisplay = document.getElementById('CalendrierAnnee');

    if (monthContainer)
        monthContainer.value = aMonth;
    if (yearContainer)
        yearContainer.value = aYear;

    if (monthContainerDisplay)
        monthContainerDisplay.innerHTML = text.months[aMonth - 1].toUpperCase();
    if (yearContainerDisplay)
        yearContainerDisplay.innerHTML = aYear;
}

function Next_Month(currYear, currMonth) {
    if (isNaN(currYear) || currYear < 1)
        currYear = 2012;
    if (isNaN(currMonth) || currMonth < 1 || currMonth > 12)
        currYear = 2;

    if (currMonth > 11)
    {
        currMonth = 1;
        ++currYear;
    }
    else
        ++currMonth;
        
    if (Get_Activities(currYear, currMonth))
        Update_UI(currYear, currMonth);
}

function Prev_Month(currYear, currMonth) {
    if (isNaN(currYear) || currYear < 1)
        currYear = 2012;
    if (isNaN(currMonth) || currMonth < 1 || currMonth > 12)
        currYear = 2;

    if (currMonth > 1)
        --currMonth;
    else
    {
        currMonth = 12;
        --currYear;
    }
        
    if (Get_Activities(currYear, currMonth))
        Update_UI(currYear, currMonth);
}

/*
$(function() {
    // Setup a basic iframe for use inside overlays.
    var theframe = $('<iframe id="ifframe" frameborder="0" scrolling="no"></iframe>');
     // Overlay
    $('a[rel]').overlay({
        mask: '#575850',
        effect: 'apple',
        onBeforeLoad: function() {
            //First get the wrap
            var wrap = this.getOverlay().find(".contentWrap");
            //Get the URL from the trigger
            var link = this.getTrigger().attr("href");
            //Add the link and style attributes to the basic iframe
            $(theframe).attr({ src: link, style: 'height:506px; width:690px; border:none; overflow:hidden;' });
            //Write the iframe into the wrap
            wrap.html(theframe);
        }
    });
});*/
