// JavaScript Document
function showFavs(a){

}

function showDIV(a){
	var thediv = document.getElementById(a);
	thediv.style.display = 'block';
}
function hideDIV(a){
	var thediv = document.getElementById(a);
	thediv.style.display = 'none';
}

function showAll(a){
	var thediv = document.getElementById('allDetails'+a);
	var thelink = document.getElementById('thelink'+a);
	if(thelink.innerHTML == 'View All Details'){
		thediv.style.display = 'block';
		thelink.innerHTML = 'Hide All Details';
	}
	else{
		thediv.style.display = 'none';
		thelink.innerHTML = 'View All Details';
	}
}

function showDetails(a){
//	var img = document.getElementById('img_'+a);
	var details = document.getElementById('details_'+a);
	var dDisplay = details.style.display;
	var space = document.getElementById('spacer'+a);
	var spacetop = document.getElementById('spacertop'+a);
	if(dDisplay =='block'){
		details.style.display = 'none';
		space.style.display = 'none';
		spacetop.style.display = 'none';
	}
	else{
		details.style.display = 'block';
		space.style.display = 'block';
		spacetop.style.display = 'block';
	}
}

function showFavoritesSection(){
	var details = document.getElementById('search_favorites');
	var dDisplay = details.style.display;
	if(dDisplay =='block'){
		details.style.display = 'none';
		document.getElementById('favShowLink').innerHTML = '+';
	}
	else{
		details.style.display = 'block';
		document.getElementById('favShowLink').innerHTML = '-';
	}
}

function showSearchTab(a){
	var aType = document.frmSearch.activity_category;
	var curDisp = aType.value;
	aType.value = a;
	document.getElementById(curDisp+'_list').style.display = 'none';
	document.getElementById('a_'+curDisp).className = 'normal';
	document.getElementById('span_'+curDisp).className = 'normal';
	
	document.getElementById(a+'_list').style.display = 'block';
	document.getElementById('a_'+a).className = 'active';
	document.getElementById('span_'+a).className = 'active';
	
}

function activate(obj){
	var objID = obj.id;
	var objChecked = obj.checked;
	var objSelect = document.getElementById('select'+objID);
//	alert(obj.checked);
	if(objChecked){objSelect.disabled = '';}
	else{objSelect.disabled = 'disabled';}
}

function disableUnchecked(element){
	for(i=0;i<element.length;i++){
		if(element[i].checked == false){
			element[i].disabled = 'disabled'
		}
	}
}

function enableUnchecked(element){
    for(i=0;i<element.length;i++){
		if(element[i].checked == false){element[i].disabled = ''}
	}
}

function countChecked(){
	var msg = document.getElementById('check_count');
	var type_list = document.getElementById('type_list');
	var element = document.frmSearch.activity_type_id;
	var sbm = document.getElementById('submit_form');
	var checked = 0;
	var select_list = "";
	
    for(i=0;i<element.length;i++){
		if(element[i].checked){
			checked = checked + 1;
			select_list = select_list + document.getElementById('label_'+element[i].value).innerHTML + '<br>';
		}
	}
	if(checked == 0){msg.innerHTML = '';type_list.innerHTML = ''; sbm.disabled = ''}//disabled
	else if(checked == 1){
		msg.innerHTML = '&nbsp;<b>'+checked+' Type Selected out of 5</b>';
		type_list.innerHTML = '<b>Selected Types</b><br>' + select_list + '<i>Uncheck all</i><input type="checkbox" name="checkall" style="vertical-align:middle;" onclick="uncheckAll();">';
		sbm.disabled = '';
	}
	else if(checked > 1){
		msg.innerHTML = '&nbsp;<b>'+checked+' Types Selected out of 5</b>';
		type_list.innerHTML = '<b>Selected Types</b><br>' + select_list + '<i>Uncheck all</i><input type="checkbox" name="checkall" onclick="uncheckAll();">';
		sbm.disabled = '';
	}

	if(checked > 4)disableUnchecked(element);
	else enableUnchecked(element);

}

