//Menu Functions
var timeOut = null;
var isOn = false;
	
function show(divID) {
	if (timeOut) clearTimeout(timeOut);
	if (isOn) killAll();
	document.getElementById(divID).style.visibility = 'visible';
	isOn = true;
}

function hide(divID) {
	document.getElementById(divID).style.visibility = 'hidden';
	timeOut = 0;
	isOn = false;
}

function killAll(){
	for(var i=1; i<4; i++) {
        eval('hide(\'menu' + i + '\')');
	}
}

function sleephide(fnname) {
	timeOut = setTimeout('hide(\'' + fnname + '\')',400);
}

//Popup

function popWin(url,winname,w,h,scroll){
	var LeftPosition = (screen.width)?(screen.width-w)/2:100;
	var TopPosition = (screen.height)?(screen.height-h)/2:100;
	settings = 'width='+ w +',height='+ h +',top='+ TopPosition +',left='+ LeftPosition +',scrollbars='+ scroll +',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
	win = window.open(url, winname, settings);
	win.focus();
}

//Mouse over functions

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadflag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {			
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadflag = false;

function preload() {
	one = newImage("images/but_joinmailing_on.gif");
	two = newImage("images/but_bookonline_off.gif");
	preloadflag = true;
}

//slideshow functions

duration = 4;
ads=[]; 
ct=0;

function switchImg() {
	if (document.images) {
		var n=(ct+1)%src.length;
		if (ads[n] && (ads[n].complete || ads[n].complete==null)) {
			document["simg"].src = ads[ct=n].src;
		}
		ads[n=(ct+1)%src.length] = new Image;
		ads[n].src = 'img/' + src[n];
		setTimeout("switchImg()",duration*1000);
	}
}

function goEvent(cid)	{
	if (cid != ""){
		//alert(cid);
		location.href = 'packages.asp?event=' + cid;
	}
}

function checkMaxLength(field, countfield, maxlimit) {
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
	else
		countfield.innerHTML = maxlimit - field.value.length;
}

function changeDate(field) {
	var objDay = document.getElementById(field + 'Day');
	var objMonth = document.getElementById(field + 'Month');
	var objYear = document.getElementById(field + 'Year');
	
	var selectLength = objDay.length;
	var selectValue = objDay.value;
	
	// loops through and removes current options
	for (var i = 0;  i < selectLength; i++)
		objDay.remove(0);
	
	// write new options to the day field depending on which month
	for (i = 1; i <= calcDays(objDay.value, objMonth.value, objYear.value); i++)
		objDay.options[i-1] = new Option(i, i);
	
	// select the day that was previously selected
	if (selectValue >= calcDays(objDay.value, objMonth.value, objYear.value))
		objDay.selectedIndex = calcDays(objDay.value, objMonth.value, objYear.value) - 1;
	else
		objDay.selectedIndex = selectValue - 1;
}

function calcDays(nDay, nMonth, nYear, subtract) {
	// find total days in month and calculate difference
	var totalDays;
	
	if (nMonth == 4 || nMonth == 6 || nMonth == 9 || nMonth == 11)
		totalDays = 30;
	else if (nMonth == 2)
		if (Math.floor(nYear/4) == (nYear/4) && (Math.floor(nYear/100) != (nYear/100) || Math.floor(nYear/400) == (nYear/400)))
			totalDays = 29;
		else
			totalDays = 28;
	else
		totalDays = 31;
	
	return (totalDays);
}

function submitenter(myfield,e){
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	if (keycode == 13){
		myfield.form.submit();
		return false;
	}
	else
		return true;
}

function showRow(id) {
	var obj = document.getElementById(id); 
	var state = (arguments.length >= 2 && typeof(arguments[1]) == "boolean" ? arguments[1] : (obj.style.display.length && obj.style.display.toLowerCase() != "none" ? false : true));
	if (obj) obj.style.display = (state ? (navigator.appName.indexOf("Microsoft") >= 0 ? "block" : (obj.nodeName && obj.nodeName.toLowerCase() == "tbody" ? "table-row-group" : "table-row")) : "none"); 
	if (state) {
		document.images['i'+id].src = '../img/but_uparr.gif';
	} else {
		document.images['i'+id].src = '../img/but_dwnarr.gif';
	}
}

function packCalc() {
	var total = 0;
	var frm = document.pack;
	
	/* package */
	if(frm.ipck) {
		for (var i=0; i < frm.ipck.length; i++){
			if (frm.ipck[i].checked){
				var ipckval = frm.ipck[i].value.split(',');
				total = parseFloat(total + ipckval[1]);
			}
		}
	}
	/* ind sessions */
	if(frm.ipsc.selectedIndex > 0) {
		var som = frm.ipsc.selectedIndex;
		total = total + frm.ipsc.options[som].value * 176;
	}

	if(frm.ipar1){
		/* parking */
		if(frm.ipar1.checked) {
			total = total + 24.50;
		}
		if(frm.ipar2.checked) {
			total = total + 24.50;
		}
	}
	document.getElementById('total').innerHTML = parseFloat(total).toFixed(2);
}

function clearRB(){
	var frm = document.pack.ipck;
	for (i=0; i < frm.length; i++) {
		if (frm[i].checked == true) { // if a button in group is checked,
			frm[i].checked = false;  // uncheck it
		}
	}  
}

function sessCalc(sID,sCT) {
	//check to see if it's already there

	var a = false;
	var frm = document.sesForm;
	var obj = document.getElementById('scount');
	var cst = parseInt(obj.innerHTML);
			
	if(frm.sSes.value.length > 0) {
		var aSes = frm.sSes.value.split(',');
	} else {
		var aSes = new Array();
	}
	sID = "'" + sID + "'";
	
	for (var i=0; i < aSes.length; i++){
		if(aSes[i] == sID) {
			aSes.splice(i,1);
			a = true;
			cst = cst + sCT;
		}
	}
	if(!a){
		aSes.push(sID);
		cst = cst - sCT;
	}
	
	if (cst <= 3){
		for (var i=0; i < frm.sbox.length; i++) {
			frm.sbox[i].disabled = (!frm.sbox[i].checked && frm.sbox[i].value > cst) ? true : false;
		}
	}
	
	if (cst == 0) alert('You have run out of sessions');
	
	obj.innerHTML = cst.toString();
	frm.sSes.value = aSes.toString();
}

function sessCalc2(sID) {
	//check to see if it's already there

	var a = false;
	var frm = document.sesForm;
			
	if(frm.sSes.value.length > 0) {
		var aSes = frm.sSes.value.split(',');
	} else {
		var aSes = new Array();
	}
	sID = "'" + sID + "'";
	
	for (var i=0; i < aSes.length; i++){
		if(aSes[i] == sID) {
			aSes.splice(i,1);
			a = true;
		}
	}
	if(!a){
		aSes.push(sID);
	}
	
	frm.sSes.value = aSes.toString();
}

function fnValidate(obj){
	if (isNumeric(obj.value)==false){
		obj.value= "0.00"
    }
}

function isNumeric(strNum){
	var isNumber=true;
	var VarDec = 0;
	var validChars = "0123456789";
	var thisChar;

	for (i = 0; i < strNum.length && isNumber == true; i++){  
		thisChar = strNum.charAt(i); 
		if (thisChar == "-" && i > 0) isNumber = false;
		if (thisChar == "."){
			VarDec = VarDec + 1;
			if ((i==0 || i == strNum.length-1) && strNum.length ==1) isNumber = false;
			if (VarDec > 1) isNumber = false;
		}
		if (validChars.indexOf(thisChar) == -1) isNumber = false;
	}
	return isNumber;
}

function groupCalc() {
	var total = 0;
	var frm = document.pack;

	/* super sessions */
	if(!isNumeric(frm.isup.value) || parseFloat(frm.isup.value) < 51) frm.isup.value = 51;
	
	/* package */
	if(frm.ipck) {
		for (var i=0; i < frm.ipck.length; i++){
			if (frm.ipck[i].checked){
				var ipckval = frm.ipck[i].value.split(',');
				total = (ipckval[0] == 5 || ipckval[0] == 10 || ipckval[0] == 15) ? parseFloat(frm.isup.value) * ipckval[1] : parseFloat(total + ipckval[1]);
			}
		}
	}
	/* ind sessions */
	if(frm.ipsc.selectedIndex > 0) {
		var som = frm.ipsc.selectedIndex;
		total = total + frm.ipsc.options[som].value * 176;
	}

	if(frm.ipar1){
		/* parking */
		if(frm.ipar1.value == '') {
			
		} else if(isNumeric(frm.ipar1.value)) {
			total = total + (24.50 * parseInt(frm.ipar1.value));
		} else {
			frm.ipar1.value = 0;
		}
		if(frm.ipar2.value == '') {
			
		} else if(isNumeric(frm.ipar2.value)) {
			total = total + (24.50 * parseInt(frm.ipar2.value));
		} else {
			frm.ipar2.value = 0;
		}
	}
	document.getElementById('total').innerHTML = parseFloat(total).toFixed(2);
}