//////////////////////////////////////////////////////////////////////////////
// PROTOTYPE
//////////////////////////////////////////////////////////////////////////////

// Fire when the dom is loaded : before images
document.observe("dom:loaded", function() {

	// Masquer toutes les aides de formulaire
	$$("span.help").invoke("hide");

	// Masquer les blocks d'informations
	if($('block_2')) $('block_2').hide().removeClassName("hidden");

	// Alternate colors on rows of files
	var aDiv = $$("div.mem_file");
	var i = 0;
	aDiv.each(function(oItem) {
		// Choice of the className
		//oItem.addClassName((i%2==0 ? "trPair" : "trImpair"));
		/*
		// Add the doubleclick functionnality in order to modify the data
		oItem.ondblclick = function(){
			oItem.descendants().each(function(oChild) {
				if(oChild.tagName == "A" && oChild.rel == "update") document.location.href = oChild.href;
			});
		};
		*/

		// Add the click functionnality in order to select / deselect the data
		oItem.onclick = function(){
			oItem.descendants().each(function(oChild) {
				if(oChild.tagName == "INPUT" && oChild.type == "checkbox"){
					oChild.checked = !oChild.checked;
					if(oChild.checked) oItem.addClassName("mem_file_selected").bSelected = true;
					else oItem.removeClassName("mem_file_selected").bSelected = false;
				}
			});

		};

		// Manage the click functionnality
		oItem.descendants().each(function(oChild) {
			// on checkboxes in order to select / deselect the data
			if(oChild.tagName == "INPUT" && oChild.type == "checkbox" && oChild.name == "aFileToSend[]"){
				oChild.onclick = function(event){
					if(!event) event = window.event;
					var target = event.target || event.srcElement;
					// Stop Bubbling
					if (event.stopPropagation) event.stopPropagation();
					event.cancelBubble = true;
					if(this.checked) oItem.addClassName("mem_file_selected").bSelected = true;
					else oItem.removeClassName("mem_file_selected").bSelected = false;
				};
				oChild.ondblclick = function(event){
					if(!event) event = window.event;
					// Stop Bubbling
					if (event.stopPropagation) event.stopPropagation();
					event.cancelBubble = true;
				};
			}
			// on links in order to access the target
			if(oChild.tagName == "A"){
				var tmpOnClick		 = oChild.onclick;
				var tmpOnDblClick	 = oChild.ondblclick;
				oChild.onclick = function(event){
					if(!event) event = window.event;
					var target = (event.target ? event.target : event.srcElement);
					// Stop Bubbling
					if (event.stopPropagation) event.stopPropagation();
					event.cancelBubble = true;
					if(tmpOnClick) tmpOnClick();
				};
				oChild.ondblclick = function(event){
					if(!event) event = window.event;
					// Stop Bubbling
					if (event.stopPropagation) event.stopPropagation();
					event.cancelBubble = true;
					// Prevent click action
					//if (event.preventDefault) event.preventDefault();
					//event.returnValue = false;
					if(tmpOnDblClick) tmpOnDblClick();
				};
			}
		});

		// Add a className when mouseover event fire
		oItem.onmouseover	 = function(){
			if(this.bSelected != true) this.addClassName("mem_file_hover");
			else this.removeClassName("mem_file_selected").addClassName("mem_file_hover");
		};
		// Remove a className when mouseout event fire
		oItem.onmouseout	 = function(){
			if(this.bSelected != true) this.removeClassName("mem_file_hover");
			else this.addClassName("mem_file_selected").removeClassName("mem_file_hover");
		};
		// Change the mouse cursor in pointer
		oItem.addClassName("pointer");
		i++;
	});

});