function uncheckAll(){
	var element = document.frmSearch.activity_type_id;
	var thelabel='';
  for(i=0;i<element.length;i++){
		element[i].checked=false;
	}
	countChecked();
}

function valName(a){
	var sbm = document.getElementById('submit_form');
	if(a!==''){sbm.disabled = '';}
	else{sbm.disabled = 'disabled';}
}

var xhrFavorite = false;

function favorites(a,b,c){
	var dtToday = new Date();
	var favicon = document.getElementById('img_fav_'+a+'-'+b);
	var favlink = document.getElementById('a_fav_'+a+'-'+b);
	var animation = document.getElementById('fav_animation');
	var fcount = document.getElementById('fav_count');
	
	animation.innerHTML = '<img src="includes/images/ajax/geo_animation.gif" border="none" alt="Processing..." />';
	
	var url = 'async/favorites.cfm?cd_id='+a+'&at_id='+b+'&qry='+c+'&uti='+dtToday.getHours() + dtToday.getMinutes() + dtToday.getMilliseconds();
	
	try{xhrFavorite=new XMLHttpRequest();}	// Firefox, Opera 8.0+, Safari  
	catch (e){	// Internet Explorer
		try{xhrFavorite=new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e){	// IE 7 on Vista
			try{xhrFavorite=new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e){        
				alert("Asynchronis Data Transfer unavailable, please use Internet Explorer!");        
				return false;
			}
		}
	}

	if (xhrFavorite) {
		xhrFavorite.onreadystatechange = showFavorites;
		xhrFavorite.open("GET", url, true);
		xhrFavorite.send(null);
	}
	else {
		alert("Asynchronous Data Error!");
	}

	switch(c){
	case 'i':
		fcount.innerHTML = Number(fcount.innerHTML) + 1;
		favicon.src = "includes/images/favorite_remove.gif";
		favicon.title = "Remove Camp from Favorites";
		favlink.href = "javascript: favorites("+a+","+b+",'d');";
		break;
	case 'd':
		fcount.innerHTML = Number(fcount.innerHTML) - 1;
		favicon.src = "includes/images/favorite_add.gif";
		favicon.title = "Add Camp to Favorites";
		favlink.href = "javascript: favorites("+a+","+b+",'i');";
		break;
	}
}

function showFavorites() {
	var prevWin = document.getElementById('search_favorites');
	var animation = document.getElementById('fav_animation');
//	prevWin.className = 'czResultsFrame';
	
	if (xhrFavorite.readyState == 4) {
		if (xhrFavorite.status == 200){
			prevWin.innerHTML = xhrFavorite.responseText;
			animation.innerHTML = '';
		}
		else{
			animation.innerHTML = '';
			prevWin.innerHTML = 'Error: ' + xhrFavorite.status + ': ' + showStatus(xhrFavorite.status);
		}
	}
	else{
		if (xhrFavorite.readyState == 'undefined') {
			if (xhrFavorite.status == 200){
				prevWin.innerHTML = xhrFavorite.responseText;
			}
			else{
				prevWin.innerHTML = 'Error: ' + xhrFavorite.status + ': ' + showStatus(xhrFavorite.status);
			}
		}
	}
}

var xhrEnroll = false;

