// 1.0.6b-annualextra
// Changelog:
// - 1.0.6: Total price decimal typo.
// - 1.0.5: Removed "Total:" from price output
// - 1.0.4: Added currency formatting.
// - 1.0.3: Added Application_Type hider; added hidden totalprice field support.
// - 1.0.2: Updated for main.js 1.0.8 validator changes; required now _required; unhides now _unhides.


var siteLib = {
	clickedlink: false,
	subclickedlink: false,
	akord: false,
	akordPrev: false,
	newsElems: new Array(),
	newsList: 0,
	newsPause: 0,
	newsPos: 0,
	newsHeight: 0,
	stretchHeight: 0,

	pageLoaded: function () {
		if ($('nav-top'))
			$('nav-top').getElements('li[id^=topnav]').each(sgLib.navHandler);

		var newsScroller = $('news-ticker');
		if (newsScroller) {
			siteLib.stretchHeight = newsScroller.offsetHeight;
			var tmpFunc = (function() {
				var contentHeight = $('content').offsetHeight - 28;
				if (siteLib.stretchHeight < contentHeight-5 || siteLib.stretchHeight > contentHeight+5) {
					if (siteLib.stretchHeight == 292 && contentHeight <= 292)
						return;
					else if (contentHeight < 292)
						contentHeight = 292;
					var tickUL = $('news-ticker');
					newsScroller.setStyle('height', (contentHeight-4)+'px');
					siteLib.stretchHeight = contentHeight;

					var j = 0, k = 0;
					var totalHeight = 0;
					siteLib.newsElems = new Array();
					siteLib.newsElems[0] = new Array();
					tickUL.getChildren().each(function(el){
						if (k > 0 && totalHeight + el.offsetHeight > siteLib.stretchHeight) {
							j++;
							k = 0;
							totalHeight = 0;
							siteLib.newsElems[j] = new Array();
						}
						siteLib.newsElems[j][k] = new Fx.Style(el, 'opacity', {wait:false, duration:400});
						if (j == 0)
							siteLib.newsElems[j][k].set(1);
						else
							siteLib.newsElems[j][k].set(0);
						el.style.top=totalHeight+'px';
						el.style.position='absolute';
						totalHeight += el.offsetHeight;
						k++;
					});
				}
			});
			tmpFunc();
			tmpFunc.periodical(1000);
			newsScroller.addEvent('mouseenter', function() {siteLib.newsPause=true;});
			newsScroller.addEvent('mouseleave', function() {siteLib.newsPause=(new Date()).getTime()+5000;});
			(function() {
				if (siteLib.newsPause == true || siteLib.newsElems.length <= 1 || (new Date()).getTime() <= siteLib.newsPause)
					return;
				for (var j = 0; siteLib.newsElems[siteLib.newsList][j]; j++) {
					siteLib.newsElems[siteLib.newsList][j].start(0);
				}
				siteLib.newsList = (siteLib.newsList+1 == siteLib.newsElems.length) ? 0 : siteLib.newsList+1;
				for (var j = 0; siteLib.newsElems[siteLib.newsList][j]; j++) {
					siteLib.newsElems[siteLib.newsList][j].start(1);
				}
			}).periodical(8000);
		}

		if ($('content') && $('content').hasClass('akordion')) {
			var starterDisplay = false;
			var urlFragment = document.location.hash ? (document.location.hash.charAt(0) == '#' ? document.location.hash.substring(1) : document.location.hash) : '';
			var headerLinkArray = new Array(), paragraphWrapArray = new Array();
			$('content').getElements('div[class^=post]').each(function(el){
				var akordNode, akordNext = el.getFirst();
				var akordLink = new Element('span', {'class':'more'}), akordWrap = new Element('div', {'class':'akordionWrapper'});
				var headerLink = false, paragraphWrap = false;
				akordLink.appendText('[show]');
				while (akordNode = akordNext) {
					akordNext = akordNode.getNext();
					if (akordNode.hasClass('title')) {
						if (headerLink && paragraphWrap) {
							headerLink.title = 'Toggle link';
							(akordLink.clone(true)).injectTop(headerLink);
							headerLinkArray.push(headerLink);
							if (urlFragment && urlFragment == headerLink.id)
								starterDisplay = headerLinkArray.length-1;
							paragraphWrapArray.push(paragraphWrap);
							paragraphWrap = false;
						}
						headerLink = akordNode.getFirst();
					} else if (!(/(date|metadata)/i).test(akordNode.className) || akordNode.getTag().charAt(0) != 'h') {
						if (headerLink) {
							if (!paragraphWrap) {
								paragraphWrap = akordWrap.clone(false);
								paragraphWrap.injectBefore(akordNode);
								paragraphWrap = $(paragraphWrap);
							}
							paragraphWrap.appendChild(akordNode);
						}
					}
				}
				if (headerLink && paragraphWrap) {
					headerLink.title = 'Toggle link';
					(akordLink.clone(true)).injectTop(headerLink);
					headerLinkArray.push(headerLink);
					if (urlFragment && urlFragment == headerLink.id)
						starterDisplay = headerLinkArray.length-1;
					paragraphWrapArray.push(paragraphWrap);
					paragraphWrap = false;
				}
			});
			siteLib.akord = new Fx.akordion(headerLinkArray, paragraphWrapArray, {duration:1000,transition:Fx.Transitions.Quart.easeInOut, display:starterDisplay, opacity:false, alwaysHide:true, onStart:function(){
				if (siteLib.akordPrev != false) {
					if (this.to[siteLib.akordPrev].height > 0 && this.togglers[siteLib.akordPrev].getFirst().getText() == '[show]')
						this.togglers[siteLib.akordPrev].getFirst().setText('[hide]');
					else if (this.to[siteLib.akordPrev].height == 0)
						this.togglers[siteLib.akordPrev].getFirst().setText('[show]');
				}
				siteLib.akordPrev = this.previous;
				if (this.to[this.previous].height > 0 && this.togglers[this.previous].getFirst().getText() == '[show]')
					this.togglers[this.previous].getFirst().setText('[hide]');
				else if (this.to[this.previous].height == 0)
					this.togglers[this.previous].getFirst().setText('[show]');
			}});
			for (var m=0; headerLinkArray[m]; m++) { headerLinkArray[m].href='javascript:void(0);'; headerLinkArray[m].onclick = function(){return false;}; }
		}

		formValidator.load();
		siteLib.navLeft();
		imgFader.init();
	},

	navLeft: function() {
		if ($('nav-left')) {
			$('nav-left').className = 'js';
			var children = $('nav-left').childNodes;
			var openers = [], expanders = [], startopen = -1, startslide = -1;
			var i = 0, j = 0, k = 0, childUL, childHREF;
			var subopeners = [], subopenercount = 0;
			for (i=0; children[i]; i++) {
				if (children[i].nodeName == 'LI') {
					childUL = false;
					childHREF = false;
					for (k=0; children[i].childNodes[k]; k++) {
						if (children[i].childNodes[k].nodeName == 'A')
							childHREF = children[i].childNodes[k];
						else if (children[i].childNodes[k].nodeName == 'DIV' || children[i].childNodes[k].nodeName == 'UL')
							childUL = children[i].childNodes[k];
					}
					if (!childHREF || !childUL)
						continue;
					j++;

					if (childHREF.className.match(/down/) || children[i].className.match(/down/)) {
						if (childUL.innerHTML.match(/class=.{0,1}[a-zA-Z0-9_\- ]*active[a-zA-Z0-9_\- ]*.{0,1}/))
							startopen = j-1;
						else
							startslide = j-1;
						siteLib.clickedlink = childUL;
					}
					if (!children[i].className.match(/link/)) {
						childHREF.onclick = function(){siteLib.clickedlink = this.getNext();
							if (this.href != '#' && this.href != 'javascript:void(0);' || this.getNext().style.visibility == 'visible') { this.removeEvents('click'); return true; } else return false;
						};
						//childHREF.href = "javascript:void(0);";
					}
					openers.push(childHREF);
					expanders.push(childUL);

					var schildren = childUL.childNodes;
					var sopeners = [], sexpanders = [], sstartopen = -1, sstartslide = -1;
					var si = 0, sj = 0, sk = 0, schildUL, schildHREF;
					for (si=0; schildren[si]; si++) {
						if (schildren[si].nodeName == 'LI') {
							schildUL = false;
							schildHREF = false;
							for (sk=0; schildren[si].childNodes[sk]; sk++) {
								if (schildren[si].childNodes[sk].nodeName == 'A')
									schildHREF = schildren[si].childNodes[sk];
								else if (schildren[si].childNodes[sk].nodeName == 'DIV' || schildren[si].childNodes[sk].nodeName == 'UL')
									schildUL = schildren[si].childNodes[sk];
							}
							if (!schildHREF || !schildUL)
								continue;
							sj++;

							if (schildren[si].className.match(/down/)) {
								if (schildUL.innerHTML.match(/class=.{0,1}[a-zA-Z0-9_\- ]*active[a-zA-Z0-9_\- ]*.{0,1}/))
									sstartopen = sj-1;
								else
									sstartslide = sj-1;
								siteLib.subclickedlink = schildUL;
							} else {
								if (schildUL.innerHTML.match(/class=.{0,1}[a-zA-Z0-9_\- ]*active[a-zA-Z0-9_\- ]*.{0,1}/i)) {
									sstartopen = sj-1;
									siteLib.subclickedlink = schildUL;
								} else if (schildHREF.className.match(/down/)) {
									sstartslide = sj-1;
									siteLib.subclickedlink = schildUL;
								}
							}
							if (!schildren[si].className.match(/link/)) {
								schildHREF.onclick = function(){siteLib.subclickedlink = this.getNext();
									if (this.href != '#' && this.href != 'javascript:void(0);' || this.getNext().style.visibility == 'visible') { this.removeEvents('click'); return true; } else return false;
								};
								//childHREF.href = "javascript:void(0);";
							}
							sopeners.push(schildHREF);
							sexpanders.push(schildUL);
						}
					}
					subopeners[subopenercount] = [];
					subopeners[subopenercount][0] = sopeners;
					subopeners[subopenercount][1] = sexpanders;
					subopeners[subopenercount][2] = sstartopen;
					subopeners[subopenercount][3] = sstartslide;
					subopenercount++;
				}
			}
			for (var x = 0; subopeners[x]; x++) {
				if (subopeners[x][0].length) {
					if (subopeners[x][3] >= 0)
						new Fx.akordion(subopeners[x][0], subopeners[x][1], {display:subopeners[x][3], onComplete: function(){if (siteLib.subclickedlink.style.visibility == 'visible') siteLib.subclickedlink.style.height = 'auto'; $('foot').setStyle('top', '1px'); $('foot').setStyle('top', '0');}});
					else
						new Fx.akordion(subopeners[x][0], subopeners[x][1], {show:subopeners[x][2], onComplete: function(){if (siteLib.subclickedlink.style.visibility == 'visible') siteLib.subclickedlink.style.height = 'auto'; $('foot').setStyle('top', '1px'); $('foot').setStyle('top', '0');}});
				}
			}
			if (openers.length) {
				if (startslide >= 0)
					new Fx.akordion(openers, expanders, {display:startslide, alwaysHide:true, onComplete: function(){if (siteLib.clickedlink.style.visibility == 'visible') { siteLib.clickedlink.style.height = 'auto'; } $('foot').setStyle('top', '1px'); $('foot').setStyle('top', '0');}});
				else
					new Fx.akordion(openers, expanders, {show:startopen, alwaysHide:true, onComplete: function(){if (siteLib.clickedlink.style.visibility == 'visible') { siteLib.clickedlink.style.height = 'auto'; } $('foot').setStyle('top', '1px'); $('foot').setStyle('top', '0');}});
			}
		}
	}
};

