// function needs inArray extend prototype in scripts.js

// get nodes by tagName in a another node
function getTags(container, tags) {
	try {
		var objs = _(container).getElementsByTagName(tags);
		return objs;
	} catch(e) {
	//	alert(e);
	}
}

// pour changer la taille du texte
var globalCurrentSize;
var listZoomableTags = 'content_1/content_2/content_3/content_4';
function zoomText() {
	var fonts = [null, 'small', 'medium', 'large', 'x-large', 'xx-large'];
	var exceptCss = ['nozoom'];
	var exceptTags = ['input', 'select', 'option', 'textarea', 'h2', 'h3'];
	globalCurrentSize == 'undefined' ? globalCurrentSize = 0 : false;
	var currentSize = navigator.cookieEnabled ? getCookie('textSize') : globalCurrentSize;
	currentSize == null ? currentSize = 0 : false;
	if(zoomText.arguments[1] === true) {
		currentSize < 5 ? currentSize++ : false;
	} else if(zoomText.arguments[1] === false) {
//		currentSize > 0 ? currentSize-- : false;
		if(currentSize > 0) {
			currentSize--;
		} else {
			zoomText.arguments[1] == false;
			location.reload(true);
		}
	} 
	try {
		var reg = new RegExp("[/]", "g");
		var vars = zoomText.arguments[0].split(reg);
		for( var i=0; i < vars.length; i++) {
			if(_(vars[i]) != null) {
				var allDom = getTags(vars[i], '*');
				for( var j in allDom) {
					if(typeof(allDom[j]) == 'object' && !exceptTags.inArray(allDom[j].nodeName.toLowerCase()) && allDom[j].nodeName!= '#text') {
						if( !exceptCss.inArray(allDom[j].className.toLowerCase()) ) {
							_(allDom[j]).style.fontSize = fonts[currentSize];
						}
					}
				}
			}
		}
		navigator.cookieEnabled ? setCookie('textSize', currentSize, null, '/') : globalCurrentSize = currentSize;
	} catch(error) {
	//	alert (error); // provoque alert avec IE
	}
}
function initZoomText() {
	zoomText(listZoomableTags);
}
addEvenement( w, 'load', initZoomText);