function enroll(a,b,c){
	var dtToday = new Date();
	// Search Section
	try{
		var favicon = document.getElementById('img_enroll_'+a+'-'+b);
		var favlink = document.getElementById('a_enroll_'+a+'-'+b);
	}
	catch(e){}
	// Favorite Section Links
	try{
		var favicon2 = document.getElementById('img_enroll_'+a+'-'+b+'-2');
		var favlink2 = document.getElementById('a_enroll_'+a+'-'+b+'-2');
	}
	catch(e){}
	
	var ew = document.getElementById('enrollment_warning').value;
	if(ew.value==0){alert('You may add items to the Enrollment Cart at any time.\n However, you may not checkout without signing in.');ew.value=1;}
	
	var url = 'async/enroll.cfm?cd_id='+a+'&at_id='+b+'&qry='+c+'&ew='+ew+'&uti='+dtToday.getHours() + dtToday.getMinutes() + dtToday.getMilliseconds();
	
	try{xhrEnroll=new XMLHttpRequest();}	// Firefox, Opera 8.0+, Safari  
	catch (e){	// Internet Explorer
		try{xhrEnroll=new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e){	// IE 7 on Vista
			try{xhrEnroll=new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e){        
				alert("Asynchronis Data Transfer unavailable, please use Internet Explorer!");        
				return false;
			}
		}
	}

	if (xhrEnroll) {
		xhrEnroll.onreadystatechange = showEnroll;
		xhrEnroll.open("GET", url, true);
		xhrEnroll.send(null);
	}
	else {
		alert("Asynchronous Data Error!");
	}

	switch(c){
	case 'i':
		try {
		favicon.src = "includes/images/cart_remove.gif";
		favicon.title = "Remove Camp from Enrollment";
		favlink.href = "javascript: enroll("+a+","+b+",'d');";
//		alert('The camp has been added to your cart.\nYou can check out at any time by\nclicking the orange checkout button above.');
		alert('The camp has been added to your cart.\nRegistered CZ Members may check out at any\ntime by clicking the orange checkout button.\nTo become a Free CZ Member please click\nthe blue become a member button.');
		}
		catch(e){}
		try{
		favicon2.src = "includes/images/cart_remove.gif";
		favicon2.title = "Remove Camp from Enrollment";
		favlink2.href = "javascript: enroll("+a+","+b+",'d');";
//		alert('The camp has been added to your cart.\nYou can check out at any time by\nclicking the orange checkout button above.');
		alert('The camp has been added to your cart.\nRegistered CZ Members may check out at any\ntime by clicking the orange checkout button.\nTo become a Free CZ Member please click\nthe blue become a member button.');
		}
		catch(e){}
		break;
	case 'd':
		try{
		favicon.src = "includes/images/cart_add.gif";
		favicon.title = "Add Camp to Enrollment";
		favlink.href = "javascript: enroll("+a+","+b+",'i');";
		alert('The camp has been removed from your cart.');
		}
		catch(e){}
		try{
		favicon2.src = "includes/images/cart_add.gif";
		favicon2.title = "Add Camp to Enrollment";
		favlink2.href = "javascript: enroll("+a+","+b+",'i');";
		alert('The camp has been removed from your cart.');
		}
		catch(e){}
		break;
	}
}

function showEnroll() {
	var prevWin = document.getElementById('cart_total');
//	prevWin.className = 'czResultsFrame';
	
	if (xhrEnroll.readyState == 4) {
		if (xhrEnroll.status == 200){
			prevWin.innerHTML = xhrEnroll.responseText;
		}
		else{
			prevWin.innerHTML = 'Error: ' + xhrEnroll.status + ': ' + showStatus(xhrEnroll.status);
		}
	}
	else{
		if (xhrEnroll.readyState == 'undefined') {
			if (xhrEnroll.status == 200){
				prevWin.innerHTML = xhrEnroll.responseText;
			}
			else{
				prevWin.innerHTML = 'Error: ' + xhrEnroll.status + ': ' + showStatus(xhrEnroll.status);
			}
		}
	}
}


function valEndDate(a){
	var currDate = new Date(a);
	var endDate = new Date(document.getElementById('end_date').value);
	if(endDate < currDate){
		var newDate = new Date(currDate.setDate(currDate.getDate() + 30 ));
		document.getElementById('end_date').value = (newDate.getMonth()+1) + '/' + newDate.getDate() + '/' + newDate.getFullYear()
	}
}
