﻿var ratio=0;
var widthRatio=0;
var ptSize=1;
var arrWidth=new Array();
var arrFont=new Array();
var arrFontSizes=new Array();
var isRelease=0;
var isFont=1;
function resetFontWidth()
{
    eraseCookie("fontRatio");
    if(isFont==1)
    {
        setFontSizeParam(0);
    }
    else if(isFont==2)
    {
        setWidthSizeParam(0);
    }
//    setCoordination();
}
function decreaseFontWidth()
{
    if(isFont==1)
    {
        if(ratio==-5)return;
        decreaseFont();
    }
    else if(isFont==2)
    {
        if(widthRatio==-5)return;
        decreaseWidth()
    }
//    setCoordination();
}
function increaseFontWidth()
{
    if(isFont==1)
    {
        if(ratio==5)return;
        increaseFont();
        if(ratio==null)ratio=1;
    }
    else if(isFont==2)
    {
        if(widthRatio==5)return;
        increaseWidth()
    }
//    setCoordination();
}
function getWidth(obj)
{
    var width=obj.width;
    if(width==null)return obj.style.width;
    return width;
}
function setWidth(obj,sz)
{
    if(obj.tagName=='SCRIPT'||obj.tagName=='META'||obj.tagName=='HEAD'||obj.tagName=='NOSCRIPT'||obj.tagName=='STYLE')return true;
    if(obj.tagName!='TABLE')return;
    var width=getWidth(obj);
    if(width=='')return true;
    if(!checkArea(obj))return true;
    if(width.indexOf("%")>-1)
    {
        var perc=parseInt(width.replace(/%/gi,''));
        width=perc/100*obj.offsetWidth;
    }
    else
    {
        width=obj.offsetWidth;
    }
    var arr=new Array();
    arr[0]=obj;
    arr[1]=width;
    arrWidth[arrWidth.length]=arr;
    width=parseInt(width)+sz;
    obj.style.width=width;
    if(sz>0)
    {
        if(obj.rows[0].offsetWidth>width)return true;
    }
    if(obj.rows[0].offsetWidth-100>width)return true;
    return true;
}
function setSize(obj,sz)
{
    var text,html;
    var size=getStyle(obj,'font-size');
    var met=''
    if(size.indexOf('pt')!=-1)
    {
        met='pt'
        size=size.replace(/pt/gi,'');
        size=parseFloat(size)+sz;
    }
    else if(size.indexOf('px')!=-1)
    {
        met='px'
        size=size.replace(/px/gi,'');
        size=parseInt(size)+sz;
    }
    obj.style.fontSize=size+met;
}
function initFontSize()
{
    var obj=document.getElementsByTagName("*");
    len=obj.length;
    for(var index=0;index<len;index++)
    {  
        var tmpArray=new Array();
        tmpArray[0]=obj[index];
        tmpArray[1]=getStyle(obj[index],'font-size');
        arrFontSizes[arrFontSizes.length]=tmpArray;
    }
}
function setFontSize(obj,index,sz)
{
    var size=getStyle(obj,'font-size');
    if(size==arrFontSizes[index][1])
    {
         var tmpArray=new Array();
         tmpArray[0]=obj;
         tmpArray[1]=arrFontSizes[index][1];
         arrFont[arrFont.length]=tmpArray;
         var met=''
         if(size.indexOf('pt')!=-1)
         {
             met='pt'
             size=size.replace(/pt/gi,'');
             size=parseFloat(size)+sz;
         }
         else if(size.indexOf('px')!=-1)
         {
             met='px'
             size=size.replace(/px/gi,'');
             size=parseInt(size)+sz;
         }
         obj.style.fontSize=size+met; 
    }
}
function increaseFont()
{
    var len=arrFont.length;
    if(len>0)
    {
         for(var index=0;index<len;index++)
        {  
            setSize(arrFont[index][0],1);
        }  
    }
    else
    {
        initFontSize();
        var obj=document.getElementsByTagName("*");
        len=obj.length;
        for(var index=0;index<len;index++)
        {  
            setFontSize(obj[index],index,1);
        }
     }
    ratio++;
    setCookie("fontRatio",ratio,5);
    
}
function decreaseFont()
{
    var len=arrFont.length;
    if(len>0)
    {
         for(var index=0;index<len;index++)
        {  
            setSize(arrFont[index][0],-1);
        }  
    }
    else
    {
        initFontSize();
        var obj=document.getElementsByTagName("*");
        len=obj.length;
        for(var index=0;index<len;index++)
        {  
            setFontSize(obj[index],index,-1);
        }
     }
    ratio--;
    setCookie("fontRatio",ratio,5);
    
}

