

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 addGalleryPopup(category) {
	window.open('pop_gallery.php?category=' + category,'admin_pop','width=400,height=400,scrollbars=yes');
}

function updateGalleryPopup(category,image) {
	window.open('pop_gallery.php?category=' + category + '&img_id=' + image,'admin_pop','width=400,height=550,scrollbars=yes');
}

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 toggleNewsletter(action) {
	search_field = document.getElementById('newsletter_email');
	if( search_field ) {
		if( action == 'on' ) {
			if( search_field.value=='Enter Email Address' ) {
				search_field.value='';
			}
		}
		else if( action == 'off' ) {
			if( search_field.value=='' ) {
				search_field.value='Enter Email Address';
			}
		}
	}
}


/*DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)*/

function email_check(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail")
		    return false
		 }

 		 return true					
	}
function ValidateForm(){
	var emailID=document.newsletter_signup.email
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter your Email Address")
		emailID.focus()
		return false
	}
	if (email_check(emailID.value)==false){
		emailID.value=""
		emailID.focus()
		return false
	}
	return true
 }


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;
			}
		}
	}
}

function test_function(x)
{
	if (document.getElementById('test').checked)
	{
		for (c=0;c<x;c++)
		{
			str_element = 'recursion_event_'+c;
			document.getElementById(str_element).checked = true;
		}
	}
	else
	{
		for (c=0;c<x;c++)
		{
			str_element = 'recursion_event_'+c;
			document.getElementById(str_element).checked = false;
		}
	}
}

function showCompany(){
	if( document.getElementById('match').checked == true ){
		document.getElementById('company').style.display = 'table-row';
	}
	else{
		document.getElementById('company').style.display = 'none';
	}
}

function switchImage(id,imgs){
	var image_id = id;
	
	for( var i=1; i<=imgs.length; i++ ){
		document.getElementById('image'+i).style.display = 'none';
		document.getElementById('c'+i).style.display = 'none';
	}
	document.getElementById('image'+image_id).style.display = 'block';
	document.getElementById('c'+image_id).style.display = 'block';
}

function showInputGuests(){
	if( document.getElementById('additional_guest').checked == true ){
		document.getElementById('guests_num_row').style.display = '';
	}
	else{
		document.getElementById('guests_num_row').style.display = 'none';
		document.getElementById('guests_num').value = '';
	}
}

function showMemberCompanyName(){
	if( document.getElementById('corporate_member').checked == true ){
		document.getElementById('corporate_name').style.display = 'table-row';
	}
	else{
		document.getElementById('corporate_name').style.display = 'none';
	}
}

function memberType(){
	if( document.getElementById('corporate_member').checked == false ){
		document.getElementById('corporate_250').checked = false;
		document.getElementById('corporate_500').checked = false;
		document.getElementById('corporate_750').checked = false;
		document.getElementById('corporate_1000').checked = false;
	}
	else{
		document.getElementById('corporate_250').checked = true;
	}
}
function memberTypeCorporate(){
	document.getElementById('corporate_member').checked = true;
}

function showhide_rec_info(action){
	if( action == 'show' ){
		document.getElementById('rec_info').style.display = 'block';
	}
	else if( action == 'hide' ){
		document.getElementById('rec_info').style.display = 'none';
	}
}

function billing_mailing_same(){
	var same = document.getElementById('billing_same').checked
	
	if( same == true ){
		document.getElementById('bill_address1').value = document.getElementById('pur_address1').value
		document.getElementById('bill_address2').value = document.getElementById('pur_address2').value
		document.getElementById('bill_city').value = document.getElementById('pur_city').value
		document.getElementById('bill_state').value = document.getElementById('pur_state').value
		document.getElementById('bill_zip').value = document.getElementById('pur_zip').value
	}
	else{
		document.getElementById('bill_address1').value = '';
		document.getElementById('bill_address2').value = '';
		document.getElementById('bill_city').value = '';
		document.getElementById('bill_state').value = '';
		document.getElementById('bill_zip').value = '';
	}
}

function memberTotal(don){
	
	var memberCost = document.getElementById('memberCost').value*1;
	var Total = memberCost;
	if( don == 'other' ){
		var other = document.getElementById('other_amount').value
		Total = memberCost + (other*1);
	}
	if( don == '10' ){
		var add = document.getElementById('don_10').value*1;
		Total = memberCost += add;
	}
	if( don == '25' ){
		var add = document.getElementById('don_25').value*1;
		Total = memberCost += add;
	}
	if( don == '50' ){
		var add = document.getElementById('don_50').value*1;
		Total = memberCost += add;
	}
	if( don == '90' ){
		var don=don*1
		Total = memberCost + don;
	}
	Total = formatCurrency(Total);
	document.getElementById('total').innerHTML = '$'+Total;
}

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);
}
//assigns a new function to string types
String.prototype.removespaces = removespaces;
String.prototype.trim_spaces = trim_spaces;