var phone_pattern = /\d{3}\-\d{4}/;
var email_pattern = /[\w\-]+\@[\w\-]+\.\w{2,3}/; 
var date_pattern = /\d{4}\-\d{2}\-\d{2}/;
var styles_disabled = false;
var zip_pattern = /\d{5}/;
var phone_pattern = /\d{3}\-\d{4}/;

function checkEmailSearch()	{
	if (!email_pattern.test(document.getElementById('mem_email').value))	{
		alert("The email input is not a valid email address");
		document.getElementById('mem_email').focus();
		return false;
		}
	}

function checkReelDelete()	{
	var missed = 0;

	for (var x = 0; x < document.getElementById('total').value ; x++)	 {
		if (!document.getElementById('del-' + x).checked && !document.getElementById('app-' + x).checked)	 {
			missed ++;
			}
		}

	if (missed > 0)	{
		alert("you have not checked " + missed + " song(s) as approved or deleted");
		return false;
		}
	}

function checkComments()	{
	if (trim(document.getElementById('comments').value).length == 0)	{
		alert("Please enter your comment in the text area");
		document.getElementById('comments').focus();
		return false;
		}
	}

function checkEmailForm()	{
	if (document.getElementById('from_addy').selectedIndex == 0)	{
		alert("You must select the return email address");
		return false;
		}
	if (trim(document.getElementById('subject').value).length == 0)	{
		alert("Please enter a subject for this email");
		document.getElementById('subject').focus();
		return false;
		}

	if (trim(document.getElementById('email_body').value).length == 0)	{
		alert("Please enter the email body text");
		document.getElementById('email_body').focus();
		return false;
		}
	}

function checkImageApproval()	{
	var image_count = (sing_images.length / 2);

	for (var x = 1; x <= image_count ; x++)	 {
		if (!document.getElementById('image_' + x + '_a').checked && !document.getElementById('image_' + x + '_d').checked)	 {
			alert("Please approve or delete image " + x);
			return false;
			}
		}
	}

function checkProducerSearch()	{
	var producer_fields = new Array('first_name', 'last_name', 'business_name', 'city', 'zipcode', 'p_area_code', 'p_phone', 'email_addy');
	var send = false;
	
	/* check the textboxes for some data */
	for (var x = 0 ; x < producer_fields.length; x++)	 {
		if (trim(document.getElementById(producer_fields[x]).value).length != 0)	{
			send = true;
			}
		}

	/* check the drop downs for some data */
	if (!send && (document.getElementById('member_state').selectedIndex != 0 || document.getElementById('member_country').selectedIndex != 0))	{
		send = true;
		}

	/* check the two radio buttons */
	if (!send && (document.getElementById('stat_a').checked || document.getElementById('stat_i').checked))	 {
		send = true;
		}

	/* if they have entered anything in the zipcode field make sure it is the right length and numbers only */
	if (send && (document.getElementById('zipcode').value.length != 0))	{
		if (!zip_pattern.test(document.getElementById('zipcode').value) || isNaN(document.getElementById('zipcode').value))	{
			alert("Zip code must be 5 numeric digits");
			return false;
			}
		}

	/* if they have entered anything in the area code box make sure it is the right length and numbers only */
	if ((send && document.getElementById('p_area_code').value.length != 0) && (document.getElementById('p_area_code').value.length != 3 || isNaN(document.getElementById('p_area_code').value)))	 {
		alert("Please enter the three digit area code for the phone number");
		return false;
		}

	/* if they have entered anything in the phone field make sure it is in the right format */
	if (send && (document.getElementById('p_phone').value.length != 0))	{
		if (!phone_pattern.test(document.getElementById('p_phone').value))	 {
			alert("Please enter phone number in xxx-xxxx format");
			return false;
			}
		}

	if (send && document.getElementById('email_addy').value.length != 0)	 {
		if (!email_pattern.test(document.getElementById('email_addy').value))	{
			alert("the email address you have entered is not in the proper format");
			return false;
			}
		}

	if (document.getElementById('miles').selectedIndex != 0 && trim(document.getElementById('zipcode').value).length != 5)	{
		alert("You have entered a distance to search by but you have not entered a zipcode to search from");
		return false;
		}

	if (!send)	{
		alert("You must enter at least one variable to search with");
		return false;
		}
	}

