/*
window.onresize = function()
{
	resizeLayout();
}
function resizeLayout()
{
	if (document.documentElement.clientHeight <= getObj("head").offsetHeight + getObj("layout").offsetHeight)
	{
		getObj("bottom").style.top = getObj("head").offsetHeight + getObj("layout").offsetHeight + "px";
	}
	else
	{
		getObj("bottom").style.top = document.documentElement.clientHeight - getObj("bottom").offsetHeight + "px";
		getObj("layout").style.height = document.documentElement.clientHeight - getObj("bottom").offsetHeight - getObj("head").offsetHeight  + "px";
	}
}
*/


function strReplace(s, r, w)
{
	return s.split(r).join(w);
}

function addslashes(str) 
{
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}
function stripslashes(str) 
{
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}

function trim(str)
{ 
	str = str.replace(/&nbsp;/g, '');
	return str.replace(/(^\s+)|(\s+$)/g, '');
}


function getObj(nid)
{
	if (document.getElementById(nid))
	{
		return document.getElementById(nid);
	}
	else
	{
		return false;
	}
}

function getObjValue(nid)
{
	var ret = "";
	if (document.getElementById(nid))
	{
		if (document.getElementById(nid).type == "checkbox")
		{
			if (document.getElementById(nid).checked == true)
			{
				ret = document.getElementById(nid).value;
			}
		}
		else
		{
			ret = document.getElementById(nid).value;
		}
	}
	else
	{
		ret = false;
	}
	
	return ret;
}

function getValFromUrl(url, varname)
{
	var vars = new Array();
	vars = url.split("&");
	var ret = "error";

	for (i = 0; i < vars.length; i++)
	{
		var value = new Array();
		value = vars[i].split("=");
		if (value[0] == varname)
		{
			ret = value[1];
		}
	}
	return ret;	
}


function sethtml(div,content) 
{ 
    var search = content; 
    var script; 
          
    while( script = search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/i)) 
    { 
      search = search.substr(search.indexOf(RegExp.$1) + RegExp.$1.length); 
       
      if (!(endscript = search.match(/((-->)?\s*<\/script>)/))) break; 
       
      block = search.substr(0, search.indexOf(RegExp.$1)); 
      search = search.substring(block.length + RegExp.$1.length); 
       
      var oScript = document.createElement('script'); 
      oScript.text = block; 
      document.getElementsByTagName("head").item(0).appendChild(oScript); 
    } 
    
    document.getElementById(div).innerHTML = content; 
}