var imgFader = {
	fadeDelay: 6000,
	fadeSpeed: 1500,
	img1: false,
	img2: false,
	imgWrap: false,
	list: new Array(),
	status: 0x00,
	imgWrapFx: false,
	img1Fx: false,
	img2Fx: false,
	curImg: -1,
	height: true,

	init: function() {
		imgFader.img1 = $('big-box');
		if (imgFader.img1 && imgFader.img1.alt) {
			var biggerbox      = new Element('div', {'id': 'bigger-box'});
			imgFader.imgWrap   = new Element('div', {'id': 'big-box', 'styles': {'position':'relative'}});
			imgFader.imgWrapFx = new Fx.Style(imgFader.imgWrap, 'height', {duration:imgFader.fadeSpeed/2});
			imgFader.img2      = imgFader.img1.clone(true);
			imgFader.img1Fx    = new Fx.Style(imgFader.img1, 'opacity', {duration:imgFader.fadeSpeed});
			imgFader.img1Fx.set(1);
			imgFader.img2Fx    = new Fx.Style(imgFader.img2, 'opacity', {duration:imgFader.fadeSpeed});
			imgFader.img2Fx.set(0);
			imgFader.img2.id = 'img-box2';
			imgFader.img1.id = 'img-box1';
			biggerbox.injectBefore(imgFader.img1);
			biggerbox.adopt(imgFader.imgWrap);
			imgFader.imgWrap.adopt(imgFader.img1);
			imgFader.imgWrap.adopt(imgFader.img2);

			var loadfunc = function() {
				(new XHR({method: 'get', onSuccess: imgFader.start}).send(''+imgFader.img1.alt+'.xml', '')).setHeader('Last-Modified','Sun, 1 Apr 1990 00:00:00 GMT');
			};
			if (!imgFader.img1.complete) 
				imgFader.img1.onload = loadfunc;
			else
				loadfunc();
		}
	},
	
	start: function(responseText, responseXML) {
		var randomimg = false;
		for (var i = 0; i < responseXML.childNodes.length; i++) {
			if (responseXML.childNodes[i].nodeName == 'images') {
				randomimg = responseXML.childNodes[i].getAttribute('order') == 'random' ? true : false;
				var borderimg = responseXML.childNodes[i].getAttribute('overlay');
				if (borderimg) {
					var borderoverlay = imgFader.imgWrap.adopt(new Element('div', {'id': 'big-border'}));
					borderoverlay.setStyle('background', ''+borderimg);
				}
				var fadeDel = parseInt(responseXML.childNodes[i].getAttribute('delay'));
				if (fadeDel > 1)
					imgFader.fadeDelay = fadeDel;
				if (responseXML.childNodes[i].getAttribute('height') == 'false')
					imgFader.height = false;
				else {
					(function(){ if (imgFader.img1.complete) imgFader.imgWrapFx.start(imgFader.img1.height); }).delay(100);
				}

				for (var j = 0; j < responseXML.childNodes[i].childNodes.length; j++) {
					if (responseXML.childNodes[i].childNodes[j].nodeName == 'img') {
						imgFader.list.push(responseXML.childNodes[i].childNodes[j]);
					}
				}
				break;
			}
		}
		if (imgFader.list.length <= 1)
			return;
		if (randomimg)
			imgFader.list.sort(function (){return (Math.round(Math.random())-0.5);});
		imgFader.img2.style.zIndex = 1;
		imgFader.img1.style.zIndex = 2;
		if (imgFader.list[0].getAttribute('src') == imgFader.img1.src)
			imgFader.curImg = 0;
		imgFader.loadNext();
		imgFader.fadeNext.delay(imgFader.fadeDelay);
	},

	loadNext: function() {
		imgFader.status = (imgFader.status & ~0x4) | 0x2;
		if (++imgFader.curImg >= imgFader.list.length)
			imgFader.curImg = 0;
		if (imgFader.status & 0x8) { // displaying img 2 [1xxx]
				imgFader.img1.style.zIndex = 1;
				imgFader.img2.style.zIndex = 2;
			imgFader.img1.alt = imgFader.list[imgFader.curImg].getAttribute('alt');
			imgFader.img1.src = imgFader.list[imgFader.curImg].getAttribute('src');
		} else { // displaying img 1 [0xxx]
				imgFader.img2.style.zIndex = 1;
				imgFader.img1.style.zIndex = 2;
			imgFader.img2.alt = imgFader.list[imgFader.curImg].getAttribute('alt');
			imgFader.img2.src = imgFader.list[imgFader.curImg].getAttribute('src');
		}
	},

	fadeNext: function() {
		if (imgFader.status & 0x8) { // displaying img 2 [1xxx]
			if (imgFader.img1.complete)
				imgFader.status = (imgFader.status & ~0x2) | 0x4;
			if (imgFader.status & 0x4) { // img loaded [x1xx]
				if (imgFader.height)
					(function(){ imgFader.imgWrapFx.stop(); imgFader.imgWrapFx.start(imgFader.img1.height); }).delay(imgFader.fadeSpeed/2);
				imgFader.img1.style.zIndex = 1;
				imgFader.img2.style.zIndex = 2;
				imgFader.img1Fx.stop();
				imgFader.img1Fx.start(1);
				imgFader.img2Fx.stop();
				imgFader.img2Fx.start(0);
				imgFader.loadNext();
				imgFader.status = imgFader.status & ~0xE;
				imgFader.fadeNext.delay(imgFader.fadeDelay);
			}
		} else { // displaying img 1 [0xxx]
			if (imgFader.img2.complete)
				imgFader.status = (imgFader.status & ~0x2) | 0x4;
			if (imgFader.status & 0x4) { // img loaded [x1xx]
				if (imgFader.height)
					(function(){ imgFader.imgWrapFx.stop(); imgFader.imgWrapFx.start(imgFader.img2.height); }).delay(imgFader.fadeSpeed/2);
				imgFader.img2.style.zIndex = 1;
				imgFader.img1.style.zIndex = 2;
				imgFader.img2Fx.stop();
				imgFader.img2Fx.start(1);
				imgFader.img1Fx.stop();
				imgFader.img1Fx.start(0);
				imgFader.loadNext();
				imgFader.status = (imgFader.status & ~0x6) | 0x8;
				imgFader.fadeNext.delay(imgFader.fadeDelay);
			}
		}
	}
};

