function changeTab(activetab)
{
	var tabs = new Array();
	tabs[0] = 'sponsor_info';
	tabs[1] = 'billing_info';
	tabs[2] = 'shipping_info';
	tabs[3] = 'requests_info';
	tabs[4] = 'territories_info';
	tabs[5] = 'important_dates';
	tabs[6] = 'general_manager';
	tabs[7] = 'login_info';
	tabs[8] = 'cosponsor_info';
	tabs[9] = 'champ_enrollment';

	for (i=0; i<10; i++)
	{
		// Element.hide(tabs[i]);
		$(tabs[i]).hide();
		$(tabs[i]+'_tab').removeClassName('activelink');
		$(tabs[i]+'_tab').addClassName('inactivelink');
	}

	$(activetab).show();
	$(activetab+'_tab').removeClassName('inactivelink');
	$(activetab+'_tab').addClassName('activelink');
	//document.sponsorinfo.sponsor_name.focus();
}

function tabs_on()
{
	$('tabs').show();
	$('tabs_off').hide();
	$('tabs_on').show();

	$('sponsor_info').hide();
	$('billing_info').hide();
	$('shipping_info').hide();
	$('requests_info').hide();
	$('cosponsor_info').hide();
	$('important_dates').hide();
	$('general_manager').hide();
	$('territories_info').hide();
	$('login_info').hide();
	$('champ_enrollment').hide();

	changeTab('sponsor_info');

	var days = 90;
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));
	setCookie('tabs', 'on', date);
}

function tabs_off()
{
	$('tabs').hide();
	$('tabs_on').hide();
	$('tabs_off').show();

	$('sponsor_info').show();
	$('billing_info').show();
	$('shipping_info').show();
	$('cosponsor_info').show();
	$('requests_info').show();
	$('important_dates').show();
	$('general_manager').show();
	$('territories_info').show();
	$('login_info').show();
	$('champ_enrollment').show();

	var days = 90;
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));
	setCookie('tabs', 'off', date);
}

function userLoginIsTaken(address)
{
	var status = false;
	new Ajax.Request('/enrollment/register', {
		parameters : 'action=ajax&validate_contact_email='+address,
		asynchronous: false,
		method: 'get',
		onSuccess: function(transport) {
			if (transport.responseText > 0)
			{
				// alert('yes');
				status = true;
			}
		}
	});

	return status;
}

