// JQuery
if (typeof($) != "undefined"){
	$(document).ready(function(){
		// hide all dechets on page load
		$('.treeCat').hide();
		var treeCatTitles = $('.treeCatTitle');
		if(treeCatTitles.length > 0){
			treeCatTitles.css('cursor', 'pointer');
			treeCatTitles.click(function(){
				var dechetsBox = $('#dechets-'+$(this).attr('id'));
				if(dechetsBox.length > 0){
					if(dechetsBox.css('display') == 'none'){
						$(this).css('background-position', '0px -14px');
						dechetsBox.slideDown();
					} else {
						$(this).css('background-position', '0px 2px');
						dechetsBox.slideUp();
					}
				}
			});
		}
	});
}


/* Add events on object*/
if (typeof 'addEvent' != 'function') {
	function addEvent(obj, evType, fn)
	{
		if (obj.addEventListener) {
			obj.addEventListener(evType, fn, true);
			return true;
		} else if (obj.attachEvent) {
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		} else {
			return false;
		}
		return true;
	}
}


/* ouverture de fenêtre */
function openWindow(url, name, w, h, r, s, m, left, top) {
	popupWin = window.open(url, name, 'width=' + w + ',height=' + h + ',resizable=' + r + s + ',menubar=' + m + ',left=' + left + ',top=' + top);
}
// parameters available:
//      resizable (r),  location (l), directories (d), menubar (m)
//      status (st), toolbar (t), scrollbars (s), copyhistory (c)
/* fin de : ouverture de fenêtre */



/* swap menus 
if (document.images){
	var menu1 = new Image();
	menu1.src = "/images/index/";
	var menu1_over = new Image();
	menu1_over.src = "/images/index/";
}*/

/* pour tous les swap 
attendue : nom de l image && nom de l image par defaut (qui restera OVER) */
function swapOver(imgName, defautImgName){
	if (document.images && defautImgName != imgName){
		document.images[imgIndex].src = eval(imgName + '_over.src');
	}
}
function swapOut(imgName, defautImgName){
	if (document.images && defautImgName != imgName){
		document.images[imgIndex].src = eval(imgName + '.src');
	}
}


/** 
  * Opens pop up window with term definition in french
  *
  * @param integer _id, the ID of desired glossary Term
  * @param String _lang the current language codename for interface
  */
function openGlossary(_id)
{
	//Close any opened definition window
	if (typeof(glossaire)!='undefined'){
		glossaire.close();
	}
	openWindow('/pop_definition.php?id='+_id+'&lang=fr', 'glossaire', 400, 300, 'no', 'yes', 'no', 40, 40);
}


/* //////////////////////////////////////////
FUNCTION getElementsByClassName
Examples of how to call the function:

- To get all a elements in the document with a "info-links" class:
getElementsByClassName(document, "a", "info-links");

- To get all div elements within the element named "container", with a "col" and a "left" class:
getElementsByClassName(document.getElementById("container"), "div", ["col", "left"]);
 ////////////////////////////////////////// */
function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

