//Specify affected tags. Add or remove from list:
var tgs = new Array('select', 'input', 'textarea');
var tgs1 = new Array('h1');
var tgs2 = new Array('h2');


//Specify spectrum of different font sizes:
var szs = new Array( '11px','14px','17px');
var szs1 = new Array( '19px','22px','25px');
var szs2 = new Array( '14px','17px','20px');
var startSz = 0;
var startSz1 = 0;
var startSz2 = 0;

function ts( trgt,inc ) {
	set_cookie ( 'fontsize', inc, '2099', '01', '01', '/');
	if (!document.getElementById) return
	var d = document,cEl = null,sz = startSz,i,j,cTags;
	
	sz = inc;
	if ( sz < 0 ) sz = 0;
	if ( sz > 2 ) sz = 2;
	startSz = sz;
		
	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];

	cEl.style.fontSize = szs[ sz ];

	for ( i = 0 ; i < tgs.length ; i++ ) {
		cTags = cEl.getElementsByTagName( tgs[ i ] );
		for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = szs[ sz ];
	}
}

function ts1( trgt,inc ) {
	set_cookie ( 'headersize', inc, '2099', '01', '01', '/');
	if (!document.getElementById) return
	var d = document,cEl = null,sz1 = startSz1,i,j,cTags;
	
	sz1 = inc;
	if ( sz1 < 0 ) sz1 = 0;
	if ( sz1 > 2 ) sz1 = 2;
	startSz1 = sz1;
		
	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];

	cEl.style.fontSize = szs1[ sz1 ];

	for ( i = 0 ; i < tgs1.length ; i++ ) {
		cTags = cEl.getElementsByTagName( tgs1[ i ] );
		for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = szs1[ sz1 ];
	}
}

function ts2( trgt,inc ) {
	set_cookie ( 'subheadersize', inc, '2099', '01', '01', '/');
	if (!document.getElementById) return
	var d = document,cEl = null,sz2 = startSz2,i,j,cTags;
	
	sz2 = inc;
	if ( sz2 < 0 ) sz2 = 0;
	if ( sz2 > 2 ) sz2 = 2;
	startSz2 = sz2;
		
	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];

	cEl.style.fontSize = szs2[ sz2 ];

	for ( i = 0 ; i < tgs2.length ; i++ ) {
		cTags = cEl.getElementsByTagName( tgs2[ i ] );
		for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = szs2[ sz2 ];
	}
}

function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
{
  var cookie_string = name + "=" + escape ( value );

  if ( exp_y )
  {
    var expires = new Date ( exp_y, exp_m, exp_d );
    cookie_string += "; expires=" + expires.toGMTString();
  }

  if ( path )
        cookie_string += "; path=" + escape ( path );

  if ( domain )
        cookie_string += "; domain=" + escape ( domain );
  
  if ( secure )
        cookie_string += "; secure";
  
  document.cookie = cookie_string;
}


function get_cookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}


function setSize(){
	var norm = get_cookie ( 'fontsize' );
	var header = get_cookie ( 'headersize' );
	var subheader = get_cookie ( 'subheadersize' );
	ts2('main', header);
	ts1('main', subheader);
	ts('main', norm); 
}
