var vars = variables();
/*function init()
{	
	xmlRequest(vars[0] + 'ajax/'+vars[3]+'/'+vars[4]+'/');
}*/
function xmlRequest(url)
{
	//Пробуем вызвать объект в Firefox, Opera 8.0+, Safari, etc.
	if (window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();		
		xmlHttp.onreadystatechange = parseData;		
		xmlHttp.open("GET", url, true);		
		xmlHttp.send(null);
		//alert(window.location.href);
		//Выдало ошибку? Пробуем в Осле
		} else if (window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		if (xmlHttp) {
			xmlHttp.onreadystatechange = parseData;
			xmlHttp.open("GET", url, true);			
			xmlHttp.send(null);
		}
	}
	if (url.match(/\/light/))
	{
		section = 'light';
	}
	if (url.match(/\/furniture/))
	{
		section = 'furniture';
	}
	if (url.match(/\/news/))
	{
		section = 'news';
	}
}
function parseData()
{	
	xmlHttp.onreadystatechange=function()
	{		
		var place = document.getElementById('place');
		//Если ответ от скриатп получен - выдаем данные.
		if (xmlHttp.readyState==4)
		{
			if (xmlHttp.status == 200) 
			{				
				//Получаем первый элемент страницы.
				xmlResponse = xmlHttp.responseXML;
				xmlRoot = xmlResponse.documentElement;
				//Получаем название первого элемента, по которому определяем что выводить что выводить.				
				firstElement = xmlRoot.nodeName;		
				if (firstElement == 'news')
				{
					//Получаем массивы данных
					idarr = xmlRoot.getElementsByTagName('id'); 
					hlarr = xmlRoot.getElementsByTagName('headline');
					cntarr = xmlRoot.getElementsByTagName('content');
					dtarr = xmlRoot.getElementsByTagName('date');
					addarr = xmlRoot.getElementsByTagName('added');
					edar = xmlRoot.getElementsByTagName('edited');	
					page = xmlRoot.getElementsByTagName('pagination')[0].firstChild.data;	
					total = xmlRoot.getElementsByTagName('pagination')[0].getAttribute('total');	
					//Цикл, который присваивает значения переменной :)
					for(i=0;i<idarr.length;i++)
					{
						//Создаем переменную... IE на расстрел...
						if (!output) { var output = ''; } 						
						var out = '';					
						output += '<b>'+hlarr[i].childNodes[0].data+'</b><br />';							
						for(i=0;i<cntarr[0].childNodes.length;i++)
						{
							out += cntarr[0].childNodes[i].data;
						}	
						if (out) { output += out+'<br /><hr />'; } else { output = ''; }		
					}
					if (idarr.length>1)
					{
						//var output_pages = show_pages(vars[0]+'ajax/'+vars[3]+'/'+section, page, total, vars[5]);	
						var output_pages = show_pages(section, page, total, vars[5]);	
					} else { var output_pages = ''; }					
				}
				if (firstElement == 'mail')
				{
					response = xmlRoot.getElementsByTagName('response'); 
					output = response[0].firstChild.data+'<br />';
					var output_pages = ''; 
				}
				if (firstElement == 'list')
				{
					listarr = xmlRoot.getElementsByTagName('type'); 
					db = xmlRoot.getElementsByTagName('db'); 
					db = db[0].firstChild.data;
					if (!output) { var output = ''; } 
					for(i=0;i<listarr.length;i++)
					{
						//output += '<a href="javascript:void(0)" onclick="xmlRequest(\''+vars[0]+'ajax/'+vars[3]+'/type/'+db+'/'+listarr[i].firstChild.data+'\')">'+listarr[i].firstChild.data+'<br />';
						output += '<a href="#type/'+db+'/'+listarr[i].firstChild.data+'">'+listarr[i].firstChild.data+'<br />';
					}					
					var output_pages = ''; 
				}
				if (firstElement == 'sections')
				{
					//Получаем массивы данных
					idarr = xmlRoot.getElementsByTagName('id'); 
					namearr = xmlRoot.getElementsByTagName('name');
					cntarr = xmlRoot.getElementsByTagName('content');
					linkarr = xmlRoot.getElementsByTagName('link');
					//Цикл, который присваивает значения переменной :)
					var out = '';
					for(i=0;i<cntarr[0].childNodes.length;i++)
					{
						//Создаем переменную... IE на расстрел...
						if (!output) { var output = ''; } 
						out += cntarr[0].childNodes[i].data;
												
					}	
					if (out) { output = out+'<br />'; } else { output = ''; }
					var output_pages = '';					
				}
				if (firstElement == 'light' || firstElement == 'furniture')
				{
					//Получаем массивы данных
					idarr = xmlRoot.getElementsByTagName('id'); 
					namearr = xmlRoot.getElementsByTagName('name');
					imgarr = xmlRoot.getElementsByTagName('image');									
					commarr = xmlRoot.getElementsByTagName('comment');
					manarr = xmlRoot.getElementsByTagName('manufact');
					typearr = xmlRoot.getElementsByTagName('type');	
					logoarr = xmlRoot.getElementsByTagName('logo');
					linkarr = xmlRoot.getElementsByTagName('link');	
					codearr = xmlRoot.getElementsByTagName('code');	
					pricearr = xmlRoot.getElementsByTagName('price');				
					page = xmlRoot.getElementsByTagName('pagination')[0].firstChild.data;	
					total = xmlRoot.getElementsByTagName('pagination')[0].getAttribute('total');
					if (xmlRoot.getElementsByTagName('listing')[0].getAttribute('db'))
					{
						type = xmlRoot.getElementsByTagName('listing')[0].firstChild.data;
						db = xmlRoot.getElementsByTagName('listing')[0].getAttribute('db');	
					}	
					else { type = null; db = null; }
					//Цикл, который присваивает значения переменной :)
					output = '<div style="clear:both"></div>';
					for(i=0;i<idarr.length;i++)
					{						
						img = vars[0] +'images/upload/wmark/'+imgarr[i].firstChild.data;
						thumb = imgarr[i].firstChild.data=="noimage.png"?vars[0] +'images/noimage.png':vars[0] +'images/upload/wmark/thumbs/'+imgarr[i].firstChild.data;	
						newImg = new Image();
						newImg.src = img;

						height = newImg.height;
						width = newImg.width;

						name = namearr[i].firstChild.data;
						name = name.replace(/&#039;/, "&m_qt;");
						comment = commarr[i].firstChild?commarr[i].firstChild.data:'';
						comment = comment.replace(/&#039;/, "&m_qt;");
						link = linkarr[i].firstChild?linkarr[i].firstChild.data:'';		
						price = pricearr[i].firstChild?pricearr[i].firstChild.data:'?';	
						code = codearr[i].firstChild?codearr[i].firstChild.data:'';	
						if (idarr.length==1)
						{							
							output += '<div style="float:left; text-align:left; margin-left: 25px; margin-bottom: 15px; width: 200px;"><a>'+namearr[i].firstChild.data+'</a><br>'
							+"<span onclick=\"showProduct('"+img+"', '"+name+"', '"+manarr[i].firstChild.data+"','"+comment+"','"+code+"','"+link+"', '"+price+"')\"><img src=\""+thumb+"\" alt=\""+name+"\" style=\"border: 1px solid #febd57;\" style=\"max-width:180px; max-height:135px\"></span></div>\r\n";	
						}
						else 
						{
							output += '<div style="float:left; text-align:left; margin-left: 25px; margin-bottom: 15px; width: 200px;"><a href="#'+section+'/item/'+idarr[i].firstChild.data+'" target="_blank">'+namearr[i].firstChild.data+'</a><br>'
							+"<span onclick=\"showProduct('"+img+"', '"+name+"', '"+manarr[i].firstChild.data+"','"+comment+"','"+code+"','"+link+"', '"+price+"')\"><img src=\""+thumb+"\" alt=\""+name+"\" style=\"border: 1px solid #febd57;\" style=\"max-width:180px; max-height:135px;\"></span></div>\r\n";	
							if (i%3==2) { output += '<div style="clear:both;"></div>\r\n'; }
						}
					}	
					if (idarr.length>1)
					{			
						if (type == null)
						{
							//var output_pages = show_pages(vars[0]+'ajax/'+vars[3]+'/'+section, page, total, vars[5]);
							var output_pages = show_pages(section, page, total, vars[5]);
						}
						else
						{
							//var output_pages = show_pages(vars[0]+'ajax/'+vars[3]+'/type/'+db+'/'+type, page, total, vars[5]);
							var output_pages = show_pages('type/'+db+'/'+type, page, total, vars[5]);
						}
					} else { var output_pages = ''; }
				}
				if (firstElement == 'error')
				{
					output = vars[1];
					output_pages = '';
				}	
				
				if (place)
				{
					place.innerHTML = output;
					document.getElementById("pages").innerHTML = output_pages;
				}
			} else { if (place) { place.innerHTML = vars[1]; } }
		} 
		else 
		{ 	
			if (place)
			{
				place.innerHTML = 
				'<img src="'+vars[0]+'images/LoadingProgressBar.gif" align="absmiddle" alt="" /> '+vars[2];
			}
		}
	}
}

function show_pages_single(from, to, page, page_count, baseurl) 
{
	var output = '';
	if (from < page_count) 
	{
		if (to > page_count) 
		{
			to = page_count;
		}
		for(i = from; i <= to; i++) 
		{
			output += ' <a href="#'+baseurl+'/'+i+'" '+((i == page) ? ' class="pcurrent"' : 'onclick="Close(\'productDiv\')" class="pnextprev"')+'>'+i+'</a> ';
		}
	}
	return output;
}

function show_pages_ranges(from, to, page, page_count, baseurl, delta) 
{
	var output = '';
	if (!delta) { delta = '10'; }
	if (from < page_count) 
	{
		if (to > page_count-1) 
		{
			to = page_count-1;
		}
		for(var i = from; i <= to; i += delta) 
		{
			if (i > page_count-1) 
			{
				i = page_count-1;
			}
			curr_to = (((i + delta - 1) > (page_count-1)) ? (page_count-1) : (i + delta-1));
			if (page>=curr_to)
			{
				output += ' <a href="#'+baseurl+'/'+i+'" onclick="Close(\'productDiv\')" class="prange">'+i+'-'+(curr_to-1)+'</a> ';
				//output += ' <a href="#page_'+i+'" onclick="xmlRequest(\''+baseurl+'/'+i+'\'); Close(\'productDiv\')" class="prange">'+i+'-'+(curr_to-1)+'</a> ';
			} 
			else 
			{			
				output += ' <a href="#'+baseurl+'/'+i+'" onclick="Close(\'productDiv\')" class="prange">'+i+'-'+ curr_to +'</a> ';				
				//output += ' <a href="#page_'+i+'" onclick="xmlRequest(\''+baseurl+'/'+i+'\'); Close(\'productDiv\')" class="prange">'+i+'-'+ curr_to +'</a> ';				
			}
		}
	}
	return output;
}


function show_pages(baseurl, page, page_count, delta) 
{
	var output = '';
	if (!delta) { delta = 10; }
	delta = parseInt(delta);
	page = parseInt(page)
	if (page_count > 1) 
	{
		if (page > 1) 
		{
			//output += '<a href="#'+baseurl+':'+(page-1)+'" class="arrows" onclick="xmlRequest(\''+baseurl+'/'+(page-1)+'\'); Close(\'productDiv\')">&larr;</a> ';
			output += '<a href="#'+baseurl+'/'+(page-1)+'" class="arrows" onclick="Close(\'productDiv\')">&larr;</a> ';
		}
		if (page < delta) 
		{
			output += show_pages_single(1, delta-1, page, page_count, baseurl);
			output += show_pages_ranges(delta, page_count, page, page_count, baseurl, delta);
		}
		else 
		{
			output += show_pages_ranges(1, Math.floor(page / delta) * delta, page, page_count, baseurl, delta);
			output += show_pages_single(Math.floor(page / delta) * delta, Math.floor(page / delta) * delta + delta-1, page, page_count, baseurl);
			output += show_pages_ranges(Math.floor(page / delta) * delta + delta, page_count, page, page_count, baseurl, delta);
		}
		if (page != page_count) 
		{
			//output += ' <a href="#'+baseurl+':'+(page+1)+'" class="arrows" onclick="xmlRequest(\''+baseurl+'/'+(page+1)+'\'); Close(\'productDiv\')">&rarr;</a>';
			output += ' <a href="#'+baseurl+'/'+(page+1)+'" class="arrows" onclick="Close(\'productDiv\')">&rarr;</a>';
		}
	}
	return output;
}
	