/**
 * @author cpeterson
 */

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }


function refreshCalendar() {
/* Make call to getContentInfo() using form variables. */
var includeBandA = 'off';
var listview = 'off';
if (document.forms[0].elements['includeBandA'].checked == true) {
	includeBandA = 'on';
}
if (document.forms[0].elements['listview'].checked == true) {
	listview = 'on';
}
getContentInfo('/index.php/_constructors/calendar/' + document.forms[0].elements['month'].value +
                '/' + document.forms[0].elements['curryear'].value +
				'/' + includeBandA +
				'/' + listview + '/');
}

function refreshExpansionCalendar() {
/* Make call to getContentInfo() using form variables. */
 getContentInfoAndEval('/index.php/coc1/expansioncalendar/' +
 encodeURI(document.forms[0].elements['startdate'].value) +
 '/' + encodeURI(document.forms[0].elements['enddate'].value) + '/');
}


function validateEmail(email) {
	var emailcheck =/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return emailcheck.test(email);
}

/* Used by mailer template for validation
 *
 */
function processMailer() {
    var email = document.forms[0].elements['emailaddress'].value;
	var invalid = false;
	if (!validateEmail(email)) {
	   document.getElementById('invalidemailaddressmsg').innerHTML = 'Email Address Entered is not valid';
	   invalid = true;
	}
	else document.getElementById('invalidemailaddressmsg').innerHTML = '';
	if (document.forms[0].elements['comment'].value.trim() == '') {
		document.getElementById('invalidcommentmsg').innerHTML = 'Comment cannot be empty';
        invalid = true;
	}
	else document.getElementById('invalidcommentmsg').innerHTML = '';
	return (!invalid);
}

/* Function which is used by administrative forms to confirm a deletion of a record and
 * submit the request if user confirms delete.
 */
function prepareDelete(fieldname) {
	var agree = confirm('Are you sure you wish to delete "' + document.forms[0].elements[fieldname].value + '"?');
    if (agree) {
		document.forms[0].elements['change'].value = 'delete';
		document.form2.submit();
	}
    else return false;
}
function eventInsert() {
	document.getElementById('ID').style.visibility = 'hidden';
	document.getElementById('deletebtn').style.visibility = 'hidden';
	document.getElementById('createbtn').style.visibility = 'hidden';
	document.forms[0].elements['change'].value = 'insert';
	document.getElementById('Title').value = '';
	document.getElementById('Contact').value = '';
	document.getElementById('ContactPhone').value = '';
	document.getElementById('ContactEmail').value = '';
	document.getElementById('InfoLink').value = '';
	document.getElementById('Description').value = '';
	document.getElementById('ID').value = '';
	document.getElementById('CatCd').selectedIndex = 0;
	document.getElementById('RepeatInterval').selectedIndex = 0;
	document.getElementById('RepeatDay').selectedIndex = 0;
	document.getElementById('upcomingFlag').selectedIndex = 0;
	document.getElementById('DisplayOnCalendar').selectedIndex = 0;
	document.getElementById('NotifyLong').selectedIndex = 0;
	document.getElementById('NotifyInitial').selectedIndex = 0;
	document.getElementById('PUBLISH').selectedIndex = 0;
	document.getElementById('Location').selectedIndex = 0;
	//now handle date fields
    var d = new Date();
    var curr_date = d.getDate();
    var curr_month = d.getMonth();
    var curr_year = d.getFullYear();
	var minutes = d.getMinutes();
	var hours = d.getHours();
    var Months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
    var AmPM = 'am';
	if (hours > 12) {
		AmPm = 'pm';
		hours = hours = 12;
	}
	else
		if (hours == 12) {
			AmPm = 'pm';
		}
	var daystring = curr_date.toString();
	var hoursstring = hours.toString();
	var minutesstring = minutes.toString();
	if (minutesstring.length == 1) minutesstring = '0' + minutesstring;
	if (hoursstring.length == 1) hoursstring = '0' + hoursstring;
	if (daystring.length == 1) daystring = '0' + daystring;
	document.getElementById('EventDate').value = Months[curr_month] +
	         ' ' + daystring + ' ' + curr_year +  ' ' +
   	         hoursstring + ':' + minutesstring + ' ' + AmPM;
	document.getElementById('enddate').value = Months[curr_month] +
	         ' ' + daystring + ' ' + curr_year +  ' ' +
   	         hoursstring + ':' + minutesstring + ' ' + AmPM;

}
function prepareEventInsert(){
	eventInsert();
	return false;
}

