//initialize variables
var xml = createXMLHttp();
var fontStep = 0;

function TreeStandardSettings()
{
	TreeIncreaseFont(-fontStep)

	SendData(0);
}

function TreeIncreaseFont(fontIncreaseBy)
{
	if (fontIncreaseBy !=0 && fontIncreaseBy != null && fontIncreaseBy != "")
	{	
		var rootElement = document.getElementById("bodyTag");
				
		if (rootElement.hasChildNodes && (-1 <= fontIncreaseBy+fontStep) && (fontIncreaseBy+fontStep <= 2))
		{	
			NodeIncreaseFont(rootElement,fontIncreaseBy);
			
			fontStep = fontStep + fontIncreaseBy;
					
		}	

		SendData(fontStep);
	}

}

function NodeIncreaseFont(objNode,fontIncreaseBy)
{
	var currObjFontSize = "";
	
	//Internet Explorer get style
	if (objNode.currentStyle)
	{
		currObjFontSize = objNode.currentStyle["fontSize"];	
	}
	
	//Mozilla get style
	if (window.getComputedStyle)
	{
		currObjFontSize = document.defaultView.getComputedStyle(objNode,null).getPropertyValue("font-size");	
	}
		

	if (currObjFontSize != "" && currObjFontSize != null)
	{	
		var unit = "";
		
		if (currObjFontSize.indexOf('px') > -1) 
		{
			var unit = "px";
			currObjFontSize = currObjFontSize.replace("px","");
		}
		
		if (currObjFontSize.indexOf('pt') > -1) 
		{
			var unit = "pt";
			currObjFontSize = currObjFontSize.replace("pt","");
		}
		
		currObjFontSize = parseInt(currObjFontSize) + fontIncreaseBy;
		
		if (currObjFontSize < 6) currObjFontSize = 6;
		
		//alert(currObjFontSize+"/"+fontIncreaseBy);
		
		objNode.style.fontSize = currObjFontSize + unit;
		
	}
	
	
	var i = 0;
	if(objNode.childNodes!=null)
	{
		try
		{
			var objNodeChilds = objNode.childNodes;
		}
		catch(e)
		{
		
		}
		
		for(i=0;i<objNodeChilds.length;i++)
		{
			if(objNodeChilds[i].childNodes!=null)
			{
				if(objNodeChilds[i].childNodes.length>0)
				{
					NodeIncreaseFont(objNodeChilds[i],fontIncreaseBy);
				}
			}
		}
	}
}

//set up XMLHttp object
function createXMLHttp() 
{
        if (typeof XMLHttpRequest != "undefined") {
            return new XMLHttpRequest();
        } else if (window.ActiveXObject) {
          var aVersions = [ "MSXML2.XMLHttp.5.0",
            "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
            "MSXML2.XMLHttp","Microsoft.XMLHttp"
          ];
    
          for (var i = 0; i < aVersions.length; i++) {
            try {
                var oXmlHttp = new ActiveXObject(aVersions[i]);
                return oXmlHttp;
            } catch (oError) {
                //Do nothing
            }
          }
        }
        throw new Error("XMLHttp object could not be created.");
}

function SendData(fontStep){
    xml.open("GET", location.href+"?fs="+fontStep, true);
    //xml.onreadystatechange=Save;
    xml.send(null);
}

function Save(){
  if(xml.readyState == 4){
    var result = xml.responseText;
    //TreeIncreaseFont(result);
  }
}

function SaveData(){
  SendData(fontStep);
}

