
function getItemsByElement(e)
{
	var langObj = new Object();
	var nodes = e.childNodes;
	for (var i=0; i<nodes.length; i++)
		{
			var node = nodes[i];
			if (node.nodeName == "#text") continue;
			if (typeof(node.nodeName) == "undefined") continue;
			
			langObj[i] = new Object();
			langObj[i] = (node.firstChild)?node.firstChild.data:"";
		}	
	return langObj;
}

function getShopByElement(e)
{
	var nodes = e.childNodes;
	//alert(nodes);
	var id = e.getAttribute("id");
	var catid = e.getAttribute("catid");
	var subcatid = e.getAttribute("subcatid");
	var n = "";
	var loc = "";
	var h = "";
	var ur = "";
	var tels = new Object();
	var other = new Object();
	var desc = '';
	var logo = "";
	var galleries = 0;
	var link = '';
	//alert(id);
	
	for (var i=0; i<nodes.length; i++)
		{
			var node = nodes[i];
			if (node.nodeName == "name")
				{
					n = (node.firstChild)?node.firstChild.data:"";
				}
			else if (node.nodeName == "loc")
				{
					loc = (node.firstChild)?node.firstChild.data:"";
				}
			else if (node.nodeName == "hour")
				{
					h = (node.firstChild)?node.firstChild.data:"";
				}
			else if (node.nodeName == "tel")
				{
					tels = (node.firstChild)?node.firstChild.data:"";
				}
			else if (node.nodeName == "desc")
				{
					desc = (node.firstChild)?node.firstChild.data:"";
				}
			else if (node.nodeName == "galleries")
				{
					galleries = (node.firstChild)?node.firstChild.data:0;
				}
			else if (node.nodeName == "link")
				{
					link = (node.firstChild)?node.firstChild.data:"";
				}
		}
		
	//return new sectionObj(id, n, t, p, sub);
	return new shopObj(id, n, tels, loc, h, desc, galleries, link);
}

function getShopByID(id)
{
	var shops = shopsObj["shops"];

	for (var shop in shops)
		{
			var s = shops[shop];
			if ((id == '') ||(s.id == id))
				{
					return s;
				}
		}
}

function getPervAndNextShopByID(id)
{
	var shops = shopsObj["shops"];
	var returnObj = new Object();
	var pervItem = new shopObj();
	var lastItem = new shopObj();
	var firstItem = new shopObj();
	
	var goAhead = false;
	
	returnObj.perv = new shopObj();
	returnObj.next = new shopObj();
	
	var haveItem = false;
	for (var shop in shops)
		{
			var s = shops[shop];
			lastItem = s;
			if (firstItem.id == '')
				{
					firstItem = s;
				}
			if (goAhead) continue;
			if (haveItem)
				{
					returnObj.next = s;
					//return returnObj;
					goAhead = true;
				}
			if (s.id == id)
				{
					haveItem = true;
					returnObj.perv = pervItem;
				}
			if (!haveItem)
				{
					pervItem = s;
				}
		}
	if (returnObj.next.id == '')
		{
			returnObj.next = firstItem;
		}
	if (returnObj.perv.id == '')
		{
			returnObj.perv = lastItem;
		}
	return returnObj;
}


function shopPaser(x)
{
	if (typeof(shopsObj["shops"]) == "undefined")
		{
			shopsObj["shops"] = new Object();
		}

		
	var rootShops = x.getElementsByTagName('shopping').item(0);
	var nodes = rootShops.childNodes;

	for (var i=0; i<nodes.length; i++)
		{
			if (nodes[i].nodeName == "shop")
				{
					var sid = nodes[i].getAttribute("id");
					if (!shopsObj["shops"][sid]) shopsObj["shops"][sid] = new Object();
					shopsObj["shops"][sid] = getShopByElement(nodes[i]);
				}
		}

	if (getTree()[1].indexOf('detail')!=-1)
		{
			genShopDetail(getShopByID(GetParam('id')));
		}
	else
		{
			updateSubNav(getShopByID(getTree()[1]));
		}
}


function resultPaser(x)
{
	if (typeof(shopsObj["shops"]) == "undefined")
		{
			shopsObj["shops"] = new Object();
		}

		
	var rootShops = x.getElementsByTagName('shopping').item(0);
	var nodes = rootShops.childNodes;

	for (var i=0; i<nodes.length; i++)
		{
			if (nodes[i].nodeName == "shop")
				{
					var sid = nodes[i].getAttribute("id");
					if (!shopsObj["shops"][sid]) shopsObj["shops"][sid] = new Object();
					shopsObj["shops"][sid] = getShopByElement(nodes[i]);
				}
		}

	genShopDetail(getShopByID(GetParam('id')));
}