

function clearField( field_name )
{
	document.getElementById( field_name ).value = '';
	document.getElementById( field_name ).style.backgroundColor = '';
}

function highlightFields( field_str )
{
	var fields = field_str.split(',');
	
	for( var i=0; i<fields.length; i++ )
	{
		highlightField( fields[i], '#F6F5CF' ); 
	}
	
}


function highlightField( field_name, field_color )
{
	document.getElementById( field_name ).style.backgroundColor = field_color;
}


function formatCurrency(num) 
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') +  num + '.' + cents);
}	//end function

function validate_required_fields(frmName, strTextBoxes)
{
	var oForm = document.getElementById(frmName);
	
	//turn the comma separated list into an array
	var arrBoxes = strTextBoxes.split(",");
	
	error = 0;
	
	//loop thru each box and determine if the text value is empty
	for( var intCount = 0; intCount < arrBoxes.length; intCount++ )
	{
		arrBoxes[intCount] = arrBoxes[intCount].trim_spaces();
		
		//alert( "inCount: " + intCount + " - text box: -->" + arrBoxes[intCount] + "<--" );
		
		var strText = document.getElementById(arrBoxes[intCount]).value;
		
		if( strText.length == 0 )
		{
			error++;
			
		}	//end if
		
	}	//end for loop
	
	//if any errors, then user did not enter all the required fields
	if( error > 0 )
	{
		alert( "Please enter all the required fields." );
		
		valid = false;
		
	}	//end if
	
	else
	{
		valid = true;
		
	}	//end else
	
	return valid;
	
}	//end function

function pop_templates()
{
	window.open('pop_templates.php','admin_pop','width=600,height=400,scrollbars=yes,resizable=yes');	
}

//removes all spaces in a string
function removespaces() 
{
	return this.replace(/.*\S/,'');
	
}	//end function

//trims leading and trailing spaces
function trim_spaces() 
{
	return this.replace(/^\s+/,'').replace(/\s+$/,'');
	
}	//end function

function clear_image( field_id )
{
	document.getElementById( 'pg-' + field_id ).src = 'images/spacer.gif';
	document.getElementById( field_id ).value = '';
	document.getElementById( field_id + '_filename' ).value = '';
}

function clear_link( field_id )
{
	document.getElementById( field_id ).value = '';
	document.getElementById( field_id + '_text' ).innerHTML = '';
	document.getElementById( field_id + '_text' ).style.backgroundColor = '';
}


function isNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) {
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;
}

function toggleSearch(action) {
	search_field = document.getElementById('search');
	if( search_field ) {
		if( action == 'on' ) {
			if( search_field.value=='Search' ) {
				search_field.value='';
			}
		}
		else if( action == 'off' ) {
			if( search_field.value=='' ) {
				search_field.value='Search';
			}
		}
	}
}
function toggleUsername(action) {
	un_field = document.getElementById('username');
	if( un_field ) {
		if( action == 'on' ) {
			if( un_field.value=='email address' ) {
				un_field.value='';
			}
		}
		else if( action == 'off' ) {
			if( un_field.value=='' ) {
				un_field.value='email address';
			}
		}
	}
}
function toggleFirstName(action) {
	un_field = document.getElementById('first_name');
	if( un_field ) {
		if( action == 'on' ) {
			if( un_field.value=='first name' ) {
				un_field.value='';
			}
		}
		else if( action == 'off' ) {
			if( un_field.value=='' ) {
				un_field.value='first name';
			}
		}
	}
}
function toggleLastName(action) {
	un_field = document.getElementById('last_name');
	if( un_field ) {
		if( action == 'on' ) {
			if( un_field.value=='last name' ) {
				un_field.value='';
			}
		}
		else if( action == 'off' ) {
			if( un_field.value=='' ) {
				un_field.value='last name';
			}
		}
	}
}
function toggleEmail(action) {
	un_field = document.getElementById('email');
	if( un_field ) {
		if( action == 'on' ) {
			if( un_field.value=='email' ) {
				un_field.value='';
			}
		}
		else if( action == 'off' ) {
			if( un_field.value=='' ) {
				un_field.value='email';
			}
		}
	}
}
function togglePassword(action) {
	var pw_field = document.getElementById('password');
	var pw_area = document.getElementById('pw_area');
	if( pw_field ) {
		if( action == 'on' ) {
			if( pw_field.value=='password' ) {
				pw_area.innerHTML = '<input type="password" id="password" name="password" size="35" onfocus="togglePassword(\'on\');" onblur="togglePassword(\'off\');" />';
				document.getElementById('password').focus();
			}
		}
		else if( action == 'off' ) {
			if( pw_field.value=='' ) {
				pw_area.innerHTML = '<input type="text" id="password" name="password" size="35" value="password" onfocus="togglePassword(\'on\');" onblur="togglePassword(\'off\');" />';
			}
		}
	}
}

