function showregisterform( field_name ) {
	if( field_name == "po" ) {
		var el=document.getElementsByTagName("tr");
		for(i=0;i<el.length;i++) {
			if(el[i].className=="method_cc visible") {
				el[i].className="method_cc hidden";
			}
			else if (el[i].className=="method_po hidden") {
				el[i].className="method_po visible";
			}
		}
	}
	else if( field_name == "credit" ) {
		var el=document.getElementsByTagName("tr");
		for(i=0;i<el.length;i++) {
			if(el[i].className=="method_cc hidden") {
				el[i].className="method_cc visible";
			}
			else if (el[i].className=="method_po visible") {
				el[i].className="method_po hidden";
			}
		}
	}
	else if( field_name == "bill" ) {
		var el=document.getElementsByTagName("tr");
		for(i=0;i<el.length;i++) {
			if(el[i].className=="method_cc visible") {
				el[i].className="method_cc hidden";
			}
			else if (el[i].className=="method_po visible") {
				el[i].className="method_po hidden";
			}
		}
	}
}

function showadditionalcontact(fields) {
	if( document.getElementById( "add_contact_checkbox" ).checked == false ) {
		for( var n = 1; n <= fields; n++ ) {
			document.getElementById( 'add_contact-' + n ).className = "hidden";
		}
	}
	else {
		for( var n = 1; n <= fields; n++ ) {
			document.getElementById( 'add_contact-' + n ).className = "visible";
		}
	}
}

function showSupplemental(field_name) {
	var el=document.getElementsByTagName("tr");
	if( document.getElementById(field_name).checked==true ) {
		for(i=0;i<el.length;i++) {
			if(el[i].className==field_name+" visible" || el[i].className==field_name+" hidden") {
				el[i].className=field_name+" visible";
			}
		}
	}
	else {	
		for(i=0;i<el.length;i++) {
			if(el[i].className==field_name+" visible" || el[i].className==field_name+" hidden") {
				el[i].className=field_name+" hidden";
			}
		}
	}
}

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 clearLinkField( field_name )
{
	document.getElementById( field_name ).value = '';
	document.getElementById( field_name+'_type' ).value = '';
	document.getElementById( field_name+'_name' ).value = '';
	document.getElementById( field_name+'_display' ).innerHTML = '';
}

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

/****************************************************
* Functions for unlimited items in a page template
*****************************************************/

// add/update images
function addItem() {
	var atable = document.getElementById('item_table');
	var item_title = document.getElementById('item_title');
	var image_id = document.getElementById('image_id');
	var image_filename = document.getElementById('image_id_filename');
	var image_link = document.getElementById('image_link');
	var image_link_text = document.getElementById('image_link_text');
	var id = document.getElementById('item_id');
	var ordernum = document.getElementById('item_ordernum');

	if( id.value == '' ) {
			
			//create new row
			var row_num = atable.rows.length;
			var new_row = atable.insertRow(row_num);
			//create control cell
			var cell_control = new_row.insertCell(0);
			cell_control.innerHTML = '<input type="hidden" name="items[]" value="0~|~'+item_title.value+'~|~'+image_id.value+'~|~'+image_filename.value+'~|~'+image_link.value+'~|~'+row_num+'" />';
			cell_control.innerHTML += '<a href="javascript:void(null);" onclick="deleteItem(this);"><img src="../images/icons/sc_delete_16.gif" alt="Remove" /></a>';
			//create name cell
			var cell_name = new_row.insertCell(1);
			cell_name.innerHTML = '<b>'+item_title.value+'</b><br />';
			cell_name.innerHTML += '<img src="'+image_filename.value+'" /><br />';
			cell_name.innerHTML += image_link.value+'<br />';
			
			resetItemForm();
		
	}
	else {
		var old_row = document.getElementById('item_'+id.value);
		old_row.getElementsByTagName('td')[1].innerHTML = '<b>'+item_title.value+'</b><br />'+'<img src="'+image_filename.value+'" /><br />'+image_link.value;
		
		var serialized = document.getElementById('serialized_'+id.value);
		var split = serialized.value.split('~|~');
		serialized.value = split[0]+'~|~'+item_title.value+'~|~'+image_id.value+'~|~'+image_filename.value+'~|~'+image_link.value+'~|~'+ordernum.value;
		resetItemForm();
	}
		
	
}
/***********************************************************
* reset product form
***********************************************************/
function resetItemForm(){

	document.getElementById('item_title').value = '';
	document.getElementById('pg-image_id').src='images/spacer.gif';
	document.getElementById('item_ordernum').value = '';
	document.getElementById('image_id').value = '';
	document.getElementById('image_id_filename').value = '';
	document.getElementById('image_link').value = '';
	document.getElementById('image_link_text').innerHTML = '';
	document.getElementById('item_button').value='Add Item';
	document.getElementById('item_id').value = '';
}

/***********************************************************
* edit product
***********************************************************/
function editItem(item) {
	var serialized = document.getElementById('serialized_'+item);
	var values = serialized.value.split('~|~');
	document.getElementById('item_id').value = values[0];
	document.getElementById('item_title').value = values[1];
	document.getElementById('image_id').value = values[2];
	document.getElementById('image_id_filename').value = '../files/library/'+values[3];
	document.getElementById('pg-image_id').src = '../files/library/'+values[3];
	document.getElementById('image_link').value = values[4];
	document.getElementById('image_link_text').innerHTML = values[4];
	document.getElementById('item_ordernum').value = values[5];
	document.getElementById('item_button').value='Update Item';
	document.getElementById('item_title').focus();
	
}

//remove item
function deleteItem(element) {
	var check = confirm('Are you sure that you want to remove this item?');
	if( check ) {
		var td = element.parentNode;
		var tr = td.parentNode;
		var table = document.getElementById('item_table');
		table.deleteRow(tr.rowIndex);
	}
}

/***********************************************************
* 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);
}

function hide_show_policy(id)
{
	if( document.getElementById(id).style.display == 'none' ){
		document.getElementById(id).style.display = 'block';
	}
	else{
		document.getElementById(id).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;
}
//assigns a new function to string types
String.prototype.removespaces = removespaces;
String.prototype.trim_spaces = trim_spaces;