function checkMemDelete(mem_id, mem_type)	{
	if (confirm("Are you sure you wish to delete this member from the system?"))	 {
		if (mem_type == 1)	{
			location.href = "admincontroller.php?task=1&mem_id=" + mem_id;
			}
		else	{
			location.href = "admincontroller.php?task=4&mem_id=" + mem_id;
			}
		} 
	}

function checkPermMemDelete(mem_id, mem_type)	{
	if (confirm("Are you sure you wish to delete this member from the system?"))	 {
		location.href = (mem_type == 2) ? "admincontroller.php?task=43&mem_id=" + mem_id : "admincontroller.php?task=44&mem_id=" + mem_id
		} 
	}

function checkMemberEdit()	 {
	
	}

function disableSubStyles(which_form)	{

	var use = (which_form == 1) ? v_styles : j_styles;
	styles_disabled = true;
	for (var z = 0 ; z < use.length ; z++)	{
		if (document.getElementById(use[z]).checked)	{
			document.getElementById(use[z]).checked = false;
			}
		if (!document.getElementById(use[z]).disabled)	{
			document.getElementById(use[z]).disabled = true;
			}
		else if (!styles_disabled)	{
			document.getElementById(use[z]).disabled = false;
			}
		else if (!document.getElementById('all_opera').checked && !document.getElementById('all_rock').checked)	{
			styles_disabled = false;
			document.getElementById(use[z]).disabled = false;
			}
		}
	}

function checkSingerSearch()	{
	var found_data = false;

	var fields = new Array('first_name', 'middle_name', 'last_name', 'stage_name', 'city', 'zipcode', 'p_area_code', 'p_phone', 'work_area_code', 'work_phone', 'cell_area_code', 'cell_phone', 'email_addy');
	var selects = new Array('member_state', 'member_country', 'mileage');
	var two_grouped_radios = new Array('gender_m', 'gender_f', 'on_mailing_list_yes', 'on_mailing_list_no', 'home_studio_yes', 'home_studio_no', 'is_celeb_yes', 'is_celeb_no', 'unpaid_aud_yes', 'unpaid_aud_no', 'does_corp_shows_yes', 'does_corp_shows_no', 'fretless_client_yes', 'fretless_client_no', 'screened_yes', 'screened_no', 'term_m', 'term_y', 'stat_a', 'stat_i', 'type_s', 'type_sp', 'all_opera', 'all_rock');

	/* first check all the text boxes to see if any of them have data */

	for (var x = 0; x < fields.length ; x++)	{
		if (trim(document.getElementById(fields[x]).value).length != 0)	 {
			found_data = true;
			break;
			}
		}

	/* we found nothing in the text boxes so now we check the drop downs */
	if (!found_data)	{
		for (var x = 0; x < selects.length ; x++)	{
			if (document.getElementById(selects[x]).selectedIndex != 0)	 {
				found_data = true;
				break;
				}
			}
		}

	/* check the two check boxes if we havent found data yet */
	if (!found_data && (document.getElementById('is_sag_member').checked || document.getElementById('is_aftra_member').checked))	 {
		found_data = true;
		}

	/* now we have to check the radio buttons that are grouped in twos and THIS IS GONNA SUCK! */
	
		for (var x = 0; x < two_grouped_radios.length && !found_data ; x = (x+2))	{
			if (document.getElementById(two_grouped_radios[x]).checked || document.getElementById(two_grouped_radios[x+1]).checked)	 {
				found_data = true;
				break;
				}
			}

	/* now check the three way radio buttons (god is this getting OLD)*/
	if (!found_data && (document.getElementById('sight_read_no').checked || document.getElementById('sight_read_yes').checked || document.getElementById('sight_read_some').checked))	{
		found_data = true;
		}

	/* now we have to loop thru the three arrays that are built dynamically on the page itself */
	for (var x = 0; x < j_styles.length && !found_data ; x++)	{
		if (document.getElementById(j_styles[x]).checked)	{
			found_data = true;
			break;
			}
		}

	for (var x = 0; x < j_langs.length && !found_data ; x++)	{
		if (document.getElementById(j_langs[x]).checked)	{
			found_data = true;
			break;
			}
		}

	for (var x = 0; x < j_accent.length && !found_data ; x++)	{
		if (document.getElementById(j_accent[x]).checked)	{
			found_data = true;
			break;
			}
		}

	if (!found_data)	{
		alert("You must select, enter or check at least one variable to search by");
		return false;
		}
	else if (document.getElementById('mileage').selectedIndex != 0 && trim(document.getElementById('zipcode').value).length != 5)	{ // have to make sure they have entered a zipcode if the entered a distance to search
		alert("you have entered a distance to search but not a zipcode to search from" + document.getElementById('mileage').selectIndex);
		document.getElementById('zipcode').focus();
		return false;
		}

	}

