function Handle() {
	var t = this;
	t.load = [];
	t.unload = [];
	t.add = function(id,v) { t[id][t[id].length] = v; }
	t.exec = function(id) { for(var i=0; i<t[id].length; i++) { eval(t[id][i]) } }
	window.onload = function() { t.exec('load'); }
	window.onunload = function() { t.exec('unload'); }
}
var handle = new Handle();

// Rollover function. Requires <name>_0 = off, <name>_1 = on, 
function swapSrc(id,s) {
	var o = document.getElementById(id);
	if(o) { o.src = o.src.replace(/_(\d)*\./,'_'+s+'.'); }
}

// 1 visible, 0 hidden,  
function showHide(id, s){
	var o = document.getElementById(id);
	o.style.display = (s) ? 'block' : 'none';
}

function alertSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement &&
      ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  window.alert( 'Width = ' + myWidth );
  window.alert( 'Height = ' + myHeight );
}

// Added top and left parms to place the window.  If absent the window will center itself.
function popUp(u,c) {
	switch(c) {
		case 0: winOpen(u,'0','','','status=0,menubar=0,resizable=1,location=0,scrollbars=0,toolbar=0','0','0'); break;
		case 1: winOpen(u,'pop',515,522,'status=0,menubar=0,resizable=1,location=0,scrollbars=1,toolbar=0','',''); break;	
		case 3: winOpen(u,'image',600,500,'status=0,menubar=0,resizable=1,location=0,scrollbars=0,toolbar=0','',''); break;	
		case 4: winOpen(u,'icon',500,390,'status=0,menubar=0,resizable=1,location=0,scrollbars=0,toolbar=0','',''); break;	
		case 5: winOpen(u,'desk',500,550,'status=0,menubar=0,resizable=1,location=0,scrollbars=0,toolbar=0','',''); break;	
		case 6: winOpen(u,'desk',500,550,'status=0,menubar=0,resizable=1,location=0,scrollbars=0,toolbar=0','',''); break;	
		case 7: winOpen(u,'desk',500,550,'status=0,menubar=0,resizable=1,location=0,scrollbars=0,toolbar=0','',''); break;	
		case 8: winOpen(u,'terms',515,522,'status=0,menubar=0,resizable=1,location=0,scrollbars=1,toolbar=0','100','100'); break;	
		default: break;
	}
}

// Pop up window function called by popUp()
function winOpen(u,n,w,h,f,t,l) {
	var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement &&
      ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
	if (w==''){ var w = screen.width-14;}
	if (h==''){ var h = screen.height-60;}
	if (t==''){ var t = (parseInt((screen.availHeight)?screen.availHeight:screen.height)-h)/2;}
	if (l==''){var l = (parseInt((screen.availWidth)?screen.availWidth:screen.width)-w)/2;};
  window[n] = window.open(u,n,'width='+w+',height='+h+',top='+t+',left='+l+',directories=0,'+f.toString());
	//setTimeout('window.'+n+'.focus()',100);
}

function OnloadLibrary(){
	var t = this;
	t.docLoaded = false;
	t.event = [];
	t.addEvent = function(str){
		t.event[t.event.length] = str;
		return t.event.length; 
	}
	t.loadEvents = function(){
		for(var i=0; i<t.event.length;i++) {
			eval(t.event[i]);
		}
		t.docLoaded = true;
	}
	window.onload = t.loadEvents;
}
var onloadLib = new OnloadLibrary();

function GetElementsClass(){
	var t = this;	
	t.byClassName = function(cls,tag,parent) {
		var d,a,e,i,c;
		d = (parent) ? parent : document;
		if(tag) {
			a = d.all && d.all.tags(tag) || d.getElementsByTagName(tag);
		} else {
			a = d.all || d.getElementsByTagName("*");
		}
		e = [];
		for(i=0,c=0; i<a.length; i++) {
			if(a[i].className == cls) {
				e[c] = a[i];
				c++;
			}
		}
		return e;
	}
	
	
		t.byClassGroup = function(cls,tag,parent) {
		var d,a,e,i,c;
		d = (parent) ? parent : document;
		if(tag) {
			a = d.all && d.all.tags(tag) || d.getElementsByTagName(tag);
		} else {
			a = d.all || d.getElementsByTagName("*");
		}
		e = [];
		for(i=0,c=0; i<a.length; i++) {
			if(a[i].className.indexOf(cls)!=-1) {
				e[c] = a[i];
				c++;
			}
		}
		return e;
	}
	
}
var getElements = new GetElementsClass();

