

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_ups/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 checkEmail()
	{
		var submit = true;
		var objForm = document.getElementById('email');
		var em = "";
		
		var temp = objForm.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( submit == false ) {
			alert( em );
	   	}	//end if
	   
	   return submit;
		
	}

function toggleEmail(action) {
	un_field = document.getElementById('email');
	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 switchImage( arrThumb,arrOverlay,arrImage,index )
{
	var path = "files/projects/";
	
	document.getElementById("image_large").src = path + arrImage[index];
	
	for ( var i=0; i<arrThumb.length; i++ )
	{
		if (i==index)
		{
			document.getElementById("thumb_" + i).src = path + arrOverlay[i];
		}
		else
		{
			document.getElementById("thumb_" + i).src = path + arrThumb[i];
		}
	}
}

/**  ADDED BY KS  **/
/***********************************************************
* add/update product
***********************************************************/
function createTable() {
	var related_type = document.getElementById('related_type');
	var atable = document.getElementById('related_table');
	var related_title = document.getElementById('related_title');
	var image_id = document.getElementById('related_image_id');
	var related_url = document.getElementById('related_url');
	var id = document.getElementById('related_id');
	var ordernum = document.getElementById('related_ordernum');
	var link = document.getElementById('related_url_text');

	var serialized = document.getElementById('serialized_'+id).value;
	var split = serialized.value.split('~|~');
	serialized.value = split[0]+'~|~'+related_title.value+'~|~'+image_id.value+'~|~'+related_url.value+'~|~'+ordernum.value+'~|~'+related_type.value;
			
	alert(related_title.value);
	//create new row
	var row_num = atable.rows.length;
	var new_row = atable.insertRow(row_num);
	//new_row.setAttribute("onClick", "setActiveRow(this)"); 
	new_row.setAttribute("id", "related_"+row_num); 
	//create control cell
	var cell_control = new_row.insertCell(0);
	cell_control.innerHTML = '<input type="hidden" name="RelatedInfoLinks[]" value="0~|~'+related_title.value+'~|~'+image_id.value+'~|~'+related_url.value+'~|~'+row_num+'~|~'+related_type.value+'" />';
	cell_control.innerHTML += '<a href="javascript:void(null);" onclick="deleteRelatedInfoLink(this);"><img src="../images/icons/sc_delete_16.gif" alt="Remove" /></a>';
	//create level cell
	var cell_level = new_row.insertCell(1);
	cell_level.innerHTML = related_type.value+'<br />';
	//related_type[0].setAttribute("id","related_");
	//create name cell
	var cell_name = new_row.insertCell(2);
	cell_name.innerHTML = '<b>'+related_title.value+'</b>' + '<br />';
	var cell_url = new_row.insertCell(3);
	cell_url.innerHTML = '<b>'+related_url.value+'</b>' + '<br />';
}

function addRelatedInfoLink() {
	var related_type = document.getElementById('related_type');
	
	var atable = document.getElementById('related_table');
	var related_title = document.getElementById('related_title');
	//var content = document.getElementById('hdnrelated_content').value;
	var image_id = document.getElementById('related_image_id');
	var image_id_name = document.getElementById('related_image_id_doc');
	
	var related_url = document.getElementById('related_url');
	
	var id = document.getElementById('related_id');
	var ordernum = document.getElementById('related_ordernum');

	var link = document.getElementById('related_url_text');
	
	if( related_title.value == '')
	{
		alert('Please enter a title');
	}
	else
	{
		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="RelatedInfoLinks[]" value="0~|~'+related_title.value+'~|~'+image_id.value+'~|~'+image_id_name.innerHTML+'~|~'+related_url.value+'~|~'+ordernum.value+'~|~'+related_type.value+'" />';
			cell_control.innerHTML += '<a href="javascript:void(null);" onclick="deleteRelatedInfoLink(this, '+row_num+');"><img src="../images/icons/sc_delete_16.gif" alt="Remove" /></a>';
			//create level cell
			var cell_type = new_row.insertCell(1);
			//create type cell
			cell_type.innerHTML = related_type.value;
			//create title cell
			var cell_title = new_row.insertCell(2);
			cell_title.innerHTML = related_title.value;
			//create link cell
			if (related_type.value=="doc")
			{
				var cell_link = new_row.insertCell(3);
				cell_link.innerHTML = image_id_name.innerHTML;
			}
			else
			{
				var cell_link = new_row.insertCell(3);
				cell_link.innerHTML = link.innerHTML;
			}
			
			
			//createTable();
			showTable(); 
			//setActiveRow(new_row);
			resetRelatedInfoForm();
			
		}
		else 
		{
			var old_row = document.getElementById('related_'+id.value);
			old_row.getElementsByTagName('td')[1].innerHTML = related_type.value;
			old_row.getElementsByTagName('td')[2].innerHTML = related_title.value;
			
			if (related_type.value=='doc')
			{
				old_row.getElementsByTagName('td')[3].innerHTML = image_id_name.innerHTML;
			}
			else
			{
				old_row.getElementsByTagName('td')[3].innerHTML = link.innerHTML;
			}
			
			var serialized = document.getElementById('serialized_'+id.value);
			var split = serialized.value.split('~|~');
			serialized.value = split[0]+'~|~'+related_title.value+'~|~'+image_id.value+'~|~'+image_id_name.innerHTML+'~|~'+related_url.value+'~|~'+ordernum.value+'~|~'+related_type.value;
			
			//setActiveRow(old_row);
			resetRelatedInfoForm();
		}
	}
}