function makeRequest(url) 
{
	var http_request = false;

	if(document.all)
	{
		var yOffset = document.documentElement.scrollTop;
	}
	else
	{
		var yOffset = window.pageYOffset;
	}

	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) 
		{
			http_request.overrideMimeType('text/html');
			// Читайте ниже об этой строке
		}
	} 
	else if (window.ActiveXObject) 
	{ // IE
		try 
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) 
			{
			}
		}
	}

	if (!http_request) 
	{
		alert('Unfortunatly your browser doesn\'t support XMLHTTP.');
		return false;
	}

	http_request.onreadystatechange = function() 
	{ 
		if (http_request.readyState == 4)
		{
            if (http_request.status == 200)
			{
				if (getValFromUrl(http_request.responseText, "answer") == "addToCart")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						var newHTML = getValFromUrl(http_request.responseText, "newcontent");
						newHTML = strReplace(newHTML, "::ravno::", "=");
						newHTML = strReplace(newHTML, "::amp::", "&");
						document.getElementById('cartInfo').innerHTML = newHTML;
						
						if (document.getElementById('cartTable'))
						{
							newHTML = getValFromUrl(http_request.responseText, "newtable");
							newHTML = strReplace(newHTML, "::ravno::", "=");
							newHTML = strReplace(newHTML, "::amp::", "&");
							document.getElementById('cartTable').innerHTML = newHTML;
						}
						else
						{
							//alert("Товар добавлен в корзину");
							if (getValFromUrl(http_request.responseText, "gotocart") == "true")
							{
								document.location = "/cart/";
							}
							else
							{
								tb_remove();
							}
						}
					}
				}
				if (getValFromUrl(http_request.responseText, "answer") == "holdProduct")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						var newHTML = getValFromUrl(http_request.responseText, "newcontent");
						newHTML = strReplace(newHTML, "::ravno::", "=");
						newHTML = strReplace(newHTML, "::amp::", "&");
						document.getElementById('cartInfo').innerHTML = newHTML;
						
						if (document.getElementById('cartTable'))
						{
							newHTML = getValFromUrl(http_request.responseText, "newtable");
							newHTML = strReplace(newHTML, "::ravno::", "=");
							newHTML = strReplace(newHTML, "::amp::", "&");
							document.getElementById('cartTable').innerHTML = newHTML;
						}
						else
						{
							alert("Товар добавлен в корзину");
						}
					}
				}
				if (getValFromUrl(http_request.responseText, "answer") == "releaseProduct")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						var newHTML = getValFromUrl(http_request.responseText, "newcontent");
						newHTML = strReplace(newHTML, "::ravno::", "=");
						newHTML = strReplace(newHTML, "::amp::", "&");
						document.getElementById('cartInfo').innerHTML = newHTML;
						
						if (document.getElementById('cartTable'))
						{
							newHTML = getValFromUrl(http_request.responseText, "newtable");
							newHTML = strReplace(newHTML, "::ravno::", "=");
							newHTML = strReplace(newHTML, "::amp::", "&");
							document.getElementById('cartTable').innerHTML = newHTML;
						}
						else
						{
							alert("Товар добавлен в корзину");
						}
					}
				}
				if (getValFromUrl(http_request.responseText, "answer") == "delFromCart")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						var newHTML = getValFromUrl(http_request.responseText, "newcontent");
						newHTML = strReplace(newHTML, "::ravno::", "=");
						newHTML = strReplace(newHTML, "::amp::", "&");
						document.getElementById('cartInfo').innerHTML = newHTML;
						
						if (document.getElementById('cartTable'))
						{
							newHTML = getValFromUrl(http_request.responseText, "newtable");
							newHTML = strReplace(newHTML, "::ravno::", "=");
							newHTML = strReplace(newHTML, "::amp::", "&");
							document.getElementById('cartTable').innerHTML = newHTML;
						}
					}
				}
				if (getValFromUrl(http_request.responseText, "answer") == "sortCatalog")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						/*
						var newHTML = getValFromUrl(http_request.responseText, "newcontent");
						newHTML = strReplace(newHTML, "::ravno::", "=");
						newHTML = strReplace(newHTML, "::amp::", "&");
						document.getElementById('sortingParams').innerHTML = newHTML;
						*/
						document.location.reload();
					}
				}
				if (getValFromUrl(http_request.responseText, "answer") == "filterCatalog")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						document.location.reload();
					}
				}
				if (getValFromUrl(http_request.responseText, "answer") == "chooseProducer")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						/*
						var newHTML = getValFromUrl(http_request.responseText, "newcontent");
						newHTML = strReplace(newHTML, "::ravno::", "=");
						newHTML = strReplace(newHTML, "::amp::", "&");
						document.getElementById('sortingParams').innerHTML = newHTML;
						*/
						document.location.reload();
					}
				}
				
				if (getValFromUrl(http_request.responseText, "answer") == "confirmOrder")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						var newHTML = getValFromUrl(http_request.responseText, "newcontent");
						newHTML = strReplace(newHTML, "::ravno::", "=");
						newHTML = strReplace(newHTML, "::amp::", "&");
						
						document.getElementById('cartTable').innerHTML = "Спасибо за заказ. Мы в ближайшее время свяжемся с Вами.";
						document.getElementById('cartInfo').innerHTML = newHTML;
					}
				}
				
				
				if (getValFromUrl(http_request.responseText, "answer") == "getGuru")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						var newHTML = getValFromUrl(http_request.responseText, "newcontent");
						newHTML = strReplace(newHTML, "::ravno::", "=");
						newHTML = strReplace(newHTML, "::amp::", "&");
						
						document.getElementById('guru').innerHTML = newHTML;
					}
				}
				
				if (getValFromUrl(http_request.responseText, "answer") == "search")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						alert(getValFromUrl(http_request.responseText, "error"));
					}
					else
					{
						document.location = "/search/"
					}
				}
			}
			else
			{
				alert('Connection wasn\'t successful.');
			}
		}
	};


	//************** ОБРАБАТЫВАЕМ КЛИКИ
	var args = "";
	for (var i = 0; i < arguments.length; i++)
	{
		args += "&p" + i + "=" + arguments[i];
	}
	
	http_request.open('POST', "/getAnswer.php", true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Connection", "close");	
	http_request.send("q=" + url + args);
}


