// JavaScript Document
function deleteAdminUser(userid,fullname) {
  if (	confirm('Do you really want to delete ' + fullname + '?')	) {
	
	var params = {
		userid: userid
	}
	// make the jsmx request
	http('POST','/model/ajaxFacade.cfc?method=deleteAdminUser', deleteAdminUserHandler, params); 
	}
	else {
    return false;
  }
	function deleteAdminUserHandler(obj) {
			document.getElementById('msgDiv').innerHTML = obj;
			location.reload();
		}
	
}; //close deleteAdminUser function

// pass in the rowId to be edited and the userId for which to edit
function editRow(currentRow,adminUserId) {

	var rowId = currentRow;
	var userId = adminUserId;
	var editButton = document.getElementById("btnEdit" + currentRow);
	var passField = document.getElementById("pass" + currentRow);
	passField.readOnly = false;
	
	// redfine the properties for the edit button
	editButton.id = 'btnSave' + currentRow;
	editButton.name = 'btnSave' + currentRow;
	editButton.value = 'Save';
	editButton.onclick = function() { saveadminuser(userId,rowId); }

	// a reference to the row
	var theRow = document.getElementById("dataRow" + currentRow);
	
	// a reference to the tds in that row
	var tdTags = theRow.getElementsByTagName("TD");

	// loop over each td
	for (i = 0; i < tdTags.length; i++)  {
     
		 // stores the value of each cell
		 var val = tdTags[i].innerHTML;
		 
		  if (val.indexOf('<') < 0)  {
			 tdTags[i].innerHTML = '';
			 
			 var newElem = document.createElement("INPUT");
			 
			 newElem.value = val; // the values from the fields
			 switch(i) {
			 case 0:
			 		newElem.id 		= "adminFirstName" + rowId;
			 		newElem.name 	= "adminFirstName" + rowId;
					break;
			 case 1:
			 		newElem.id 		= "adminLastName" + rowId;
			 		newElem.name 	= "adminLastName" + rowId;
					break;
			 case 2:
			 		newElem.id 		= "adminEmailAddr" + rowId;
			 		newElem.name 	= "adminEmailAddr" + rowId;
					newElem.size  = 30;
					break;
			 /*case 3:
			 		newElem.id 		= "adminPassword" + rowId;
			 		newElem.name 	= "adminPassword" + rowId;
					newElem.type  = "password";
					break;
					*/
			/* case 4:
			 		newElem.id 		= "adminLevel" + rowId;
			 		newElem.name 	= "adminLevel"+ rowId;
					newElem.size  = 2;
					break;
					*/
			 }
			 tdTags[i].appendChild(newElem);
      }
   }	
	 
}; //close function