function EasyMouseOverLibrary(){
		var t = this;
		var anchorImgSwapClass = "base-anchor-img-swap";
		var anchorImgSwapClassComplex = "base-anchor-img-swap-complex";
		var inputImgSwapClass = "base-input-img-swap";
		t.constructor = function() {
				t.setAnchorImgSwap();
				t.setAnchorImgSwapComplex();
				t.setInputImgSwap();
		}
		t.setAnchorImgSwap = function(){
				var e = getElements.byClassName(anchorImgSwapClass,"A");
				for(var i=0; i<e.length; i++) {
						var imgObj = e[i].getElementsByTagName("IMG")[0];
						if(imgObj){
								e[i].synImg = imgObj;
								var tmpI = new Image();
								tmpI.src = t.swapImage(e[i],0,0);
								e[i].onmouseover = function(){ easyMouseOver.swapImage(this,1,1) };
								e[i].onmouseout = function(){ easyMouseOver.swapImage(this,0,1) };
						}
				}
		}
		t.setAnchorImgSwapComplex = function(){
				var e = getElements.byClassGroup(anchorImgSwapClassComplex,"A");
				var uniqueClassSet = new Object();
				for(var i=0; i<e.length; i++){
						var className = e[i].className;
						if(!uniqueClassSet[className]){
								uniqueClassSet[className] = []
								uniqueClassSet[className][0] = e[i];
						}else{
								uniqueClassSet[className][uniqueClassSet[className].length] = e[i];
						}
				}
				for(var j in uniqueClassSet){
						var itemSet = uniqueClassSet[j]				
						for(var k=0; k<itemSet.length; k++){
								var imgObj = itemSet[k].getElementsByTagName("IMG")[0];
								if(imgObj){
										itemSet[k].synImg = imgObj;
										itemSet[k].itemSet = itemSet;
										var tmpI = new Image();
										tmpI.src = t.swapImage(itemSet[k],0,0);
										itemSet[k].onmouseover = function(){ 
												for(var m=0; m<this.itemSet.length; m++){
														easyMouseOver.swapImage(this.itemSet[m],1,1)
												}
										}
										itemSet[k].onmouseout = function(){ 
												for(var m=0; m<this.itemSet.length; m++){
														easyMouseOver.swapImage(this.itemSet[m],0,1)
												}
										}
								}						
						}
				}				
		}
		t.setInputImgSwap = function(){
				var e = getElements.byClassName(inputImgSwapClass,"INPUT");
				for(var i=0; i<e.length; i++) {
						var imgObj = e[i];
						if(imgObj){
								e[i].synImg = imgObj;
								var tmpI = new Image();
								tmpI.src = t.swapImage(e[i],0,0);
								e[i].onmouseover = function(){ easyMouseOver.swapImage(this,1,1) };
								e[i].onmouseout = function(){ easyMouseOver.swapImage(this,0,1) };
						}
				}				
		}
		t.swapImage = function(obj,state,swap){
				var over = "_1.";
				var out = "_0.";
				var str = obj.synImg.src;
				str = (str.indexOf(over)!=-1)?str.replace(over,out):str.replace(out,over);
				if(swap){
						if(state==1 || state==0  && obj.init){
								obj.synImg.src = str;
						}
						obj.init = true;
				}
				return str;
		}
		onloadLib.addEvent("easyMouseOver.constructor()");
}
var easyMouseOver = new EasyMouseOverLibrary();


function isLegalAge(mm,dd,yyyy,min) {
	var d = new Date(mm + "/" + dd + "/" + yyyy);
	var t = new Date();
		
	var diffYears = t.getFullYear() - d.getFullYear();
	var diffMonths = t.getMonth() - d.getMonth();
	var diffDays = t.getDate() - d.getDate();

	diff  = new Date();
	diff.setTime(Math.abs(t.getTime() - d.getTime()));
	var timediff = Math.abs(t.getTime() - d.getTime());
	var leap = Math.floor((timediff / (1000 * 60 * 60 * 24 * 365))/4);
	if (t.getFullYear() == '2004' || t.getFullYear() == '2008' || t.getFullYear() == '2012' || t.getFullYear() == '2016' || t.getFullYear() == '2020'|| t.getFullYear() == '2024'|| t.getFullYear() == '2028' || t.getFullYear() == '2032' || t.getFullYear() == '2036'|| t.getFullYear() == '2040'|| t.getFullYear() == '2044'|| t.getFullYear() == '2048'|| t.getFullYear() == '2052')
  			leap = leap + 1;
	
	var daysx = Math.ceil(timediff / (1000 * 60 * 60 * 24)) - leap;
	var yearsx = Math.ceil(daysx/365);
	return (yearsx > min)
}