function increaseWidth()
{
    var len=arrWidth.length;
    
    if(len>0)
    {
        widthRatio++;
        for(var index=0;index<len;index++)
        {  
            var obj=arrWidth[index][0];
            var width=arrWidth[index][1];
            obj.style.width=parseInt(width)+widthRatio*100;
        }   
        setCookie("widthRatio",widthRatio,5);
        return;
    }
    var obj=document.getElementsByTagName("*");
    len=obj.length;
    for(var index=0;index<len;index++)
    {  
       setWidth(obj[index],100);
       if(arrWidth.length>0)break;
    }
    widthRatio++;
    setCookie("widthRatio",widthRatio,5);
}
function decreaseWidth()
{
   var len=0;
   var b=false;
    if(arrWidth.length>0)
    {
        len=arrWidth.length;
        for(var index=0;index<len;index++)
        {  
            var obj=arrWidth[index][0];
            var width=arrWidth[index][1];
            width=parseInt(width)+(parseInt(widthRatio)-1)*100;
            obj.style.width=width;
            if(obj.rows[0].offsetWidth-100>width)
            {
                b=true;
                break;
            }
            
        }   
    }
   
else
    {
        var obj=document.getElementsByTagName("*");
        len=obj.length;
        for(var index=0;index<len;index++)
        {  
           b=setWidth(obj[index],-100);
           if(b)break;
           if(arrWidth.length>0)break;
        }
     }   
    if(!b)
    {
        widthRatio--;
        setCookie("widthRatio",widthRatio,5);
    }

}
function getStyle(oElm, strCssRule){
    
	var y = "";
	if(document.defaultView && document.defaultView.getComputedStyle){
		y = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
	}
	else if(oElm.currentStyle){
		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
			return p1.toUpperCase();
		});
		y = oElm.currentStyle[strCssRule];
	}
	if(y==null)
	{
	    y=x.currentStyle.fontSize;
	}
	if(y==null||y=='')return '11px';
	return y;
}
function readCookie(Name) 
{
	var re=new RegExp(Name+"=[^;]+", "i");
    if (document.cookie.match(re))
    return document.cookie.match(re)[0].split("=")[1]
}
function setCookie(name, value, days)
{
    var expireDate = new Date()
    var expstring=expireDate.setDate(expireDate.getDate()+parseInt(days))
    document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
}
function eraseCookie(name)
{
    setCookie(name,"",-1);
}
function initFont()
{
  if(tmpFont=='NaN')tmpFont=0;
  if(tmpFont>5)tmpFont=5;
  if(tmpFont<-5)tmpFont=-5;
  ratio=0;
  setFontSizeParam(tmpFont);
}
function init()
{
    initFont();
    initWidth();
}
function initWidth()
{
    if(tmpWidth>5)tmpWidth=5;
    if(tmpWidth<-5)tmpWidth=-5;
   if(tmpWidth==0||tmpWidth==null)return;
     if(tmpWidth>0)
   {
        for(var i=0;i<tmpWidth;i++)
        increaseWidth();
   }
   else
   {
        tmpWidth=tmpWidth*-1;
        for(var i=0;i<tmpWidth;i++)
        decreaseWidth();
   }

}
var tmpFont=readCookie('fontRatio');
var tmpWidth=readCookie('widthRatio');
if(tmpFont==null)tmpFont=0;
if(tmpWidth==null)tmpWidth=0;
if(window.onload)
{
    window.onload=init;
}
else
{
    document.body.onload=init;
}
document.body.onmousemove=checkOut;
function imgHover(obj)
{
    obj.className='imgHover';
}
function imgDefault(obj)
{
    obj.className='imgDefault'
}
function getAbsoluteLeft(o)
{
	oLeft = o.offsetLeft            
	while(o.offsetParent!=null)
	{   
		oParent = o.offsetParent    
		oLeft += oParent.offsetLeft 
		o = oParent
	}
	return oLeft
}
function getAbsoluteTop(o) 
{
	oTop = o.offsetTop            
	while(o.offsetParent!=null) 
	{
		oParent = o.offsetParent  
		oTop += oParent.offsetTop 
		o = oParent
	}
	return oTop
}
function setFontSizeParam(val)
{
    if(val>5)val=5;
    if(val<-5)val=-5;
    var tmp=val;
    val=val-ratio;
    var len=arrFont.length;
    if(len>0)
    {
         for(var index=0;index<len;index++)
        {  
            setSize(arrFont[index][0],val);
        }  
    }
    else
    {
        initFontSize();
        var obj=document.getElementsByTagName("*");
        len=obj.length;
        for(var index=0;index<len;index++)
        {  
            setFontSize(obj[index],index,val);
        }
     }
    ratio=tmp;
    setCookie("fontRatio",ratio,5);
}
function setWidthSizeParam(val)
{
    if(val>5)val=5;
    if(val<-5)val=-5;
    tmpWidth=val-widthRatio;
    if(tmpWidth>0)
   {
        for(var i=0;i<tmpWidth;i++)
        increaseWidth();
   }
   else
   {
        tmpWidth=tmpWidth*-1;
        for(var i=0;i<tmpWidth;i++)
        decreaseWidth();
   }
}
function setCoordination()
{
    var obj1=document.getElementById("mainDiv");
    if(obj1.style.display=='none')return;
    var obj2=document.getElementById("fontImg");
    var btnShow=0;
    if(getStyle(obj2.parentNode,"display")=="none")
    {
        btnShow=1;
        obj2=document.getElementById("widthImg");
    }
    var left2=getAbsoluteLeft(obj2);
    obj3=document.getElementById("plusImg");
    var left=41,left3,left1=getAbsoluteLeft(obj3);
    var tmpLeft=0;
    while(left!=0)
    {
        left3=getAbsoluteLeft(obj3)
        left=left3-left2;
        if(tmpLeft==left)break;
        tmpLeft=left;
        left1-=left;
        obj1.style.left=left1;
     }
    
    if(isFont==1)
    {
        obj1.style.left=left1;
    }
    else
    {
        if(btnShow==1)
            obj1.style.left=left1;
        else
            obj1.style.left=left1+25;
    } 
    var top2=getAbsoluteTop(obj2);
    var top=41,top3,top1=getAbsoluteTop(obj3);
    var tmpTop=0;
    while(top!=0)
    {
        top3=getAbsoluteTop(obj3)
        top=top3-top2;
        if(tmpTop==top)break;
        tmpTop=top;
        top1-=top;
        obj1.style.top=top1;
     }
     obj1.style.top=top1+30;
}
function showTR(st)
{
    var obj1=document.getElementById("fontImg");
    var obj2=document.getElementById("widthImg");
    var obj3=document.getElementById("mainDiv");
    var obj=document.getElementById("divDisplay");
    if(st==0)
    {
        obj3.style.display="none";
        obj1.src=obj1.src.replace(/font_hover.gif/gi,"font.gif")
        obj2.src=obj2.src.replace(/width_hover.gif/gi,"width.gif")
    }
    else if(st==1)
    {
        if(ratio==null)ratio=0;
        obj3.style.display="";
        isFont=1;
        obj1.src=obj1.src.replace(/font.gif/gi,"font_hover.gif")
        obj2.src=obj2.src.replace(/width_hover.gif/gi,"width.gif")
    }
    else
    {
        obj3.style.display="";
        isFont=2;
        obj2.src=obj2.src.replace(/width.gif/gi,"width_hover.gif")
        obj1.src=obj1.src.replace(/font_hover.gif/gi,"font.gif")
    }
    setCoordination();    
}
function checkArea(obj)
{
    while(obj!=null)
    {
        if(obj.tagName=="TABLE")
        {
            if(obj.id!="tbMainSizer"&&obj.id!="tblDisplay"&&obj.id!="tblControls")
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        obj=obj.parentNode;
    }
    return false;
}
function checkOut(e)
{
    var obj;
    isRelease=0;
    if(e==null)
    {
        e=window.event;
    }
    if(e.toElement)
    {
        obj=e.toElement;
        if(obj==null)
        {
            obj=e.srcElement;
        }
    }
    else
    {
        obj=e.relatedTarget;
        if(obj==null)
        {
            obj=e.target;            
        }
    }
    if(checkArea(obj))showTR(0);
    
}
function changeImgSource(obj,type)
{
    var id=obj.id;
    id=id.replace(/img/gi,'');
    if(type==1)
    {
        var reg=id;
        var re = new RegExp(reg, "g");
        obj.src=obj.src.replace(re,id+"_hover");
    }
    else
    {
        var reg=id+"_hover"
        var re = new RegExp(reg, "g");
        obj.src=obj.src.replace(re,id);
    }
}
/*function checkImg(e,type)
{
    var objEle=document.getElementById("degreeImg");
    if(type==0)
    {
        objEle.src=objEle.src.replace(/locationselector_hover.gif/gi,"LocationSelector.gif");
        return;
    }
    
    var obj;
    isRelease=0;
    if(e==null)
    {
        e=window.event;
    }
    if(e.srcElement)
    {
        obj=e.srcElement;
    }
    else
    {
        obj=e.target;
    }
    
    if(obj.tagName=="IMG")
    {
        if(obj.id=="selectorImg")
        {
            obj=obj.parentNode;
        }
        else return;
    }
   var val=e.clientY+document.body.scrollTop-getAbsoluteTop(obj);
    if(val<23)val=23;
    if(val>135)val=135;
    val=(val-23)/11+.5;
    val=parseInt(val)
    val=-1*val+5;
    objEle.src=objEle.src.replace(/locationselector.gif/gi,"LocationSelector_hover.gif");
    objEle.style.top=parseInt(val)*-11+7;
}*/