var regForm = {
	form: false,
	regtype: false,
	loader: false,
	pricingArray: new Object(),
	hiderList: new Object(),
	load: function() {
		regForm.form = $('regform');
		if (regForm.form) {
				regForm.form.getElements('input').each(function(el){
					if (regForm.form['ccNumber'] && regForm.form['ccNumber'] == el) {
						regForm.form['ccNumber'].onchange = function() {
							if (!this.value.length) return;
							var cardtype = '';
							switch (this.value.charAt(0)) {
								case '3':
									if (this.value.charAt(1) == '4' || this.value.charAt(1) == '7')
										cardtype = 'Amex';
									else if (this.value.charAt(1) == '0' || this.value.charAt(1) == '6' || this.value.charAt(1) == '8')
										cardtype = 'Diners';
									else if (this.value.charAt(1) == '5')
										cardtype = 'JCB';
									break;
								case '4':
									cardtype = 'Visa';
									break;
								case '5': // 51-55 = MC, but 55 is also Diners (coop with MC)
									if (parseInt(this.value.charAt(1)) > 0 && parseInt(this.value.charAt(1)) < 6)
										cardtype = 'Mastercard';
									break;
								case '6':
									if (this.value.substring(0,4) == '6011' || this.value.charAt(1) == '5')
										cardtype = 'Discover';
									break;
							}
							$('ccNumbertype').value = cardtype;
						};
						((regForm.form['ccNumber'].onchange).bind(regForm.form['ccNumber']))();
					}
					var unhiderr = el.className.match(/_unhides_([a-zA-Z0-9_\-\.]*)/i);
					if (unhiderr) {
						if (!regForm.hiderList[unhiderr])
							regForm.hiderList[unhiderr] = [el.id];
						else
							regForm.hiderList[unhiderr].push(el.id);
						el.addEvent('click', function() {
							var unhider = this.className.match(/_unhides_([a-zA-Z0-9_\-\.]*)/i);
							if (unhider && !this.checked) {
								var isit = false;
								for (var m=0; m< regForm.hiderList[unhider].length; m++) {
									if ($(regForm.hiderList[unhider][m]).checked) {
										isit = true;
										break;
									}
								}
								if (!isit)
									$(unhider[1]).style.display = 'none';
							} else if (unhider) {
								$(unhider[1]).style.display = '';
							}
						});
						if (unhiderr && !this.checked) {
							var isit = false;
							for (var m=0; m<regForm.hiderList[unhiderr].length; m++) {
								if ($(regForm.hiderList[unhiderr][m]).checked) {
									isit = true;
									break;
								}
							}
							if (!isit)
							$(unhiderr[1]).style.display = 'none';
						} else if (unhiderr) {
							$(unhiderr[1]).style.display = '';
						}
					}
					if (el.name == 'golf_tournament_a' || el.name == 'tennis_tournament_a' || el.name == 'desert_jeep_a' || el.name == 'shopping_a' || el.name == 'golf_tournament_s' || el.name == 'tennis_tournament_s' || el.name == 'desert_jeep_s' || el.name == 'shopping_s')
						el.addEvent('click', function(){
							var disablearray = new Array();
							switch (this.name) {
								case 'golf_tournament_a':
									disablearray = new Array('tennis_tournament_a', 'desert_jeep_a', 'shopping_a');
								break;
								case 'tennis_tournament_a':
									disablearray = new Array('golf_tournament_a', 'desert_jeep_a', 'shopping_a');
								break;
								case 'desert_jeep_a':
									disablearray = new Array('golf_tournament_a', 'tennis_tournament_a', 'shopping_a');
								break;
								case 'shopping_a':
									disablearray = new Array('golf_tournament_a', 'tennis_tournament_a', 'desert_jeep_a');
								break;
								case 'golf_tournament_s':
									disablearray = new Array('tennis_tournament_s', 'desert_jeep_s', 'shopping_s');
								break;
								case 'tennis_tournament_s':
									disablearray = new Array('golf_tournament_s', 'desert_jeep_s', 'shopping_s');
								break;
								case 'desert_jeep_s':
									disablearray = new Array('golf_tournament_s', 'tennis_tournament_s', 'shopping_s');
								break;
								case 'shopping_s':
									disablearray = new Array('golf_tournament_s', 'tennis_tournament_s', 'desert_jeep_s');
								break;
							}
							if (this.checked) {
								disablearray.each(function(eid) {
									eid = $(eid);
									eid.checked = false;
									eid.disabled = true;
								});
							} else {
								disablearray.each(function(eid) {
									$(eid).disabled = false;
								});
							}
						});
					if (el.name == 'registration') {
						if (!regForm.regoneFx)
							regForm.regoneFx = new Fx.Style('one_day_reg', 'opacity', {wait:false, duration: 800});
						el.addEvent('click', function(){

							var oldregSelect = regForm.regoneSelected;
							regForm.regoneSelected = (/(\-one)|(one\-day)/i).test(el.value);
							if (oldregSelect == regForm.regoneSelected)
								return;
							else if (regForm.regoneSelected) {
								$('one_day_reg').getChildren().each(function(subel){
									var subtag = subel.getTag();
									if (subtag == 'input' || subtag == 'select' || subtag == 'textarea') {
										subel.addClass('_required');
										subel.disabled = false;
									}
								});
								regForm.regoneFx.start(1.0);
							}
							else {
								$('one_day_reg').getChildren().each(function(subel){
									var subtag = subel.getTag();
									if (subtag == 'input' || subtag == 'select' || subtag == 'textarea') {
										subel.removeClass('_required');
										subel.disabled = true;
									}
								});
								regForm.regoneFx.start(0.4);
							}
						});
						el.fireEvent('click');
					} else if (el.name == 'Application_Type' && $('millions')) {
						el.addEvent('click', function(){
							if (this.value == '9999' && this.checked) {
								$('millions').setStyle('display', 'block');
								$('paymentinfo').setStyle('display', 'none');
								$('paymentinfo').getElements('').each(function(subel, i){
									var subtag = subel.getTag();
									if (subtag == 'input' || subtag == 'select' || subtag == 'textarea') {
										subel.disabled = true;
									}
								});
							} else {
								$('millions').setStyle('display', 'none');
								$('paymentinfo').setStyle('display', 'block');
								$('paymentinfo').getElements('').each(function(subel, i){
									var subtag = subel.getTag();
									if (subtag == 'input' || subtag == 'select' || subtag == 'textarea') {
										subel.disabled = false;
									}
								});
							}
						});
						if (el.value == '9999')
							el.fireEvent('click');
					} else if (el.name == 'Provider_Type') {
						if (!regForm.providerFx1)
							regForm.providerFx1 = new Fx.Style('consultingtable', 'opacity', {wait:false, duration: 800});
						if (!regForm.providerFx2)
							regForm.providerFx2 = new Fx.Style('Provider_Other_Text', 'opacity', {wait:false, duration: 800});
						el.addEvent('click', function(){
							if (this.value == 'Consulting' && this.checked) {
								$('Provider_Other_Text').disabled = true;
								$('consultingtable').getElements('').each(function(subel, i){
									var subtag = subel.getTag();
									if (subtag == 'input' || subtag == 'select' || subtag == 'textarea') {
										if (subel.name == 'Consulting_Other_Text')
											subel.disabled = regForm.consultingOther ? false : true;
										else
											subel.disabled = false;
									}
								});
								regForm.providerFx1.stop();
								regForm.providerFx1.start(1.0);
								regForm.providerFx2.stop();
								regForm.providerFx2.start(0.4);
							} else if (this.value == 'Other' && this.checked) {
								$('Provider_Other_Text').disabled = false;
								$('consultingtable').getElements('').each(function(subel){
									var subtag = subel.getTag();
									if (subtag == 'input' || subtag == 'select' || subtag == 'textarea') {
										subel.disabled = true;
									}
								});
								regForm.providerFx1.stop();
								regForm.providerFx1.start(0.4);
								regForm.providerFx2.stop();
								regForm.providerFx2.start(1.0);
							} else {
								$('Provider_Other_Text').disabled = true;
								$('consultingtable').getElements('').each(function(subel){
									var subtag = subel.getTag();
									if (subtag == 'input' || subtag == 'select' || subtag == 'textarea') {
										subel.disabled = true;
									}
								});
								regForm.providerFx1.stop();
								regForm.providerFx1.start(0.4);
								regForm.providerFx2.stop();
								regForm.providerFx2.start(0.4);
							}
						});
						if (el.value == 'Consulting' || el.value == 'Other')
							el.fireEvent('click');
					} else if (el.name == 'Consulting') {
						if (!regForm.consultingFx)
							regForm.consultingFx = new Fx.Style('Consulting_Other_Text', 'opacity', {wait:false, duration: 800});
						if (typeof regForm.consultingOther == 'undefined')
							regForm.consultingOther = false;
						el.addEvent('click', function(){
							if (this.value == 'Other' && this.checked) {
								regForm.consultingOther = true;
								$('Consulting_Other_Text').disabled = false;
								regForm.consultingFx.stop();
								regForm.consultingFx.start(1.0);
							} else {
								regForm.consultingOther = false;
								$('Consulting_Other_Text').disabled = true;
								regForm.consultingFx.stop();
								regForm.consultingFx.start(0.4);
							}
						});
						if (el.value == 'Other')
							el.fireEvent('click');
					}
				});
/*
				if ($('pricing')) {
					regForm.pricingArray = Json.evaluate($('pricing').getText());
					var curFunc = function() {
							var totalPrice = 0;
							for (var elemID in regForm.pricingArray) {
								if (regForm.form[elemID].checked || regForm.form[elemID].selected)
									totalPrice += regForm.pricingArray[elemID];
							}
							var finalPrice  = Math.round(totalPrice*Math.pow(10,2))/Math.pow(10,2);
							var formatPrice = (finalPrice+'').split('.');
							var rgx = /(\d+)(\d{3})/;
							while (rgx.test(formatPrice[0])) {
								formatPrice[0]= formatPrice[0].replace(rgx, '$1' + ',' + '$2');
							}
							$('total').setText('$'+(formatPrice[1]?formatPrice[0]+'.'+formatPrice[1]:formatPrice[0]));
							if ($('totalprice'))
								$('totalprice').value = finalPrice;
					};
					var emptyReg = true;
					for (var stuffID in regForm.pricingArray) {
						emptyReg = false;
						regForm.form[stuffID].addEvent('click', curFunc);
					}
			
					if (!emptyReg) curFunc();
				}
*/
		}

		formValidator.extraValidation = function(i, secondaryReq) {
			if (this.elements[i].name == 'ccType') {
				for(var j=0; this.elements[i].options[j]; j++) {
					$(this.elements[i].options[j]);
					if (this.elements[i].options[j].selected && this.elements[i].options[j].value != $('ccNumbertype').value)
						return 'The selected card type does not match your credit card number.';
				}
			} else if (this.elements[i].name == 'ccNumber') {
				((this.elements[i].onchange).bind(this.elements[i]))();
			} else if (this.elements[i].id == 'i_Title') {
				if (this.elements[i].value.split(' ').length > 10) {
					return 'Your panel title length should be of 10 words or less.';
				}
			} else if (this.elements[i].id == 'i_Description') {
				var wordcount = this.elements[i].value.replace(/\n/g, ' ').split(' ').length;
				if (wordcount < 100) {
					return 'Your description should be at least 100 words.';
				}
				else if (wordcount > 350) {
					return 'Your description should be at most 350 words.';
				}
			}
			return '';
		};
	}
};

siteLib.pageLoaded();
regForm.load();
