var dw_fontSizerDX  =  {
	  sizeUnit:		"px"
	, defaultSize:	14
	, maxSize:		24
	, minSize:		10
	, queryName:	"dw_fsz"	// name to check query string for when passing size in URL
	, queryNum:		true		// check query string for number only (eg. index.html?18 )
	, adjustList:[]
	, setDefaults:
		function( unit, dflt, mn, mx, sels )
		{
			this.sizeUnit = unit;
			this.defaultSize = dflt;
			this.maxSize = mx;
			this.minSize = mn;
			if( sels ) this.set( dflt, mn, mx, sels );
		}
	, set:
		function( dflt, mn, mx, sels )
		{
			var ln = this.adjustList.length;
			for( var i = 0; sels[i]; i++ )
			{
				this.adjustList[ln+i] = [];
				this.adjustList[ln+i]["sel"] = sels[i];
				this.adjustList[ln+i]["dflt"] = dflt;
				this.adjustList[ln+i]["min"] = ( mn || this.minSize );
				this.adjustList[ln+i]["max"] = ( mx || this.maxSize );
				this.adjustList[ln+i]["ratio"] = this.adjustList[ln+i]["dflt"] / this.defaultSize;
			}
		}
	, init:
		function()
		{
			if( (! document.getElementById) || (! document.getElementsByTagName) || (! dw_fontSizerDX.ready) ) return;
			var size, sizerEl, i;
			size = getValueFromQueryString( this.queryName, this.queryNum );
			if( (isNaN(parseFloat(size))) || (size > this.maxSize) || (size < this.minSize) )
			{
				size = getCookie( "fontSize" );
				if( (isNaN(parseFloat(size))) || (size > this.maxSize) || (size < this.minSize) )
				{
					size = this.defaultSize;
				}
			}
			this.curSize = this.defaultSize;
			sizerEl = document.getElementById( 'sizer' );
			if( sizerEl ) sizerEl.style.display = "block";
			if( this.adjustList.length == 0 )
			{
				this.setDefaults( this.sizeUnit, this.defaultSize, this.minSize, this.maxSize, ['body','td'] );
			}
			if( size != this.defaultSize ) this.adjust( size-this.defaultSize );
		}
	, adjust:
	function( n )
		{
			if( (! this.curSize) || (! dw_fontSizerDX.ready) ) return;
			var alist, size, list, i, j;
			if( n > 0 )
			{
				if( this.curSize + n > this.maxSize ) n = this.maxSize - this.curSize;
			}
			else if( n < 0 )
			{
				if( this.curSize + n < this.minSize ) n = this.minSize - this.curSize;
			}
			if( n == 0 ) return;
			this.curSize += n;
			alist = this.adjustList;
			for( i = 0; alist[i]; i++ )
			{
				size = this.curSize * alist[i]['ratio'];
				size = Math.max( alist[i]['min'], size );
				size = Math.min( alist[i]['max'], size );
				list = dw_getElementsBySelector( alist[i]['sel'] );
				for( j = 0; list[j]; j++ )
				{
					list[j].style.fontSize = size + this.sizeUnit;
				}
			}
			setCookie( "fontSize", this.curSize, 180, "/" );
		}
	,reset:
		function()
		{
			if( (! this.curSize) || (! dw_fontSizerDX.ready) ) return;
			var alist = this.adjustList, list, i, j;
			for( i = 0; alist[i]; i++ )
			{
				list = dw_getElementsBySelector( alist[i]['sel'] );
				for( j = 0; list[j]; j++ )
				{
					list[j].style.fontSize = '';
				}
			}
			this.curSize = this.defaultSize;
			deleteCookie( "fontSize", "/" );
		}
};

function dw_getElementsBySelector( selector )
{
	if( ! document.getElementsByTagName ) return[];
	var nodeList = [document], tokens, bits, list, col, els, i, j, k;
	selector = selector.normalize();
	tokens = selector.split( ' ' );
	for( i = 0; tokens[i]; i++ )
	{
		if( tokens[i].indexOf('#') != -1 )
		{
			bits = tokens[i].split( '#' );
			var el = document.getElementById( bits[1] );
			if( ! el ) return[];
			if( bits[0] )
			{
				if( el.tagName.toLowerCase() != bits[0].toLowerCase() ) return[];
			}
			for( j = 0; nodeList[j]; j++ )
			{
				if( (nodeList[j] == document) || (dw_contained(el,nodeList[j])) )
				{
					nodeList = [el];
				}
				else
				{
					return[];
				}
			}
		}
		else if( tokens[i].indexOf('.') != -1 )
		{
			bits = tokens[i].split('.');
			col = [];
			for( j = 0; nodeList[j]; j++ )
			{
				els = dw_getElementsByClassName( bits[1], bits[0], nodeList[j] );
				for( k = 0; els[k]; k++ )
				{
					col[col.length] = els[k];
				}
			}
			nodeList = [];
			for( j = 0; col[j]; j++ )
			{
				nodeList.push( col[j] );
			}
		}
		else
		{
			els = [];
			for( j = 0; nodeList[j]; j++ )
			{
				list = nodeList[j].getElementsByTagName( tokens[i] );
				for( k = 0; list[k]; k++ )
				{
					els.push( list[k] );
				}
			}
			nodeList = els;
		}
	}
	return nodeList;
};

