function positionComp(categoryID, typeID, departmentID, positionID, departmentTextID, positionTextID)
{
	var category;
	var department;
	var hoteltype;
	var position;
	var department_text;
	var position_text;
	var thisObject;
	var tempPositionText;
	var tempDepartmentText;

	this.category = document.getElementById(categoryID);
	if(typeID) this.hoteltype = document.getElementById(typeID);
	else this.hoteltype = false
	this.department = document.getElementById(departmentID);
	if(departmentTextID) this.department_text = document.getElementById(departmentTextID);
	else this.department_text = false
	this.position = document.getElementById(positionID);
	if(positionTextID) this.department_text = document.getElementById(positionTextID);
	else this.position_text = false
	this.position_text = document.getElementById(positionTextID);
	this.thisObject = this;

	this.tempPositionText = '';
	this.tempDepartmentText = '';

	//Load Type
	this.loadType = function(parentID, selectedItem)
	{
		serverResponse = new Ajax_phpRequest("wsdl/ajax_simple.xml.php");
		serverResponse.add("action", 'getTypeList');
		serverResponse.add("id", parentID);
		if(selectedItem) serverResponse.add("sel", selectedItem);
		serverResponse.setHandler(this.on_TypeXMLPosted, this);

		response = serverResponse.execute();
	}

	this.updateType = function(itemNames, itemIDs, selected)
	{
		this.hoteltype.innerHTML = "";

		var tmpOption = document.createElement("OPTION");
		tmpOption.text = '';
		tmpOption.value = 0;
		tmpOption.selected = true;
	    this.hoteltype.options.add(tmpOption);

	    if(itemIDs.length == 0) this.hoteltype.disabled = true;

		for (i = 0; i < itemIDs.length; i++)
		{
			var tmpOption = document.createElement("OPTION");
			tmpOption.text = itemNames[i];
			tmpOption.value = itemIDs[i];
			if(itemIDs[i] == selected){
				tmpOption.selected = true;
			}
			else tmpOption.selected = false;
			this.hoteltype.options.add(tmpOption);
		}
	}

	this.on_TypeXMLPosted = function(currentObject, object)
	{
		resultXML = currentObject.resultXML;
		items = resultXML.getElementsByTagName('item');
		var itemNames = new Array();
		var itemIDs = new Array();
		selectedOut = false;

		for(i=0; i < items.length; i++)
		{
		    itemIDs[i] = items[i].getAttribute('id');
		    itemNames[i] = items[i].firstChild.data;
		    if(items[i].getAttribute('selected')){
		    	selectedOut = itemIDs[i];
		    }
		}
		object.updateType(itemNames, itemIDs, selectedOut);
	}

	//Load Dipartament
	this.loadDepartment = function(parentID, selectedItem)
	{
		serverResponse = new Ajax_phpRequest("wsdl/ajax_simple.xml.php");
		serverResponse.add("action", 'getDepartmentList');
		serverResponse.add("id", parentID);
		if(selectedItem) serverResponse.add("sel", selectedItem);
		serverResponse.setHandler(this.on_DepartmentXMLPosted, this);

		response = serverResponse.execute();
	}

	this.updateDepartment = function(itemNames, itemIDs, selected)
	{
		this.department.innerHTML = "";

		var tmpOption = document.createElement("OPTION");
		tmpOption.text = '';
		tmpOption.value = 0;
		tmpOption.selected = true;
	    this.department.options.add(tmpOption);

	    if(itemIDs.length != 0)
	    {
	    	if(this.department_text){
	      		this.department.style.display='inline';
	      		this.department_text.style.display='none';
	      		this.department_text.value='';
	      	}
			for (i = 0; i < itemIDs.length; i++)
			{
				var tmpOption = document.createElement("OPTION");
				tmpOption.text = itemNames[i];
				tmpOption.value = itemIDs[i];
				if(itemIDs[i] == selected){
					tmpOption.selected = true;
				}
				else tmpOption.selected = false;
				this.department.options.add(tmpOption);
			}
		}
		else
		{
	    	if(this.department_text){
	      		this.department.style.display='none';
	      		this.department_text.style.display='inline';
				this.department_text.value=this.tempDepartmentText;
				this.department.selectedIndex = 0;
	      	}
		}
	}

	this.on_DepartmentXMLPosted = function(currentObject, object)
	{
		resultXML = currentObject.resultXML;
		items = resultXML.getElementsByTagName('item');
		var itemNames = new Array();
		var itemIDs = new Array();
		selectedOut = false;

		for(i=0; i < items.length; i++)
		{
		    itemIDs[i] = items[i].getAttribute('id');
		    itemNames[i] = items[i].firstChild.data;
		    if(items[i].getAttribute('selected')){
		    	selectedOut = itemIDs[i];
		    }
		}

		object.updateDepartment(itemNames, itemIDs, selectedOut);
	}

	//Load Position
	this.loadPosition = function(parentID, selectedItem)
	{
		serverResponse = new Ajax_phpRequest("wsdl/ajax_simple.xml.php");
		serverResponse.add("action", 'getPositionList');
		serverResponse.add("id", parentID);

		if(selectedItem) serverResponse.add("sel", selectedItem);
		serverResponse.setHandler(this.on_PositionXMLPosted, this);

		response = serverResponse.execute();
	}

	this.on_PositionXMLPosted = function(currentObject, object)
	{
		resultXML = currentObject.resultXML;
		items = resultXML.getElementsByTagName('item');
		var itemNames = new Array();
		var itemIDs = new Array();
		selectedOut = false;

		for(i=0; i < items.length; i++)
		{
		    itemIDs[i] = items[i].getAttribute('id');
		    itemNames[i] = items[i].firstChild.data;
		    if(items[i].getAttribute('selected')){
		    	selectedOut = itemIDs[i];
		    }
		}
		object.updatePosition(itemNames, itemIDs, selectedOut);
	}

	this.updatePosition = function(itemNames, itemIDs, selected)
	{
		this.position.innerHTML = "";

		var tmpOption = document.createElement("OPTION");
		tmpOption.text = '';
		tmpOption.value = 0;
		tmpOption.selected = true;

	    this.position.options.add(tmpOption);

	    if(itemIDs.length != 0)
	    {
   	    	if(this.position_text){
	      		this.position.style.display='inline';
	      		this.position_text.style.display='none';
	      		this.position_text.value='';
	      	}
			for (i = 0; i < itemIDs.length; i++)
			{
				var tmpOption = document.createElement("OPTION");
				tmpOption.text = itemNames[i];
				tmpOption.value = itemIDs[i];
				if(itemIDs[i] == selected){
					tmpOption.selected = true;
				}
				else tmpOption.selected = false;
				this.position.options.add(tmpOption);
			}
		}
		else
		{
   	    	if(this.position_text){
	      		this.position.style.display='none';
	      		this.position_text.style.display='inline';
	      		this.position_text.value=this.tempPositionText;
				this.position.selectedIndex = 0;
	      	}

		}
	}

	//NEW
	this.createElements = function()
	{
		this.category.disabled = false;
		this.category.selectedIndex = 0;

		this.hoteltype.disabled = true;
		this.hoteltype.selectedIndex = 0;

		this.department.disabled = true;
		this.department.selectedIndex = 0;
   	    if(this.department_text){
	  		this.department.style.display='inline';
	  		this.department_text.style.display='none';
	  	}

		if(this.position)
		{
			this.position.disabled = true;
			this.position.selectedIndex = 0;
		}
   	    if(this.position_text){
	  		this.position.style.display='inline';
	  		this.position_text.style.display='none';
  		}
	}

	this.categoryChange = function()
	{
		if(this.category.selectedIndex == 0)
		{
			this.hoteltype.disabled = true;
			this.hoteltype.selectedIndex = 0;

			this.department.disabled = true;
			this.department.selectedIndex = 0;
	   	    if(this.department_text){
		  		this.department.style.display='inline';
		  		this.department_text.style.display='none';
		  	}

			if(this.position)
			{
				this.position.disabled = true;
				this.position.selectedIndex = 0;
			}
	   	    if(this.position_text){
		  		this.position.style.display='inline';
		  		this.position_text.style.display='none';
		  	}
		}
		else
		{
			this.loadType(this.category.value, 0);
			this.hoteltype.disabled = false;
			this.hoteltype.selectedIndex = 0;
			this.department.disabled = false;
			this.loadDepartment(this.category.value, 0);
			this.department.selectedIndex = 0;
	   	    if(this.department_text){
		  		this.department.style.display='inline';
		  		this.department_text.style.display='none';
		  	}
			if(this.position)
			{
				this.position.disabled = true;
				this.position.selectedIndex = 0;
			}
	   	    if(this.position_text){
		  		this.position.style.display='inline';
		  		this.position_text.style.display='none';
		  	}
		}
	}

	this.departmentChange = function()
	{
		if(this.department.selectedIndex == 0)
		{
			if(this.position)
			{
				this.position.options[0].selected = true;
				this.position.disabled = true;
			}
		}
		else
		{
			if(this.position)
			{
				this.position.disabled = false;
		   	    if(this.position_text) this.position_text.disabled = false;
				this.loadPosition(this.department.value, 0);
			}
		}
	}

	this.setParam = function(category, type, department, position, department_text, position_text)
	{
		if(position_text) this.tempPositionText = position_text;
		if(department_text) this.tempPositionText = department_text;

		if(category)
		{
			this.category.selectedIndex = category;
		}
		if(type)
		{
			this.hoteltype.disabled = false;
			this.loadType(category, type);
		}
		if(department)
		{
			this.department.disabled = false;
			this.department_text.value = '';
			this.loadDepartment(category, department);
		}
		if(position && this.position)
		{
			this.position_text.value = '';
			this.loadPosition(department, position);
		}
	}
}