function checkDiscountInput()	{
	if (trim(document.getElementById('discount_code').value).length == 0)	{
		alert("please enter a discount code, 8 characters max");
		document.getElementById('discount_code').focus();
		return false;
		}
	if (trim(document.getElementById('valid_until').value).length == 0 || !date_pattern.test(document.getElementById('valid_until').value))	{
		alert("please enter a an expiration date for this code in yyyy-mm-dd format");
		document.getElementById('valid_until').focus();
		return false;
		}
	if (trim(document.getElementById('discount_amount').value).length == 0 || isNaN(document.getElementById('discount_amount').value))	{
		alert("please enter the discount amount, numbers only");
		document.getElementById('discount_amount').focus();
		return false;
		}
	if (!document.getElementById('membership_only_yes').checked && !document.getElementById('membership_only_no').checked)	 {
		alert("please check whether the discount should only apply to the membership or not");
		return false;
		}

	if (!document.getElementById('delays_billing_yes').checked && !document.getElementById('delays_billing_no').checked)	 {
		alert("please check whether the discount delays billing or not");
		return false;
		}

	if (document.getElementById('delays_billing_yes').checked && document.getElementById('delay_months').selectedIndex == 0)	{
		alert("Please select how many months to delay billing");
		return false;
		}

	}

function checkPricingInput()	{
	if (trim(document.getElementById('base_membership_month').value).length == 0 || isNaN(document.getElementById('base_membership_month').value))	{
		alert("Monthly pricing must be included and must be a number");
		document.getElementById('base_membership_month').focus();
		return false;
		}
	if (trim(document.getElementById('screened_membership_fee').value).length == 0 || isNaN(document.getElementById('screened_membership_fee').value))	{
		alert("Screened member adder must be included and must be a number");
		document.getElementById('screened_membership_fee').focus();
		return false;
		}

	if (trim(document.getElementById('base_vocal_style_amount').value).length == 0 || isNaN(document.getElementById('base_vocal_style_amount').value))	{
		alert("base vocal style amount must be included and must be a number");
		document.getElementById('base_vocal_style_amount').focus();
		return false;
		}
	if (trim(document.getElementById('vocal_styles').value).length == 0 || isNaN(document.getElementById('vocal_styles').value))	{
		alert("cost per extra vocal style must be included and must be a number");
		document.getElementById('vocal_styles').focus();
		return false;
		}

	if (trim(document.getElementById('base_image_amount').value).length == 0 || isNaN(document.getElementById('base_image_amount').value))	{
		alert("base image amount must be included and must be a number");
		document.getElementById('base_image_amount').focus();
		return false;
		}
	if (trim(document.getElementById('extra_images').value).length == 0 || isNaN(document.getElementById('extra_images').value))	{
		alert("cost per extra image must be included and must be a number");
		document.getElementById('extra_images').focus();
		return false;
		}

	if (trim(document.getElementById('base_reel_storage_time').value).length == 0 || isNaN(document.getElementById('base_reel_storage_time').value))	{
		alert("base vocal reel time must be included and must be a number");
		document.getElementById('base_reel_storage_time').focus();
		return false;
		}
	if (trim(document.getElementById('extra_reel_storage').value).length == 0 || isNaN(document.getElementById('extra_reel_storage').value))	{
		alert("cost per extra reel storage must be included and must be a number");
		document.getElementById('extra_reel_storage').focus();
		return false;
		}

	if (trim(document.getElementById('base_lang_amount').value).length == 0 || isNaN(document.getElementById('base_lang_amount').value))	{
		alert("base language amount must be included and must be a number");
		document.getElementById('base_lang_amount').focus();
		return false;
		}
	if (trim(document.getElementById('extra_languages').value).length == 0 || isNaN(document.getElementById('extra_languages').value))	{
		alert("cost per extra language must be included and must be a number");
		document.getElementById('extra_languages').focus();
		return false;
		}

	if (trim(document.getElementById('base_accent_amount').value).length == 0 || isNaN(document.getElementById('base_accent_amount').value))	{
		alert("base accent amount must be included and must be a number");
		document.getElementById('base_accent_amount').focus();
		return false;
		}
	if (trim(document.getElementById('extra_accents').value).length == 0 || isNaN(document.getElementById('extra_accents').value))	{
		alert("cost per extra accent must be included and must be a number");
		document.getElementById('extra_accents').focus();
		return false;
		}

	if (trim(document.getElementById('screened_audition_fee').value).length == 0 || isNaN(document.getElementById('screened_audition_fee').value))	{
		alert("sreened auditon fee must be included and must be a number");
		document.getElementById('screened_audition_fee').focus();
		return false;
		}
	if (trim(document.getElementById('featured_singer').value).length == 0 || isNaN(document.getElementById('featured_singer').value))	{
		alert("featured singer fee must be included and must be a number");
		document.getElementById('featured_singer').focus();
		return false;
		}
	if (trim(document.getElementById('set_up_fee').value).length == 0 || isNaN(document.getElementById('set_up_fee').value))	{
		alert("set up fee must be included and must be a number");
		document.getElementById('set_up_fee').focus();
		return false;
		}

	if (trim(document.getElementById('yearly_pay_discount').value).length == 0 || isNaN(document.getElementById('yearly_pay_discount').value))	{
		alert("yearly membership discount must be included and must be a number");
		document.getElementById('yearly_pay_discount').focus();
		return false;
		}
	}