function prepareAudioStreamInsert() {
	document.forms[0].elements['title_orig'].style.visibility = 'hidden';
	document.getElementById('deletebtn').style.visibility = 'hidden';
	document.getElementById('createbtn').style.visibility = 'hidden';
	document.forms[0].elements['Title'].value = '';
	document.forms[0].elements['Description'].value = '';
	document.forms[0].elements['FileName'].value = '';
	document.forms[0].elements['FDate'].value = '';
	document.forms[0].elements['Speaker'].value = '';
	document.forms[0].elements['change'].value = 'insert';
	document.forms[0].elements['title_orig'].value = '';
	//now handle date fields
    var d = new Date();
    var curr_date = d.getDate();
    var curr_month = d.getMonth();
    var curr_year = d.getFullYear();
    var Months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
	var daystring = curr_date.toString();
	if (daystring.length == 1) daystring = '0' + daystring;
	document.forms[0].elements['FDate'].value = Months[curr_month] +
	         ' ' + daystring + ' ' + curr_year;
}

function prepareClassInsert() {
	document.getElementById('deletebtn').style.visibility = 'hidden';
	document.getElementById('createbtn').style.visibility = 'hidden';
	document.getElementById('ID').style.visibility = 'hidden';
    //document.forms[0].elements['ID'].value = '';
	document.forms[0].elements['Description'].value = '';
	document.forms[0].elements['className'].value = '';
	document.forms[0].elements['Teacher'].value = '';
	document.forms[0].elements['location'].value = '';
	document.forms[0].elements['classTime'].value = '';
	document.forms[0].elements['change'].value = 'insert';
    return false;
}

function processCancel(redirectpath) {
	var id = document.getElementById('ID');
	if (id)
        id.value = '';
	document.forms[0].elements['change'].value = 'cancel';
/*	+ document.forms[0].elements['ID'].value
 *
 */    getContentInfoAndEval(redirectpath);
}
function processChange(redirectpath) {

   document.forms[0].elements['change'].value = 'Edit';
   //don't need to submit form, just reload
   //content portion of window by calling getContentInfo
   getContentInfoAndEval(redirectpath + document.forms[0].elements['ID'].value + '/');

   return false;
}
/*  Function used for audiostreammanagement to handle
    Change in select drop down
*/
function processAudioStreamChange() {
   document.forms[0].elements['change'].value = 'Edit';
   //don't need to submit form, just reload
   //content portion of window by calling getContentInfo
   getContentInfoAndEval('/index.php/_constructors/audiostreammanagement/' + document.forms[0].elements['title_orig'].value + '/');
}
function processSave() {

	document.forms[0].elements['change'].value = (document.forms[0].elements['change'].value == 'insert' ? 'insert' : 'Save');
}

function processClassManagement() {

   var invalid = false;
   //don't process validations unless a save is being executed.
   if (document.getElementById('change').value != 'Save') result =true;
	if (document.forms[0].elements['Description'].value.trim() == '') {
		document.getElementById('Description_Error').innerHTML = 'Description is required';
		invalid = true;
	}
	else {
		document.getElementById('Description_Error').innerHTML = '';
	}
	if (document.forms[0].elements['classTime'].value.trim() == '') {
		document.getElementById('classTime_Error').innerHTML = 'Class Time is required';
		invalid = true;
	}
	else {
		document.getElementById('classTime_Error').innerHTML = '';
	}
	if (document.forms[0].elements['location'].value.trim() == '') {
		document.getElementById('location_Error').innerHTML = 'Location is required';
		invalid = true;
	}
	else {
		document.getElementById('location_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Teacher'].value.trim() == '') {
		document.getElementById('Teacher_Error').innerHTML = 'Teacher is required';
		invalid = true;
	}
	else {
		document.getElementById('Teacher_Error').innerHTML = '';
	}
	if (document.forms[0].elements['className'].value.trim() == '') {
		document.getElementById('className_Error').innerHTML = 'Class Name is required';
		invalid = true;
	}
	else {
		document.getElementById('className_Error').innerHTML = '';
	}
	if (invalid)
	   return false;
	else
	   return true;
}

