function pool_item_object(eleId, parentId,  q_where, q_search, q_category, item_img, item_title, refresh_check, item_price, item_client, item_rating, item_type) // object prototype
{
  // Private Properties
	var me = this;
	var eleId=eleId;
	var parentId=parentId;
	var item_img=item_img;
	var item_title=item_title;
	var item_client=item_client;
	var item_rating=item_rating;
	var item_price=item_price;
	var item_type=item_type;
	var eleX, eleY;
	var evtX, evtY;
	var eleMove=false;
	var eleOver=false;
  
	var ele_parent;
	var ele;
	var ele_bar;
	var ele_add;
	var ele_remove;
	var ele_title;
	var ele_img;
	var ele_content;

	var q_where=q_where;
	var q_search=q_search;
	var q_category=q_category;
  // Public Methods

	this.tell_ele_id= function()
	{
		return ele.id;  
	}

	this.tell_parentId= function()
	{
		return parentId;  
	}

	this.move_to_history= function()
	{
			ele_parent=null;
		//	pool_item_history[pool_item_history.length-1][eleId]=pool_item_array[eleId];
			pool_item_array[eleId].deleteIt();
			pool_item_array[eleId]=null;
	}

	this.deleteIt=function()
	{
		ele_bar.onmousedown=null;
		ele_bar.onmouseup=null;
		ele_add.onclick=null;
		ele_add.onmouseover=null;
		ele_add.onmouseout=null;
		//ele_remove.onclick=null;
		//ele_remove.onmouseover=null;
		//ele_remove.onmouseout=null;
		ele.onmouseover=null;
		ele.onmouseout=null;
	}
	
	this.generate_item= function(parentIdNew)
	{
		var item_price_salary="";

		parentId=parentIdNew;
		ele_parent=xGetElementById(uk_ext+"f_pool_grid_"+parentIdNew);
		var tv_div=document.createElement("div");
		tv_div.id=uk_ext+"f_pool_item_"+eleId;
		tv_div.className=uk_ext+"f_pool_item";

		var tv_div_bar=document.createElement("div");
		tv_div_bar.id=uk_ext+"f_pool_item_bar_"+eleId;
		tv_div_bar.className=uk_ext+"f_pool_item_bar";

			var tv_div_add=document.createElement("div");
			tv_div_add.id=uk_ext+"f_pool_item_add_"+eleId;
			tv_div_add.className=uk_ext+"f_pool_item_add";
			tv_div_add.innerHTML="+";
			tv_div_bar.appendChild(tv_div_add);

			var tv_div_remove=document.createElement("div");
			tv_div_remove.id=uk_ext+"f_pool_item_remove_"+eleId;
			tv_div_remove.className=uk_ext+"f_pool_item_remove";
			tv_div_remove.innerHTML="-";
			tv_div_bar.appendChild(tv_div_remove);

		var tv_div_img=document.createElement("div"); 
		tv_div_img.innerHTML="<center><a href='#' onclick=''><img id='"+uk_ext+"f_pool_item_img_"+eleId+"' src='"+item_img+"' class='"+uk_ext+"f_pool_item_img' onclick=\"responder_position('"+hp4_code+""+eleId+"', 'external', 'front_item.php?dummy=', "+eleId+")\"></a></center>";
		tv_div_img.className=uk_ext+"f_pool_item_img_div";
		
		tv_div.appendChild(tv_div_bar);
		tv_div.appendChild(tv_div_img);

		if(item_rating=="")
			item_rating="N/R";
		else
			item_rating=item_rating+"<img src='http://www.homepage4.co.uk/design/front/rate_star.gif' border=0>";

		if(uk_type=="list")
		{
			if(item_type=="Product")
			{
				item_price_salary="<b>Price: </b>"+item_price+"<br>";
			}
			if(item_type=="Job")
			{
				item_price_salary="<b>Salary: </b>"+item_price+"<br>";
			}
			if(item_type=="Service")
			{
				item_price_salary="";
			}

var tv_div_content=document.createElement("div"); 
			tv_div_content.id=uk_ext+"f_pool_item_content_"+eleId;
			tv_div_content.innerHTML="<a href='#' onclick=\"responder_position('"+hp4_code+""+eleId+"', 'external', 'front_item.php?dummy=', "+eleId+")\"><b>"+item_title+"</b></a><br><br><b>Type: </b>"+item_type+"s<br>"+item_price_salary+"<b>Rating:</b> "+item_client+" <em>(<b>"+item_rating+"</b>)</em>";
			tv_div_content.className=uk_ext+"f_pool_item_content";
			tv_div.appendChild(tv_div_content);
		}
	
		ele_parent.innerHTML="";
		ele_parent.appendChild(tv_div);

		tv_div=null;
		tv_div_add=null;
		tv_div_remove=null;
		tv_div_add=null;
		tv_div_img=null;

		ele = xGetElementById(uk_ext+"f_pool_item_"+eleId);
		ele_bar = xGetElementById(uk_ext+"f_pool_item_bar_"+eleId);
		ele_add = xGetElementById(uk_ext+"f_pool_item_add_"+eleId);
		ele_remove = xGetElementById(uk_ext+"f_pool_item_remove_"+eleId);
		ele_title = xGetElementById(uk_ext+"f_pool_item_title_"+eleId);
		ele_img = xGetElementById(uk_ext+"f_pool_item_img_"+eleId);
		ele_bar.onmousedown=barOnDown;
		ele_bar.onmouseup=barOnUp;
		ele_add.onclick=addOnClick;
		ele_add.onmouseover=show_caption_favourites;
		ele_add.onmouseout=hide_caption;
		ele_remove.onclick=removeOnClick;
		ele_remove.onmouseover=show_caption_remove;
		ele_remove.onmouseout=hide_caption;
		ele.onmouseover=eleOnOver;
		ele.onmouseout=eleOnOut;
		eleX=xPageX(ele);
		eleY=xPageY(ele);

		ele.style.position="absolute";

		if(uk_type=="grid")
		{
			ele.style.display="none";
			ele_img.onload=show_item;
		} else {
			ele.style.display="block";
			var delay_time=Math.floor(Math.random()*10000+6000);
			setTimeout("refresher_redirector("+eleId+","+parentId+")",delay_time);
		}
	}

	function show_item()
	{
		ele.style.display="block";
		if(refresh_check=="yes")
		{
			xMoveTo(ele,eleX+35,eleY+35);
			xResizeTo(ele,20,20)
			xSlideTo(ele, eleX, eleY,900,"static");
			xResizeToAnimated(ele, 90, 90,900,"static");
		}else{
			xMoveTo(ele,eleX,eleY);
			xResizeTo(ele,90,90);
		}
		var delay_time=Math.floor(Math.random()*10000+6000);
		setTimeout("refresher_redirector("+eleId+","+parentId+")",delay_time);
	}
	
	this.show_in_list= function(parentIdNew)
	{
		var item_price_salary="";

		ele_parent=xGetElementById(uk_ext+"f_list");
		var tv_div=document.createElement("div");
		tv_div.id=uk_ext+"f_pool_item_"+eleId;
		tv_div.className=uk_ext+"f_pool_item_in_list";

		var tv_div_bar=document.createElement("div");
		tv_div_bar.id=uk_ext+"f_pool_item_bar_"+eleId;
		tv_div_bar.className=uk_ext+"f_pool_item_bar";
		tv_div_bar.style.display='block';

			var tv_div_remove=document.createElement("div");
			tv_div_remove.id=uk_ext+"f_pool_item_remove_"+eleId;
			tv_div_remove.className=uk_ext+"f_pool_item_remove";
			tv_div_remove.innerHTML="-";
			tv_div_remove.style.display='block';
			tv_div_bar.appendChild(tv_div_remove);

		var tv_div_img=document.createElement("div"); 
		tv_div_img.innerHTML="<center><a href='#' onclick=''><img id='"+uk_ext+"f_pool_item_img_"+eleId+"' src='"+item_img+"' class='"+uk_ext+"f_pool_item_img' onclick=\"responder_position('"+hp4_code+""+eleId+"', 'external', 'front_item.php?dummy=', "+eleId+")\"></a></center>";
		tv_div_img.className=uk_ext+"f_pool_item_img_div";
		
		tv_div.appendChild(tv_div_bar);
		tv_div.appendChild(tv_div_img);

		if(item_rating=="")
			item_rating="N/R";
		else
			item_rating=item_rating+"<img src='http://www.homepage4.co.uk/design/front/rate_star.gif' border=0>";

		if(uk_type=="list")
		{
				
			if(item_type=="Product")
			{
				item_price_salary="<b>Price: </b>"+item_price+"<br>";
			}
			if(item_type=="Job")
			{
				item_price_salary="<b>Salary: </b>"+item_price+"<br>";
			}
			if(item_type=="Service")
			{
				item_price_salary="";
			}
			
			var tv_div_content=document.createElement("div"); 
			tv_div_content.id=uk_ext+"f_pool_item_content_"+eleId;
			tv_div_content.innerHTML="<a href='#' onclick=\"responder_position('"+hp4_code+""+eleId+"', 'external', 'front_item.php?dummy=', "+eleId+")\"><b>"+item_title+"</b></a><br><br><b>Type: </b>"+item_type+"s<br>"+item_price_salary+"<b>Rating:</b> "+item_client+" <em>(<b>"+item_rating+"</b>)</em>";
			tv_div_content.className=uk_ext+"f_pool_item_content";
			tv_div.appendChild(tv_div_content);
		}
	
		ele_parent.appendChild(tv_div);

		tv_div=null;
		tv_div_remove=null;
		tv_div_img=null;

		ele = xGetElementById(uk_ext+"f_pool_item_"+eleId);
		ele_bar = xGetElementById(uk_ext+"f_pool_item_bar_"+eleId);
		ele_bar.style.cursor="default";
		ele_remove = xGetElementById(uk_ext+"f_pool_item_remove_"+eleId);
		ele_title = xGetElementById(uk_ext+"f_pool_item_title_"+eleId);
		ele_img = xGetElementById(uk_ext+"f_pool_item_img_"+eleId);
		ele_remove.onclick=removeOnClick;
		ele_remove.onmouseover=show_caption_remove;
		ele_remove.onmouseout=hide_caption;
		ele.onmouseover=eleOnOver;
		ele.onmouseout=eleOnOut;
		eleX=xPageX(ele);
		eleY=xPageY(ele);

		if(uk_type=="list")
			document.getElementById(uk_ext+"f_pool_item_content_"+eleId).style.width="152px";

		ele.style.display="block";
	}	
	
	this.reposition= function()
	{
		eleX=xPageX(ele_parent);
		eleY=xPageY(ele_parent);
		if(uk_type=="grid")
			xSlideTo(ele,eleX,eleY,100,"static",uk_ext+"f_pool_item");
	}


	this.refresher = function()
	{
		if(getnext_check>0)
		{
			var delay_time=Math.floor(Math.random()*10000+8000);
			setTimeout("refresher_redirector("+eleId+","+parentId+")",delay_time);
			return;
		}
		if(eleOver==true || eleMove==true || animation_status==true || animation_status_player==true)
		{
			var delay_time=Math.floor(Math.random()*10000+8000);
			setTimeout("refresher_redirector("+eleId+","+parentId+")",delay_time);
			return;
		}
		var temp_query_string="";
		var temp_item_list_string="";
		for(i=0;i<pool_item_array.length;i++)
		{
			if(pool_item_array[i])
				temp_item_list_string+=i+",";
		}

		for(i=0;i<pool_item_list.length;i++)
		{
			if(pool_item_list[i])
				temp_item_list_string+=i+",";
		}
		temp_item_list_string+='0';

		if(current_query_string=="")
		{
			if(q_where!="")
			{
				temp_query_string="front_pool_json.php?q_where="+q_where+"&max_limit=1&item_list="+temp_item_list_string;
			}
			else if(q_category!="")
			{
				temp_query_string="front_pool_json.php?item_id="+q_category+"&max_limit=1&item_list="+temp_item_list_string;
			}
			else if(q_search!="")
			{
				temp_query_string="front_pool_json.php?q_search="+escape(q_search)+"&max_limit=1&item_list="+temp_item_list_string;
			}
		}
		else
		{
			if(uk_type=="list")
			{
				ele_parent=xGetElementById(uk_ext+"f_pool_grid_"+parentId);
				ele_parent.style.backgroundColor="#FFFFFF";
				ele_parent.innerHTML="<div class='uk_f_pool_grid_loading'><br><br><img src='http://www.homepage4.co.uk/design/front/uk_grid_loading.gif' style='margin-top:7px;'></div>";
				setTimeout("refresher_redirector_pause("+eleId+",'"+temp_item_list_string+"')",400);
				//new net.ContentLoader(eleId, current_query_string+"&max_limit=1&item_list="+temp_item_list_string, parseItemJson);
				getnext_check++;
			} else {
				new net.ContentLoader(eleId, current_query_string+"&max_limit=1&item_list="+temp_item_list_string, parseItemJson);
				getnext_check++;
			}
		}
	}
	
	this.load_new_item= function(newEleId, newItem_img, newItem_title, newItem_price, newItem_client, newItem_rating, newItem_type)
	{
		//ele_parent.innerHTML="";
		pool_item_array[newEleId]= new pool_item_object(newEleId, parentId, q_where, q_search, q_category, newItem_img, newItem_title, "yes", newItem_price, newItem_client, newItem_rating, newItem_type);
		pool_item_array[eleId].deleteIt();
		pool_item_array[eleId]=null;
	}
		
	function barOnDown(evt)
	{
		var e = evt || window.event;
		if(e.target) var target = e.target;
		else if(e.srcElement)var target = e.srcElement;
		if(target.id==ele_bar.id)
		{
			ele.style.position="absolute";
			xMoveTo(ele, xPageX(ele),  xPageY(ele));
			var pageX, pageY;
			if(xOp6Dn) { pageX = e.clientX; pageY = e.clientY; }
			else if(xDef(e.pageX,e.pageY)) { pageX = e.pageX; pageY = e.pageY; }
			else if(xDef(e.clientX,e.clientY)) { pageX = e.clientX + xScrollLeft(); pageY = e.clientY + xScrollTop(); }
			evtX=pageX-xPageX(ele_bar);		
			evtY=pageY-xPageY(ele_bar);		
			eleMove=true;
			document.onmousemove=barOnDrag;
			body_is_hotspot(pageX, xPageX);
			ele.onmouseover=null;
			ele.onmouseout=null;
		}
	}
	
	function barOnDrag(evt)
	{
		if(eleMove==true)
		{
			var e = evt || window.event;
			var pageX, pageY;
			xPreventDefault(e);
			if(xOp6Dn) { pageX = e.clientX; pageY = e.clientY; }
			else if(xDef(e.pageX,e.pageY)) { pageX = e.pageX; pageY = e.pageY; }
			else if(xDef(e.clientX,e.clientY)) { pageX = e.clientX + xScrollLeft(); pageY = e.clientY + xScrollTop(); }
		
			var mdx = pageX - xPageX(ele) - evtX;
			var mdy = pageY - xPageY(ele) - evtY;
			
			xMoveTo(ele, xLeft(ele) + mdx, xTop(ele) + mdy);
			body_is_hotspot(pageX, pageY);
		}
	}
	
	function barOnUp(evt)
	{
		var e = evt || window.event;
		if(e.target) var target = e.target;
		else if(e.srcElement)var target = e.srcElement;
		if(target.id==ele_bar.id)
		{
			var pageX, pageY;
			if(xOp6Dn) { pageX = e.clientX; pageY = e.clientY; }
			else if(xDef(e.pageX,e.pageY)) { pageX = e.pageX; pageY = e.pageY; }
			else if(xDef(e.clientX,e.clientY)) { pageX = e.clientX + xScrollLeft(); pageY = e.clientY + xScrollTop(); }
			document.onmousemove=null;
			eleMove=false;
			ele.onmouseover=eleOnOver;
			ele.onmouseout=eleOnOut;
			if(body_is_hotspot(pageX, pageY))
			{
				addOnClick("yes");
			}
			else
			{
				xSlideTo(ele, eleX, eleY,1000,"static",uk_ext+"f_pool_item");
				if(uk_type=="grid")
					xResizeToAnimated(ele,90,90,1000,"static",uk_ext+"f_pool_item");
				document.getElementById(body_hotspotId).style.backgroundColor="#FCFCFA";
			}
		}
	}

	this.addOnClick_final= function()
	{
		document.getElementById(uk_ext+"f_list").appendChild(ele);
		if(uk_type=="list")
			document.getElementById(uk_ext+"f_pool_item_content_"+eleId).style.width="152px";
		//alert(ele_parent.innerHTML);
		if(ele_parent.innerHTML=="")
		{
		var gridColor=new Array('#B3ABAC', '#D5E2F2', '#D5E2F2', '#D58999', '#F3AFB1', '#ACAED2', '#A3ACD3', '#9EC6F5', '#A3ACD3',  '#D5E2F2');
		var tempRandom=Math.round(Math.random()*10);
		ele_parent.style.backgroundColor=gridColor[tempRandom];
		ele_parent.innerHTML="<center><br><br><br><span onclick=\"manager_position('', 'external', 'client_manager.php?link=7');\" class='buy_this_place' >use this<br>space</span></center>";
		}
		ele_parent=document.getElementById(uk_ext+"f_list");
		list_refresh();
	}
	
	function addOnClick(fromBarOnUp)
	{	
		if(fromBarOnUp!="yes")
		{
			ele.style.position="absolute";
			xMoveTo(ele, xPageX(ele),  xPageY(ele));
			ele.style.position="absolute";
		}
		document.body.appendChild(ele_parent);
		document.getElementById(uk_ext+"f_pool").appendChild(ele_parent);
		pool_item_list[eleId]=pool_item_array[eleId];
		pool_item_array[eleId].deleteIt();
		pool_item_array[eleId]=null;

		pool_reposition();

		if(uk_type=="grid")
		{
			xResizeTo("f_list",xWidth("f_list")+95, null);
			xSlideTo(ele, xPageX("f_list_left")+17, xPageY("f_list_left")+3,700,"static",uk_ext+"f_pool_item_in_list", "pool_item_list["+eleId+"].addOnClick_final();");
			xResizeToAnimated(ele,90,102,700,"static",uk_ext+"f_pool_item_in_list", "pool_item_list["+eleId+"].addOnClick_final();");
		} else {
			xSlideTo(ele, xPageX(uk_ext+"f_list"), xPageY(uk_ext+"f_list"),700,"static",uk_ext+"f_pool_item_in_list", "pool_item_list["+eleId+"].addOnClick_final();");
		}
		
		ele_bar.onmousedown=null;
		ele_bar.onmouseup=null;
		ele_bar.style.cursor="default";
		ele_add.style.display="none";
		ele_remove.style.display="block";
		document.getElementById(body_hotspotId).style.backgroundColor="#FCFCFA";
		hide_caption();
	}  
	
	function removeOnClick()
	{	
		document.body.appendChild(ele);
		pool_item_list[eleId].deleteIt();
		pool_item_list[eleId]=null;
		ele.style.display="none";
		hide_caption();
	}  
	
	function eleOnOver()
	{
		if(pool_item_array[eleId] && uk_type=="grid")
		{
			eleOver=true;
			xMoveTo(ele, xPageX(ele),  xPageY(ele));
			ele.style.position="absolute";
			xResizeToAnimated(ele,100,112,300);
			xSlideTo(ele,eleX-5,eleY,300);
			ele_bar.style.display="block";
		}

			
		if(item_type=="Product")
		{
			item_price_salary=" - <b>Price: </b>"+item_price+"";
		}
		if(item_type=="Job")
		{
			item_price_salary=" - <b>Salary: </b>"+item_price+"";
		}
		if(item_type=="Service")
		{
			item_price_salary="";
		}
		document.getElementById("f_title_teller").innerHTML=item_title+" <span style='font-size:10px;'>("+item_rating+""+item_price_salary+")</span>";
	}
	
	function eleOnOut()
	{	
		if(pool_item_array[eleId] && uk_type=="grid")
		{
			eleOver=false;
			xResizeToAnimated(ele,90,90,100,"static",uk_ext+"f_pool_item");
			ele_bar.style.display="none";
			xSlideTo(ele,eleX,eleY,100,"static",uk_ext+"f_pool_item");
		}
		document.getElementById("f_title_teller").innerHTML=current_title_teller;
	}
	
	this.generate_item(parentId, refresh_check);
} 