function checkAdminInput(is_from_edit)	 {
	if (trim(document.getElementById('admin_name').value).length == 0)	 {
		alert("Administrators name may not be empty");
		document.getElementById('admin_name').focus();
		return false;
		}
	if (!document.getElementById('super').checked && !document.getElementById('regular').checked)	{
		alert("please select the access level");
		return false;
		}

	if (is_from_edit == 1 && document.getElementById('user_name').value.length != 0)	{
		if (trim(document.getElementById('user_name').value).length == 0 || document.getElementById('user_name').value.length < 8)	{
			alert("Username field is either empty or less than 8 characters");
			document.getElementById('user_name').focus();
			return false;
			}
		}
	else if (is_from_edit == 0)	{
		if (trim(document.getElementById('user_name').value).length == 0 || document.getElementById('user_name').value.length < 8)	{
			alert("Username field is either empty or less than 8 characters");
			document.getElementById('user_name').focus();
			return false;
			}
		}
	
	if (is_from_edit == 1 && document.getElementById('pass_word').value.length != 0)	 {
		if (trim(document.getElementById('pass_word').value).length == 0 || document.getElementById('pass_word').value.length < 8)	{
			alert("Password field is either empty or less than 8 characters");
			document.getElementById('pass_word').focus();
			return false;
			}
		}
	else if (is_from_edit == 0)	{
		if (trim(document.getElementById('pass_word').value).length == 0 || document.getElementById('pass_word').value.length < 8)	{
			alert("Password field is either empty or less than 8 characters");
			document.getElementById('pass_word').focus();
			return false;
			}
		}
	}

function checkProducerInput()	 {

	if (document.getElementById('email_addy').value.length != 0 && !checkEmail(document.getElementById('email_addy').value))	{
		alert("The email  you have entered is already in the system");
		document.getElementById('email_addy').focus();
		return false;
		}

	if (trim(document.getElementById('first_name').value).length == 0)	 {
		alert("First Name may not be empty");
		document.getElementById('first_name').focus();
		return false;
		}
	if (trim(document.getElementById('last_name').value).length == 0)	 {
		alert("Last Name may not be empty");
		document.getElementById('last_name').focus();
		return false;
		}
	if (trim(document.getElementById('addy_1').value).length == 0)	 {
		alert("Address field one may not be empty");
		document.getElementById('addy_1').focus();
		return false;
		}
	if (trim(document.getElementById('city').value).length == 0)	 {
		alert("City may not be empty");
		document.getElementById('city').focus();
		return false;
		}
	if (document.getElementById('state').selectedIndex == 0)	{
		alert("State must be selected");
		document.getElementById('state').focus();
		return false;
		}
	if (document.getElementById('country').selectedIndex == 0)	{
		alert("Country must be selected");
		document.getElementById('country').focus();
		return false;
		}
	if (trim(document.getElementById('zipcode').value).length == 0 || isNaN(document.getElementById('zipcode').value) || document.getElementById('zipcode').value.length != 5)	 {
		alert("Zipcode may not be empty and must be 5 digit US zipcode");
		document.getElementById('zipcode').focus();
		return false;
		}
	if (trim(document.getElementById('p_area_code').value).length == 0 || document.getElementById('p_area_code').value.length != 3 || isNaN(document.getElementById('p_area_code').value))	 {
		alert("Primary area code may not be empty and must be 3 digits");
		document.getElementById('p_area_code').focus();
		return false;
		}
	if (!phone_pattern.test(document.getElementById('p_phone').value))	 {
		alert("Primary phone may not be empty and must be xxx-xxxx format");
		document.getElementById('p_phone').focus();
		return false;
		}
	if (!email_pattern.test(document.getElementById('email_addy').value))	 {
		alert("Email address appears wrong, please format at name@domain.ext ");
		document.getElementById('email_addy').focus();
		return false;
		}
	if (trim(document.getElementById('pass_word').value).length == 0 || document.getElementById('pass_word').value.length < 8)	 {
		alert("Password may not be empty and must be a minimum of 8 characters long for security reasons");
		document.getElementById('pass_word').focus();
		return false;
		}
		if (document.getElementById('on_mailing_list').selectedIndex == 0)	{
		alert("select mailing list options");
		document.getElementById('on_mailing_list').focus();
		return false;
		}

	}