function checkEmail()
	{
		var submit = true;
		var objForm = document.getElementById('newsletter_signup');
		var em = "";
		
		var fname = document.getElementById('first_name').value;
	   	var lname = document.getElementById('last_name').value;
		var temp = objForm.email.value.split('@');
		
		if (temp[1] == null) {
			submit = false;
			em = em + 'Your email address isn\'t formatted correctly. Please try again.\n';
		} //end if
	  	
	  	else {
	   		var itemp = temp[1].split('.');
	   		
	   		if (itemp[1] == null) {
	   			submit = false;
	   			em = em + 'Your email address isn\'t formatted correctly. Please try again.\n';
	    	}	//end if
	   }	//end else
	   
	   
	   if( fname == '' || fname == 'first name' || fname == ' '){
	   	submit = false;
	   	em = em + 'You must enter your first name.\n';
	   }
	   if( lname == '' || lname == 'last name' || lname == ' '){
	   	submit = false;
	   	em = em + 'You must enter your last name.\n';
	   }
	   
	   if( submit == false ) {
			alert( em );
	   	}	//end if
	   
	   return submit;
		
	}

function changePage(page) {
	document.getElementById('pg').value = page;
	document.car_pages.submit();
}

function checkAgree() {
	 
    if (document.getElementById("agree").checked) {
        return true;
    } else {
        alert("You have to agree to the refund policy before submitting your request.");
        return false;
    }
}

function checkAgreePolicy() {
	 
    if (document.getElementById("readpolicy").checked) {
        return true;
    } else {
        alert("You have to agree to the Liability Disclaimer & Communications Release before submitting your request.");
        return false;
    }
}
/*
function displayDiscounts(){
	var membershipType = document.getElementById('membership_type');
	var membership = membershipType.options[membershipType.selectedIndex].value;
	
	if( membership == 'at_1200' || membership == 'af_10000' ){
		var discountType = document.getElementById('discounts').selectedIndex = 0;
		
		document.getElementById('discounts_avail').style.display = 'none';
		document.getElementById('discounts_none').innerHTML = "<i>There are no discounts available for this member type</i>";
		document.getElementById('discounts_none').style.display = 'block';
	}
	else if( membership == ""){
		document.getElementById('discounts_avail').style.display = 'none';
		document.getElementById('discounts_none').innerHTML = "<i>Please select a membership type to view discounts available.</i>";
		document.getElementById('discounts_none').style.display = 'block';
	}
	else{
		document.getElementById('discounts_none').style.display = 'none';
		document.getElementById('discounts_avail').style.display = 'block';
	}
	
	if( document.getElementById('total') ){
		calculateTotal();
	}
	
}*/

/*function memberDiscount() {

	if(document.getElementById('discounts').value == 'senior_10'){
		document.getElementById('dbo').style.display = 'block';
	}
	else {
		document.getElementById('dbo').style.display = 'none';
	}
	
	if(document.getElementById('discounts').value == 'aaa_20'){
		document.getElementById('aaa_code').style.display='block';
	}
	else{
		document.getElementById('aaa_code').style.display='none';
	}
	
	if(document.getElementById('discounts').value == 'plu_10'){
		document.getElementById('plu').style.display='block';
	}
	else{
		document.getElementById('plu').style.display='none';
	}
	
	if(document.getElementById('discounts').value == 'state_farm_20'){
		document.getElementById('state_farm').style.display='block';
	}
	else{
		document.getElementById('state_farm').style.display='none';
	}
}*/

/*function calculateTotal(){
	
	var membershipType = document.getElementById('membership_type');
	var membership = membershipType.options[membershipType.selectedIndex].value;
	var cost = membership.substring(3);
	
	var discountSelect = document.getElementById('discounts');
	var discount_type = discountSelect.options[discountSelect.selectedIndex].value;
	
	if( discount_type == 'military_10' || discount_type == 'student_10' || discount_type == 'senior_10' || discount_type == 'plu_10' ){
		var discount = 10;
	}
	else if( discount_type == 'aaa_20' ){
		var discount = 20;
	}
	else{
		var discount = 0;
	}
	
	var total = cost*(100-discount)/100;
	total = total.toFixed(2);
	document.getElementById('total_display').innerHTML = total;
	document.getElementById('total').value = total;

}*/

