//April' 20 2010 | Revision 3.7NL

var step=0,initState=0;
var obj1,img1,obj2,img2;
var fontsizeElements=['body','p','select','input','li','h1','h2','h3','h4','h5','a', 'span', 'td', 'th', 'ul', 'strong', 'label','div','textarea'];
var inProcess=false;

function initFM(){
try {
obj1 = document.getElementById('incFontSize');
obj2 = document.getElementById('decFontSize');
} catch(err) {
return;
}

var computedFontSize;
var elemArray = new Array();
var fontSizeArray = new Array();
var lineHeightArray = new Array();
var elemArrayCnt=0;

img1 = obj1.childNodes[0];
img2 = obj2.childNodes[0];

var tempSize = getCookie("fontSize");
	if(!tempSize){
		tempSize = 0;
	}
	tempSize = parseInt(tempSize);
	if(tempSize > 0)
	{
		step = tempSize;
		for(j=0;j<fontsizeElements.length;j++) {
			p = document.getElementsByTagName(fontsizeElements[j]);
			inProcess=true;
			for(i=0;i<p.length;i++) {
			if (p[i]!='' && p[i]!=null) {
			computedFontSize = false;
				if(p[i].style.fontSize) {
					var s = parseInt(p[i].style.fontSize.replace("px",""));
					var s1 = parseInt(p[i].style.lineHeight.replace("px",""));						
				} else {

				s = getStyle(p[i],"font-size");
				if (s==-1) {
				s = 12;
				computedFontSize=false;
				} else {
				computedFontSize=true;
					try {
					s = parseInt(s.replace("px",""));
					} catch(err) {
					s = 12;
					}
				}
						s1 = getStyle(p[i],"line-height");
						if (s1==-1) {
						s1 = 16;		
						} else {
						if (s1.indexOf("px")!=-1) {
						s1 = parseInt(s1.replace("px",""));
						} else {
						s1 = 16;
						}				
						}		

				if (p[i].tagName == "H1" && computedFontSize == false)
				s = 18;

				if (p[i].tagName == "H2" && computedFontSize == false)
				s = 16;									 
				}
				
				s = s + (step*2);
					elemArray[elemArrayCnt] = p[i];
					fontSizeArray[elemArrayCnt] = s;
				
				s1 = s1 + (step*2);			
					lineHeightArray[elemArrayCnt] = s1;				
					
				elemArrayCnt++;
			}
			 }

		}
		
		for (i=0;i<elemArray.length;i++) {
		inProcess=true;
			try {
			elemArray[i].style.fontSize = fontSizeArray[i]+"px";
			} catch(err) {}
			
			try {
			elemArray[i].style.lineHeight = lineHeightArray[i]+"px";
			} catch(err) {}
		}		
	}

	if (tempSize==3) {
	img1.src = "/ecare/images/disableplus.gif";
	img1.style.cursor = "default";
			img2.src = "/ecare/images/minus.gif";
			img2.style.cursor = "pointer";	
		try {
		img1.setAttribute('alt', 'font size increase disabled');
		img1.setAttribute('title', 'Font Size Increase Disabled');
		} catch(err) {}
	} else if (tempSize==0) {
	img2.src = "/ecare/images/disable-.gif";
	img2.style.cursor = "default";
		img1.src = "/ecare/images/plus.gif";
		img1.style.cursor = "pointer";			
		try {
		img2.setAttribute('alt', 'font size decrease disabled');
		img2.setAttribute('title', 'Font Size Decrease Disabled');
		} catch(err) {}
	} else {
	img1.src = "/ecare/images/plus.gif";
	img1.style.cursor = "pointer";		
	img2.src = "/ecare/images/minus.gif";	
	img2.style.cursor = "pointer";
		try {
		img1.setAttribute('alt', 'font size increase');
		img1.setAttribute('title', 'Font Size Increase');
		img2.setAttribute('alt', 'font size decrease');		
		img2.setAttribute('title', 'Font Size Decrease');		
		} catch(err) {}
	}
inProcess=false;	
initState = 1;
}