//*****************************************
function numericCheck(e, obj, max)
{
	var key = (typeof e.charCode == 'undefined' ? e.keyCode : e.charCode);
	if (e.ctrlKey || e.altKey || key < 32 || key == 60 || key == 62)
	{
    	return true;
	}
	
	key = String.fromCharCode(key);
	
	if (obj.value.length < max)
	{ 
		//return /[\d+\.+\,+\-]/.test(key);
		return /[\d]/.test(key);
	}
	else
	{
		return false;
	}	
}




function toggleFizTable()
{
	if (getObj('same_as_jur').checked)
	{
		getObj('fiz_address').value = getObjValue('jur_address');
	}
	else
	{
		getObj('fiz_address').value = "";
	}
}



function sortUserTable(field)
{
	makeRequest("sortUserTable", field);
}



function sortProductsTable(field)
{
	makeRequest("sortProductsTable", field);
}

function sortOrdersTable(field)
{
	makeRequest("sortOrdersTable", field);
}


function filterUserTable(param, val)
{
	makeRequest("filterUserTable", param, val);
}



function setAdminSummary()
{
	var summary = "";
	
	var i = 0;
	while (document.getElementById("admin_" + i))
	{
		if (i == 0)
		{
			summary += getObjValue("admin_" + i);
		}
		else
		{
			summary += "{::sep::}" + getObjValue("admin_" + i);
		}
		i++;
	}
	
	getObj('admin_summary').value = summary;
}


function setPriceSummary()
{
	var inputs = document.getElementsByTagName("input");
	
	var summary = "";
	
	var n = 0;
	for (i = 0; i < inputs.length; i++)
	{
		if (inputs[i].getAttribute("rel") == "add_price" && inputs[i].checked)
		{
			if (n == 0)
			{
				summary += inputs[i].value + "{:s:}" + getObjValue("price_" + inputs[i].value);
			}
			else
			{
				summary += "{::sep::}" + inputs[i].value + "{:s:}" + getObjValue("price_" + inputs[i].value);
			}
			n++;
		}
	}
	
	getObj('price_summary').value = summary;
}



var currentVote = null;
function showVoteButton(container, id)
{
	if (getObj("vote"))
	{
		getObj("vote").parentNode.removeChild(getObj("vote"));
	}
	
	//if (currentVote != container)
	{
		currentVote = container;
		
		var prototype = getObj("vote_prototype");
		var newVote = prototype.cloneNode(true);
		newVote.style.display = "block";
		newVote.id = "vote";
		
		if (container.parentNode.id != "b_question_list")
		{
			newVote.style.right = "380px";
		}
		
		newVote.onclick = function()
		{
			makeRequest("doVote", id);
		}
		
		container.appendChild(newVote);	
	}
	/*
	else
	{
		if (!getObj("vote"))
		{
			currentVote = null;
		}
	}
	*/
}




function clickFilter()
{
	var fields = document.getElementsByTagName('input');
	for (var i = 0; i < fields.length; i++)
	{
		if (fields[i].getAttribute("rel") == "filter")
		{
			//fields[i].disabled = true;
		}
	}
}


function clearFilter()
{
	var fields = document.getElementsByTagName('input');
	for (var i = 0; i < fields.length; i++)
	{
		if (fields[i].getAttribute("rel") == "filter")
		{
			fields[i].checked = false;
		}
	}
	
	getObj("filterForm").submit();
}





function showBlock(n)
{
	for (i = 0; i < 6; i++)
	{
		getObj("info" + i).style.display = "none";
	}
	getObj("info" + n).style.display = "block";
}




function initAddToCart(id)
{
	tb_show("title", "/add_to_cart.php?id=" + id + "&height=220&width=350&modal=true");
}