function processAudioStreamManagement() {

   var invalid = false;
	if (document.forms[0].elements['Title'].value.trim() == '') {
		document.getElementById('Title_Error').innerHTML = 'Title is required';
		invalid = true;
	}
	else {
		document.getElementById('Title_Error').innerHTML = '';
	}
	if (document.forms[0].elements['FileName'].value.trim() == '') {
		document.getElementById('FileName_Error').innerHTML = 'File Name is required';
		invalid = true;
	}
	else {
		document.getElementById('FileName_Error').innerHTML = '';
	}
	if (document.forms[0].elements['FDate'].value.trim() == '') {
		document.getElementById('FDate_Error').innerHTML = 'Date is required';
		invalid = true;
	}
	else {
		document.getElementById('FDate_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Speaker'].value.trim() == '') {
		document.getElementById('Speaker_Error').innerHTML = 'Speaker is required';
		invalid = true;
	}
	else {
		document.getElementById('Speaker_Error').innerHTML = '';
	}
   return !invalid;
}

function processEventManagement() {
   var invalid = false;
	/*
     *if (document.forms[0].elements['Description'].value.trim() == '') {
		document.getElementById('Description_Error').innerHTML = 'Description is required';
		invalid = true;
	}
	else {
		document.getElementById('Description_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Title'].value.trim() == '') {
		document.getElementById('Title_Error').innerHTML = 'Title is required';
		invalid = true;
	}
	else {
		document.getElementById('Title_Error').innerHTML = '';
	}
	if (document.forms[0].elements['EventDate'].value.trim() == '') {
		document.getElementById('EventDate_Error').innerHTML = 'Start Date is required';
		invalid = true;
	}
	else {
		document.getElementById('EventDate_Error').innerHTML = '';
	}
	if (document.forms[0].elements['enddate'].value.trim() == '') {
		document.getElementById('enddate_Error').innerHTML = 'End Date is required';
		invalid = true;
	}
	else {
		document.getElementById('enddate_Error').innerHTML = '';
	}
*/
   return !invalid;
}

function processPrayerRequest() {
   var invalid = false;
	if (document.forms[0].elements['Description'].value.trim() == '') {
		document.getElementById('Description_Error').innerHTML = 'Description is required';
		invalid = true;
	}
	else {
		document.getElementById('Description_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Title'].value.trim() == '') {
		document.getElementById('Title_Error').innerHTML = 'Title is required';
		invalid = true;
	}
	else {
		document.getElementById('Title_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Contact'].value.trim() == '') {
		document.getElementById('Contact_Error').innerHTML = 'Contact Information is required';
		invalid = true;
	}
	else {
		document.getElementById('Contact_Error').innerHTML = '';
	}
	if (document.forms[0].elements['ContactEmail'].value.trim() == '') {
		document.getElementById('ContactEmail_Error').innerHTML = 'Email is required';
		invalid = true;
	}
	else {
		document.getElementById('ContactEmail_Error').innerHTML = '';
	}
   return !invalid;
}
function preparePrayerRequestInsert() {
	document.forms[0].elements['Title'].value = '';
	document.forms[0].elements['Description'].value = '';
	document.getElementById('ID').style.visibility = 'hidden';
	document.getElementById('deletebtn').style.visibility = 'hidden';
	document.getElementById('createbtn').style.visibility = 'hidden';
	document.getElementById('ID').value = '';
}

/* --------------- AV Order Processing Routines ---------------------
 *
 */

function prepareAVOrderInsert() {
	document.forms[0].elements['Title'].value = '';
	document.forms[0].elements['Description'].value = '';
	document.forms[0].elements['First'].value = '';
	document.forms[0].elements['Last'].value = '';
	document.forms[0].elements['Address1'].value = '';
	document.forms[0].elements['Address2'].value = '';
	document.forms[0].elements['City'].value = '';
	document.forms[0].elements['State'].value = '';
	document.forms[0].elements['Zip'].value = '';
	document.forms[0].elements['Email'].value = '';
	document.forms[0].elements['Phone'].value = '';
	document.forms[0].elements['change'].value = 'insert';
	document.getElementById('ID').style.visibility = 'hidden';
	document.getElementById('deletebtn').style.visibility = 'hidden';
	document.getElementById('createbtn').style.visibility = 'hidden';
	document.forms[0].elements['Status'].selectedIndex = 0;
	document.getElementById('ID').value = '';
}