function checkSingerInput()	 {
	if (trim(document.getElementById('first_name').value).length == 0)	 {
		alert("First Name may not be empty");
		document.getElementById('first_name').focus();
		return false;
		}
	if (trim(document.getElementById('last_name').value).length == 0)	 {
		alert("Last Name may not be empty");
		document.getElementById('last_name').focus();
		return false;
		}
	if (trim(document.getElementById('addy_1').value).length == 0)	 {
		alert("Address field one may not be empty");
		document.getElementById('addy_1').focus();
		return false;
		}
	if (trim(document.getElementById('city').value).length == 0)	 {
		alert("City may not be empty");
		document.getElementById('city').focus();
		return false;
		}
	if (document.getElementById('state').selectedIndex == 0)	{
		alert("State must be selected");
		document.getElementById('state').focus();
		return false;
		}
	if (document.getElementById('country').selectedIndex == 0)	{
		alert("Country must be selected");
		document.getElementById('country').focus();
		return false;
		}
	if (trim(document.getElementById('zipcode').value).length == 0 || isNaN(document.getElementById('zipcode').value) || document.getElementById('zipcode').value.length != 5)	 {
		alert("Zipcode may not be empty and must be 5 digit US zipcode");
		document.getElementById('zipcode').focus();
		return false;
		}
	if (trim(document.getElementById('p_area_code').value).length == 0 || document.getElementById('p_area_code').value.length != 3 || isNaN(document.getElementById('p_area_code').value))	 {
		alert("Primary area code may not be empty and must be 3 digits");
		document.getElementById('p_area_code').focus();
		return false;
		}
	if (!phone_pattern.test(document.getElementById('p_phone').value))	 {
		alert("Primary phone may not be empty and must be xxx-xxxx format");
		document.getElementById('p_phone').focus();
		return false;
		}
	if (!email_pattern.test(document.getElementById('email_addy').value))	 {
		alert("Email address appears wrong, please format at name@domain.ext ");
		document.getElementById('email_addy').focus();
		return false;
		}
	if (trim(document.getElementById('pass_word').value).length == 0 || document.getElementById('pass_word').value.length < 8)	 {
		alert("Password may not be empty and must be a minimum of 8 characters long for security reasons");
		document.getElementById('pass_word').focus();
		return false;
		}
	if (document.getElementById('gender').selectedIndex == 0)	{
		alert("Gender must be selected");
		document.getElementById('gender').focus();
		return false;
		}
	if (document.getElementById('sight_read').selectedIndex == 0)	{
		alert("Able to site read must be selected");
		document.getElementById('sight_read').focus();
		return false;
		}
	if (document.getElementById('on_mailing_list').selectedIndex == 0)	{
		alert("select mailing list options");
		document.getElementById('on_mailing_list').focus();
		return false;
		}
	if (!document.getElementById('is_celeb_yes').checked && !document.getElementById('is_celeb_no').checked)	 {
		alert("Check whether member is celebrity or not");
		document.getElementById('is_celeb_no').focus();
		return false;
		}
	if (!document.getElementById('fretless_client_yes').checked && !document.getElementById('fretless_client_no').checked)	 {
		alert("Check whether member is a Fretless client");
		document.getElementById('fretless_client_no').focus();
		return false;
		}
	if (!document.getElementById('screened_yes').checked && !document.getElementById('screened_no').checked)	 {
		alert("Check whether member is screened or unscreened");
		document.getElementById('screened_yes').focus();
		return false;
		}
	if (!document.getElementById('term_m').checked && !document.getElementById('term_y').checked)	 {
		alert("Membership term must be checked");
		document.getElementById('term_m').focus();
		return false;
		}
	if (!document.getElementById('stat_a').checked && !document.getElementById('stat_i').checked)	 {
		alert("Membership status must be checked");
		document.getElementById('stat_a').focus();
		return false;
		}

	if (trim(document.getElementById('max_vocal_styles').value).length == 0 || isNaN(document.getElementById('max_vocal_styles').value)) {
		alert("You must enter the maximum vocal styles allowed for this member, numeric values only");
		document.getElementById('max_vocal_styles').focus();
		return false;
		}

	if (parseInt(document.getElementById('max_vocal_styles').value) > parseInt(document.getElementById('total_vocal_styles').value))	{
		alert("you have entered more vocal styles than there are in the system!");
		document.getElementById('max_vocal_styles').focus();
		return false;
		}

	if (trim(document.getElementById('max_languages').value).length == 0 || isNaN(document.getElementById('max_languages').value)) {
		alert("You must enter the maximum languages allowed for this member, numeric values only");
		document.getElementById('max_languages').focus();
		return false;
		}

	if (parseInt(document.getElementById('max_languages').value) > parseInt(document.getElementById('total_languages').value))	{
		alert("you have entered more languages than there are in the system!");
		document.getElementById('max_languages').focus();
		return false;
		}

	if (trim(document.getElementById('max_accents').value).length == 0 || isNaN(document.getElementById('max_accents').value)) {
		alert("You must enter the maximum accents allowed for this member, numeric values only");
		document.getElementById('max_accents').focus();
		return false;
		}

	if (parseInt(document.getElementById('max_accents').value) > parseInt(document.getElementById('total_accents').value))	{
		alert("you have entered more accents than there are in the system!");
		document.getElementById('max_accents').focus();
		return false;
		}

	if (!document.getElementById('type_s').checked && !document.getElementById('type_sp').checked)	 {
		alert("Membership type must be checked");
		document.getElementById('type_s').focus();
		return false;
		}



	var style_picked = false;

	for (var x = 0 ; x < j_styles.length ; x++)	{
		if (document.getElementById(j_styles[x]).checked)	{
			style_picked = true;
			break;
			}		
		}

	if (!style_picked)	{
		alert("check at least one vocal style");
		return false;
		}

	var lang_picked = false;

	for (var x = 0 ; x < j_langs.length ; x++)	{
		if (document.getElementById(j_langs[x]).checked)	{
			lang_picked = true;
			break;
			}		
		}

	if (!lang_picked)	{
		alert("check at least one language");
		return false;
		}

	}