function saveadminuser(userId,rowId) {

	var params = {
		userId: userId,
		fName: document.getElementById('adminFirstName' + rowId).value,
		lName:	document.getElementById('adminLastName' + rowId).value,
		emailAddr: document.getElementById('adminEmailAddr' + rowId).value,
		password:	document.getElementById('pass'+ rowId).value
		//level:	document.getElementById('adminLevel' + rowId).value
		}
	
		// make the ajaxCFC request
		http('POST','/model/ajaxFacade.cfc?method=saveAdminUser', saveAdminUserHandler, params); 
		 
		 function saveAdminUserHandler(obj) {
			 	document.getElementById('msgDiv').innerHTML = obj;
			 	var editButton = document.getElementById("btnSave" + rowId);
				// redfine the properties for the edit button
				editButton.id = 'btnEdit' + rowId;
				editButton.name = 'btnEdit' + rowId;
				editButton.value = 'Edit';
				editButton.onclick = function() { editRow(rowId,userId); }
				
				var passField = document.getElementById("pass" + rowId);
				passField.readOnly = true;
				
				/* a reference to the row
				var theRow = document.getElementById("dataRow" + rowId);
				// a reference to the tds in that row
				var tdTags = theRow.getElementsByTagName("TD");

				// loop over each td
				for (i = 0; i < tdTags.length; i++)  {
				*/
			 	fNameField = document.getElementById('adminFirstName' + rowId);
				fNameValue = document.getElementById('adminFirstName' + rowId).value;
		 		if(fNameField) {
					var parent = fNameField.parentNode;
					if (parent) {
						parent.removeChild(fNameField);
						document.getElementById('cellAdminFName' + rowId).innerHTML = fNameValue;
					}
		 		}
				
				lNameField = document.getElementById('adminLastName' + rowId);
				lNameValue = document.getElementById('adminLastName' + rowId).value;
		 		if(lNameField) {
					var parent = lNameField.parentNode;
					if (parent) {
						parent.removeChild(lNameField);
						document.getElementById('cellAdminLName' + rowId).innerHTML = lNameValue;
					}
		 		}
				
				emailField = document.getElementById('adminEmailAddr' + rowId);
				emailValue = document.getElementById('adminEmailAddr' + rowId).value;
		 		if(emailField) {
					var parent = emailField.parentNode;
					if (parent) {
						parent.removeChild(emailField);
						document.getElementById('cellAdminEmailAddr' + rowId).innerHTML = emailValue;
					}
		 		}
				/*
				passwordField = document.getElementById('adminPassword' + rowId);
				passwordValue = document.getElementById('adminPassword' + rowId).value;
		 		if(passwordField) {
					var parent = passwordField.parentNode;
					if (parent) {
						parent.removeChild(passwordField);
						document.getElementById('cellAdminPassword' + rowId).innerHTML = passwordValue;
					}
		 		}
				*/
				
				/*adminLevelField = document.getElementById('adminLevel' + rowId);
				adminLevelValue = document.getElementById('adminLevel' + rowId).value;
		 		if(adminLevelField) {
					var parent = adminLevelField.parentNode;
					if (parent) {
						parent.removeChild(adminLevelField);
						document.getElementById('cellAdminLevel' + rowId).innerHTML = adminLevelValue;
					}
		 		}
				*/
				
				
			} // close saveAdminUserHandler
	
	}; //close saveAdminUser function
	
	
/*	function addUser(rowId) {
	newRow = document.getElementById('dataRow' + rowId).style.display="";
	document.getElementById('adminFirstName' + rowId).focus();
	}*/

	function newadminuser(rowId) {
	
		// validation
		if (document.getElementById('adminFirstName' + rowId).value == '') {
		alert('First Name is required.');
		document.getElementById('adminFirstName' + rowId).focus();
		return false;
		}
		
		// validation
		if (document.getElementById('adminLastName' + rowId).value == '') {
		alert('Last Name is required.');
		document.getElementById('adminLastName' + rowId).focus();
		return false;
		}
		
		// validation
		if (document.getElementById('adminEmailAddr' + rowId).value == '') {
		alert('Email Address is required.');
		document.getElementById('adminEmailAddr' + rowId).focus();
		return false;
		}
		
		if(!isEmail(document.getElementById('adminEmailAddr' + rowId).value)){
    	alert('Please enter a valid E-mail address.');
      document.getElementById('adminEmailAddr' + rowId).focus();
      return false;
    }
			
		// validation
		if (document.getElementById('adminPassword' + rowId).value == '') {
		alert('Please enter a password.');
		document.getElementById('adminPassword' + rowId).focus();
		return false;
		}
		
		/* validation
		if (document.getElementById('adminLevel' + rowId).value == '') {
		alert('Please enter an Admin Level.');
		document.getElementById('adminLevel' + rowId).focus();
		return false;
		}
		*/
		
		var params = {
		fName: document.getElementById('adminFirstName' + rowId).value,
		lName:	document.getElementById('adminLastName' + rowId).value,
		emailAddr: document.getElementById('adminEmailAddr' + rowId).value,
		password:	document.getElementById('adminPassword'+ rowId).value
	//	level:	document.getElementById('adminLevel' + rowId).value
		}
		
		
	
		// make the ajaxCFC request
		http('POST','/model/ajaxFacade.cfc?method=newAdminUser', newAdminUserHandler, params); 
		 
		 function newAdminUserHandler(obj) {
			 	document.getElementById('msgDiv').innerHTML = obj;
				location.reload();
		}
	
	}; //close newadminuser function
	
	function cancelAdd(rowId) {
		document.getElementById('dataRow' + rowId).style.display="none";
		// wipe fields clear
		document.getElementById('adminFirstName' + rowId).value = '';
		document.getElementById('adminLastName' + rowId).value= '';
		document.getElementById('adminEmailAddr' + rowId).value= '';
		document.getElementById('adminPassword'+ rowId).value= '';
		/*document.getElementById('adminLevel' + rowId).value= '';*/
	}; //close cancelAdd Function
	