function removeSpecialRequest(id, sponsor)
{
	form = document.sponsorinfo;
	new Ajax.Updater('requests_table', '/admin/sponsor', {
		parameters : 'action=ajax&remove_request='+id+'&sponsor_id='+sponsor,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}

function remove_logo(sponsor_id, year, version)
{
	form = document.sponsorinfo;
	new Ajax.Updater('logo_'+version, '/admin/sponsor', {
		parameters : 'action=ajax&remove_logo='+sponsor_id+'&year='+year+'&version='+version,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}

function addSpecialRequest(sponsor_id)
{
	form = document.sponsorinfo;

	if (!form.request_body.value)
	{
		alert('You need to enter the request first.');
		return;
	}

	new Ajax.Updater('requests_table', '/admin/sponsor', {
		parameters : 'action=ajax&add_request='+sponsor_id+'&request_body='+$('request_body').value+'&request_date='+$('request_date').value,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		},
		onSuccess : function(resp) {
			form.request_body.value = '';
		}
	});
}

function populate_territory_list(elem, value)
{
	form = document.sponsorinfo;
	new Ajax.Updater(elem, '/admin/sponsor', {
		parameters : 'action=ajax&populate_territory_list='+value,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}

function removeTerritoryFromSponsor(id, sponsor)
{
	form = document.sponsorinfo;
	new Ajax.Updater('territories_table', '/admin/sponsor', {
		parameters : 'action=ajax&remove_territory='+id+'&sponsor_id='+sponsor,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}

function removeSchoolChampUpload(file_name, sponsor)
{
	form = document.sponsorinfo;
	new Ajax.Updater(file_name, '/admin/sponsor', {
		parameters : 'action=ajax&remove_file_upload='+file_name+'&sponsor_id='+sponsor,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}

function editSponsorTerritory(id, sponsor)
{
	form = document.sponsorinfo;
	$('territory_comment_' + id).hide();
	$('territory_comment_' + id + '_edit').show();
	$('territory_edit_' + id).hide();
	$('territory_save_' + id).show();
}

function saveSponsorTerritory(id, sponsor)
{
	comments = $('t_'+id).value;
	izips = $('tiz_'+id).value;
	xzips = $('txz_'+id).value;
	new Ajax.Updater('territory_' + id, '/admin/sponsor', {
		parameters: {
			action: 'ajax', save_territory: id, sponsor_id: sponsor, comments: comments,
			include_zips: izips, exclude_zips: xzips
			},
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
	$('territory_save_' + id).hide();
	$('territory_edit_' + id).show();
}

function addTerritoryToSponsor(sponsor_id)
{
	form = document.sponsorinfo;
	new Ajax.Updater('territories_table', '/admin/sponsor', {
		parameters : 'action=ajax&add_territory='+sponsor_id+'&territory_id='+$F(form.territory_id),
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}
function addSponsorToTerritory(territory_id)
{
	form = document.territory_admin;
	new Ajax.Updater('sponsors_table', '/admin/territory', {
		parameters : 'action=ajax&add_sponsor='+$F(form.sponsor_id)+'&territory_id='+territory_id,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}
function removeSponsorFromTerritory(id, sponsor)
{
	form = document.territory_admin;
	new Ajax.Updater('sponsors_table', '/admin/territory', {
		parameters : 'action=ajax&remove_territory='+id+'&sponsor_id='+sponsor,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}

function validate_sponsorform(f)
{
	return validate_passwd_change(f);
}

function validate_passwd_change(f)
{
	// see if user_login changed
	if (f.user_login.value != f.user_login_audit.value)
	{
		// validate password
		if (f.password.value != '' && f.password.value != f.password_confirm.value)
		{
			alert('The password you entered did not match.');
			return false;
		}
		else if (f.password.value == '')
		{
			alert('You must re-enter a password in order to change the login email address.');
			return false;
		}
	}

	// validate password
	if (f.password.value != '' && f.password.value != f.password_confirm.value)
	{
		alert('The password you entered did not match.');
		return false;
	}

	return true;
}

function select_sponsor(elem, value)
{
	form = document.sponsorinfo;
	new Ajax.Updater(elem, '/admin/school', {
		parameters : 'action=ajax&select_sponsor='+value,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}

function removeSpecialRequest(id, sponsor)
{
	form = document.sponsorinfo;
	new Ajax.Updater('requests_table', '/admin/sponsor', {
		parameters : 'action=ajax&remove_request='+id+'&sponsor_id='+sponsor,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}

function checkAll(frm, exby)
 {
 	checkList = document.forms[frm].elements['fields[]'];

	 for (i = 0; i < checkList.length; i++)
 		checkList[i].checked = exby.checked? true:false
}

function toggleSponsorSelector(fullReport)
{
	if (fullReport)
	{
		$('sponsor-select').hide();
	}
	else
	{
		$('sponsor-select').show();
	}
}

// Make sure a sponsor is selected if an individual report is selected
function validateSponsorContractOptions()
{
	var form = document.contractSponsorForm;
	var fullReport = Form.getInputs('contractSponsorForm','radio','fullReport').find(function(radio) { return radio.checked; }).value;

	if (fullReport == 0 && $F(form.sponsorID) == '')
	{
		alert('You must select a sponsor when generating a report for a specific sponsor.');
		return false;
	}

	return true;
}

function toggleChampEnrollment(elem)
{
	var form = document.sponsorinfo;

	if (elem.checked)
	{
		$('champ_enrollment_frm').show();
	}
	else
	{
		//$('champ_enrollment_frm').hide();
		hideElement('champ_enrollment_frm');
	}

}

function updateDays(num)
{
	var form = document.school_champ_enrollment;

	if (!num)
	{
		var num = form.day.value;
	}

	if (!num || !num.value)
	{
		//use birth month
		month = form.month.value;
	}
	else
	{
		month = num.value;
	}

	if (month == 2)
	{
		//LeapYear
		leap_year = isLeap(form.year.value);

		if (leap_year == true)
		{
			days=['','- Select Day -','01','01','02','02','03','03','04','04','05','05','06','06','07','07','08','08','09','09','10','10','11','11','12','12','13','13','14','14','15','15',
			'16','16','17','17','18','18','19','19','20','20','21','21','22','22','23','23','24','24','25','25','26','26','27','27','28','28', '29', '29'];
		}
		else
		{
				days=['','- Select Day -','01','01','02','02','03','03','04','04','05','05','06','06','07','07','08','08','09','09','10','10','11','11','12','12','13','13','14','14','15','15',
			'16','16','17','17','18','18','19','19','20','20','21','21','22','22','23','23','24','24','25','25','26','26','27','27','28','28'];
		}
	}
	else if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
	{
		days=['','- Select Day -','01','01','02','02','03','03','04','04','05','05','06','06','07','07','08','08','09','09','10','10','11','11','12','12','13','13','14','14','15','15',
		'16','16','17','17','18','18','19','19','20','20','21','21','22','22','23','23','24','24','25','25','26','26','27','27','28','28','29','29','30','30','31','31'];
	}
	else if (month == 4 || month == 6 || month == 9 || month == 11)
	{
		days=['','- Select Day -','01','01','02','02','03','03','04','04','05','05','06','06','07','07','08','08','09','09','10','10','11','11','12','12','13','13','14','14','15','15',
		'16','16','17','17','18','18','19','19','20','20','21','21','22','22','23','23','24','24','25','25','26','26','27','27','28','28','29','29','30','30'];
	}
	else
	{
		days=['','- Select Day -'];
	}

	//if (! month) return;

	form.day.length=(0);
	for (i=0;i<days.length;i+=2)
	{
		form.day.options[i/2]=new Option(days[i+1],days[i]);
		if (!num.value)
		{
			//set birth day
			form.day.value = num;
		}
	}
}

function isLeap(theYear)
{
	if (theYear % 400 == 0) return true;
	if (theYear % 100 == 0) return false;
	if (theYear % 4 == 0) return true;

	return false;
}

function updateSchoolChampAge()
{
	var day=document.forms[0].day.selectedIndex;
	var month=document.forms[0].month.value;
	var year=document.forms[0].year.value;
	var now = new Date();
	thisDay=now.getDate();
	thisMonth=(now.getMonth());
	thisYear=(now.getFullYear());

	var today=new Date();
	var by = Number(year); var bm = Number(month)-1; var bd = Number(day);
	var bday = new Date(by,bm,bd)
	var age=0; var dif=bday;
	while(dif<today)
	{
		var dif = new Date(by+age,bm,bd);
		age++;
	}
	age +=-2 ;

    if (age > 0 && (day > 0 && month > 0 && year > 0))
    {
    	document.forms[0].cur_age.value = age;
    }
}


/*function sendMDRActiveEmail(pid)
{
	//form = document.sponsorinfo;
	new Ajax.Updater('send-email', '/admin/mdr', {
		parameters : 'action=ajax&pid='+pid,
		method: 'get',
		onFailure : function(resp) {
			alert("Oops, there's been an error.");
		}
	});
}*/

function spellCheckDates(date)
{
	var today = new Date();
	var currentDate = new Date(today.getFullYear(),today.getMonth(),today.getDate());
	var finalDate = new Date(2009,6,1);
	//var testDate = $('test_date').value;

	if(date >= finalDate)
	{
		return (date >= finalDate);
	}
	else
	{
		/*if(testDate)
		{
			var test_date = testDate.split("-");
			var testMonth = test_date[1].replace(/^[0]+/g,"");
			testMonth = testMonth - 1;
			var testDay = test_date[2].replace(/^[0]+/g,"");
			var newDate = new Date(test_date[0],testMonth,testDay);

			return (date <= newDate);
		}
		else
		{*/
			return (date <= currentDate);
		//}
	}
}

function pledgeSheetCheck()
{
	if(!$('school_name').value || !$('test_date').value || !$('form_date').value || !$('payment_date').value || !$('check_to_name').value)
	{
		var answer = confirm("You have not provided information necessary for the customization of your school's pledge form. The pledge form will not display correctly. Do you wish to proceed?");
		if(answer)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}

function checkDate(date)
{
	var testDate = $('test_date').value;
	var formDate = $('form_date').value;
	var paymentDate = $('payment_date').value;

	var dayAfter = testDate.split("-");
	var testMonth = dayAfter[1].replace(/^[0]+/g,"");
	//testMonth = testMonth - 1;
	var testDay = dayAfter[2].replace(/^[0]+/g,"");
	testDay = parseInt(testDay) + 1;
	var newDate = dayAfter[0]+"-"+testMonth+"-"+testDay;

	if(testDate)
	{
		if(formDate)
		{
			if(formDate > testDate)
			{
				alert('You must specify a date prior to (or the day of) your Great American SpellCheck test date.');
				$('form_date').value = testDate;
				return;
			}
		}

		if(paymentDate)
		{
			if(paymentDate <= testDate)
			{
				alert('You must specify a date after your Great American SpellCheck test date.');
				$('payment_date').value = newDate;
				return;
			}
		}
	}

}

function submitSchoolChamp()
{
	var valid = new Validation('school_champ_enrollment', {onSubmit:true});
    var result = valid.validate();

    if (result == true)
    {
		$('loading').show(); $('main_div').hide(); window.scrollTo(0,0);
    }

}

function checkChampCount(champs, school_id)
{
	form = document.sponsorinfo;

	formlen = form.length;
	for (i=0; i<formlen; i++)
	{
		if (form.elements[i].type == "checkbox")
		{
			if (form.elements[i].name=="sp_select_"+school_id)
			{
				if (form.elements[i].checked==false)
				{
					if (champs > 1)
					{
						msg = 'This school has registered champions. If unchecked, all registered champion related information will be removed when saved.';
					}
					else
					{
						msg = 'This school has a registered champion. If unchecked, the registered champion related information will be removed when saved.';
					}

					window.alert(msg);
				}
			}
		}
	}
}

function searchFocus(that)
{
	if(that.value == '' || that.value == 'Search here...')
	{
		that.value = '';
	}
}

function searchBlur(that)
{
	if(that.value == '')
	{
		//that.value = 'Search here...';
	}
}

function validateRoundOneTestTimes()
{
	var form = document.rnd_one_tt_maint;

	formlen = form.length;
	for (i=0; i<formlen; i++)
	{
		if (form.elements[i].type == 'text')
		{
			if (form.elements[i].name.substring(0,9) == "quantity_")
			{
				id = form.elements[i].name.substring(9);
				occupied = parseInt(document.getElementById('occupied_'+id).value);
				quantity = parseInt(document.getElementById('quantity_'+id).value);

				//if occupied > quantity exit
				if (quantity < occupied)
				{
					time = document.getElementById('time_'+id).value;
					window.alert('Please enter a quantity greater than the total Occupied for the ' + time + ' test time.');
					return false;
				}
			}
		}
	}

	form.update_times.value = 1;
	form.submit();
}

function newQAPair()
{
	var opt = {
		method: 'post',
		asynchronous: true,
		parameters: { action: 'add-qa'},
		evalScripts: true,
		onComplete: function() {
			//alert('success');
		}
	}

	new Ajax.Updater('add-qa','/admin/infocenter.php',opt);
}

function deleteQAPair(id,category)
{//alert(id);alert(category);
	var answer = confirm('Are you sure you want to delete this question?');
	if(answer)
	{
		var opt = {
			method: 'post',
			asynchronous: true,
			parameters: { action: 'delete-qa',id: id},
			evalScripts: true,
			onComplete: function() {
				window.location = '/admin/infocenter?category='+category;
			}
		}

		new Ajax.Updater('add-qa','/admin/infocenter.php',opt);
	}
	else
	{
		return false;
	}
}

function deleteCategory(category)
{//alert(category);
	var answer = confirm('Are you sure you want to delete this category? You will also delete all corresponding questions.');
	if(answer)
	{
		var opt = {
			method: 'post',
			asynchronous: true,
			parameters: { action: 'delete-category',category: category},
			evalScripts: true,
			onComplete: function() {
				window.location = '/admin/infocenter';
			}
		}

		new Ajax.Updater('add-qa','/admin/infocenter.php',opt);
	}
	else
	{
		return false;
	}
}