function checkLanguages()	{
	var has_checked = false;

	for (var x = 0; x < langs.length ; x++)	{
		if (document.getElementById(langs[x]).checked)	{
			has_checked = true;
			break;
			}		
		}
	if (!has_checked)	{ // if they havent check a language we have to check the accents

		for (var x = 0; x < accents.length ; x++)	{
			if (document.getElementById(accents[x]).checked)	{
				has_checked = true;
				break;
				}		
		
			}
		}

	if (!has_checked)	{
		alert("please check at least one language or accent to search on");
		return false;
		}
	else if (!checkZipcodes(document.getElementById('lang_zipcode').value))	{
		alert("zipcodes must be 5 digits US zipcodes only");
		return false;
		}

	}

function checkStyles()	 {
	var has_checked = false;
	
	for (var x = 0; x < v_styles.length ; x++)	{
		if (document.getElementById(v_styles[x]).checked)	{
			has_checked = true;
			break;
			}		
		}
	if (document.getElementById('all_opera').checked || document.getElementById('all_rock').checked)	 {
		has_checked = true;
		}
	if (!has_checked)	{
		alert("please check at least one vocal style to search on");
		return false;
		}
	else if (!checkZipcodes(document.getElementById('style_zipcode').value))	{
		alert("zipcodes must be 5 digits US zipcodes only");
		return false;
		}
	}

