/**
 * @author AugmentJ, LLC
 */
//UTILITY FUNCTIONS==================================================================================
function removeUnicodeCharsById(id){
	var temp = document.getElementById(id).value;
	//temp = temp.replace(/[\u00DF]+/g,"&#223;");
	temp = temp.replace(/[\u2013]+/g,"-");
	temp = temp.replace(/[\u2014]+/g,"-");
	temp = temp.replace(/[\u0022]+/g,'"');
	temp = temp.replace(/[\u0027]+/g,"'");
	temp = temp.replace(/[^a-zA-Z 0-9  \n \r \-\+\=\_\<\>\%\!\&\*\(\)\:\;\`\~\.\?\@\#\$\^\,\[\]\{\}'"\/\|\\]+/g,'');
	document.getElementById(id).value = temp;
	//   \u2014 = -- \u2013 = -  \u0022 = " \u0027 = '
}
function removeUnicodeCharsByValue(temp){
	//temp = temp.replace(/[\u00DF]+/g,"&#223;");
	temp = temp.replace(/[\u2013]+/g,"-");
	temp = temp.replace(/[\u2014]+/g,"-");
	temp = temp.replace(/[\u0022]+/g,'"');
	temp = temp.replace(/[\u0027]+/g,"'");
	temp = temp.replace(/[\u2018]+/g,"'");
	temp = temp.replace(/[\u2019]+/g,"'");
	temp = temp.replace(/[\u201C]+/g,'"');
	temp = temp.replace(/[\u201D]+/g,'"');
	temp = temp.replace(/[^a-zA-Z 0-9  \n \r \-\+\=\_\<\>\%\!\&\*\(\)\:\;\`\~\.\?\@\#\$\^\,\[\]\{\}'"\/\|\\]+/g,'');
	return temp;
	//   \u2014 = -- \u2013 = -  \u0022 = " \u0027 = '
}


function createDataGridFromCSV(){
	convertToCSVById(id);
	dataGrid(id);
}

function convertToCSVById(id){
	var temp = document.getElementById(id).value;
	temp = temp.replace(/[\t]/g,'---CSVFiElD---');
	temp = temp.replace(/[\u000A]+/g,";");
	temp = removeUnicodeCharsByValue(temp);
	document.getElementById(id).value = temp;
}

/////////PUT IN PEOPLE WIDGET BELOW.......
function createPeopleDataGridFromCSV(id){
	convertToCSVById(id);
	createCSVPeopleTable(id);
}

function CSVPeopleReset(id){
	document.getElementById(id).value = '';
	document.getElementById('container_paste_area').style.display = '';
	document.getElementById('csv_table').innerHTML = '';
}

function createCSVPeopleTable(id){
	var temp = document.getElementById(id).value;
	tempArray = temp.split(";");
	
	var n_rows = Number(tempArray.length);
	var myResult = '<div id="toggle_row_options" style="position:relative; padding:10px 0px 10px 50px; font-size:12px; display:none;">Select: <input type="checkbox" id="select_available" checked="true" onClick="javascript:chooseProcessedEmailAddresses(\'available\');" /> Available <input type="checkbox" id="select_already_exists" checked="true"  onClick="javascript:chooseProcessedEmailAddresses(\'already_exists\');"/> Alreay Exists</div>';
	
	//myResult = myResult + '<div><table cellspacing="0" cellpadding="0" style="border:1px #FFFFFF solid;"><tr style="font-weight:bold; font-size:10px;"><td style="min-width:50px; width:50px; max-width:50px;border:1px #FFFFFF solid;"></td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">First Name</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Middle Name</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Last Name</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Street (Line 1)</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Street (Line 2)</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">City</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">State</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Zip</td><td style="min-width:80px; width:80px; max-width:80px;border:1px #FFFFFF solid;">Notes</td><td style="min-width:80px; width:80px; max-width:80px;border:1px #FFFFFF solid;">Account Email</td><td style="min-width:80px; width:80px; max-width:80px;border:1px #FFFFFF solid;">Biography</td><td style="min-width:220px; width:220px; max-width:220px; border:1px #FFFFFF solid;">Email Addresses</td><td style="min-width:80px; width:80px; max-width:80px;border:1px #FFFFFF solid;">Phone Numbers</td></tr></table></div>';
	
	myResult = myResult + '<div style="text-align:left; width:99%;"><table cellspacing="0" cellpadding="0" style="border:0px black solid;">';
	
	for(i=0;i<n_rows;i++){
		rowArray = tempArray[i].split("---CSVFiElD---");
		var n_fields = Number(rowArray.length);
		
		if(n_fields>0){
			myResult = myResult + "<tr style='height:20px;' id='row_csv_person_"+i+"'><td style='width:40px; min-width:40px; max-width:40px;'><div style='width:40px; min-width:40px; max-width:40px; text-align:center;' id='progress_container_csv_person_"+i+"'><img id='progress_image_csv_person_"+i+"' style='display:none;' src='../images/loading_images/arrows_green.gif' /></div></td><td style='border:0px grey solid; min-width:50px; font-size:10px;'><input type='checkbox' name='csv_person' id='csv_person_"+i+"' value='csv_person_"+i+"' checked=\"true\" /> "+i+"<input type='hidden' id='processed_csv_person_"+i+"' value='false'/><input type='hidden' name='processed_outcome' value='' id='processed_outcome_csv_person_"+i+"' /></td>";
			
			for(r=0;r<13;r++){
				if(r==9){
					myResult = myResult + "<td style='border:1px grey solid; min-width:220px; max-width:220px; font-size:11px; background-color:#ffffff;'><div style='position:relative;' id='container_csv_person_"+i+"_field_"+r+"'><input style='width:214px; border-color:transparent;' type='text' id='csv_person_"+i+"_field_"+r+"' value='"+rowArray[r].replace(/ /gi,'')+"' onFocus=\"javascript:document.getElementById('container_csv_person_"+i+"_field_"+r+"').style.zIndex='100'; document.getElementById('csv_person_"+i+"_field_"+r+"').style.width='260px';\" onBlur=\"javascript:this.style.width='214px'; document.getElementById('container_csv_person_"+i+"_field_"+r+"').style.zIndex='0'; validateRowEmailAddress(this.value,'csv_person_"+i+"');\" /></div><td>";
				}else{
					myResult = myResult + "<td style='border:1px grey solid; min-width:80px; max-width:8%; font-size:11px; background-color:#ffffff;'><div style='position:relative;' id='container_csv_person_"+i+"_field_"+r+"'><input style='width:94%; border-color:transparent;' type='text' id='csv_person_"+i+"_field_"+r+"' value='"+rowArray[r]+"' onFocus=\"javascript:document.getElementById('container_csv_person_"+i+"_field_"+r+"').style.position='absolute'; document.getElementById('container_csv_person_"+i+"_field_"+r+"').style.zIndex='100'; document.getElementById('csv_person_"+i+"_field_"+r+"').style.width='260px';\" onBlur=\"javascript:document.getElementById('container_csv_person_"+i+"_field_"+r+"').style.position=''; this.style.width='94%'; document.getElementById('container_csv_person_"+i+"_field_"+r+"').style.zIndex='0'\" /></div><td>";
				}
			}
			
			myResult = myResult + "</tr>";
		}
	}
	
	myResult = myResult+"</table></div>";
	
	document.getElementById('container_paste_area').style.display = 'none';
	document.getElementById('csv_table').innerHTML = myResult;
}

function chooseProcessedEmailAddresses(myValue){
	var myArray = document.getElementsByName('csv_person');
	
	for(i=0;i<myArray.length;i++){
		var row = myArray.item(i);
		if(document.getElementById('processed_outcome_'+row.id).value==myValue){
			toggleChecked(row.id);
		}
	}
}

function bulkAddPeople(row_number){
	var rowsArray = document.getElementsByName('csv_person');
	
	if(row_number<rowsArray.length){
		processBulkAddPeopleRow(row_number);
	}
}


function processBulkAddPeopleRow(row_number){
	var currentRow='';
	var row_item_id='';
	var email_address='';
	var next_row_number = Number(row_number)+1;
	
	currentRow = document.getElementsByName('csv_person').item(row_number);
	
	if(currentRow.checked==true && row_number<document.getElementsByName('csv_person').length){
		document.getElementById('progress_image_'+currentRow.id).style.display = '';
		
		row_item_id = currentRow.id+'_field_9';
		email_address = document.getElementById(row_item_id).value;
		
		var ready_status = document.getElementById('processed_outcome_'+currentRow.id).value;
		
		if(ready_status=='available'){
			document.getElementById(row_item_id).style.backgroundColor = '#00cc00';
			document.getElementById('processed_outcome_'+currentRow.id).value = 'available';
			

			var d = new Date();
			var temp =(d.getFullYear())*(d.getMonth()+1)*(d.getDate())*(d.getHours()+1)*(d.getMinutes()+1)*(d.getMinutes()+1)*(d.getSeconds()+1);
			var pw = getPassword('8');
			
			var first_name = encodeURIComponent(document.getElementById(currentRow.id+'_field_0').value);
			var middle_name = encodeURIComponent(document.getElementById(currentRow.id+'_field_1').value);
			var last_name = encodeURIComponent(document.getElementById(currentRow.id+'_field_2').value);
			var recipient_name = encodeURIComponent(first_name+' '+last_name);

			var street_01 = encodeURIComponent(document.getElementById(currentRow.id+'_field_3').value);
			var street_02 = encodeURIComponent(document.getElementById(currentRow.id+'_field_4').value);
			var city = encodeURIComponent(document.getElementById(currentRow.id+'_field_5').value);
			var state = encodeURIComponent(document.getElementById(currentRow.id+'_field_6').value);
			var zip = encodeURIComponent(document.getElementById(currentRow.id+'_field_7').value);

			var account_notes = encodeURIComponent(document.getElementById(currentRow.id+'_field_8').value);
			var email_address = document.getElementById(currentRow.id+'_field_9').value.replace(/ /gi,'');
			var biography = encodeURIComponent(document.getElementById(currentRow.id+'_field_10').value);

			var other_email_addresses = document.getElementById(currentRow.id+'_field_11').value;
			var other_phone_numbers = document.getElementById(currentRow.id+'_field_12').value;

			var zipArray = zip.split('-');
			var zip_plus_four='';
			
			if(zipArray.length==2){
				zip = zipArray[0];
				zip_plus_four = zipArray[1];
			}else{
				zip_plus_four = '';
			}
			
			var groups_table = '';
			var groups_fields = '';
			var groups_values = '';
			var groups_id = document.getElementById('groups_id').options[document.getElementById('groups_id').selectedIndex].value;
			if(groups_id!=''){
				var groups_table = '--MA--p_groups_people';
				var groups_fields = '--MA--groups_id--SSA--people_id';
				var groups_values = '--MA--'+groups_id+'--SSA--FiRsT..Id..InSeRtEd!';
			}
			
			
			var email_table='';
			var email_fields='';
			var email_values='';
			
			if(other_email_addresses.replace(' ','')!=''){
				var otherEmailArray = other_email_addresses.split(',');
				
				for(e=0;e<otherEmailArray;e++){
					if(email_fields=='' && email_values==''){
						email_table = '--MA--email_addresses';
						email_fields = '--MA--people_id--SSA--email_address';
						email_values = '--MA--FiRsT..Id..InSeRtEd!--SSA--'+otherEmailArray[e];
					}else{
						email_fields = email_fields + '--SA--people_id--SSA--email_address';
						email_values = email_values + '--SA--FiRsT..Id..InSeRtEd!--SSA--'+otherEmailArray[e];
					}
				}
			}
			
			
			
			
			var phone = '';
			var area_code = '';
			var exchange = '';
			var local = '';
			var phone_table = '';
			var phone_fields = '';
			var phone_values = '';
			
			if(other_phone_numbers.replace(' ','')!=''){
				var phonesArray = other_phone_numbers.split(',');
				for(p=0;p<phonesArray.length;p++){
					phone = phonesArray[p].replace(/[^0-9]+/g,'');
					
					if(phone.length==7 || phone.length==10 || phone.length==11){
						switch(phone.length){
							case 7:
								exchange = phone.substring(0,3);
								local = phone.substring(3,7);
								break;
							case 10:
								area_code = phone.substring(0,3);
								exchange = phone.substring(3,6);
								local = phone.substring(6,10);
								break;
							case 11:
								country_code = phone.substring(0,1);
								area_code = phone.substring(1,4);
								exchange = phone.substring(4,7);
								local = phone.substring(7,11);
								break;
						}
						if(phone_fields=='' && phone_values==''){
							phone_table = '--MA--phone_numbers';
							phone_fields = '--MA--people_id--SSA--area_code--SSA--exchange--SSA--local';
							phone_values = '--MA--FiRsT..Id..InSeRtEd!--SSA--'+area_code+'--SSA--'+exchange+'--SSA--'+local;
						}else{
							phone_fields = phone_fields + '--SA--people_id--SSA--area_code--SSA--exchange--SSA--local';
							phone_values = phone_values + '--SA--FiRsT..Id..InSeRtEd!--SSA--'+area_code+'--SSA--'+exchange+'--SSA--'+local;
						}
					}
				}
			}
			
			
			
			var itablesArray = 'people--MA--up'+groups_table+'--MA--addresses--MA--p_people_shipping_billing_addresses--MA--biographies'+phone_table+email_table;
			var ifield_namesArray = 'first_name--SSA--middle_name--SSA--last_name--MA--username--SSA--password--SSA--access_level_id--SSA--people_id--SSA--up_email_address--SSA--account_notes--SSA--initialization_code--SSA--initialized'+groups_fields+'--MA--people_id--SSA--recipient_name--SSA--street_01--SSA--street_02--SSA--city--SSA--state--SSA--zip--SSA--zip_plus_four--MA--people_id--MA--people_id--SSA--biography'+phone_fields+email_fields;
			var ifield_valuesArray = first_name+'--SSA--'+middle_name+'--SSA--'+last_name+'--MA--'+last_name+'LaSt..Id..InSeRtEd!--SSA--'+pw+'--SSA--5--SSA--LaSt..Id..InSeRtEd!--SSA--'+email_address+'--SSA--'+account_notes+'--SSA--'+temp+'--SSA--false'+groups_values+'--MA--FiRsT..Id..InSeRtEd!--SSA--'+recipient_name+'--SSA--'+street_01+'--SSA--'+street_02+'--SSA--'+city+'--SSA--'+state+'--SSA--'+zip+'--SSA--'+zip_plus_four+'--MA--FiRsT..Id..InSeRtEd!--MA--FiRsT..Id..InSeRtEd!--SSA--'+biography+encodeURIComponent(phone_values)+encodeURIComponent(email_values);
			
			iajaxFunction = 'insertDBSetSession';
			iajaxQuery = "tables="+itablesArray+"&field_names="+ifield_namesArray+"&field_values="+ifield_valuesArray;
			

			var iObject = GetXmlHttpObject();
			if (iObject == null) {
		        alert("Browser does not support HTTP Request");
		        return;
		    }
		    
			var iurl = "../script/queryDB.php";
			
			var iparameters = "f="+iajaxFunction+"&"+iajaxQuery;
			iparameters = iparameters + "&sid=" + Math.random();
		    
		    iObject.open("POST", iurl, true);
		    iObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		    iObject.onreadystatechange = function(){
		    	if(iObject.readyState == 4 || iObject.readyState == "complete"){
		    		if(iObject.responseText.match('TrAnSaCtIoN..TrUe!')=='TrAnSaCtIoN..TrUe!'){
						document.getElementById('progress_image_'+currentRow.id).src = '../images/symbols/check_small_green_01.png';
					}else if(iObject.responseText.match('TrAnSaCtIoN..FaLsE!')=='TrAnSaCtIoN..FaLsE!'){
						document.getElementById('progress_image_'+currentRow.id).src = '../images/symbols/x_small_red_01.png';
					}
				}
			}
			
		    iObject.send(iparameters);
		    

			
		    
		}else if(ready_status=='already_exists'){
			document.getElementById(row_item_id).style.backgroundColor = '#dddd00';
			document.getElementById('processed_outcome_'+currentRow.id).value = 'already_exists';
			
			var first_name = encodeURIComponent(document.getElementById(currentRow.id+'_field_0').value);
			var middle_name = encodeURIComponent(document.getElementById(currentRow.id+'_field_1').value);
			var last_name = encodeURIComponent(document.getElementById(currentRow.id+'_field_2').value);
			var recipient_name = encodeURIComponent(first_name+' '+last_name);

			var street_01 = encodeURIComponent(document.getElementById(currentRow.id+'_field_3').value);
			var street_02 = encodeURIComponent(document.getElementById(currentRow.id+'_field_4').value);
			var city = encodeURIComponent(document.getElementById(currentRow.id+'_field_5').value);
			var state = encodeURIComponent(document.getElementById(currentRow.id+'_field_6').value);
			var zip = encodeURIComponent(document.getElementById(currentRow.id+'_field_7').value);

			var account_notes = encodeURIComponent(document.getElementById(currentRow.id+'_field_8').value);
			var email_address = document.getElementById(currentRow.id+'_field_9').value.replace(/ /gi,'');
			var biography = encodeURIComponent(document.getElementById(currentRow.id+'_field_10').value);

			var other_email_addresses = encodeURIComponent(document.getElementById(currentRow.id+'_field_11').value);
			var other_phone_numbers = encodeURIComponent(document.getElementById(currentRow.id+'_field_12').value);


			
			
	//get the people_id of the email that already exists.
			var pObject = GetXmlHttpObject();
			if (pObject == null) {
		        alert("Browser does not support HTTP Request");
		        return;
		    }
		    
			var people_id_url = "../class/ajax_retrievePeopleIdByEmail.php";
			
			people_id_url = people_id_url + "?email_address_01="+email_address;
			people_id_url = people_id_url + "&sid=" + Math.random();
			
		    pObject.open("GET", people_id_url, true);
		    pObject.onreadystatechange = function(){
				if(pObject.readyState == 4 || pObject.readyState == "complete"){
					var existing_people_id = pObject.responseText;
					var groups_id = document.getElementById('groups_id').options[document.getElementById('groups_id').selectedIndex].value;
					
					var groups_table = '';
					var groups_fields = '';
					var groups_values = '';
					if(groups_id!='' && existing_people_id!=''){
						
							var pgObject = GetXmlHttpObject();
							if (pgObject == null) {
						        alert("Browser does not support HTTP Request");
						        return;
						    }
						    
							var pg_url = "../script/queryDB.php";
							
							pg_url = pg_url + "?f=checkForExistingInDB&table=p_groups_people&field_name=ID&field_value=&where_clause=groups_id%3D"+groups_id+"%20AND%20people_id%3D"+existing_people_id;
						    pg_url = pg_url + "&sid=" + Math.random();
						    
						    pgObject.open("GET", pg_url, true);
						    pgObject.onreadystatechange = function(){
								if(pgObject.readyState == 4 || pgObject.readyState == "complete"){
									if(pgObject.responseText=='Available'){
										groups_table = '--MA--p_groups_people';
										groups_fields = '--MA--groups_id--SSA--people_id';
										groups_values = '--MA--'+groups_id+'--SSA--'+existing_people_id;
									}
									
									var dpTablesArray = 'people_duplicates'+groups_table;
									var dpField_namesArray = 'first_name--SSA--middle_name--SSA--last_name--SSA--street_01--SSA--street_02--SSA--city--SSA--state--SSA--zip--SSA--account_notes--SSA--up_email_address--SSA--biography--SSA--email_addresses_csv--SSA--phone_numbers_csv'+groups_fields;
									var dpField_valuesArray = first_name+'--SSA--'+middle_name+'--SSA--'+last_name+'--SSA--'+street_01+'--SSA--'+street_02+'--SSA--'+city+'--SSA--'+state+'--SSA--'+zip+'--SSA--'+account_notes+'--SSA--'+email_address+'--SSA--'+biography+'--SSA--'+other_email_addresses+'--SSA--'+other_phone_numbers+groups_values;
									
									dpAjaxFunction = 'insertDB';
									dpAjaxQuery = "tables="+dpTablesArray+"&field_names="+dpField_namesArray+"&field_values="+dpField_valuesArray;
									
									
									
									var iObject = GetXmlHttpObject();
									if (iObject == null) {
								        alert("Browser does not support HTTP Request");
								        return;
								    }
								    
									var iurl = "../script/queryDB.php";
									
									var iparameters = 'f=insertDBSetSession&tables='+dpTablesArray+'&field_names='+dpField_namesArray+'&field_values='+dpField_valuesArray;
									iparameters = iparameters + "&sid=" + Math.random();
								    
									iObject.open("POST", iurl, true);
								    iObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
								    iObject.onreadystatechange = function(){
										if(iObject.readyState == 4 || iObject.readyState == "complete"){
											if(iObject.responseText.match('TrAnSaCtIoN..TrUe!')=='TrAnSaCtIoN..TrUe!'){
												document.getElementById('progress_image_'+currentRow.id).src = '../images/symbols/check_small_green_01.png';
											}else if(iObject.responseText.match('TrAnSaCtIoN..FaLsE!')=='TrAnSaCtIoN..FaLsE!'){
												document.getElementById('progress_image_'+currentRow.id).src = '../images/symbols/x_small_red_01.png';
											}
										}
									}
									
								    iObject.send(iparameters);
									
								}
							}
							
						    pgObject.send(null);

					}else if(!groups_id && existing_people_id!=''){
						var dpTablesArray = 'people_duplicates'+groups_table;
						var dpField_namesArray = 'first_name--SSA--middle_name--SSA--last_name--SSA--street_01--SSA--street_02--SSA--city--SSA--state--SSA--zip--SSA--account_notes--SSA--up_email_address--SSA--biography--SSA--email_addresses_csv--SSA--phone_numbers_csv'+groups_fields;
						var dpField_valuesArray = first_name+'--SSA--'+middle_name+'--SSA--'+last_name+'--SSA--'+street_01+'--SSA--'+street_02+'--SSA--'+city+'--SSA--'+state+'--SSA--'+zip+'--SSA--'+account_notes+'--SSA--'+email_address+'--SSA--'+biography+'--SSA--'+other_email_addresses+'--SSA--'+other_phone_numbers+groups_values;
						
						dpAjaxFunction = 'insertDB';
						dpAjaxQuery = "tables="+dpTablesArray+"&field_names="+dpField_namesArray+"&field_values="+dpField_valuesArray;
						
						var iObject = GetXmlHttpObject();
						if (iObject == null) {
					        alert("Browser does not support HTTP Request");
					        return;
					    }
					    
						var iurl = "../script/queryDB.php";
						
						var iparameters = 'f=insertDBSetSession&tables='+dpTablesArray+'&field_names='+dpField_namesArray+'&field_values='+dpField_valuesArray;
						iparameters = iparameters + "&sid=" + Math.random();
					    
						iObject.open("POST", iurl, true);
					    iObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
					    iObject.onreadystatechange = function(){
							if(iObject.readyState == 4 || iObject.readyState == "complete"){
								if(iObject.responseText.match('TrAnSaCtIoN..TrUe!')=='TrAnSaCtIoN..TrUe!'){
									document.getElementById('progress_image_'+currentRow.id).src = '../images/symbols/check_small_green_01.png';
								}else if(iObject.responseText.match('TrAnSaCtIoN..FaLsE!')=='TrAnSaCtIoN..FaLsE!'){
									document.getElementById('progress_image_'+currentRow.id).src = '../images/symbols/x_small_red_01.png';
								}
							}
						}
						
					    iObject.send(iparameters);
					}
				}
			}
			
		    pObject.send(null);
			
			
			
		}else if(ready_status=='bad_format'){
			document.getElementById('progress_image_'+currentRow.id).src = '../images/symbols/exclamation_small_orange_01.png';
			document.getElementById(row_item_id).style.backgroundColor = '#e96e00';
			document.getElementById('processed_outcome_'+currentRow.id).value = 'bad_format';
			currentRow.checked = false;
			currentRow.disabled = true;
		}
		

		
		if(next_row_number<document.getElementsByName('csv_person').length){
			bulkAddPeople(next_row_number);
		}
		
	}else if(currentRow.checked==false && next_row_number<document.getElementsByName('csv_person').length){
		bulkAddPeople(next_row_number);
	}
	
	if(next_row_number==document.getElementsByName('csv_person').length){
		//When Finished Processing all rows, do the following
		document.getElementById('toggle_row_options').style.display = '';
	}
}



///////////////Validate 1 Email
function validateRowEmailAddress(field_value,row_id){
	var email_address = field_value.replace(/ /gi,'');
	var currentRow = document.getElementById(row_id);
	var row_item_id = row_id+'_field_9';
	document.getElementById('progress_image_'+row_id).style.display = '';
	
	var o = GetXmlHttpObject();
	if (o == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
	var url = "../script/queryDB.php";
	
    url = url + "?f=checkForExistingInDB&table=up&field_name=up_email_address&field_value="+email_address;
    url = url + "&sid=" + Math.random();
	
    o.open("GET", url, true);
	o.onreadystatechange = function(){
		if(o.readyState == 4 || o.readyState == "complete"){
			if(o.responseText=='Available'){
				document.getElementById('progress_image_'+row_id).style.display = 'none';
				document.getElementById('processed_outcome_'+row_id).value = 'available';
				document.getElementById(row_item_id).style.backgroundColor = '#00cc00';
				currentRow.disabled = false;
				if(document.getElementById('select_available').checked==true){
					currentRow.checked=true;
				}else{
					currentRow.checked=false;
				}
			}else if(o.responseText=='Already Exists'){
				document.getElementById('progress_image_'+row_id).style.display = 'none';
				document.getElementById('processed_outcome_'+row_id).value = 'already_exists';
				document.getElementById(row_item_id).style.backgroundColor = '#dddd00';
				currentRow.disabled = false;
				if(document.getElementById('select_already_exists').checked==true){
					currentRow.checked=true;
				}else{
					currentRow.checked=false;
				}
			}else if(o.responseText=='Bad Format'){
				document.getElementById('progress_image_'+row_id).src = '../images/symbols/exclamation_small_orange_01.png';
				document.getElementById(row_item_id).style.backgroundColor = '#e96e00';
				document.getElementById('processed_outcome_'+row_id).value = 'bad_format';
				currentRow.checked = false;
				currentRow.disabled = true;
			}
			
		}
	}
	
    o.send(null);
}



///////////////BULK VALIDATE EMAIL
function bulkValidateEmail(row_number){
	var rowsArray = document.getElementsByName('csv_person');
	
	if(row_number<rowsArray.length){
		processBulkValidateEmail(row_number);
	}
}


function processBulkValidateEmail(row_number){
	var currentRow='';
	var row_item_id='';
	var email_address='';
	var next_row_number = Number(row_number)+1;
	
	currentRow = document.getElementsByName('csv_person').item(row_number);
	
	if(currentRow.checked==true && row_number<document.getElementsByName('csv_person').length){
		document.getElementById('progress_image_'+currentRow.id).style.display = '';
		
		row_item_id = currentRow.id+'_field_9';
		email_address = document.getElementById(row_item_id).value.replace(/ /gi,'');
		
		var o = GetXmlHttpObject();
		if (o == null) {
	        alert("Browser does not support HTTP Request");
	        return;
	    }
	    
		var evurl = "../script/queryDB.php";
		
	    evurl = evurl + "?f=checkForExistingInDB&table=up&field_name=up_email_address&field_value="+email_address;
	    evurl = evurl + "&sid=" + Math.random();
		
	    o.open("GET", evurl, true);
		o.onreadystatechange = function(){
			if(o.readyState == 4 || o.readyState == "complete"){
				//alert(o.responseText);
				if(o.responseText=='Available'){
					document.getElementById(row_item_id).style.backgroundColor = '#00cc00';
					document.getElementById('progress_image_'+currentRow.id).style.display = 'none';
					document.getElementById('processed_outcome_'+currentRow.id).value = 'available';
				}else if(o.responseText=='Already Exists'){
					document.getElementById(row_item_id).style.backgroundColor = '#dddd00';
					document.getElementById('progress_image_'+currentRow.id).style.display = 'none';
					document.getElementById('processed_outcome_'+currentRow.id).value = 'already_exists';
				}else if(o.responseText=='Bad Format'){
					document.getElementById('progress_image_'+currentRow.id).src = '../images/symbols/exclamation_small_orange_01.png';
					document.getElementById(row_item_id).style.backgroundColor = '#e96e00';
					document.getElementById('processed_outcome_'+currentRow.id).value = 'bad_format';
					currentRow.checked = false;
					currentRow.disabled = true;
				}
				


				
				if(next_row_number<document.getElementsByName('csv_person').length){
					bulkValidateEmail(next_row_number);
				}else{
					document.getElementById('add_button').disabled=false;
				}
			}
		}
		
	    o.send(null);
	}else if(currentRow.checked==false && next_row_number<document.getElementsByName('csv_person').length){
		bulkValidateEmail(next_row_number);
	}
	
	if(next_row_number==document.getElementsByName('csv_person').length){
		document.getElementById('toggle_row_options').style.display = '';
	}
}







////////////PUT IN PEOPLE WIDGET ABOVE............


function dataGrid(id){
	//alert('createCSVPeopleTable');
	var temp = document.getElementById(id).value;
	tempArray = temp.split(";");
	
	var n_rows = Number(tempArray.length);
	var myResult = '<div style="padding:10px 20px 6px 52px;"><input type="button" value="Reset" onClick="javascript:CSVPeopleReset(\''+id+'\');"></div>';
	
	//myResult = myResult + '<div><table cellspacing="0" cellpadding="0" style="border:1px #FFFFFF solid;"><tr style="font-weight:bold; font-size:10px;"><td style="min-width:50px; width:50px; max-width:50px;border:1px #FFFFFF solid;"></td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">First Name</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Middle Name</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Last Name</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Street (Line 1)</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Street (Line 2)</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">City</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">State</td><td style="min-width:80px; width:80px; max-width:80px; border:1px #FFFFFF solid;">Zip</td><td style="min-width:80px; width:80px; max-width:80px;border:1px #FFFFFF solid;">Notes</td><td style="min-width:80px; width:80px; max-width:80px;border:1px #FFFFFF solid;">Account Email</td><td style="min-width:80px; width:80px; max-width:80px;border:1px #FFFFFF solid;">Biography</td><td style="min-width:220px; width:220px; max-width:220px; border:1px #FFFFFF solid;">Email Addresses</td><td style="min-width:80px; width:80px; max-width:80px;border:1px #FFFFFF solid;">Phone Numbers</td></tr></table></div>';
	
	myResult = myResult + '<div><table cellspacing="0" cellpadding="0" style="border:1px black solid;">';
	
	for(i=0;i<n_rows;i++){
		rowArray = tempArray[i].split(",");
		var n_fields = Number(rowArray.length);
		
		myResult = myResult + "<tr style='height:20px;'><td style='border:1px grey solid; min-width:50px; font-size:10px;'><input type='checkbox' name='csv_person' id='csv_person_"+i+"' value='csv_person_"+i+"' checked='checked' /> "+i+"</td>";
		
		for(r=0;r<n_fields;r++){
			if(r==9){
				myResult = myResult + "<td style='border:1px grey solid; min-width:220px; max-width:220px; font-size:11px;'><div style='position:relative;' id='container_csv_person_"+i+"-field_"+r+"'><input style='width:220px; border-color:transparent;' type='text' id='csv_person_"+i+"-field_"+r+"' value='"+rowArray[r]+"' onFocus=\"javascript:document.getElementById('container_csv_person_"+i+"-field_"+r+"').style.zIndex='100'; document.getElementById('csv_person_"+i+"-field_"+r+"').style.width='260px';\" onBlur=\"javascript:this.style.width='220px'; document.getElementById('container_csv_person_"+i+"-field_"+r+"').style.zIndex='0'\" /></div><td>";
			}else{
				myResult = myResult + "<td style='border:1px grey solid; min-width:80px; max-width:80px; font-size:11px;'><div style='position:relative;' id='container_csv_person_"+i+"-field_"+r+"'><input style='width:80px; border-color:transparent;' type='text' id='csv_person_"+i+"-field_"+r+"' value='"+rowArray[r]+"' onFocus=\"javascript:document.getElementById('container_csv_person_"+i+"-field_"+r+"').style.zIndex='100'; document.getElementById('csv_person_"+i+"-field_"+r+"').style.width='260px';\" onBlur=\"javascript:this.style.width='80px'; document.getElementById('container_csv_person_"+i+"-field_"+r+"').style.zIndex='0'\" /></div><td>";
			}
		}
		
		myResult = myResult + "</tr>";
	}
	
	myResult = myResult+"</table></div>";
	
	document.getElementById('container_paste_area').style.display = 'none';
	document.getElementById('csv_table').innerHTML = myResult;
}

function toggleClass(id,n_class){
	document.getElementById(id).className = n_class;
}
function toggleDivChangeInnerHTML(toggle_id,edit_innerHTML_id,content){
	toggleStyleDisplay(toggle_id);
	setInnerHtml(edit_innerHTML_id,content);
}

function toggleStyleDisplay(id){
	var current_display = document.getElementById(id).style.display;
	if(current_display=='none'){
		document.getElementById(id).style.display = 'inline';
	}else if(current_display=='inline'){
		document.getElementById(id).style.display = 'none';
	}
}

function togglePlusMinus(id1,id2){
	toggleStyleDisplay(id1);
	toggleStyleDisplay(id2);
}

function setInnerHtml(id,the_content){
	document.getElementById(id).innerHTML = the_content;
}

function removeElement(id){
	document.getElementById(id).parentNode.removeChild(document.getElementById(id));
}

function ajaxSendQueryPrintResponse(display_result_area,url,parameters,method){
	//display_result_area example = "setElementInnerHTML-your_target_id-your_container_id"
	//parameters example = "F=something&X=something&Y=otherthing"
	
	var url = url;
	var parameters = parameters;
	var method = method;
	
	if(url!='' && parameters!='' && (method=='POST' || method=='GET')){
		parameters = parameters + "&sid=" + Math.random();
		var o = GetXmlHttpObject();
		if (o == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
	   	o.open(method, url, true);
		o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
		
		o.onreadystatechange = function(){
			stateChangedObject(o,display_result_area);
		}
	    
		o.send(parameters);
	}
}





//UTILITY CONSTRUCTION FUNCTIONS=====================================================================
function buildDiv(d_x,d_y,d_id,d_position,d_zindex,d_width,d_height,d_bgcolor,d_border_width,d_border_style,d_border_color,opacity){
	var opacity_decimal = opacity/100;
	
	nDiv = document.createElement("div");
	nDiv.id = d_id;
	nDiv.style.position=d_position;
	nDiv.style.top=d_y;
	nDiv.style.left=d_x;
	nDiv.style.zIndex = d_zindex;
	nDiv.style.width=d_width;
	nDiv.style.height=d_height;
	nDiv.style.backgroundColor=d_bgcolor;
	nDiv.style.borderWidth = d_border_width;
	nDiv.style.borderStyle = d_border_style;
	nDiv.style.borderColor = d_border_color;
	nDiv.style.opacity = opacity_decimal;
	//bug need to get alpha working in IE
	//nDiv.style.filter = alpha(opacity='70');
	return nDiv;
}

//STYLE FUNCTIONS====================================================================================
function styleDiv(d_id,d_display,d_position,d_top,d_left,d_zindex){
	var sDiv = document.getElementById(d_id);
	if(d_display!= ''){sDiv.style.display = d_display}
	if(d_position!=''){sDiv.style.position = d_position}
	if(d_top!=''){sDiv.style.top = d_top}
	if(d_left!=''){sDiv.style.left = d_left}
	if(d_zindex!=''){sDiv.style.zIndex = d_zindex}
}

function updateHeight(id,height){
	document.getElementById(id).style.height=height;
}




//UTILITY FUNCTIONS
function currentDatetime(){
	var d = new Date();
	var year = d.getFullYear();
	var month = (d.getMonth()-0)+1;
		if(month<10){
			var month = '0'+month;
		}
	var day = d.getDate();
		if(day<10){
			var day = '0'+day;
		}
	var hour = d.getHours();
		if(hour<10){
			var hour = '0'+hour;
		}
	var minute = d.getMinutes();
		if(minute<10){
			var minute = '0'+minute;
		}
	var second = d.getSeconds();
		if(second<10){
			var second = '0'+second;
		}
	
	return year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;
}




//FILES FUNCTIONS USED ON MULTIPLE PAGES
function toggleExistingFolder(){
	document.getElementById('folders_id').selectedIndex = previously_selected_folder_index;
	document.getElementById('existing_folder_container').style.display = "";
	document.getElementById('new_folder_container').style.display = "none";
	document.getElementById('tab_existing_folder').className = "tab tab_accent_selected";
	document.getElementById('tab_new_folder').className = "tab tab_accent_unselected";
}
function toggleNewFolder(){
	previously_selected_folder_index = document.getElementById('folders_id').selectedIndex;
	document.getElementById('folders_id').selectedIndex = 0;
	document.getElementById('existing_folder_container').style.display = "none";
	document.getElementById('new_folder_container').style.display = "";
	document.getElementById('tab_existing_folder').className = "tab tab_accent_unselected";
	document.getElementById('tab_new_folder').className = "tab tab_accent_selected";
}


//PEOPLE WIDGET FUNCTIONS USED ON MULTIPLE PAGES
function frontend_joinMailingList(){
	var email_address = document.getElementById('up_email_address').value;
	if(email_address!='' && email_address!='Enter Email Address Here'){
		checkForExistingInDB('public_html','up','up_email_address',email_address,'frontend_joinMailingList')
		return;
	}
	return;
}

function frontend_insertDBPeopleMailingLists(){
	var salutation = '0';
	var first_name = document.getElementById('first_name').value;
	var middle_name = document.getElementById('middle_name').value;
	var last_name = document.getElementById('last_name').value;
	var email_address = document.getElementById('up_email_address').value;
	
	if(email_address!=''){
		
		document.getElementById('next_step_button').disabled=true;
		var d = new Date();
		var temp =(d.getFullYear())*(d.getMonth()+1)*(d.getDate())*(d.getHours()+1)*(d.getMinutes()+1)*(d.getMinutes()+1)*(d.getSeconds()+1);
		var pw = getPassword('12');
		var table = 'people--MA--up--MA--p_people_shipping_billing_addresses--MA--biographies--MA--p_mailing_lists_people';
		var field_names = 'first_name--SSA--middle_name--SSA--last_name--SSA--salutations_id--MA--username--SSA--password--SSA--access_level_id--SSA--people_id--SSA--up_email_address--MA--people_id--MA--people_id';
		var field_values = first_name+'--SSA--'+middle_name+'--SSA--'+last_name+'--SSA--'+salutation+'--MA--'+temp+'LaSt..Id..InSeRtEd!--SSA--'+pw+'--SSA--5--SSA--LaSt..Id..InSeRtEd!--SSA--'+email_address+'--MA--FiRsT..Id..InSeRtEd!--MA--FiRsT..Id..InSeRtEd!';
		
		
		
		//search for selected mailing lists and created queries to add to field_names and field_values...
		var ml_idsArray = document.getElementsByName('mailing_lists_ids');
		var ml_field_names  ='';
		var ml_field_values ='';
		
		
		for(i=0;i<ml_idsArray.length;i++){
			var ml_id = ml_idsArray[i].value;
			
			if(ml_field_names==''){
				ml_field_names = '--MA--mailing_lists_id--SSA--people_id';
				ml_field_values= '--MA--'+ml_id+'--SSA--FiRsT..Id..InSeRtEd!';
			}else{
				ml_field_names = ml_field_names+'--SA--mailing_lists_id--SSA--people_id';
				ml_field_values= ml_field_values+'--SA--'+ml_id+'--SSA--FiRsT..Id..InSeRtEd!';
			}
		}
		
		field_names = field_names+ml_field_names;
		field_values = field_values+ml_field_values;
		
		
		
		
		insertDB(false,'public_html','insertDBSetSession',table,field_names,field_values,'setInnerHTML-join_mailing_lists_response-<span style="color:#006600;">You were successfully added to the mailing list.</span>','');
		return;
	}else{
		document.getElementById('next_step_button').disabled=false;
		hideAddBox();
		alert('You must complete all required fields before continuing...');
		return;
	}
	return;
}


////////////////////////////////////////////////////////////////////////////////
///////////////////PASSWORD GENERATION/////////////////////////////////////////
function getRandomNum(lbound, ubound) {
	return (Math.floor(Math.random() * (ubound - lbound)) + lbound);
}
				
function getRandomChar(number, lower, upper, other) {
	var numberChars = "0123456789";
	var lowerChars = "abcdefghijklmnopqrstuvwxyz";
	var upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var otherChars = "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/? ";
	var charSet = '';
	
	
	
	if (number == true)
	charSet += numberChars;
	if (lower == true)
	charSet += lowerChars;
	if (upper == true)
	charSet += upperChars;
	if (other == true)
	charSet += otherChars;
	
	return charSet.charAt(getRandomNum(0, charSet.length));
}
				
function getPassword(length) {
	var rc = "";
	firstNumber=true;
	firstLower=true;
	firstUpper=true;
	firstOther=false;
	
	latterNumber=true;
	latterLower=true;
	latterUpper=true;
	latterOther=false;
	
	
	
	if (length > 0)
	rc = rc + getRandomChar(firstNumber, firstLower, firstUpper, firstOther);
	
	for (var idx = 1; idx < length; ++idx) {
		rc = rc + getRandomChar(latterNumber, latterLower, latterUpper, latterOther);
	}
	return rc;
}
////////////////////////////////////////////////////////////////////////////////



//AJAX CONNECTOR=====================================================================================




function queryDB(level,ajaxFunction,theQuery,display_result_area){
	xmlHttp = GetXmlHttpObject();

    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
	if(level=="main"){
		var url = "script/queryDB.php";
	}else if(level=="widget"){
		var url = "../script/queryDB.php";
	}else if(level=="public_html"){
		var url = "cms/script/queryDB.php";
	}

    qdbparameters = "f="+ajaxFunction+"&"+ajaxQuery;
    qdbparameters = qdbparameters + "&sid=" + Math.random();
	
    xmlHttp.open("POST", url, true);
    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttp.onreadystatechange = function(){
		stateChanged(display_result_area);
	}
	
    xmlHttp.send(qdbparameters);
}

function sendEmail(method,toArray,emailSubject,emailBody,display_result_area){
	xmlHttp = GetXmlHttpObject();

    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
	
    var url = "../class/sendEmail.php";
	
    url = url + "?m="+method+"&to="+toArray+"&sub="+emailSubject+"&bod="+emailBody;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = function(){
		stateChanged(display_result_area);
	}
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	return;
}


function createSmallDateChooseCalendar(display_result_area,url,parameters){
	var url = url;
	var parameters = parameters;
	var method = "POST";
	ajaxSendQueryPrintResponse(display_result_area,url,parameters,method);
}


//to do - make the visual date format dynamic.
function smallDateChooserOnClick(level,tid,dt,cid,action,i_tablesArray,i_idsArray,i_fieldsArray){
	var action = action;
	var hid = tid+"_hidden";
	var i_tablesArray = i_tablesArray;
	var i_idsArray = i_idsArray;
	var i_fieldsArray = i_fieldsArray;
	
	convertDatetime("set_element_value-"+tid,dt,"n/d/Y");
	document.getElementById(hid).value = dt;
	toggleStyleDisplay(cid);
	
	if(action=="updateDB"){
		updateDB(false,level,action,i_tablesArray,i_idsArray,i_fieldsArray,dt,'ajax_result','');
	}	
}

function timeChangeSaveDatetime(verify,level,table,id,field,vid,hid,hms,msg_area,confirm_msg){
	var current_dt = document.getElementById(hid).value;
	var current_dtArray = current_dt.split(" ");
	var dt = current_dtArray[0]+' '+hms;
	
	document.getElementById(hid).value = dt;
	convertDatetime("set_element_value-"+vid,dt,"n/d/Y");
	updateDB(false,level,'updateDB',table,id,field,dt,msg_area,confirm_msg);
}



function urlEncodeCharacterReplace(value){
	var value = value.replace(/#/g,'%23');
	var value = value.replace(/&/g,'%26');
	var value = value.replace(/[+]/g,'%2b');
	var value = value.replace(/\n/g, "%0d");
	var value = value.replace(/\r/g, "%0A");
	
	return value;
}

function urlEncodeSymbolReplace(value){
	var value = value.replace(/:/g,'%3A');
	var value = value.replace(/;/g,'%3B');
	var value = value.replace(/,/g,'%2C');
	var value = value.replace(/-/g,'%2D');
	
	return value;
}


function convertDatetime(display_result_area,dt,desired_format){
	var url = "../../class/ajaxDate.php";
    var parameters = "dt="+dt+"&df="+desired_format;
   	parameters = parameters + "&sid=" + Math.random();
	
	var o = GetXmlHttpObject();
	if (o == null) {
		alert("Browser does not support HTTP Request");
		return;
	}
   	o.open("POST", url, true);
	o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	o.onreadystatechange = function(){
		stateChangedObject(o,display_result_area);
	}
    
	o.send(parameters);
}


function stateChangedObject(o,display_result_area){
    if(o.readyState == 4 || o.readyState == "complete"){
		if(o.status == 200){
			var display_result_areaArray = "";
			var display_result_areaArray = display_result_area.split("-");
			var action = display_result_areaArray[0];

//if something breaks it is probably because the value setElementInnerHTML needs to be changed to set_element_value
				if(action == "setElementInnerHTML"){
					document.getElementById(display_result_areaArray[1]).innerHTML = o.responseText;
				}else if(action == "return_result"){
					return o.responseText;
				}else if(action == "set_element_value"){
					document.getElementById(display_result_areaArray[1]).value = o.responseText;
				}else if(action == "set_viewday_popup_visual_date"){
					document.getElementById(display_result_areaArray[1]).value = o.responseText;
					document.getElementById('add_event_selected_visual_date').value = document.getElementById('visual_date_start').value+document.getElementById('visual_date_finish').value;
				}
			
			
			o.setRequestHeader("Connection", "close");
		}
	}
}





function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : "; expires="+exdate.toGMTString());
}


function createConfirmBox(method,message,confirm_button,js_function,js_variables,cancel_button){
	
	xmlHttp = GetXmlHttpObject();

    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
	
	var url = "../class/createConfirmBox.php";
	
    url = url + "?m="+method+"&mes="+message+"&conf="+confirm_button+"&jsf="+js_function+"&jsv="+js_variables+"&canc="+cancel_button;
    url = url + "&sid=" + Math.random();
    
    xmlHttp.open("GET", url, true);
	
	xmlHttp.onreadystatechange = function(){
			stateChangedConfirmBox();
	}
	
    xmlHttp.send(null);
	return;
}

//STATE CHANGED FUNCTIONS======================================================================================
trueTransaction = "TrAnSaCtIoN..TrUe!";
falseTransaction = "TrAnSaCtIoN..FaLsE!";
errorMessage = "There was an error. Please try again later.";

function stateChanged(display_result_area){
    if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
		var responseText = xmlHttp.responseText;
		var display_result_areaArray = display_result_area.split("-");
		if(display_result_areaArray[0]=="setInnerHTML"){
			if(responseText.match(trueTransaction)==trueTransaction){
				var id=display_result_areaArray[1];
				document.getElementById(id).innerHTML = display_result_areaArray[2];
				document.getElementById(id).style.display = "";
				
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText.match(falseTransaction)==falseTransaction){
				showSystemMessage("false: "+responseText);
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=="change_page"){
			if(responseText.match(trueTransaction)==trueTransaction){
				var change_page_location=display_result_areaArray[1];
				//alert('response text = '+responseText);
				//showSystemMessage(responseText);
				window.location = change_page_location;
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText.match(falseTransaction)==falseTransaction){
				showSystemMessage("false: "+responseText);
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=="refresh_page"){
			if(responseText.match(trueTransaction)==trueTransaction){
				window.location.reload();
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText.match(falseTransaction)==falseTransaction){
				showSystemMessage("false");
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='validateEmailAddress'){
			if(responseText=='Available'){
				emailAddressInputAvailable(display_result_areaArray[2]);
			}else if(responseText=='Already Exists'){
				emailAddressInputAlreadyExists(display_result_areaArray[2]);
			}else if(responseText=='Bad Format'){
				if(display_result_areaArray[1]=='updateElementById'){
					emailAddressInputIncorrectFormat(display_result_areaArray[2]);
				}else{
					;
				}
			}
		}else if(display_result_areaArray[0]=='add_box_insert'){
			if(responseText.match(trueTransaction)==trueTransaction){
				createFields(display_result_areaArray[1],display_result_areaArray[2],display_result_areaArray[3],display_result_areaArray[4],display_result_areaArray[5],display_result_areaArray[6]);
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText.match(falseTransaction)==falseTransaction){
				hideAddBox();
				showSystemMessage("Failed to add the address. Please try again later.");
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='add_box_itinerary_day_insert'){
			if(responseText.match(trueTransaction)==trueTransaction){
				createItineraryFields(display_result_areaArray[1],display_result_areaArray[2],display_result_areaArray[3],display_result_areaArray[4],display_result_areaArray[5],display_result_areaArray[6]);
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText.match(falseTransaction)==falseTransaction){
				showSystemMessage("false");
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='delete_row'){
			if(responseText.match(trueTransaction)==trueTransaction){
				document.getElementById(display_result_areaArray[1]+'-'+display_result_areaArray[2]+'_tag').style.display='none';
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText.match(falseTransaction)==falseTransaction){
				showSystemMessage("There was a server error. Item not Deleted. Please try again later.");
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='insertDBPeopleStepOne'){
			if(responseText=='Available'){
				insertDBPeople();
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText=='Already Exists'){
				document.getElementById('next_step_button').disabled=false;
				hideAddBox();
				document.getElementById('addPeopleMessageArea').innerHTML = "Email Address Already Exists in Database. Please Choose Another For This Account.";
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='frontend_joinMailingList'){
			if(responseText=='Available'){
				frontend_insertDBPeopleMailingLists();
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText=='Already Exists'){
				document.getElementById('join_mailing_lists_response').innerHTML = '<span style="color:#cc0000">This Email Account is already in use. Please enter a differnet email address to start a new account, or log in to manage the mailing lists you are on.</span>';
				document.getElementById('join_mailing_lists_response').style.display = "";
				document.getElementById('next_step_button').disabled=false;
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='changeAccountInfo'){
			if(responseText=='Available'){
				if(display_result_areaArray[1]=='username'){
					updateDB(false,'widget','updateDB','up',display_result_areaArray[2],'username',document.getElementById('confirm_box_username').value,'changeAccountInfo-username','');
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(display_result_areaArray[1]=='up_email_address'){
					updateDB(false,'widget','updateDB','up',display_result_areaArray[2],'up_email_address',document.getElementById('confirm_box_up_email_address').value,'changeAccountInfo-up_email_address','');
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}
			}else if(responseText=='Already Exists'){
				if(display_result_areaArray[1]=='username'){
					document.getElementById('confirm_box_username').value='';
					document.getElementById('account_info_availability').innerHTML = "Username Already Exists. Please Choose Another.";
					hideAddBoxLoading();
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(display_result_areaArray[1]=='up_email_address'){
					document.getElementById('confirm_box_up_email_address').value='';
					document.getElementById('account_info_availability').innerHTML = "Email Address Already Exists. Please Choose Another.";
					hideAddBoxLoading();
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}
			}else if(responseText.match(trueTransaction)==trueTransaction){
				if(display_result_areaArray[1]=='username'){
					document.getElementById('username').value = document.getElementById('confirm_box_username').value;
					hideAddBox();
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(display_result_areaArray[1]=='up_email_address'){
					document.getElementById('up_email_address').value = document.getElementById('confirm_box_up_email_address').value;
					document.getElementById('account_email_address').value = document.getElementById('confirm_box_up_email_address').value;
					hideAddBox();
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(display_result_areaArray[1]=='user_status'){
					document.getElementById('user_status').value = display_result_areaArray[2];
					hideAddBox();
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(display_result_areaArray[1]=='access_level'){
					document.getElementById('access_level').value = display_result_areaArray[2];
					hideAddBox();
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}
			}else if(responseText.match(falseTransaction)==falseTransaction){
				hideAddBox();
				showSystemMessage(errorMessage);
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='changeTroubleTicketInfo'){
			if(responseText.match(trueTransaction)==trueTransaction){
				if (display_result_areaArray[1] == 'ticket_status') {
					document.getElementById('ticket_status').value = display_result_areaArray[2];
					hideAddBox();
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}
			}else if(responseText.match(falseTransaction)==falseTransaction){
				hideAddBox();
				showSystemMessage(errorMessage);
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='changeItineraryInfo'){
			if(responseText.match(trueTransaction)==trueTransaction){
				if (display_result_areaArray[1] == 'itinerary_status') {
					document.getElementById('status').value = display_result_areaArray[2];
					hideAddBox();
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if (display_result_areaArray[1] == 'itinerary_classification') {
					document.getElementById('classification').value = display_result_areaArray[2];
					hideAddBox();
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}
			}else if(responseText.match(falseTransaction)==falseTransaction){
				hideAddBox();
				showSystemMessage(errorMessage);
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='resetAccountPassword'){
			if(responseText.match(trueTransaction)==trueTransaction){
				sendEmail('resetPasswordEmail',document.getElementById('up_email_address').value,'',display_result_areaArray[1],'resetPasswordEmail');
				xmlHttp.close;
				return;
			}else if(responseText.match(falseTransaction)==falseTransaction){
				hideAddBox();
				showSystemMessage('Password was not reset. Please try again later');
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='resetPasswordEmail'){
			if(responseText.match('EmAiL_SeNt!')=='EmAiL_SeNt!'){
				hideAddBox();
				showSystemMessage('Password Reset. User Notified.');
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText.match('EmAiL_NoT_SeNt!')=='EmAiL_NoT_SeNt!'){
				hideAddBox();
				showSystemMessage('Password was reset, but email was not sent.  Please retry setting password');
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='event_scheduled_for'){
			if(responseText.match(trueTransaction)==trueTransaction){
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				var event_id = document.getElementById('event_id').value;
				var color_value = document.getElementById('events-'+event_id+'-color_id').options[document.getElementById('events-'+event_id+'-color_id').selectedIndex].value;
				updateDB(false,'widget','updateDB','events',event_id,'color_id',color_value,'','')	
				return;		
			}else if(responseText.match(falseTransaction)==falseTransaction){
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				showSystemMessage('Your changes did not take effect. Please refresh this page and try again.');
				hideAddBox();
				return;
			}
		}else if(display_result_areaArray[0]=='account_note'){
			if(responseText.match(trueTransaction)==trueTransaction){
				createFields('createAccountNoteFields','printAccountNote','','','new_box_account_note','print')
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;		
			}else if(responseText.match(falseTransaction)==falseTransaction){
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				showSystemMessage('Failed to create an account note. Please refresh this page and try again.');
				hideAddBox();
				return;
			}
		}else if(display_result_areaArray[0]=='trouble_ticket_response'){
			if(responseText.match(trueTransaction)==trueTransaction){
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				createFields('createTroubleTicketFields','printTicketResponse','',display_result_areaArray[1],'new_box_ticket_response','print-'+display_result_areaArray[1])
				return;		
			}else if(responseText.match(falseTransaction)==falseTransaction){
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				showSystemMessage('Failed to start a response. Please refresh this page and try again.');
				hideAddBox();
				return;
			}
		}else if(display_result_areaArray[0]=='find_trouble_ticket'){
			if(responseText=='Available'){
				document.getElementById('ticket_number_message_area').innerHTML = 'No such ticket number exists. Please try again.';
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}else if(responseText=='Already Exists'){
				window.location=display_result_areaArray[1];
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else if(display_result_areaArray[0]=='updateEventStatus'){
			if(responseText.match(trueTransaction)==trueTransaction){
				var e_status1 = display_result_areaArray[1];
				var e_status2 = display_result_areaArray[2];
				var e_id1 = e_status1+"_"+display_result_areaArray[3];
				var e_id2 = e_status2+"_"+display_result_areaArray[3];
				var e_level = display_result_areaArray[4];
				
				if(e_level=='main'){
					var folder_level = '';
				}else if(e_level=='widget'){
					var folder_level = '../';
				}
				
				if(e_status1=='approved' && e_status2=='pending'){
					document.getElementById(e_id1).innerHTML = "<img class='list_large_status list_approved' src='"+folder_level+"images/list_approved_large_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_approved_large_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_approved_large_01_up.png');\" title='Approve Event'>";
					document.getElementById(e_id2).innerHTML = "<img class='list_small_status list_pending' src='"+folder_level+"images/list_pending_small_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_pending_small_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_pending_small_01_up.png');\" title='Move to Pending Events'>";
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(e_status1=='approved' && e_status2=='declined'){
					document.getElementById(e_id1).innerHTML = "<img class='list_large_status list_approved' src='"+folder_level+"images/list_approved_large_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_approved_large_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_approved_large_01_up.png');\" title='Approve Event'>";
					document.getElementById(e_id2).innerHTML = "<img class='list_small_status list_declined' src='"+folder_level+"images/list_declined_small_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_declined_small_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_declined_small_01_up.png');\" title='Decline Event'>";
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(e_status1=='pending' && e_status2=='approved'){
					document.getElementById(e_id1).innerHTML = "<img class='list_large_status list_pending' src='"+folder_level+"images/list_pending_large_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_pending_large_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_pending_large_01_up.png');\" title='Move to Pending Events'>";
					document.getElementById(e_id2).innerHTML = "<img class='list_small_status list_approved' src='"+folder_level+"images/list_approved_small_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_approved_small_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_approved_small_01_up.png');\" title='Approve Event'>";
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(e_status1=='pending' && e_status2=='declined'){
					document.getElementById(e_id1).innerHTML = "<img class='list_large_status list_pending' src='"+folder_level+"images/list_pending_large_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_pending_large_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_pending_large_01_up.png');\" title='Move to Pending Events'>";
					document.getElementById(e_id2).innerHTML = "<img class='list_small_status list_declined' src='"+folder_level+"images/list_declined_small_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_declined_small_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_declined_small_01_up.png');\" title='Decline Event'>";
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(e_status1=='declined' && e_status2=='approved'){
					document.getElementById(e_id1).innerHTML = "<img class='list_large_status list_declined' src='"+folder_level+"images/list_declined_large_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_declined_large_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_declined_large_01_up.png');\" title='Decline Event'>";
					document.getElementById(e_id2).innerHTML = "<img class='list_small_status list_approved' src='"+folder_level+"images/list_approved_small_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_approved_small_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_approved_small_01_up.png');\" title='Approve Event'>";
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}else if(e_status1=='declined' && e_status2=='pending'){
					document.getElementById(e_id1).innerHTML = "<img class='list_large_status list_declined' src='"+folder_level+"images/list_declined_large_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_declined_large_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_declined_large_01_up.png');\" title='Decline Event'>";
					document.getElementById(e_id2).innerHTML = "<img class='list_small_status list_pending' src='"+folder_level+"images/list_pending_small_01_up.png' onMouseOver=\"javascript:change(this,'"+folder_level+"images/list_pending_small_01_over.png');\" onMouseOut=\"javascript:change(this,'"+folder_level+"images/list_pending_small_01_up.png');\" title='Move to Pending Events'>";
					xmlHttp.setRequestHeader("Connection", "close");
					xmlHttp.close;
					return;
				}
				
				
			}else if(responseText.match(falseTransaction)==falseTransaction){
				showSystemMessage("false");
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				return;
			}
		}else{
			if(responseText.match(trueTransaction)==trueTransaction){
				showSystemMessage('Changes Saved');
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;
				hideAddBox();
				return;
			}else if(responseText.match(falseTransaction)==falseTransaction){
				showSystemMessage('Changes not saved.  Please try again later.');
				xmlHttp.setRequestHeader("Connection", "close");
				xmlHttp.close;						 
				hideAddBox();
				return;
			}
		}
	}
}



function stateChangedBuildItem_01(display_result_area){
	if(buildItem_01_xmlHttp.readyState == 4 || buildItem_01_xmlHttp.readyState == "complete"){
		var display_result_areaArray = display_result_area.split("-");
		document.getElementById(display_result_areaArray[1]).innerHTML = buildItem_01_xmlHttp.responseText;
		buildItem_01_xmlHttp.setRequestHeader("Connection", "close");
		buildItem_01_xmlHttp.close;
		return;
	}
}



function stateChangedAddFields(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		document.getElementById('add_box').innerHTML = xmlHttp.responseText;
		document.getElementById('add_box_loading').style.visibility = 'hidden';
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.close;	
		return;
    }
}

function stateChangedPrintFields(display_element_tag_id){
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		var new_input = xmlHttp.responseText;
		var display_element_tag_idArray = display_element_tag_id.split("-");
		addElement(display_element_tag_idArray[0],new_input);
		hideAddBoxLoading();
		hideAddBox();
		if(display_element_tag_idArray[1]!=''){
			location.href='#response'+display_element_tag_idArray[1];
		}
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.close;	
		return;
    }
}

function stateChangedRewriteInnerHTML(display_element_tag_id){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		var updated_select_field = xmlHttp.responseText;
		var display_element_tag_idArray = display_element_tag_id.split("-");
		
		document.getElementById(display_element_tag_idArray[0]).innerHTML = updated_select_field;
		
		hideAddBoxLoading();
		hideAddBox();
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.close;	
		return;
    }
}

function stateChangedUpdateSelectField(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		var updated_select_field = xmlHttp.responseText;
		var display_element_tag_idArray = display_element_tag_id.split("-");
		
		//addSelectOption(display_element_tag_id,new_option);
		
		hideAddBoxLoading();
		hideAddBox();
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.close;	
		return;
    }
}

function stateChangedConfirmBox(){
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		document.getElementById('add_box').innerHTML = xmlHttp.responseText;
		document.getElementById('add_box_loading').style.visibility = 'hidden';
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.close;	
		return;
    }
}



function GetXmlHttpObject(){
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari, IE7
        xmlHttp = new XMLHttpRequest();
    } 
    catch (e) {
        //Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}


function GetXmlHttpObject2(){
    var xmlHttp2 = null;
    try {
        // Firefox, Opera 8.0+, Safari, IE7
        xmlHttp2 = new XMLHttpRequest();
    } 
    catch (e) {
        //Internet Explorer
        try {
            xmlHttp2 = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            xmlHttp2 = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp2;
}





//AJAX FUNCTIONS======================================================================================
function checkForExistingInDB(level,table,field_name,field_value,display_result_area){
		ajaxQuery = "table="+table+"&field_name="+field_name+"&field_value="+field_value;
		queryDB(level,'checkForExistingInDB',ajaxQuery,display_result_area);
}

function deleteDB(verify,level,ajaxFunction,tables,ids,display_result_area,confirm_message){
	if(verify==false){
		ajaxQuery = "tables="+tables+"&ids="+ids;
		//alert(ajaxQuery);
		queryDB(level,ajaxFunction,ajaxQuery,display_result_area);
		return;
	}else{
		if(confirm(confirm_message)){
			ajaxQuery = "tables="+tables+"&ids="+ids;
			queryDB(level,ajaxFunction,ajaxQuery,display_result_area);
			return;
		}else{
			//alert("Item Not Deleted.");
			hideAddBox();
			return;
		}
	}
}

function deleteDBFile(verify,level,ajaxFunction,tables,ids,file_path,display_result_area,confirm_message){
	if(verify==false){
		ajaxQuery = "tables="+tables+"&ids="+ids+'path='+file_path;
		queryDB(level,ajaxFunction,ajaxQuery,display_result_area);
		return;
	}else{
		if(confirm(confirm_message)){
			ajaxQuery = "tables="+tables+"&ids="+ids+'&path='+file_path;
			queryDB(level,ajaxFunction,ajaxQuery,display_result_area);
			return;
		}else{
			//alert("Item Not Deleted.");
			hideAddBox();
			return;
		}
	}
}


function updateDB(verify,level,ajaxFunction,tablesArray,idsArray,field_namesArray,field_valuesArray,display_result_area,confirm_message){
	if(verify==false){
		ajaxQuery = "tables="+tablesArray+"&ids="+idsArray+"&field_names="+field_namesArray+"&field_values="+field_valuesArray;
		queryDB(level,ajaxFunction,ajaxQuery,display_result_area);
		return;
	}else{
		if(confirm(confirm_message)){
			ajaxQuery = "tables="+tablesArray+"&ids="+idsArray+"&field_names="+field_namesArray+"&field_values="+field_valuesArray;
			queryDB(level,ajaxFunction,ajaxQuery,display_result_area);
			return;
		}else{
			//alert("Item Not Updated.");
			hideAddBox();
			return;
		}
	}
}


function insertDB(verify,level,ajaxFunction,tablesArray,field_namesArray,field_valuesArray,display_result_area,confirm_message){
	if(verify==false){
		ajaxQuery = "tables="+tablesArray+"&field_names="+field_namesArray+"&field_values="+field_valuesArray;
		queryDB(level,ajaxFunction,ajaxQuery,display_result_area);
		return;
	}else{
		if(confirm(confirm_message)){
			ajaxQuery = "tables="+tablesArray+"&field_names="+field_namesArray+"&field_values="+field_valuesArray;
			queryDB(level,ajaxFunction,ajaxQuery,display_result_area);
			return;
		}else{
			//alert("Item Not Added.");
			hideAddBox();
			return;
		}
	}
}


//QUERY BUILDING FUNCTIONS=====================================================================================
function deleteChecked(tables,verify,number_of_fields,level,ajaxFunction,display_result_area,confirm_message){
	var ids = "";
	var number_of_fields = number_of_fields;
	
	for(i=1;i<=number_of_fields;i++){
		var theID = "item"+i;
		var itemID = document.getElementById(theID);
		var row_id = itemID.name;
		
		if(itemID.checked==true){
			if(ids==""){
				ids+=row_id;
			}else{
				ids+="--SA--"+row_id;
			}
		}
		
	}
	
	if(verify=="false"){
		deleteNotVerified(level,ajaxFunction,tables,ids,display_result_area);
		return;
	}else{
		deleteVerified(level,ajaxFunction,confirm_message,tables,ids,display_result_area);
		return;
	}
	
}




//AUTOSAVE FUNCTIONS====================================================================================


function autosaveTimer(){
	mainTimer = setInterval('autosave()',30000);
}



function saveField(){
	//fieldTimer = setTimeout('autosave()',6000);
}

	
function autosave(){
	if(document.getElementById('savecheck').value == 'false'){
		var table_id_field = document.getElementById('current_autosave_field_info').value;
		var field_value = document.getElementById(table_id_field).value;
		var split_table_id_field = table_id_field.split('-');
		var level = document.getElementById('level').value;
		var field_value = urlEncodeCharacterReplace(field_value);
		updateDB(false,level,'updateDB',split_table_id_field[0],split_table_id_field[1],split_table_id_field[2],field_value,'ajax_result','');
		document.getElementById('savecheck').value = 'true';
		document.getElementById('current_autosave_field_info').value = '';/////////////////////////
		var save_button = document.getElementsByName('save_button');
		for(i=0; i<save_button.length; i++){
			save_button[i].disabled = true;
			save_button[i].value = 'Autosaved';
			
		}
	}
}

function getEditingFieldId(id){
	document.getElementById('current_autosave_field_info').value = id;
}

function editingKeyDown(){
	//clearTimeout(fieldTimer);
	var save_button = document.getElementsByName('save_button');
		for(i=0; i<save_button.length; i++){
			save_button[i].value = 'Save Changes';
			save_button[i].disabled = false;
		}
	document.getElementById('savecheck').value = 'false';
}


function editSaveButtonToggle(editCheckId,editButtonStartValue,editButtonEndValue,editButtonId,saveButtonId,theName,radioNames){
	editCheckValue = document.getElementById(editCheckId).value;
	if(editCheckValue=='off'){
		///TURN EDITING ON     EDIT VAR TO DONE VAR
		autosaveTimer();
		document.getElementById(editCheckId).value = 'on';
		var edit_button = document.getElementsByName(editButtonId)
			for(i=0; i<edit_button.length; i++){
				edit_button[i].value = editButtonEndValue;
			}
		toggleInputBackgroundVisibility(theName,radioNames);
	}else if(editCheckValue=='on'){
		///TURN EDITING OFF     DONE VAR TO EDIT VAR
		clearTimeout(mainTimer);
		document.getElementById(editCheckId).value = 'off';
		var edit_button = document.getElementsByName(editButtonId)
			for(i=0; i<edit_button.length; i++){
				edit_button[i].value = editButtonStartValue;
			}
		toggleInputBackgroundVisibility(theName,radioNames);
	}

}
//This Function toggles between input/select/textarea fields that have transparent backgrounds and
//those that have regular backgrounds where the name attribute = theName and makes the input with id = 'edit_button'
//value change to 'Done'
function toggleInputBackgroundVisibility(theName,radioNames){
	var allHTMLTags = new Array();
	
	//Create Array of All HTML Tags
	var allHTMLTags=document.getElementsByTagName("*");
	//Explode the radioNames Array at '-'
	if(radioNames!=''){
		var radioNamesArray = radioNames.split('-');
		var radioNamesLength = radioNamesArray.length;
	}
	
	
	//Loop through all tags using a for loop
	for (i=0; i<allHTMLTags.length; i++) {
		//Get all tags with the specified class name.
		if(allHTMLTags[i].name==theName) {
			var classString = allHTMLTags[i].className;
			//Place any code you want to apply to all pages with the class specified.
			
			if(classString.match("visible_input")=="visible_input"){
				//Inputs become transparent
				var newClassString = classString.replace(/visible_input/,"transparent_input");
				allHTMLTags[i].className = newClassString;
				if (allHTMLTags[i].tagName == "SELECT"){
					var select_id = allHTMLTags[i].id;
					var selected_index = document.getElementById(select_id).selectedIndex;
					var allOptions = new Array();
					var allOptions = document.getElementById(select_id).options;
					for (z=0; z<allOptions.length; z++){
						if (z == selected_index){
							allOptions[z].disabled = false;
						}else{
							allOptions[z].disabled = true;
						}
					}	
				}else if(allHTMLTags[i].tagName == "IMG"){
					allHTMLTags[i].style.visibility = 'hidden';
				}else if(allHTMLTags[i].type == "button"){
					allHTMLTags[i].style.visibility = 'hidden';
				}else if(allHTMLTags[i].type == "checkbox"){
					allHTMLTags[i].disabled = true;
				}else{
					allHTMLTags[i].readOnly=true;
				}
			}else if(classString.match("transparent_input")=="transparent_input"){
				//Inputs become visible
				var newClassString = classString.replace(/transparent_input/,"visible_input");
				allHTMLTags[i].className = newClassString;
				if (allHTMLTags[i].tagName == "SELECT"){
					var select_id = allHTMLTags[i].id;
					var selected_index = document.getElementById(select_id).selectedIndex;
					var allOptions = new Array();
					var allOptions = document.getElementById(select_id).options;
					for (z=0; z<allOptions.length; z++){
						if (z == selected_index){
							allOptions[z].disabled = false;
						}else{
							allOptions[z].disabled = false;
						}
					}			
				}else if(allHTMLTags[i].tagName == "IMG"){
					allHTMLTags[i].style.visibility = 'visible';
				}else if(allHTMLTags[i].type == "button"){
					allHTMLTags[i].style.visibility = 'visible';
				}else if(allHTMLTags[i].type == "checkbox"){
					allHTMLTags[i].disabled = false;
				}else{
					allHTMLTags[i].readOnly=false;
				}
			}
		}else{
			if(radioNames!=''){
				for(m=0; m<radioNamesLength; m++){
					if(allHTMLTags[i].name == radioNamesArray[m]){
						if(document.getElementById(allHTMLTags[i].id).disabled==false){
							document.getElementById(allHTMLTags[i].id).disabled=true;
						}else if(document.getElementById(allHTMLTags[i].id).disabled==true){
							document.getElementById(allHTMLTags[i].id).disabled=false;
						}
					}
				}
			}
		}
	}
}

function enableRadioInputs(theNames){
	var radio_boxes = new Array();
	var radio_boxes = document.getElementsByTagName('*');
	var theNamesArray = theNames.split('-');
	for(m=0; m<theNamesArray.length; m++){
		for (q=0; q<radio_boxes.length; q++) {
			if (radio_boxes[q].name == theNamesArray[m]){
				document.getElementById(radio_boxes[q].id).disabled=false;
			}
		}
	}
}

function disableRadioInputs(theNames){
	var radio_boxes = new Array();
	var radio_boxes = document.getElementsByTagName('*');
	var theNamesArray = theNames.split('-');
	for(m=0; m<theNamesArray.length; m++){
		for (q=0; q<radio_boxes.length; q++) {
			if (radio_boxes[q].name == theNamesArray[m]){
				document.getElementById(radio_boxes[q].id).disabled=true;
			}
		}
	}
}

function addElement(display_element_tag_id,new_input){
	var ni = document.getElementById(display_element_tag_id);
	var newdiv = document.createElement('div');
	newdiv.innerHTML = new_input;
	ni.appendChild(newdiv);
}



//addSelectOption not working yet as of 2009-07-12 21:42:00
function addSelectOption(display_element_tag_id,new_option){
	var x=document.getElementById(display_element_tag_id);
	
	var y=document.createElement('option');
	y.text=new_option;
	y.value
	
	try{
	  x.add(y,null); // standards compliant
	}catch(ex){
	  x.add(y); // IE only
	}
}

//function removeElement(divNum) {
  //var d = document.getElementById('MAIN_DIV_ID');
  //var olddiv = document.getElementById(divNum);
  //d.removeChild(olddiv);
//}

function delete_xRow(table_id){
	var table_idArray = table_id.split('-');
	deleteDB(true,'widget','deleteDB',table_idArray[0],table_idArray[1],'delete_row-'+table_id,'Are you sure you would like to delete this entry?');
}

function delete_xRow_unverified(table_id){
	var table_idArray = table_id.split('-');
	deleteDB(false,'widget','deleteDB',table_idArray[0],table_idArray[1],'delete_row-'+table_id,'');
}


//OBJECT FUNCTIONS====================================================================================
function buildItem_01(level,ajaxFunction,ajaxQuery,display_result_area){
	buildItem_01_xmlHttp = GetXmlHttpObject();
	if (buildItem_01_xmlHttp == null) {
		alert("Browser does not support HTTP Request");
		return;
	}
	
	if(level=="main"){
		var url = "class/table.php";
	}else if(level=="widget"){
		var url = "../class/table.php";
	}
	
	url = url + "?f="+ajaxFunction+"&"+ajaxQuery;
	url = url + "&sid=" + Math.random();
	buildItem_01_xmlHttp.onreadystatechange = function(){
		stateChangedBuildItem_01(display_result_area);
	}
	buildItem_01_xmlHttp.open("GET", url, true);
	buildItem_01_xmlHttp.send(null);
}

function checkConflicts(level,ajaxFunction,ajaxVars,id,display_result_area){
	var o = GetXmlHttpObject();
	if (o == null) {
		alert("Browser does not support HTTP Request");
		return;
	}
	
	if(level=="main"){
		var url = "class/compare.php";
	}else if(level=="widget"){
		var url = "../class/compare.php";
	}
	
	url = url + "?f="+ajaxFunction+"&"+ajaxVars;
	url = url + "&sid=" + Math.random();
	o.onreadystatechange = function(){
		stateChangedCheckConflicts(o,level,id,display_result_area);
	}
	o.open("GET", url, true);
	o.send(null);
}

function stateChangedCheckConflicts(o,level,id,display_result_area){
    if(o.readyState == 4 || o.readyState == "complete"){
		if(o.status == 200){
			var result = o.responseText;
			if(result=="false"){
				updateDB(false,level,'updateDB','events',id,'approval_status',"approved",display_result_area,'');
			}else{
				alert(result);
			}
			o.setRequestHeader("Connection", "close");
		}else{
			alert(o.responseText);
			o.setRequestHeader("Connection", "close");
		}
	}
}

function updateEventStatus(level,id,status,display_result_area){
	if(status=="approved"){
		checkConflicts(level,"eventsDates","id="+id+"status="+status,id,display_result_area);
	}else{
		updateDB(false,level,'updateDB','events',id,'approval_status',status,display_result_area,'Are you sure you want to set this event to: '+status);
	}
}

function change(id,location){
	id.src = location;
	id.style.cursor="hand";
}

function findTopLeft(id){
    var x, y = 0;
	elm = document.getElementById(id);
    x = elm.offsetLeft;
	y = elm.offsetTop;
    elm = elm.offsetParent;
	
    while(elm != null){
		x = parseInt(x) + parseInt(elm.offsetLeft);
        y = parseInt(y) + parseInt(elm.offsetTop);
        elm = elm.offsetParent;
    }

    return {Top:y, Left: x};
}

function toggleVisibility(one,two){
	showObject(one);
	hideObject(two)
}

function toggleLocation(url){
	document.location = url;
}

function toggleParentLocation(url){
	parent.document.location = url;
}

function showObject(icon_id){
	document.getElementById(icon_id).style.visibility='visible';
}

function hideObject(icon_id){
	document.getElementById(icon_id).style.visibility='hidden';
}

function adjustWidth(id,amount){
	var agent = navigator.userAgent.toLowerCase();
	var is_iphone = (agent.indexOf('iphone')!=-1);
	
	
		//opera Netscape 6 Netscape 4x Mozilla 
		if (window.innerWidth || window.innerHeight){ 
			docwidth = window.innerWidth; 
			docheight = window.innerHeight; 
		} 
		//IE Mozilla 
		if (document.body.clientWidth || document.body.clientHeight){ 
			docwidth = document.body.clientWidth; 
			docheight = document.body.clientHeight; 
		} 
	
	
	var x = ((docwidth-amount)-20)+"px";
	document.getElementById(id).style.width = x;
}


function centerWindow(myitemid){
	var w = findWindowSize().width;
	var h = findWindowSize().height;
	var area = document.getElementById(myitemid);
	
	var mywidth = area.offsetWidth;
	var myheight = area.offsetHeight;
	
	var l_pad = ((w-mywidth)/2)+"px";
	var t_pad = ((h-myheight)/2)+"px";
	
	area.style.left = l_pad;
	area.style.top = t_pad;
	
}

function findWindowSize(){
	var w = 0;
	var h = 0;

	//IE
	if(!window.innerWidth){
		//strict mode
		if(!(document.documentElement.clientWidth == 0)){
			w = document.documentElement.clientWidth;
			h = document.documentElement.clientHeight;
		}
		//quirks mode
		else{
			w = document.body.clientWidth;
			h = document.body.clientHeight;
		}
	}
	//w3c
	else{
		w = window.innerWidth;
		h = window.innerHeight;
	}
	return {width:w,height:h};
}

function s_styleDisplay(id,val){
	
	document.getElementById(id).style.display = val;
}

function toggleExpandCollapseUtilityBox(unique_id,folder_level){
	if(document.getElementById(unique_id+'_utility_container').style.display=='none'){
		document.getElementById(unique_id+'_utility_container').style.display='';
		document.getElementById(unique_id+'_arrow').src = folder_level+'images/arrow_down.png';
		document.getElementById(unique_id+'_corner_bl').style.display='';
		document.getElementById(unique_id+'_corner_br').style.display='';
		document.getElementById(unique_id+'_utility_area').style.paddingBottom='24px';
	}else if(document.getElementById(unique_id+'_utility_container').style.display==''){
		document.getElementById(unique_id+'_utility_container').style.display='none';
		document.getElementById(unique_id+'_arrow').src = folder_level+'images/arrow_right.png';
		document.getElementById(unique_id+'_corner_bl').style.display='none';
		document.getElementById(unique_id+'_corner_br').style.display='none';
		document.getElementById(unique_id+'_utility_area').style.paddingBottom='20px';
	}
}

function toggleExpandCollapseSidebarBox(unique_id,folder_level){
	if(document.getElementById(unique_id+'_sidebar_container').style.display=='none'){
		document.getElementById(unique_id+'_sidebar_container').style.display='';
		document.getElementById(unique_id+'_arrow').src = folder_level+'images/arrow_down.png';
		document.getElementById(unique_id+'_corner_bl').style.display='';
		document.getElementById(unique_id+'_corner_br').style.display='';
		document.getElementById(unique_id+'_sidebar_header').style.paddingBottom='11px';
	}else if(document.getElementById(unique_id+'_sidebar_container').style.display==''){
		document.getElementById(unique_id+'_sidebar_container').style.display='none';
		document.getElementById(unique_id+'_arrow').src = folder_level+'images/arrow_right.png';
		document.getElementById(unique_id+'_corner_bl').style.display='none';
		document.getElementById(unique_id+'_corner_br').style.display='none';
		document.getElementById(unique_id+'_sidebar_header').style.paddingBottom='6px';
	}
}




function buildOneSideCalendar(display_result_area,level,flavor,objects_id,timestring,calendar_name,side_cal_container,cal_id){
	var o = GetXmlHttpObject();
    if (o == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
	var url = level+"class/buildOneSideCalendar.php";
    var parameters = "m=ajaxOneSideCalendar&level="+level+"&flavor="+flavor+"&objects_id="+objects_id+"&timestring="+timestring+"&calendar_name="+calendar_name+"&container="+side_cal_container+"&cal_id="+cal_id;
   	parameters = parameters + "&sid=" + Math.random();
	
   	o.open("POST", url, true);
	o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	o.onreadystatechange = function(){
		stateChangedBuildSideCal(o,display_result_area);
	}
    
	o.send(parameters);
}



function buildSideCalendar(level,flavor,display_result_area,date,cal_type,event_type_id){
	var o = GetXmlHttpObject();
    if (o == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
	if(level=="main"){
		var url = "class/calendar.php";
	}else if(level=="widget"){
		var url = "../class/calendar.php";
	}
	
    var parameters = "f=buildCalendar&toggle_date="+date+"&flavor="+flavor+"&level="+level+"&cal_type="+cal_type+"&event_type_id="+event_type_id;
   	parameters = parameters + "&sid=" + Math.random();
	
   	o.open("POST", url, true);
	o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	o.onreadystatechange = function(){
		stateChangedBuildSideCal(o,display_result_area);
	}
    
	o.send(parameters);
}

function buildSideCalendar1(level,flavor,display_result_area,date,cal_type,event_type_id){
	var buildSideCal_01_xmlHttp = GetXmlHttpObject();
    if (buildSideCal_01_xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
	if(level=="main"){
		var url = "class/calendar.php";
	}else if(level=="widget"){
		var url = "../class/calendar.php";
	}
	
	//url = url + "?f=buildCalendar&toggle_date="+date+"&flavor="+flavor+"&level="+level+"&cal_type="+cal_type+"&event_type_id="+event_type_id;
	// url = url + "&sid=" + Math.random();
    var parameters = "f=buildCalendar&toggle_date="+date+"&flavor="+flavor+"&level="+level+"&cal_type="+cal_type+"&event_type_id="+event_type_id;
   	parameters = parameters + "&sid=" + Math.random();
	
   	buildSideCal_01_xmlHttp.open("POST", url, true);
	buildSideCal_01_xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	
	buildSideCal_01_xmlHttp.onreadystatechange = function(){
		stateChangedBuildSideCal_01(buildSideCal_01_xmlHttp,display_result_area);
	}
    
	buildSideCal_01_xmlHttp.send(parameters);
}

function buildSideCalendar2(level,flavor,display_result_area,date,cal_type,event_type_id){
	var buildSideCal_02_xmlHttp = GetXmlHttpObject2();
    if (buildSideCal_02_xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
	if(level=="main"){
		var url = "class/calendar.php";
	}else if(level=="widget"){
		var url = "../class/calendar.php";
	}
	
	
    buildSideCal_02_xmlHttp.open("POST", url, true);
    buildSideCal_02_xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var parameters = "f=buildCalendar&toggle_date="+date+"&flavor="+flavor+"&level="+level+"&cal_type="+cal_type+"&event_type_id="+event_type_id;
	parameters = parameters + "&sid=" + Math.random();
	
	buildSideCal_02_xmlHttp.onreadystatechange = function(){
		stateChangedBuildSideCal_02(buildSideCal_02_xmlHttp,display_result_area);
	}
	
	buildSideCal_02_xmlHttp.send(parameters);
}


//side calendars
function stateChangedBuildSideCal(o,display_result_area){
    if(o.readyState == 4 || o.readyState == "complete"){
		if(o.status == 200){
			var display_result_areaArray = "";
			var display_result_areaArray = display_result_area.split("-");
			document.getElementById(display_result_areaArray[0]).innerHTML = o.responseText;
			o.setRequestHeader("Connection", "close");
		}
	}
}

function stateChangedBuildSideCal_01(calXMLobject1,display_result_area){
    if(calXMLobject1.readyState == 4 || calXMLobject1.readyState == "complete"){
		if(calXMLobject1.status == 200){
			var display_result_areaArray = "";
			var display_result_areaArray = display_result_area.split("-");
			document.getElementById(display_result_areaArray[0]).innerHTML = calXMLobject1.responseText;
			calXMLobject1.setRequestHeader("Connection", "close");
		}
	}
}

function stateChangedBuildSideCal_02(calXMLobject2,display_result_area){
    if(calXMLobject2.readyState == 4 || calXMLobject2.readyState == "complete"){
		if(calXMLobject2.status == 200){
			var display_result_areaArray = "";
			var display_result_areaArray = display_result_area.split("-");
			document.getElementById(display_result_areaArray[0]).innerHTML = calXMLobject2.responseText;
			calXMLobject2.setRequestHeader("Connection", "close");
		}
	}
}



function showSystemMessage(message){
	document.getElementById('message_center_display').innerHTML = message;
	document.getElementById('message_center_container').style.visibility='visible';
	setTimeout('hideSystemMessage()',4000);
	//systemMessageOpacity = 100;
}




function hideSystemMessage(){
	//if(systemMessageOpacity==0){
		//document.getElementById('message_center_container').style.visibility='hidden';
		//document.getElementById('message_center_display').innerHTML = '';
	//}else{
		//systemMessageOpacity = systemMessageOpacity-1;
		//document.getElementById('message_center_container').filters.alpha.opacity = systemMessageOpacity;
		//setTimeout('hideSystemMessage()', 20);
	//}
	document.getElementById('message_center_container').style.visibility='hidden';
	document.getElementById('message_center_display').innerHTML = '';
}






//ADD BOX ADD FUNCTIONS ====================================================================================================================
function showAddBox(width,height){
	//alert('showAddBox');
	document.getElementById('opaque_div').style.visibility = 'visible';
	document.getElementById('add_box').style.width = width+'px';
	document.getElementById('add_box').style.height = height+'px';
	document.getElementById('add_box_loading').style.display = "";
	document.getElementById('add_box_loading').style.width = width+'px';
	document.getElementById('add_box_loading').style.height = height+'px';
	centerWindow('add_box_loading');
	centerWindow('add_box');
	showAddBoxLoading();
	document.getElementById('add_box').style.visibility = 'visible';
	//alert('finished showAddBox');
}

function hideAddBox(){
	document.getElementById('add_box').style.visibility = 'hidden';
	document.getElementById('add_box_loading').style.visibility = 'hidden';
	document.getElementById('add_box_loading').style.display = "none";
	document.getElementById('opaque_div').style.visibility = 'hidden';
	document.getElementById('add_box').innerHTML = '';
}

function showAddBoxLoading(){
	document.getElementById('add_box_loading').style.visibility = 'visible';
}

function hideAddBoxLoading(){
	document.getElementById('add_box_loading').style.visibility = 'hidden';
}



function addBoxAddPhone(command){
	showAddBoxLoading();
	var country_code = document.getElementById('add_box_country_code').value;
	var area_code = document.getElementById('add_box_area_code').value;
	var exchange = document.getElementById('add_box_exchange').value;
	var local = document.getElementById('add_box_local').value;
	var ext = document.getElementById('add_box_ext').value;
	var people_id = document.getElementById('add_box_people_id').value;
	var label_id = document.getElementById('label_id').options[document.getElementById('label_id').selectedIndex].value;
	
	if(country_code!='' && area_code!='' && exchange!='' && local!='' && people_id!=''){
		 insertDB(false,'widget','insertDB','phone_numbers','country_code--SSA--area_code--SSA--exchange--SSA--local--SSA--ext--SSA--people_id--SSA--label_id',country_code+'--SSA--'+area_code+'--SSA--'+exchange+'--SSA--'+local+'--SSA--'+ext+'--SSA--'+people_id+'--SSA--'+label_id,command,'')
	}else{
		hideAddBoxLoading();
		alert('Please Complete All Fields.');
	}
}

function addBoxAddEmail(command){
	showAddBoxLoading();
	var email_address = document.getElementById('add_box_email_address').value;
	var people_id = document.getElementById('add_box_people_id').value;
	var label_id = document.getElementById('label_id').options[document.getElementById('label_id').selectedIndex].value;
	
	if(email_address!=''){
		 insertDB(false,'widget','insertDB','email_addresses','email_address--SSA--people_id--SSA--label_id',email_address+'--SSA--'+people_id+'--SSA--'+label_id,command,'')
	}else{
		hideAddBoxLoading();
		alert('Please Complete All Fields.');
	}
}

function addBoxAddAddress(command){
	showAddBoxLoading();
	var street_01 = document.getElementById('add_box_street_01').value;
	var street_02 = document.getElementById('add_box_street_02').value;
	var city = document.getElementById('add_box_city').value;
	var state = document.getElementById('add_box_state').options[document.getElementById('add_box_state').selectedIndex].value;
	var zip = document.getElementById('add_box_zip').value;
	var zip_plus_four = document.getElementById('add_box_zip_plus_four').value;
	var countries_id = document.getElementById('add_box_country').options[document.getElementById('add_box_country').selectedIndex].value;
	var people_id = document.getElementById('add_box_people_id').value;
	var label_id = document.getElementById('label_id').options[document.getElementById('label_id').selectedIndex].value;
	
	if(street_01!='' && city!='' && zip!=''){
		 insertDB(false,'widget','insertDB','addresses','street_01--SSA--street_02--SSA--city--SSA--state--SSA--zip--SSA--zip_plus_four--SSA--countries_id--SSA--people_id--SSA--label_id',street_01+'--SSA--'+street_02+'--SSA--'+city+'--SSA--'+state+'--SSA--'+zip+'--SSA--'+zip_plus_four+'--SSA--'+countries_id+'--SSA--'+people_id+'--SSA--'+label_id,command,'');
	}else{
		hideAddBoxLoading();
		alert('Please Complete All Fields.');
	}
}

function addBoxAddSpecializations(command){
	showAddBoxLoading();
	var people_id = document.getElementById('add_box_people_id').value;
	var specializations_id = document.getElementById('add_box_specializations_id').options[document.getElementById('add_box_specializations_id').selectedIndex].value;
	
	insertDB(false,'widget','insertDB','p_people_specializations','people_id--SSA--specializations_id',people_id+'--SSA--'+specializations_id,command,'');
}

function addBoxAddGroups(command){
	showAddBoxLoading();
	var people_id = document.getElementById('add_box_people_id').value;
	var groups_id = document.getElementById('add_box_groups_id').options[document.getElementById('add_box_groups_id').selectedIndex].value;
	
	insertDB(false,'widget','insertDB','p_groups_people','groups_id--SSA--people_id',groups_id+'--SSA--'+people_id,command,'');
}

function addBoxAddMailingLists(command){
	showAddBoxLoading();
	var people_id = document.getElementById('add_box_people_id').value;
	var mailing_lists_id = document.getElementById('add_box_mailing_lists_id').options[document.getElementById('add_box_mailing_lists_id').selectedIndex].value;
		 insertDB(false,'widget','insertDB','p_mailing_lists_people','mailing_lists_id--SSA--people_id',mailing_lists_id+'--SSA--'+people_id,command,'');
}

function addBoxAddObjectsTypes(command){
	showAddBoxLoading();
	var people_id = document.getElementById('add_box_people_id').value;
	var objects_types_name = document.getElementById('add_box_objects_types_name').value;
	
	insertDB(false,'widget','insertDB','objects_types','people_id--SSA--objects_types_name',people_id+'--SSA--'+objects_types_name,command,'');
}

function addBoxAddItemStats(command){
	showAddBoxLoading();
	var objects_id = document.getElementById('add_box_objects_id').value;
	var stat_name = urlEncodeCharacterReplace(document.getElementById('add_box_stat_name').value);
	var stat_description = urlEncodeCharacterReplace(document.getElementById('add_box_stat_description').value);
	insertDB(false,'widget','insertDB','objects_stats','objects_id--SSA--stat_name--SSA--stat_description',objects_id+'--SSA--'+stat_name+'--SSA--'+stat_description,command,'');
}

function addBoxAddRecipeStats(command){
	showAddBoxLoading();
	var recipes_id = document.getElementById('add_box_recipes_id').value;
	var stat_name = urlEncodeCharacterReplace(document.getElementById('add_box_stat_name').value);
	var stat_description = urlEncodeCharacterReplace(document.getElementById('add_box_stat_description').value);
	insertDB(false,'widget','insertDB','recipes_stats','recipes_id--SSA--stat_name--SSA--stat_description',recipes_id+'--SSA--'+stat_name+'--SSA--'+stat_description,command,'')
}


















/*DATE AND TIME FUNCTIONS
 * Date Format 1.2.2
 * (c) 2007-2008 Steven Levithan <stevenlevithan.com>
 * MIT license
 * Includes enhancements by Scott Trenda <scott.trenda.net> and Kris Kowal <cixar.com/~kris.kowal/>
 *
 * Accepts a date, a mask, or a date and a mask.
 * Returns a formatted version of the given date.
 * The date defaults to the current date/time.
 * The mask defaults to dateFormat.masks.default.
 */
var dateFormat = function () {
	var	token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
		timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
		timezoneClip = /[^-+\dA-Z]/g,
		pad = function (val, len) {
			val = String(val);
			len = len || 2;
			while (val.length < len) val = "0" + val;
			return val;
		};

	// Regexes and supporting functions are cached through closure
	return function (date, mask, utc) {
		var dF = dateFormat;

		// You can't provide utc if you skip other args (use the "UTC:" mask prefix)
		if (arguments.length == 1 && (typeof date == "string" || date instanceof String) && !/\d/.test(date)) {
			mask = date;
			date = undefined;
		}

		// Passing date through Date applies Date.parse, if necessary
		date = date ? new Date(date) : new Date();
		if (isNaN(date)) throw new SyntaxError("invalid date");

		mask = String(dF.masks[mask] || mask || dF.masks["default"]);

		// Allow setting the utc argument via the mask
		if (mask.slice(0, 4) == "UTC:") {
			mask = mask.slice(4);
			utc = true;
		}

		var	_ = utc ? "getUTC" : "get",
			d = date[_ + "Date"](),
			D = date[_ + "Day"](),
			m = date[_ + "Month"](),
			y = date[_ + "FullYear"](),
			H = date[_ + "Hours"](),
			M = date[_ + "Minutes"](),
			s = date[_ + "Seconds"](),
			L = date[_ + "Milliseconds"](),
			o = utc ? 0 : date.getTimezoneOffset(),
			flags = {
				d:    d,
				dd:   pad(d),
				ddd:  dF.i18n.dayNames[D],
				dddd: dF.i18n.dayNames[D + 7],
				m:    m + 1,
				mm:   pad(m + 1),
				mmm:  dF.i18n.monthNames[m],
				mmmm: dF.i18n.monthNames[m + 12],
				yy:   String(y).slice(2),
				yyyy: y,
				h:    H % 12 || 12,
				hh:   pad(H % 12 || 12),
				H:    H,
				HH:   pad(H),
				M:    M,
				MM:   pad(M),
				s:    s,
				ss:   pad(s),
				l:    pad(L, 3),
				L:    pad(L > 99 ? Math.round(L / 10) : L),
				t:    H < 12 ? "a"  : "p",
				tt:   H < 12 ? "am" : "pm",
				T:    H < 12 ? "A"  : "P",
				TT:   H < 12 ? "AM" : "PM",
				Z:    utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
				o:    (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
				S:    ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
			};

		return mask.replace(token, function ($0) {
			return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
		});
	};
}();

// Some common format strings
dateFormat.masks = {
	"default":      "ddd mmm dd yyyy HH:MM:ss",
	shortDate:      "m/d/yy",
	mediumDate:     "mmm d, yyyy",
	longDate:       "mmmm d, yyyy",
	fullDate:       "dddd, mmmm d, yyyy",
	shortTime:      "h:MM TT",
	mediumTime:     "h:MM:ss TT",
	longTime:       "h:MM:ss TT Z",
	isoDate:        "yyyy-mm-dd",
	isoTime:        "HH:MM:ss",
	isoDateTime:    "yyyy-mm-dd'T'HH:MM:ss",
	isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
};

// Internationalization strings
dateFormat.i18n = {
	dayNames: [
		"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
		"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
	],
	monthNames: [
		"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
		"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
	]
};

// For convenience...
Date.prototype.format = function (mask, utc) {
	return dateFormat(this, mask, utc);
};


function toggleDatetimeToVisual(dt){
		var dt_string = new String(dt);
		dt_string = dt_string.slice(0,10);
		dt_string = dt_string.split("-");
		
		//Find Year,Month,Day
		var d_year = dt_string[0];
		var d_month = dt_string[1];
		var d_day = dt_string[2];
		
		
		var id_visual = id+"_visible";
		var visual_date = new Date();
		visual_date.setFullYear(d_year,d_month-1,d_day);
		
		var vd = visual_date.toDateString();
		setField(id,val);
		setField(id_visual,vd);
}

function toggleChecked(id){
	var handle = document.getElementById(id);
	if(handle.checked==true){
		handle.checked=false;
	}else if(handle.checked==false){
		handle.checked=true;
	}
}


function startTime(){
	var today=new Date();
	var h=today.getHours();
	var m=today.getMinutes();
	// add a zero in front of numbers<10
	m=checkTime(m);
	document.getElementById('current_time').innerHTML=h+":"+m+" ";
	t=setTimeout('startTime()',500);
}
	
function checkTime(i){
	if (i<10){
		i="0" + i;
	}
	return i;
}
