var larg = screen.width;
var haut = screen.height;
function cacheTout(){
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
}

function montre(id,widthdiv) {
	deroulerMenu(id,widthdiv);
}

function deroulerMenu(id,widthdiv){
	cacheTout();
	if(widthdiv==""){
	}else{
		$("#"+id).css({width: widthdiv+'px'});
	}
	$("#"+id).slideDown("fast");
}

$("body").click(
function(){	cacheTout();}
);

function createRequestObject(){
	var http;
	if(window.XMLHttpRequest)
	{
		http = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
		{
			http = new ActiveXObject("MSXML2.ServerXMLHTTP");
		}
		return http;
	}

	function dump(arr,level) {
		var dumped_text = "";
		if(!level) level = 0;

		//The padding given at the beginning of the line.
		var level_padding = "";
		for(var j=0;j<level+1;j++) level_padding += "    ";

		if(typeof(arr) == 'object') { //Array/Hashes/Objects
			for(var item in arr) {
				var value = arr[item];

				if(typeof(value) == 'object') { //If it is an array,
					dumped_text += level_padding + "'" + item + "' ...\n";
					dumped_text += dump(value,level+1);
				} else {
					dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
				}
			}
		} else { //Stings/Chars/Numbers etc.
			dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
		}
		return dumped_text;
	}

	function AjaxRequest(urlToCheck, spanId, isFormElement)
	{
		if(!(isFormElement)){
			document.getElementById(spanId).innerHTML = '<i>Chargement...</i>';
		}
		http = createRequestObject();
		http.open('get', urlToCheck, true);

		http.onreadystatechange = function test0() {
			if(http.readyState == 4)
			{
				if(http.status == 200)
				{
					if(isFormElement){
						document.getElementById(spanId).value = http.responseText;
					}else{
						document.getElementById(spanId).innerHTML = http.responseText;
					}
				}
				else
					{
						if(isFormElement){
							document.getElementById(spanId).value = "?";
						}else{
							document.getElementById(spanId).innerHTML = "?";
						}
					}
				}
			}
			http.send(null);
		}
		function saveHours(objHours){
			AjaxRequest("./getDate.php5?setHours="+objHours.value,'studentsLoaded',false);
		}
		function saveMinutes(objMinutes){
			AjaxRequest("./getDate.php5?setMinutes="+objMinutes.value,'studentsLoaded',false);
		}
		function loadStudentForCourses(objCourse){
			AjaxRequest("./getUsersForCourse.php5?courseID="+objCourse.value,'studentsLoaded',false);
		}
		function getGroups(objUser){
			AjaxRequest("./getGroupsForUser.php5?userID="+objUser.value,'ajaxGetGroups',false);
		}
		function getCourses(objUser,showAllField,idName,showAllIfBlank){
			AjaxRequest("./generateCoursesListForGroup.php5?userID="+objUser.value+"&showAllField="+showAllField+"&idName="+idName+"&showAllIfBlank="+showAllIfBlank,'coursesList',false);
		}
		function getCities(objCity){
			AjaxRequest("./getCitiesForCode.php5?cp="+objCity.value,'ajaxGetCities',false);
		}
		function getDateAndHours(idElementToComplete){
			AjaxRequest("./getDate.php5",idElementToComplete,true);
		}
		function checkJustifications(formElement, idElementToComplete){

		}

		function showModalMessage(titleMessage, message){
			$("#ErrorDialog").html("<br/><br/>"+message+"<br/><br/><br/>");
			$("#ErrorDialog").dialog({ modal: true,overlay:{opacity:0.5,background: "black"}, title: titleMessage, width: 350, draggable: false, resizable: false});
			$("#ErrorDialog").dialog('open');
		}

		function showErrorMessage(message){
			showModalMessage('Erreur',message);
		}

		function showInformationMessage(message){
			showModalMessage('Informations',message);
		}

		function GereChkbox(conteneur, a_faire) {
			var blnEtat=null;
			var Chckbox = document.getElementById(conteneur).firstChild;
			while (Chckbox!=null) {
				if (Chckbox.nodeName=="INPUT")
				if (Chckbox.getAttribute("type")=="checkbox") {
					blnEtat = (a_faire=='0') ? false : (a_faire=='1') ? true : (document.getElementById(Chckbox.getAttribute("id")).checked) ? false : true;
					document.getElementById(Chckbox.getAttribute("id")).checked=blnEtat;
				}
				Chckbox = Chckbox.nextSibling;
			}
		}

		(function($) {
			//Définition du plugin
			$.fn.imgDropDown = function(options) {

				// définition des paramètres par défaut
				var defaults = {
					title: "",
					callback: null
				};
				// mélange des paramètres fournis et par défaut
				var opts = $.extend(defaults, options);

				// création d'une liste
				function createList(f){
					// créer la première zone, affichant l'option sélectionnée
					var cell = $("<div class='dropdownCell'>" + opts.title + "</div>");

					// créer la seconde zone, affichant toutes les options
					var dropdown = $("<div class='dropdownPanel'></div>");

					$(this).find("li").each(function(){
						dropdown.append($("<div class='dropdownOpt'></div")
						.click(onSelect)
						.attr("value", $(this).attr("value"))
						.append($(this).html())
						.hover(function(){$(this).addClass("dropdownOptSelected");},
						function(){$(this).removeClass("dropdownOptSelected");})
						);
					});

					// on masque la zone déroulante
					dropdown.hide();
					$("body").click(
					function(){	dropdown.hide();}
					);

					$.data(cell, "visible", false);

					// on remplace la balise ul par notre liste personnalisée
					$(this).after(dropdown);
					$(this).after(cell);
					$(this).remove();

					// on positionne l'évènement de déroulage de la liste
					cell.hover(function(){
						// si la liste est déroulée
						if ($.data(cell, "visible")){
							dropdown.slideUp("fast");
							$.data(cell, "visible", false);
						}else{
							dropdown.slideDown("fast");
							$.data(cell, "visible", true);
						}
					});

					// fonction appelée à chaque sélection d'un élément
					function onSelect(){
						//cell.html($(this).html());
						//cell.attr("value", $(this).attr("value"));
						dropdown.slideUp("fast");

						$.data(cell, "visible", false);

						// appel d'une fonction personnalisée
						if (opts.callback)
						opts.callback($(this));
					}
				}

				// création d'une liste déroulante personnalisée pour tous les éléments de l'objet jQuery
				$(this).each(createList);

				// interface fluide
				return $(this);
			};
		})(jQuery);

		$(function(){
			$("ul.menuList").imgDropDown({title:""});
		});

