function $(idTag){
	return document.getElementById(idTag);	
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|s)" + className + "(s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i ];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

/*
 *	Change font size
 */
var changeFontSize = {
	currentSetp 	: 0,
	maxSize 		: 2,
	minSize 		: -1,
	addSize			: 2,
	
	globalCont		: 'div_PageContent',
	
	classAtt		: new Array(
						  'titlehighlighted','content','button','signup',
						  'articleheader','contentlast','title','path',
						  'TitleRed','TitleOrange','TitleBlue','TitlePurple',
						  'TitleDGreen','DateBlue','legend','orangeBG','MoreLink',
						  'SignUp'
					  ),
		
	tags 			: new Array(
					  	  'h1','h2','h3','h4','h5','h6','li','p'
					  ),
	_changeFontSize : function(changeType){
		globalElem = $(this.globalCont);
		if(changeType == '+'){
			if(this.currentSetp < this.maxSize){
				// Arr Class 
				for (i=0; i<=this.classAtt.length-1; i++) {
					var elem = getElementsByClassName(this.classAtt[i],'','');
					this._fontSizeProcess(elem,'+');
				}
				// Arr Tags
				for (i=0; i<=this.tags.length-1; i++) {
					try{
						var elem = globalElem.getElementsByTagName(this.tags[i]);
						this._fontSizeProcess(elem,'+');
					}catch(e){
					}
				}
				this.currentSetp++;
			}
		}else{
			if(this.currentSetp > this.minSize){
				// Arr Class
				for (i=0; i<=this.classAtt.length-1; i++) {
					var elem = getElementsByClassName(this.classAtt[i],'','');
					this._fontSizeProcess(elem,'-');
				}
				// Arr Tags
				for (i=0; i<=this.tags.length-1; i++) {
					try{
						var elem = globalElem.getElementsByTagName(this.tags[i]);
						this._fontSizeProcess(elem,'-');
					}catch(e){
					}
				}
				this.currentSetp--;
			}
		}

	},
	_fontSizeProcess : function (elem,changeType){
		for (e=0; e<=elem.length; e++){
			try{
				var currentFS = this._getCurrentFS(elem[e]);				
				if(changeType == '+'){
					var elementSize = currentFS + this.addSize;
				}else{
					var elementSize = currentFS - this.addSize;
				}
				elem[e].style.fontSize = elementSize + "px";
			}catch(e){
			}
		}
	},
	_getCurrentFS : function(elem){
		if (elem.currentStyle){
			var currentFS = parseInt(elem.currentStyle.fontSize.replace("px",""));
		}else if(window.getComputedStyle){
			var currentFS = parseInt(document.defaultView.getComputedStyle(elem,null).getPropertyValue("font-size").replace("px",""));
		}
		return currentFS;
	}
}