function check_event_cats(checkedOnOff) {
	var cats_div = document.getElementById("event_cats");
	var allInputs = cats_div.getElementsByTagName("input");
	
	for(var i=0; i<allInputs.length; i++) {
		var thisCheckbox = allInputs[i];
		if( thisCheckbox.type == "checkbox" ) {
			if( checkedOnOff == 1 ) {
				thisCheckbox.checked = 1;
			} else {
				thisCheckbox.checked = 0;
			}
		}
	}
}

/***********************************************
* Textarea Maxlength script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function ismaxlength(obj){
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)
}

function adjustText(limit){
	if( limit == 60 ){
		document.getElementById('text4').style.display="none";
		document.getElementById('text5').style.display="none";
		document.getElementById('text6').style.display="none";
		document.getElementById('text7').style.display="none";
	}
	else if( limit == 100 ){
		document.getElementById('text4').style.display="block";
		document.getElementById('text5').style.display="block";
		document.getElementById('text6').style.display="none";
		document.getElementById('text7').style.display="none";
	}
	else if( limit == 140 ){
		document.getElementById('text4').style.display="block";
		document.getElementById('text5').style.display="block";
		document.getElementById('text6').style.display="block";
		document.getElementById('text7').style.display="block";
	}
}

function toggleGiftInfo(action){
	if( action == 'yes' ){
		document.getElementById('gift_send').style.display="block";
		document.getElementById('gift_info').style.display="block";
	}
	else{
		document.getElementById('gift_send').style.display="none";
		document.getElementById('gift_info').style.display="none";
	}
}

//Hide or show elements on a page
//nodeIds - ID of one or more (separated by "|") elements on a page
//visTo - takes a value of 0 or 1 to set visibility as either none or block (by default)
//visType (optional) - allows override of default block visibility type for other options (e.g. inline, table-row-group, etc.)
function hide_show(nodeIds, visTo, visType)
{
	var nodeIdArr = nodeIds.split("|");
	
	for(i=0; i<nodeIdArr.length; i++) {
		var nodeId = nodeIdArr[i];
		var thisNode = document.getElementById(nodeId);
		
		// check for node's current visibility
		if(visTo == 1) {
			if(visType) {
				if( (visType == "table-row-group" || visType == "table-row") && document.all ) visType = "block";
				thisNode.style.display = visType;
			} else {
				thisNode.style.display = "block";
			}
		} else if(visTo == 0) {
			thisNode.style.display = "none";
		} else { // find node current vis and assume the opposite
			var currVis = thisNode.style.display;
			
			if(currVis) {
				if(currVis == "none")
					thisNode.style.display = ( visType ? visType : "block" );
				else
					thisNode.style.display = "none";
			} else if(thisNode.className == "no_show") {
				thisNode.style.display = ( visType ? visType : "block" );
			} else { // assume element starts as visible
				thisNode.style.display = "none";
			}
		}
	}
}

function swap_expand_icons(clicked_header) {
	var curr_class = clicked_header.className;

	if( curr_class == "expandable")
		var new_class = "contractable";
	else
		var new_class = "expandable";

	clicked_header.className = new_class;
}

function showTab(tab_num,type){
	if( type == 'sm' ){
		
		for( var i=1; i<=8; i++ ){
			document.getElementById('sm_'+i).style.display = 'none';
			setClassName(document.getElementById(i+'_sm'), "");
		}
		document.getElementById('sm_'+tab_num).style.display = 'block';
		setClassName(document.getElementById(tab_num+'_sm'), "active");
		
	}
	else if( type == 'hero'){
		for( var i=1; i<=7; i++ ){
			document.getElementById('hero_'+i).style.display = 'none';
			setClassName(document.getElementById(i+'_hero'), "");
		}
		document.getElementById('hero_'+tab_num).style.display = 'block';
		setClassName(document.getElementById(tab_num+'_hero'), "active");
	}
	else if( type == 'col'){
		for( var i=1; i<=2; i++ ){
			document.getElementById('col_'+i).style.display = 'none';
			setClassName(document.getElementById(i+'_col'), "");
		}
		document.getElementById('col_'+tab_num).style.display = 'block';
		setClassName(document.getElementById(tab_num+'_col'), "active");
	}
}

/***********************************************************
* class name functions
***********************************************************/
function getClassName(element) {
	var className = (document.all && document.getElementById ? element.className : element.getAttribute("class"));
	return className;
}
function setClassName(element,style) {
	if( document.all && document.getElementById ) element.className=style;
	else element.setAttribute("class", style);
}

//assigns a new function to string types
String.prototype.removespaces = removespaces;
String.prototype.trim_spaces = trim_spaces;