function processAVOrder() {

   var invalid = false;
	if (document.forms[0].elements['Description'].value.trim() == '') {
		document.getElementById('Description_Error').innerHTML = 'Description is required';
		invalid = true;
	}
	else {
		document.getElementById('Description_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Title'].value.trim() == '') {
		document.getElementById('Title_Error').innerHTML = 'Title is required';
		invalid = true;
	}
	else {
		document.getElementById('Title_Error').innerHTML = '';
	}
	if (document.forms[0].elements['First'].value.trim() == '') {
		document.getElementById('First_Error').innerHTML = 'First Name is required';
		invalid = true;
	}
	else {
		document.getElementById('First_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Last'].value.trim() == '') {
		document.getElementById('Last_Error').innerHTML = 'Last Name is required';
		invalid = true;
	}
	else {
		document.getElementById('Last_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Address1'].value.trim() == '') {
		document.getElementById('Address1_Error').innerHTML = 'Address is required';
		invalid = true;
	}
	else {
		document.getElementById('Address1_Error').innerHTML = '';
	}
	if (document.forms[0].elements['State'].value.trim() == '') {
		document.getElementById('State_Error').innerHTML = 'State is required';
		invalid = true;
	}
	else {
		document.getElementById('State_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Zip'].value.trim() == '') {
		document.getElementById('Zip_Error').innerHTML = 'Zip is required';
		invalid = true;
	}
	else {
		document.getElementById('Zip_Error').innerHTML = '';
	}
	if (document.forms[0].elements['City'].value.trim() == '') {
		document.getElementById('City_Error').innerHTML = 'City is required';
		invalid = true;
	}
	else {
		document.getElementById('City_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Email'].value.trim() == '') {
		document.getElementById('Email_Error').innerHTML = 'Email is required';
		invalid = true;
	}
	else {
		if (validateEmail(document.forms[0].elements['Email'].value.trim()))
   		   document.getElementById('Email_Error').innerHTML = '';
		else {
   		   document.getElementById('Email_Error').innerHTML = 'Email entered is not valid';
		   invalid = true;
		}
	}
   return !invalid;
}
function processAudioRequest() {

   var invalid = false;
	if (document.forms[0].elements['Description'].value.trim() == '') {
		document.getElementById('Description_Error').innerHTML = 'Description is required';
		invalid = true;
	}
	else {
		document.getElementById('Description_Error').innerHTML = '';
	}
	if (document.forms[0].elements['First'].value.trim() == '') {
		document.getElementById('First_Error').innerHTML = 'First Name is required';
		invalid = true;
	}
	else {
		document.getElementById('First_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Last'].value.trim() == '') {
		document.getElementById('Last_Error').innerHTML = 'Last Name is required';
		invalid = true;
	}
	else {
		document.getElementById('Last_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Address1'].value.trim() == '') {
		document.getElementById('Address1_Error').innerHTML = 'Address is required';
		invalid = true;
	}
	else {
		document.getElementById('Address1_Error').innerHTML = '';
	}
	if (document.forms[0].elements['State'].value.trim() == '') {
		document.getElementById('State_Error').innerHTML = 'State is required';
		invalid = true;
	}
	else {
		document.getElementById('State_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Zip'].value.trim() == '') {
		document.getElementById('Zip_Error').innerHTML = 'Zip is required';
		invalid = true;
	}
	else {
		document.getElementById('Zip_Error').innerHTML = '';
	}
	if (document.forms[0].elements['City'].value.trim() == '') {
		document.getElementById('City_Error').innerHTML = 'City is required';
		invalid = true;
	}
	else {
		document.getElementById('City_Error').innerHTML = '';
	}
	if (document.forms[0].elements['Email'].value.trim() == '') {
		document.getElementById('Email_Error').innerHTML = 'Email is required';
		invalid = true;
	}
	else {
		if (validateEmail(document.forms[0].elements['Email'].value.trim()))
   		   document.getElementById('Email_Error').innerHTML = '';
		else {
   		   document.getElementById('Email_Error').innerHTML = 'Email entered is not valid';
		   invalid = true;
		}
	}
   return !invalid;
}
function processAVOrderChange(redirectpath) {
   document.forms[0].elements['change'].value = 'Edit';
   //don't need to submit form, just reload
   //content portion of window by calling getContentInfo
   getContentInfo(redirectpath + document.getElementById('ID').value + '/');
}