function dw_getElementsByClassName( sClass, sTag,oCont )
{
	var result = [], list, i;
	var re = new RegExp( "\\b"+ sClass +"\\b", "i" );
	oCont = oCont ? oCont : document;
	if( document.getElementsByTagName )
	{
		if( (! sTag) || (sTag == "*") )
		{
			list = oCont.all ? oCont.all : oCont.getElementsByTagName("*");
		}
		else
		{
			list = oCont.getElementsByTagName( sTag );
		}
		for( i = 0; list[i]; i++ )
		{
			if( re.test(list[i].className) ) result.push( list[i] );
		}
	}
	return result;
};

function getValueFromQueryString( varName, bReturn )
{
	var val = "";
	if( window.location.search )
	{
		var qStr = window.location.search.slice( 1 );
		var ar = qStr.split( "&" );
		var get = [], ar2;
		for( var i = 0; ar[i]; i++ )
		{
			if( ar[i].indexOf("=") != -1 )
			{
				ar2 = ar[i].split( "=" );
				get[ar2[0]] = ar2[1];
			}
		}
		val = get[varName];
		if( (! val) && bReturn )
		{
			val = qStr;
		}
	}
	return val;
};

function dw_contained( oNode, oCont )
{
	if( ! oNode ) return;
	while( oNode = oNode.parentNode )
	{
		if( oNode == oCont ) return( true );
	}
	return false;
};

/*-------------*/
/* main script */
/*-------------*/

if( ! Array.prototype.push )
{
	Array.prototype.push = function()
	{
		for( var i = 0; arguments[i]; i++ ) this[this.length] = arguments[i];
		return( this[this.length - 1] );
	}
};

String.prototype.normalize = function()
{
	var re = /\s\s+/g;
	return( this.trim().replace(re," ") );
};

String.prototype.trim = function()
{
	var re = /^\s+|\s+$/g;
	return( this.replace(re,"") );
};

var dw_Inf = {};

dw_Inf.fn = function( v )
{
	return( eval(v) );
};

// window.location
//dw_Inf.gw = dw_Inf.fn( "\x77\x69\x6e\x64\x6f\x77\x2e\x6c\x6f\x63\x61\x74\x69\x6f\x6e" );
dw_Inf.gw = window.location;

dw_Inf.ar = [
	  65, 32,108,105, 99,101,110,115,101, 32
	,105,115, 32,114,101,113,117,105,114,101
	,100, 32,102,111,114, 32, 97,108,108, 32
	, 98,117,116, 32,112,101,114,115,111,110
	, 97,108, 32,117,115,101, 32,111,102, 32
	,116,104,105,115, 32, 99,111,100,101, 46
	, 32, 83,101,101, 32, 84,101,114,109,115
	, 32,111,102, 32, 85,115,101, 32, 97,116
	, 32,100,121,110, 45,119,101, 98, 46, 99
	,111,109
];

dw_Inf.get = function( ar )
{
	var s = "";
	var ln = ar.length;
	for( var i = 0; i < ln; i++ )
	{
		s += String.fromCharCode( ar[i] );
	}
	return( s );
};

// dw_Inf.get(dw_Inf.ar)
//dw_Inf.mg = dw_Inf.fn( '\x64\x77\x5f\x49\x6e\x66\x2e\x67\x65\x74\x28\x64\x77\x5f\x49\x6e\x66\x2e\x61\x72\x29' );
dw_Inf.mg = dw_Inf.get(dw_Inf.ar);

// dw_Inf.gw1=dw_Inf.gw.hostname.toLowerCase()
dw_Inf.fn( '\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x31\x3d\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x2e\x68\x6f\x73\x74\x6e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b' );
//dw_Inf.gw1 = 'http://localhost/';

// dw_Inf.gw2=dw_Inf.gw.href.toLowerCase()
dw_Inf.fn( '\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x32\x3d\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x2e\x68\x72\x65\x66\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b' );
//dw_Inf.gw2 = 'http://dyn-web.com/';

dw_Inf.x0 = function()
{
	// if(!(dw_Inf.gw1==""||dw_Inf.gw1=="127.0.0.1"||dw_Inf.gw1.indexOf("localhost")!=-1||dw_Inf.gw2.indexOf("dyn-web.com")!=-1))alert(dw_Inf.mg);dw_fontSizerDX.ready=true;
	//dw_Inf.fn( '\x69\x66\x28\x21\x28\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x31\x3d\x3d\x22\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x31\x3d\x3d\x22\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x31\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x22\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x22\x29\x21\x3d\x2d\x31\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x32\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x22\x64\x79\x6e\x2d\x77\x65\x62\x2e\x63\x6f\x6d\x22\x29\x21\x3d\x2d\x31\x29\x29\x61\x6c\x65\x72\x74\x28\x64\x77\x5f\x49\x6e\x66\x2e\x6d\x67\x29\x3b\x64\x77\x5f\x66\x6f\x6e\x74\x53\x69\x7a\x65\x72\x44\x58\x2e\x72\x65\x61\x64\x79\x3d\x74\x72\x75\x65\x3b' );
	if(!(dw_Inf.gw1==""||dw_Inf.gw1=="127.0.0.1"||dw_Inf.gw1.indexOf("localhost")!=-1||dw_Inf.gw2.indexOf("dyn-web.com")!=-1))var a=1;dw_fontSizerDX.ready=true;
};
// dw_Inf.x0();
//dw_Inf.fn( '\x64\x77\x5f\x49\x6e\x66\x2e\x78\x30\x28\x29\x3b' );
dw_Inf.x0();
