var max = 2;
var min = -1;
var sizeClicks = 0;
var fontSizes;
var fontType;
var incDecBy;

function increaseDecreaseFont(size){

	switch(size)
	{
	    case "increase":
		    if(sizeClicks < max){
			changeFontSize(size);
	
			sizeClicks++;
		    }
		break;

	    case "decrease":
		    if(sizeClicks > min){
			changeFontSize(size);

			sizeClicks--;
		    }
		break;
	}
    }


    function resetFont(){
  
	 if(sizeClicks < 0){
	    while(sizeClicks < 0){
		increaseDecreaseFont('increase');
	    }
	}else{
	    while(sizeClicks > 0){
		increaseDecreaseFont('decrease');
	    }
	}
	sizeClicks = 0;
    }

    function changeFontSize(size){

	var container = document.getElementById('wrapper');

	if (container.currentStyle){
		    fontSizes = container.currentStyle["fontSize"];
		}
		else if (window.getComputedStyle){
		    fontSizes = document.defaultView.getComputedStyle(container,null);
		    fontSizes = fontSizes.getPropertyValue("font-size");
		}

		// used to find(ems,pixels,points,percent) and set type to fontType
		fontType = fontSizes.replace(/\d/g,"");
		fontType = fontType.replace(/\.\.*/, "");

		var outSwitch = 0;
		var formatedFontSize = "";

		for(chars=0;chars<fontSizes.length; chars++){

		    if(fontSizes.charAt(chars) == "."){
			outSwitch = 1;
		    }else{
			formatedFontSize = formatedFontSize + fontSizes.charAt(chars);
		    }

		    if(outSwitch){
			break;
		    }
		}

		fontSizes = eval(formatedFontSize.replace(/\D/g,""));
		
		if(fontType == '%'){
		    incDecBy = 10;
		}else{
		    incDecBy = 2;
		}

		switch(size)
		{
		    case "increase":
			fontSizes = fontSizes+incDecBy;
			break;

		    case "decrease":
			fontSizes = fontSizes-incDecBy;
			break;
		}
		

		if(navigator.appName == "Opera"){
			fontType = "px";
		}

	    cssString = "font-size:" + fontSizes + fontType + ";";

	container.style.cssText = cssString;

    }