var activeRow = '';

function createRowId(){
	var rowcount = document.getElementById('related_table').rows;
	var row = document.getElementById('related_'+i+'');

	for(var i = 0; i < rowcount.length; i++) {
		var row = document.getElementById('related_'+i+'');
		row.setAttribute("id", "related_"+i+"");
	}
}

/*******************************************************
*					MOVE ROWS 
********************************************************/
function setActiveRow(el) {
  var rows = document.getElementById('related_table').rows;
  
  for(var i = 0; i < rows.length; i++) {
  
  var row = document.getElementById('related_'+i+'');
  
    if(rows[i] == el) {
        rows[i].style.backgroundColor = "#FFFFAA";
        activeRow = i;
	} else {
	  rows[i].style.backgroundColor = "#FFFFFF";
	}
	
  }
}

function moveActiveRow(move) {
	alert(activeRow);
	if(activeRow == '')
	{
		alert('Please select a row to move.');
	}
	else
	{
		var rows = document.getElementById('related_table').rows;
		
		if(rows[activeRow+move].id != 'related_header' && rows[activeRow].id != 0)
		{
			var oldRow = rows[activeRow].innerHTML;
			var newRow = rows[activeRow+move].innerHTML;
			var serializedContentOld = document.getElementById("serialized_"+activeRow);
			var serializedContentNew = document.getElementById("serialized_"+(activeRow+move));
			
			serializedContentOld.setAttribute("id", "temp_filed");
			document.getElementById("serialized_"+(activeRow+move)).value = serializedContentOld;
			rows[activeRow].innerHTML = newRow;
			rows[activeRow+move].innerHTML = oldRow;
			setActiveRow(rows[activeRow+move]);
		}
	}
}

/***********************************************************
* reset product form
***********************************************************/
function resetRelatedInfoForm(){

	document.getElementById('related_title').value = '';
	document.getElementById('related_image_id_doc').innerHTML='';
	document.getElementById('related_type').value = '';
	document.getElementById('related_ordernum').value = '';
	document.getElementById('related_image_id').value = '';
	document.getElementById('related_image_id_filename').value = '';
	document.getElementById('related_button').value='Add Link';
	document.getElementById('related_id').value = '';
	document.getElementById('related_url').value = '';
	clear_link('related_url');
}

/***********************************************************
* edit product
***********************************************************/
function editRelatedInfoLink(element) {

	var td = element.parentNode;
	var tr = td.parentNode;
	
	var related = tr.id;
	
	related = related.replace("related_", '');

	var serialized = document.getElementById('serialized_'+related);
	var values = serialized.value.split('~|~'); 
	document.getElementById('related_id').value = related;
	document.getElementById('related_title').value = values[1];
	
	document.getElementById('related_image_id').value = values[2];
	document.getElementById('related_image_id_doc').innerHTML = values[3];
	document.getElementById('related_url').value = values[4];
	document.getElementById('related_url_text').innerHTML = values[4];
	document.getElementById('related_ordernum').value = values[5];
	document.getElementById('related_type').value = values[6];
	document.getElementById('related_button').value='Update';
	document.getElementById('related_title').focus();
	//alert(values[2]);
	toggleImageType();
//' value="0~|~'+related_title.value+'~|~'+image_id.value+'~|~'+image_id_name.innerHTML+'~|~'+related_url.value+'~|~'+ordernum.value+'~|~'+related_type.value+'" />';	
}

/***********************************************************
* remove product
***********************************************************/
function deleteRelatedInfoLink(element) {
	var check = confirm('Are you sure that you want to remove this related info item?');
	if( check ) {
		var td = element.parentNode;
		var tr = td.parentNode;
		var table = document.getElementById('related_table');
		table.deleteRow(tr.rowIndex);
	}
}

function toggleImageType() {
	field = document.getElementById('related_type');
	if( field ) {
		if( field.value == 'doc' ) 
		{	
			document.getElementById('link-url').style.display = "none";
			document.getElementById('link-doc').style.display = "";
		}
		else if(field.value == 'url')
		{
			document.getElementById('link-doc').style.display = "none";
			document.getElementById('link-url').style.display = "";
		}
	}
}
function showTable() {
	table = document.getElementById('related_table');

	table.style.display = '';
	
	
}

function viewSlideshow() {
	$('lightboxSSFirst').onclick();
	
	Lightbox.prototype.startSlideshow();
	
}

// 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 = $(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";
			}
		}
	}
}

//assigns a new function to string types
String.prototype.removespaces = removespaces;
String.prototype.trim_spaces = trim_spaces;