function trim(el) {
	return el.replace(/^\s+/g,'').replace(/\s+$/g,'')
}

function get(id) {
	return document.getElementById(id);
}

function getElementsByClassName(searchClass, node, tag){
	if(!document.all) {
		if(node) {
			 return node.getElementsByClassName(searchClass);
		} else {
			return document.getElementsByClassName(searchClass);
		}
	} else {
		var classElements = new Array();
		if ( node == null )
			node = document;
		if ( tag == null )
			tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
		var i, j;
		for (i = 0, j = 0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
	}
}

function hasClassName(element, classname) {
	var elementClassName = element.className;
	return (elementClassName && (elementClassName.length > 0 && (elementClassName == classname ||
			new RegExp("(^|\\s)" + classname + "(\\s|$)").test(elementClassName))));
}

function addClassName(element, classname) {
	if (!hasClassName(element, classname))
		element.className += (element.className ? ' ' : '') + classname;
	return element;
}

function removeClassName(element, classname) {
	element.className = element.className.replace(
			new RegExp("(^|\\s+)" + classname + "(\\s+|$)"), ' ');
	return element;
}

function check_is_int(number) {
	if (number != parseInt(number)) {
		return false;
	}
	return true;
}

function positionPopup(object, width) {
	var offsetY = 0;
	var offsetX = 0;
	if (document.body && document.body.clientHeight) { // Safari & IE
		offsetY = document.body.scrollTop;
	}
	if (document.documentElement && document.documentElement.clientHeight) { // FF
		offsetY = Math.max(offsetY, document.documentElement.scrollTop);
	}
	if (document.body && document.body.clientWidth) { // Safari & IE
		offsetX = (document.body.clientWidth - width) / 2;
	}
	if (document.documentElement && document.documentElement.clientWidth) { // FF
		offsetX = (document.documentElement.clientWidth - width) / 2;
	}
	object.style.left = offsetX + 'px';
	object.style.top =  (offsetY + 30) + 'px';
}

function HTMLEncode(wText){
	if (typeof(wText) != "string") {
		wText = wText.toString();
	}
	wText = wText.replace(/&/g, "&amp;");
	wText = wText.replace(/"/g, "&#034;");
	wText = wText.replace(/</g, "&lt;");
	wText = wText.replace(/>/g, "&gt;");
	wText = wText.replace(/\(/g, "&#40;");
	wText = wText.replace(/\)/g, "&#41;");
	wText = wText.replace(/\//g, "&frasl;");
	wText = wText.replace(/\\/g, "&#92;");
	wText = wText.replace(/'/g, "&#146;");

	return wText;
}

function HTMLDecode(wText){
	if (typeof(wText) != "string") {
		wText = wText.toString();
	}
	wText = wText.replace(/&amp;/g, "&");
	wText = wText.replace(/&#034;/g, '"');
	wText = wText.replace(/&#039;/g, '\'');
	wText = wText.replace(/&lt;/g, "<");
	wText = wText.replace(/&gt;/g, ">");

	wText = wText.replace(/&quot;/g, '"');
	wText = wText.replace(/&#146;/g, "'");
	return wText;
}

function checkForm(oForm) {
    var valid = true;
    var aListElem = getElementsByClassName('mandatory', oForm);
    var nNbElem = aListElem.length;
    for (var n = 0; n < nNbElem; n ++) {
        var label = get(aListElem[n].id + '_label');
        var message = get(aListElem[n].id + '_message');
        if (!aListElem[n].value && hasClassName(aListElem[n], 'mandatory')) {
            addClassName(aListElem[n], 'error_mandatory');
            addClassName(label, 'error_mandatory');
            message.innerHTML = 'Vous devez indiquer une adresse mail !'
            message.style.visibility = 'visible';
            valid = false;
        } else if (aListElem[n].value && hasClassName(aListElem[n], 'email') && !checkEmail(aListElem[n].value)) {
            addClassName(aListElem[n], 'error_mandatory');
            addClassName(label, 'error_mandatory');
            message.innerHTML = 'Vous devez indiquer une adresse mail valide !'
            message.style.visibility = 'visible';
            valid = false;
        } else {
            removeClassName(aListElem[n], 'error_mandatory');
            removeClassName(label, 'error_mandatory');
            message.style.visibility = 'hidden';
        }
    }
    return valid;
}

function checkEmail(value) {
    var Reg= /([a-z0-9]+([-_]?[a-z0-9]+)*.)*[a-z0-9]+([-_]?[a-z0-9]+)*@([a-z0-9]+([-_]?[a-z0-9]+)*.)+[a-z]{2,4}/gi;
    if(value.match(Reg) != value) {
        return false;
    }
    return true;
}

function montre(id) {
    var d = document.getElementById(id);
    for (var i = 1; i <= 10; i++) {
        if (document.getElementById('smenu' + i)) {
            document.getElementById('smenu' + i).style.display = 'none';
        }
    }
    if (d) {
        d.style.display = 'block';
    }
}