function checkMemberType()	{
	if (!document.getElementById('singers').checked && !document.getElementById('singer_producer').checked)	 {
		alert("please check which member type you wish to search for");
		return false;
		}
	else if (!checkZipcodes(document.getElementById('mem_zipcode').value))	{
		alert("zipcodes must be 5 digits US zipcodes only");
		return false;
		}
	}

function checkSubscriptionTerm()	{
	if (!document.getElementById('monthly').checked && !document.getElementById('yearly').checked)	{
		alert("please check the subscription term to search");
		return false;
		}
	}

function checkScreened()	{
	if (!document.getElementById('screened2').checked && !document.getElementById('unscreened2').checked)	{
		alert("please check screened or unscreened");
		return false;
		}
	else if (!checkZipcodes(document.getElementById('screen_zipcode').value))	{
		alert("zipcodes must be 5 digits US zipcodes only");
		return false;
		}
	}

function checkZipOnly(zipcode)	{
	if (!checkZipcodes(document.getElementById(zipcode).value))	{
		alert("zipcodes must be 5 digits US zipcodes only");
		return false;
		}
	}

function checkUnions()	{
	if (!document.getElementById('sag').checked && !document.getElementById('aftra').checked)	{
		alert("please select which union affiliation you wish to search for");
		return false;
		}
	else if (!checkZipcodes(document.getElementById('union_zipcode').value))	{
		alert("zipcodes must be 5 digits US zipcodes only");
		return false;
		}
	}

function checkGender()	{
	if (!document.getElementById('gen_m').checked && !document.getElementById('gen_f').checked)	 {
		alert("please select a gender");
		return false;
		}
	else if (!checkZipcodes(document.getElementById('gen_zipcode').value))	{
		alert("zipcodes must be 5 digits US zipcodes only");
		return false;
		}
	}

function checkNames()	{
	if (trim(document.getElementById('f_name').value).length == 0 && trim(document.getElementById('l_name').value).length == 0)	{
		alert("Please enter a first or last name to search on");
		return false;
		}
	}

function checkZipcodes(zip)	 {
	var zip_ok = false;
	var clean = trim(zip);

	if (clean.length != 0 && clean.length == 5)	{
		if (!isNaN(clean))	 {
			zip_ok = true;
			}
		}
	else if (clean.length == 0)	{
		zip_ok = true;
		}
	return zip_ok;
	}

var searchElements = new Array('name_search', 'gender_search', 'm_type_search', 'union_search', 'fret_search', 'corp_search', 'home_studio_search', 'screened_un_search', 'unpaid_auditions_search', 'subscription_search', 'email_search');

function showForm(formid)	{
	if (document.getElementById(formid).style.display == 'none')	 {
		document.getElementById(formid).style.display = 'block';
		}
	else	{
		document.getElementById(formid).style.display = 'none';
		}

	closeOthers(formid);
	}

function closeOthers(keepOpen)	{
	for (var x = 0; x < searchElements.length ; x++)	{
		if (searchElements[x] != keepOpen)	{
			document.getElementById(searchElements[x]).style.display = 'none';
			}
		}
	}

function openMenu(menuName, hdrName)	{
	var lists = new Array('stylelist', 'articlelist', 'sitelist', 'statlist');
	var hdrs = new Array('stylehdr', 'arthdr', 'sitehdr', 'stathdr');

	if (document.getElementById(menuName).style.display == 'none')	 {
		document.getElementById(menuName).style.display = 'block';
		document.getElementById(hdrName).style.backgroundImage = 'url(/administration/images/header-bg.jpg)';
		}
	else	{
		document.getElementById(menuName).style.display = 'none';
		document.getElementById(hdrName).style.backgroundImage = 'url(/administration/images/header-dn.jpg)';
		}
	for (var x = 0; x < lists.length ; x++)	{
		if (lists[x] != menuName)	{
			document.getElementById(lists[x]).style.display = 'none';
			document.getElementById(hdrs[x]).style.backgroundImage = 'url(/administration/images/header-dn.jpg)';
			}
		}
	}

function trim(str)	{  
	while(str.charAt(0) == " ")	{  
		str = str.substring(1);
		}
	while(str.charAt(str.length-1) == " " )	{  
		str = str.substring(0,str.length-1);
		}
  return str;
}

function showElement(element_name)	{
	if (document.getElementById(element_name).style.display == 'none')	{
		document.getElementById(element_name).style.display = 'block';
		}
	else	{
		document.getElementById(element_name).style.display = 'none';
		}
	}

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object