//getting computed style
(function(){
	var dash = /-(.)/g;
	function toHump(a, b){return b.toUpperCase();};
	String.prototype.encamel = function(){return this.replace(dash, toHump);};
})();

function getStyle(el, styleprop){
var rt;
	if(window.getComputedStyle){
	document.defaultView.getComputedStyle(el, null).getPropertyValue(styleprop).indexOf("px")==-1?rt=-1:rt=document.defaultView.getComputedStyle(el, null).getPropertyValue(styleprop);		
	return rt;
	}
	else if(el.currentStyle){
	   el.currentStyle[styleprop.encamel()].indexOf("px")==-1?rt=-1:rt=el.currentStyle[styleprop.encamel()];
	   return rt;
	}
	return -1;
}

function increaseFontSize() {
if (initState==0)
return;	
var p,s,s1,computedFontSize;
var elemArray = new Array();
var fontSizeArray = new Array();
var lineHeightArray = new Array();
var elemArrayCnt=0;

	if(step<=2)
	{
	
		while(inProcess){
		}	
		step+=1;
		setCookie("fontSize",step,"","/");
		
	img1.src = "/ecare/images/plus.gif";
	img2.src = "/ecare/images/minus.gif";
	img2.style.cursor = "pointer";
	
		try {
		img1.setAttribute('alt', 'font size increase');
		img2.setAttribute('alt', 'font size decrease');
		img1.setAttribute('title', 'Font Size Increase');
		img2.setAttribute('title', 'Font Size Decrease');
		}catch (err) {}

		for(j=0;j<fontsizeElements.length;j++) {
		inProcess = true;
			p = document.getElementsByTagName(fontsizeElements[j]);
			for(i=0;i<p.length;i++) {
if (p[i]!='' && p[i]!=null) {
			s=-1;
			s1=-1;
			computedFontSize=false;
			
				if(p[i].style.fontSize) {
					p[i].style.fontSize.indexOf("px")==-1?s=-1:s=parseInt(p[i].style.fontSize.replace("px",""));
					p[i].style.lineHeight.indexOf("px")==-1?s1=-1:s1=parseInt(p[i].style.lineHeight.replace("px",""));
				} else {

				s = getStyle(p[i],"font-size");
				if (s==-1) {
				s = "12px";
				computedFontSize=false;
				} else {
				computedFontSize=true;
				}

				if (p[i].tagName == "H1" && computedFontSize == false)
				s = "18px";

				if (p[i].tagName == "H2" && computedFontSize == false)
				s = "16px";		
				
					if (s==-1) {
					s = 12;
					}
					else {
						if (s.indexOf("px")!=-1) {
						s = parseInt(s.replace("px",""));
						} else {
						s = 12;
						}
					}

					s1 = getStyle(p[i],"line-height");
				
					if (s1==-1) {
					s1 = 16;		
					} else {
						if (s1.indexOf("px")!=-1) {
						s1 = parseInt(s1.replace("px",""));
						} else {
						s1 = 16;
						}				
					}		
					
			    }
						
				if (s!=-1) {				
					s += 2;
					elemArray[elemArrayCnt] = p[i];
					fontSizeArray[elemArrayCnt] = s;
				}
				
				if (s1!=-1) {
					s1 += 2;
					lineHeightArray[elemArrayCnt] = s1;
				}
				elemArrayCnt++;									
		  	} 
			}
	  	}
		
		for (i=0;i<elemArray.length;i++) {
		inProcess = true;
			try {
			elemArray[i].style.fontSize = fontSizeArray[i]+"px";
			} catch(err) {}
			
			try {
			elemArray[i].style.lineHeight = lineHeightArray[i]+"px";
			} catch(err) {}
		}
			   			  	
	} 
	if (step==3) {
	img1.src = "/ecare/images/disableplus.gif";
	img1.style.cursor = "default";
		try {
		img1.setAttribute('alt', 'font size increase disabled');
		img1.setAttribute('title', 'Font Size Increase Disabled');
		}catch(err) {}
	}	
inProcess = false;	
}
 
