/* Copyright Commcam Limited 2008. All rights reserved. (See licence/licence.txt) */

function showUsers()
{
	startLoading("_showUsers()");
}

function _showUsers()
{
	var objDiv;
	var objContent = document.getElementById("innerContent");
	var objAjax = new CAjax();

	if (objAjax.open("dynamic/users.php?mode=LIST", true))
	{
		objDiv = g_objTabs.addTab("userList", "User List", true, true);
		objDiv.innerHTML = objAjax.getResponse();
	}
	
	if (objAjax.open("dynamic/users.php?mode=NEW", true))
	{
		objDiv = g_objTabs.addTab("userEdit", "New User", false, true);
		objDiv.innerHTML = objAjax.getResponse();
	}
		
	endLoading();
}

function deleteUser()
{
	if (confirm("Are you sure you want to delete this user?"))
	{
		startLoading("_deleteUser()");
	}
}

function _deleteUser()
{
	var objAjax = new CAjax();

	if (objAjax.open("dynamic/users.php?action=DELETE&userid=" + getFormValue("userId"), true))
	{
		objEdit = document.getElementById("userEdit");
		objEdit.innerHTML = objAjax.getResponse();
	}
	
	_listUsers(0);

}

function listUsers(iOffset)
{
	startLoading("_listUsers(" + iOffset + ")");
}

function _listUsers(iOffset)
{
	var objAjax = new CAjax();

	if (objAjax.open("dynamic/users.php?mode=LIST&offset=" + iOffset, true))
	{
		objDiv = document.getElementById("userList");
		objDiv.innerHTML = objAjax.getResponse();
	}
	
	endLoading();
}

function userDetails(strUserId)
{
	startLoading("_userDetails('" + strUserId + "')");
}

function _userDetails(strUserId)
{
	var objAjax = new CAjax();

	if (objAjax.open("dynamic/users.php?mode=EDIT&userid=" + strUserId, true))
	{
		objDiv = g_objTabs.addTab("userEdit", "Edit User", true, true);
		objDiv.innerHTML = objAjax.getResponse();
	}
	
	endLoading();
}

function saveUser(bCreate)
{
	startLoading("_saveUser(" + bCreate + ")");
}

function createUserXml()
{
	objXmlDom = xml_createXmlDom();
	objXmlDom.loadXML("<user></user>");
	
	objUserNode = objXmlDom.selectSingleNode("/user");
	
	xml_createNode(objUserNode, "userId", getFormValue("userid"));
	xml_createNode(objUserNode, "password", getFormValue("password"));
	xml_createNode(objUserNode, "useBudget", getFormValue("usebudget"));
	xml_createNode(objUserNode, "creditRemaining", getFormValue("creditremaining"));
	xml_createNode(objUserNode, "creditType", getFormValue("credittype"));
	xml_createNode(objUserNode, "range", getFormValue("range"));
	xml_createNode(objUserNode, "userType", getFormValue("usertype"));
	xml_createNode(objUserNode, "contactName", getFormValue("contactname"));
	xml_createNode(objUserNode, "address1", getFormValue("address1"));
	xml_createNode(objUserNode, "address2", getFormValue("address2"));
	xml_createNode(objUserNode, "address3", getFormValue("address3"));
	xml_createNode(objUserNode, "address4", getFormValue("address4"));
	xml_createNode(objUserNode, "address5", getFormValue("address5"));
	xml_createNode(objUserNode, "postcode", getFormValue("postcode"));
	xml_createNode(objUserNode, "phoneNo", getFormValue("phoneno"));
	xml_createNode(objUserNode, "faxNo", getFormValue("faxno"));
	xml_createNode(objUserNode, "mail", getFormValue("mail"));
	xml_createNode(objUserNode, "k8User", getFormValue("k8user"));
	xml_createNode(objUserNode, "k8Password", getFormValue("k8password"));
	xml_createNode(objUserNode, "account", getFormValue("account"));
	xml_createNode(objUserNode, "invAccount", getFormValue("invaccount"));
	
	return objXmlDom;
}

function _saveUser(bCreate)
{
	var objXmlDom, objAjax, objUserNode, objForm, strMode, strXml, objEdit, objList;
	
	objForm = document.getElementById("userEdit");
	
	if (validateForm(objForm))
	{
		if (bCreate)
		{
			strMode = "CREATE";
		}
		else
		{
			strMode = "EDIT";
		}
		
		xml_createNode(objUserNode, "mode", strMode);
		
		objXmlDom = createUserXml();
				
		strXml = objXmlDom.xml;
			
		objAjax = new CAjax();
		objAjax.create();
		
		if (objAjax.open("dynamic/users.php?mode=" + strMode + "&action=SAVE&userid=" + getFormValue("userId"), false))
		{
			objAjax.send(strXml);
			
			objEdit = document.getElementById("userEdit");
			objEdit.innerHTML = objAjax.getResponse();
		}
		
		if (objAjax.open("dynamic/users.php?mode=LIST&offset=0", true))
		{
			objList = document.getElementById("userList");
			objList.innerHTML = objAjax.getResponse();
		}
	}
	
	endLoading();
}

function clearUser()
{
	startLoading("_clearUser()");
}

function _clearUser()
{
	var objAjax = new CAjax();
	
	if (objAjax.open("dynamic/users.php?mode=NEW", true))
	{
		objDiv = g_objTabs.addTab("userEdit", "New User", true, true);
		objDiv.innerHTML = objAjax.getResponse();
	}
		
	endLoading();
}

function registerRetail()
{
	var objAjax = new CAjax();
	
	if (objAjax.open("dynamic/registerUser.php", true))
	{
		objDiv = document.getElementById("innerContent");
		objDiv.innerHTML = objAjax.getResponse();
	}
		
	endLoading();
}

function saveRegistration()
{
	var objForm, objXmlDom, objDiv;
	
	objForm = document.getElementById("userEdit");
	
	if (validateForm(objForm))
	{
		objXmlDom = createUserXml();
	
		objAjax = new CAjax();

		if (objAjax.open("dynamic/registerUser.php?mode=SAVE&userid=" + getFormValue("userId"), false))
		{
			objAjax.send(objXmlDom.xml);
			
			objDiv = document.getElementById("innerContent");
			objDiv.innerHTML = objAjax.getResponse();
		}
	
	}
}
