HW.Components.ShowHide = {
	show:function(elm,t) {
		if(t == 'slide_y') {
			this.Slide.show(elm,false,true);
		}
		else if(t == 'slide_x') {
			this.Slide.show(elm,true,false);
		}
		else if(t == 'slide_xy') {
			this.Slide.show(elm,true,true);
		}
		else {
			elm.style.height = '';
			elm.style.overflow = '';
			elm.hidden = false;
		}
	},
	hide:function(elm,t) {
		if(t == 'slide_y') {
			this.Slide.hide(elm,false,true);
		}
		else if(t == 'slide_x') {
			this.Slide.hide(elm,true,false);
		}
		else if(t == 'slide_xy') {
			this.Slide.hide(elm,true,true);
		}
		else {
			elm.style.height = '0px';
			elm.style.overflow = 'hidden';
			elm.hidden = true;
		}
	},
	toggle:function(elm,t) {
		if(elm.hidden) {
			this.show(elm,t);
		}
		else {
			this.hide(elm,t);
		}
	},
	trigger:function(trigger,target,trans) {
		trigger.onclick = function() {
			HW.Components.ShowHide.toggle(target,trans);
			return false
		}
	}
}
HW.Components.ShowHide.Slide = {
	show:function(elm,x,y) {
		var h1 = y?this.getCurrentSize(elm)[1]:this.getTotalSize(elm)[1];
		var h2 = this.getTotalSize(elm)[1];
		var w1 = x?this.getCurrentSize(elm)[0]:this.getTotalSize(elm)[0];
		var w2 = this.getTotalSize(elm)[0];
		if(h1 != h2 || w1 != w2) {
			elm.style.overflow = 'hidden';
			for(var i=1;i<=10;i++) {
				(function(){
					var j=i;
					setTimeout(function(){
						elm.style.height = h1 + (j/10)*(h2-h1)+'px';
						elm.style.width = w1 + (j/10)*(w2-w1)+'px';
					},j*40);
				})()
			}
			setTimeout(function(){
				HW.Components.ShowHide.Slide.shown(elm);
			},400);
		}
	},
	hide:function(elm,x,y) {
		var h1 = this.getCurrentSize(elm)[1];
		var h2 = y?0:h1;
		var w1 = this.getCurrentSize(elm)[0];
		var w2 = x?0:w1;
		if(h1 != h2 || w1 != w2) {
			elm.style.overflow = 'hidden';
			for(var i=1;i<=10;i++) {
				(function(){
					var j=i;
					setTimeout(function(){
						elm.style.height = h1 + (j/10)*(h2-h1)+'px';
						elm.style.width = w1 + (j/10)*(w2-w1)+'px';
					},j*40);
				})()
			}
			setTimeout(function(){
				HW.Components.ShowHide.Slide.hidden(elm);
			},400);
		}
	},
	getCurrentSize:function(elm) {
		var h = elm.offsetHeight;
		var w = elm.offsetWidth;
		return [w,h];
	},
	getTotalSize:function(elm) {
		var old = {display:'',width:'',height:''};
		var tmp = {};
		for(s in old) {
			tmp[s] = elm.style[s];
			elm.style[s] = old[s];
		}
		var h = elm.offsetHeight;
		var w = elm.offsetWidth;
		for(s in tmp) {
			elm.style[s] = tmp[s];
		}
		return [w,h];
	},
	shown:function(elm) {
		elm.style.overflow = '';
		elm.style.height = '';
		elm.style.width = '';
		elm.style.padding = '';
		elm.hidden = false;
	},
	hidden:function(elm) {
		elm.hidden = true;
	}
}



function fixIE6flicker()
{
  /*fix for flickering background images in IE 6*/ 
 var m = document.uniqueID /*IE*/ 
 && document.compatMode /*>=IE6*/ 
 && !window.XMLHttpRequest /*<=IE6*/ 
 && document.execCommand ; 
 try
 { 
  if(!!m)
  { 
   m("BackgroundImageCache", false, true) /* = IE6 only */ 
  } 
 }
 catch(oh)
 {};  
}

var Page = {
	onLoad:function() {
		if ($('termsContainer')) {
			HW.Components.ShowHide.hide($('termsContainer'));
			HW.Components.ShowHide.trigger($('termsTrigger'),$('termsContainer'),'slide_y');
		}
		
	}
}

HW.Components.Core.attachEvent(window,'load',Page.onLoad);
HW.Components.Core.attachEvent(window,'load',fixIE6flicker);