function decreaseFontSize() {
if (initState==0)
return;	

var p,s,s1;

if(step > 0)
	{		
		while(inProcess){
		}	
	
	step-=1;
	setCookie("fontSize",step,"","/");
	img2.src = "/ecare/images/minus.gif";
	img1.src = "/ecare/images/plus.gif";
	img1.style.cursor = "pointer";	
		try {
		img2.setAttribute('alt', 'font size decrease');	
		img1.setAttribute('alt', 'font size increase');	
		img2.setAttribute('title', 'Font Size Decrease');	
		img1.setAttribute('title', 'Font Size Increase');			
		} catch(err) {}
	
		for(j=0;j<fontsizeElements.length;j++) {
			p = document.getElementsByTagName(fontsizeElements[j]);
			inProcess = true;
			for(i=0;i<p.length;i++) {
		if (p[i]!='' && p[i]!=null) {
			s=-1;
			s1=-1;
			
				if(p[i].style.fontSize) {
					p[i].style.fontSize.indexOf("px")==-1?s=-1:s=parseInt(p[i].style.fontSize.replace("px",""));
					p[i].style.lineHeight.indexOf("px")==-1?s1=-1:s1=parseInt(p[i].style.lineHeight.replace("px",""));
				} 
				
				if (s!=-1) {
				s -= 2;
					try {
					p[i].style.fontSize = s+"px";
					} catch(err) {}
				}
				
				if (s1!=-1) {
				s1 -= 2;	
					try {
					p[i].style.lineHeight = s1+"px"		    
					} catch(err) {}
				}

		   }
		   }
  		}		
	} 

 	if (step==0) {
	img2.src = "/ecare/images/disable-.gif";
	img2.style.cursor = "default";
		try {
		img2.setAttribute('alt', 'font size decrease disabled');
		img2.setAttribute('title', 'Font Size Decrease Disabled');
		} catch(err) {}
		
		for(j=0;j<fontsizeElements.length;j++) {
		inProcess = true;
			p = document.getElementsByTagName(fontsizeElements[j]);
			for(i=0;i<p.length;i++) {
				p[i].style.fontSize = "";
				p[i].style.lineHeight = "";
		   }
  		}	
	}
	inProcess = false;
  
}

function setCookie(name, value, expires, path, domain, secure)
{
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}


//update for combo box

function reInitFM() {
var elemArray = new Array();
var fontSizeArray = new Array();
var lineHeightArray = new Array();
var elemArrayCnt=0;
var tempSize = getCookie("fontSize");
	if(!tempSize){
		return;
	}
tempSize = parseInt(tempSize);

if(typeof(fontsizeElements)=="undefined"){ 
return;
}

if(tempSize > 0)
	{
		step = tempSize;
		for(j=0;j<fontsizeElements.length;j++) {
			p = document.getElementById("floatingColumn").getElementsByTagName(fontsizeElements[j]);			
			
			for(i=0;i<p.length;i++) {
			if (p[i]!='' && p[i]!=null) {
				if(p[i].style.fontSize) {
					var s = parseInt(p[i].style.fontSize.replace("px",""));
					var s1 = parseInt(p[i].style.lineHeight.replace("px",""));						
				} else {
					s = getStyle(p[i],"font-size");
				 if (s==-1) {
				 break;
				 } else {
						try {
						s = parseInt(s.replace("px",""));
						} catch(err) {
						break;
						}
					}
				}
			}
				
				s = s + (step*2);
				elemArray[elemArrayCnt] = p[i];
				fontSizeArray[elemArrayCnt] = s;
				elemArrayCnt++;
			}
			 }

		}
		
		for (i=0;i<elemArray.length;i++) {
			try {
			elemArray[i].style.fontSize = fontSizeArray[i]+"px";
			} catch(err) {}
		}		
	}	