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 getPageSize()
{
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY)
	{	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	}
	else if (document.body.scrollHeight > document.body.offsetHeight)
	{ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	}
	else
	{ // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
	if (self.innerHeight)
	{	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight,xScroll) 
	return arrayPageSize;
}




function getPageScroll(){
	var xScroll, yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;	
	}
	arrayPageScroll = new Array(xScroll,yScroll) 
	return arrayPageScroll;
}




window.onresize = function()
{
	var width = document.documentElement.clientWidth;
}
       



function getObj(nid)
{
	if (document.getElementById(nid))
	{
		return document.getElementById(nid);
	}
	else
	{
		return false;
	}
}

function getObjValue(nid)
{
	var ret = "";
	if (document.getElementById(nid).type == "checkbox")
	{
		if (document.getElementById(nid).checked == true)
		{
			ret = document.getElementById(nid).value;
		}
	}
	else
	{
		ret = document.getElementById(nid).value;
	}
	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 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") == "orderTaxi")
				{
					if (getValFromUrl(http_request.responseText, "error") != "")		//Возникли ошибки
					{
						var newHTML = getValFromUrl(http_request.responseText, "error");
						newHTML = strReplace(newHTML, "::ravno::", "=");
						newHTML = strReplace(newHTML, "::amp::", "&");
						alert(newHTML);
					}
					else
					{
						alert("Ваш заказ принят.");
						document.location.reload();
					}
				}
			}
			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()
{
	var rows = document.getElementsByTagName("tr");
	for (i = 0; i < rows.length; i++)
	{
		if (rows[i].getAttribute("rel") == "fiz_table")
		{
			if (document.all)
			{
				rows[i].style.display = (rows[i].style.display != "none") ? "none" : "block";
			}
			else
			{
				rows[i].style.display = (rows[i].style.display == "table-row") ? "none" : "table-row";
			}
		}
	}
}


function openFaqForm()
{
		Lightview.show({
			href: '/form1.php',
			rel: 'iframe',
			title : 'Ваш вопрос',
			options: {
				width:535,
				height: 324,
				autosize: false,
				topclose: false,
				closeButton: false,
				radius: 1,
				border: 1
				
			}
		});

}


var currentPic = 0;
function showNext()
{
	currentPic++;
	
	var pics = document.getElementsByTagName("input");
	var n = 0;
	for (i = 0; i < pics.length; i++)
	{
		if (pics[i].getAttribute("rel") == "pictures")
		{
			n++;
		}
	}
	
	if (currentPic >= n)
	{
		currentPic = 0;
	}
	
	getObj("picture").src = getObjValue("pic" + currentPic);
}

function showPrev()
{
	currentPic--;
	
	var pics = document.getElementsByTagName("input");
	var n = 0;
	for (i = 0; i < pics.length; i++)
	{
		if (pics[i].getAttribute("rel") == "pictures")
		{
			n++;
		}
	}
	
	if (currentPic < 0)
	{
		currentPic = n - 1;
	}
	
	getObj("picture").src = getObjValue("pic" + currentPic);
}



function insertGallery(id, width, height, title)
{
	document.write("<div id=\"" + id + "\"></div>");
	
	
	var n = 1;
	var images = Array();
	var links = Array();
	for (var i = 4; i < arguments.length; i++)
	{
		if (n > 0)
		{
			images.push(arguments[i]);
		}
		else
		{
			links.push(arguments[i]);
		}
		n *= -1;
	}
	
	var galleryTitle = document.createElement("div");
	var galleryBody = document.createElement("div");
	var galleryPages = document.createElement("div");
	var galleryNext = document.createElement("div");
	var galleryMoreinfo = document.createElement("div");
	var galleryLeft = document.createElement("div");
	var galleryRight = document.createElement("div");
	
	galleryTitle.className = "deco_block_2";
	galleryTitle.innerHTML = title;
	
	galleryBody.style.width = width + "px";
	galleryBody.style.height = height + "px";
	galleryBody.style.background = "#cccccc";
	//galleryBody.style.backgroundImage = "url(/style/ajax-loader.gif)";
	galleryBody.style.backgroundRepeat = "no-repeat";
	//galleryBody.style.backgroundPosition = "center center";
	galleryBody.setAttribute("id", "image_" + id);
	galleryBody.setAttribute("pagesTotal", (arguments.length - 4) / 2);
	galleryBody.setAttribute("currentPage", 0);
	
	galleryPages.className = "deco_block_3";
	galleryPages.style.borderTop = "1px solid #999999";
	
	galleryNext.style.backgroundImage = "url()";
	galleryNext.style.height = height + "px";
	galleryNext.style.cursor = "hand";
	galleryNext.style.cursor = "pointer";
	galleryNext.style.width = "53px";
	galleryNext.style.marginLeft = width - 53 + "px";
	galleryNext.style.backgroundRepeat = "no-repeat";
	galleryNext.style.display = "block";	
	
	
	galleryLeft.style.backgroundImage = "url(/style/gallery_left.png)";
	galleryLeft.style.height =  56 + "px";
	galleryLeft.style.cursor = "hand";
	galleryLeft.style.cursor = "pointer";
	galleryLeft.style.width = "82px";
	galleryLeft.style.marginLeft = width - 180 + "px";
	galleryLeft.style.marginTop = -14 + "px";
	galleryLeft.style.backgroundPosition = "0px 0px";
	galleryLeft.style.backgroundRepeat = "no-repeat";
	galleryLeft.style.display = "block";
	galleryLeft.style.position = "absolute";
	
	
	galleryRight.style.backgroundImage = "url(/style/gallery_right.png)";
	galleryRight.style.height =  56 + "px";
	galleryRight.style.cursor = "hand";
	galleryRight.style.cursor = "pointer";
	galleryRight.style.width = "82px";
	galleryRight.style.marginLeft = width - 98 + "px";
	galleryRight.style.marginTop = -14 + "px";
	galleryRight.style.backgroundPosition = "0px 0px";
	galleryRight.style.backgroundRepeat = "no-repeat";
	galleryRight.style.display = "block";
	galleryRight.style.position = "absolute";
	
	
	galleryMoreinfo.style.backgroundImage = "";
	galleryMoreinfo.style.backgroundRepeat = "no-repeat";
	galleryMoreinfo.style.backgroundPosition = "center center";
	galleryMoreinfo.style.height = height + "px";
	galleryMoreinfo.style.cursor = "hand";
	galleryMoreinfo.style.clear = "none";
	galleryMoreinfo.style.cursor = "pointer";
	galleryMoreinfo.style.width = width - 80 + "px";
	galleryMoreinfo.style.position = "absolute";
	
	galleryPages.appendChild(galleryLeft);
	galleryPages.appendChild(galleryRight);
	
	galleryBody.appendChild(galleryMoreinfo);
	galleryBody.appendChild(galleryNext);
	
	
	
	
	galleryNext.onmouseover = function()
	{
		this.style.backgroundImage = "url(/style/gallery_hover.png)";		
	}
	galleryNext.onmouseout = function()
	{
		this.style.backgroundImage = "url()";
	}
	galleryNext.onclick = function()
	{
		var currentPage = getObj("image_" + id).getAttribute("currentPage");
		if (currentPage * 1 + 1 >= getObj("image_" + id).getAttribute("pagesTotal"))
		{
			nextPage = 0;
		}
		else
		{
			nextPage = currentPage * 1 + 1;
		}
		
		galleryBody.setAttribute("currentPage", nextPage);
		
		var pages = document.getElementsByTagName("a");
		var n = 0;
		for (i = 0; i < pages.length; i++)
		{
			if (pages[i].getAttribute("rel") == "page" + id)
			{
				if (n == nextPage)
				{
					pages[i].className = "galleryPage_active";
				}
				else
				{
					pages[i].className = "galleryPage";
				}
				n++;
			}
		}
			
		getObj("image_" + id).style.backgroundImage = "url(" + images[nextPage] + ")";
	}
	
	
	
	
	galleryRight.onclick = function()
	{
		var currentPage = getObj("image_" + id).getAttribute("currentPage");
		if (currentPage * 1 + 1 >= getObj("image_" + id).getAttribute("pagesTotal"))
		{
			nextPage = 0;
		}
		else
		{
			nextPage = currentPage * 1 + 1;
		}
		
		galleryBody.setAttribute("currentPage", nextPage);
		
		var pages = document.getElementsByTagName("a");
		var n = 0;
		for (i = 0; i < pages.length; i++)
		{
			if (pages[i].getAttribute("rel") == "page" + id)
			{
				if (n == nextPage)
				{
					pages[i].className = "galleryPage_active";
				}
				else
				{
					pages[i].className = "galleryPage";
				}
				n++;
			}
		}
			
		getObj("image_" + id).style.backgroundImage = "url(" + images[nextPage] + ")";
	}
	
	
	galleryLeft.onclick = function()
	{
		var currentPage = getObj("image_" + id).getAttribute("currentPage");
		if (currentPage * 1 - 1 < 0)
		{
			nextPage = getObj("image_" + id).getAttribute("pagesTotal") - 1;
		}
		else
		{
			nextPage = currentPage * 1 - 1;
		}
		
		galleryBody.setAttribute("currentPage", nextPage);
		
		var pages = document.getElementsByTagName("a");
		var n = 0;
		for (i = 0; i < pages.length; i++)
		{
			if (pages[i].getAttribute("rel") == "page" + id)
			{
				if (n == nextPage)
				{
					pages[i].className = "galleryPage_active";
				}
				else
				{
					pages[i].className = "galleryPage";
				}
				n++;
			}
		}
			
		getObj("image_" + id).style.backgroundImage = "url(" + images[nextPage] + ")";
	}
	
	
	
	galleryMoreinfo.onmouseover = function()
	{
		var currentPage = getObj("image_" + id).getAttribute("currentPage");
		if (links[currentPage] != "")
		{
			this.style.backgroundImage = "url(/style/gallery_moreinfo.png)";
		}
	}
	galleryMoreinfo.onmouseout = function()
	{
		this.style.backgroundImage = "url()";
	}
	galleryMoreinfo.onclick = function()
	{
		var currentPage = getObj("image_" + id).getAttribute("currentPage");
		if (links[currentPage] != "")
		{
			document.location = links[currentPage];
		}
	}
	
	
	
	for (var i = 0; i < (arguments.length - 4) / 2; i++)
	{
		var page = document.createElement("a");
		page.className = "galleryPage";
		page.setAttribute("index", i);
		page.setAttribute("rel", "page" + id);
		page.innerHTML = i + 1;
		page.setAttribute("href", "");
		page.onclick = function()
		{
			//getObj("image_" + id).style.backgroundImage = "url(/style/ajax-loader.gif)";
			var pages = document.getElementsByTagName("a");
			for (i = 0; i < pages.length; i++)
			{
				if (pages[i].getAttribute("rel") == "page" + id)
				{
					pages[i].className = "galleryPage";
				}
			}
			getObj("image_" + id).style.backgroundImage = "url(" + images[this.getAttribute("index")] + ")";
			getObj("image_" + id).setAttribute("currentPage", this.getAttribute("index"));
			this.className = "galleryPage_active";
			
			if (links[this.getAttribute("index")] != "")
			{
				
			}
			
			return false;
		}
		
		if (i == 0)
		{
			page.className = "galleryPage_active";			
		}
		
		galleryPages.appendChild(page);
	}
	
	
	
	getObj(id).appendChild(galleryTitle);
	getObj(id).appendChild(galleryBody);
	getObj(id).appendChild(galleryPages);
	
	getObj("image_" + id).style.backgroundImage = "url(" + images[0] + ")";
}



var mode = "small";
var moveIsActive = false;
function toggleZoom()
{
	 
	if (mode == "small")
	{
		mode = "busy";

		t1 = new Tween(document.getElementById("model_image").style, "width", Tween.strongEaseOut, 233, 932, 1, 'px');
		t2 = new Tween(document.getElementById("model_image").style, "height", Tween.strongEaseOut, 350, 1400, 1, 'px');
		//t3 = new Tween(document.getElementById("model_image").style, "marginLeft", Tween.strongEaseOut, 0, -233, 1, 'px');
		//t4 = new Tween(document.getElementById("model_image").style, "marginTop", Tween.strongEaseOut, 0, -350, 1, 'px');
		t1.start();
		t2.start();
		//t3.start();
		//t4.start();
		
		t1.onMotionChanged = function()
		{
		}

		t1.onMotionFinished = function()
		{
			mode = "zoom";
			//$('.image').jparallax();
		};

	}
	else if (mode == "zoom")
	{
		mode = "busy";

		t1 = new Tween(document.getElementById("model_image").style, "width", Tween.strongEaseOut, 932, 233, 1, 'px');
		t2 = new Tween(document.getElementById("model_image").style, "height", Tween.strongEaseOut, 1400, 350, 1, 'px');
		//t3 = new Tween(document.getElementById("model_image").style, "marginLeft", Tween.strongEaseOut, -233, -116, 1, 'px');
		//t4 = new Tween(document.getElementById("model_image").style, "marginTop", Tween.strongEaseOut, -350, -175, 1, 'px');
		t1.start();
		t2.start();
		//t3.start();
		//t4.start();

		t1.onMotionFinished = function()
		{
			mode = "small";	
		};
	}
	
	if (moveIsActive == false)
	{
		moveIsActive = true;
	}
	moveImage();
	
	//
}

var pageX = 0;
var pageY = 0;
function moveImage()
{
	var mouseX = pageX - getObj('image').offsetLeft - 10;
	var mouseY = pageY - getObj('image').offsetTop - 295;
	
	if (mouseX < 0)
	{
		mouseX = 0;
	}
	if (mouseY < 0)
	{
		mouseY = 0;
	}
	
	var scaleX = (getObj('model_image').offsetWidth - 233) / 233;
	var destX = - mouseX * scaleX;
	var scaleY = (getObj('model_image').offsetHeight - 350) / 350;
	var destY = - mouseY * scaleY;
	
	getObj('model_image').style.marginLeft = Math.ceil(strReplace(getObj('model_image').style.marginLeft, "px", "") - (strReplace(getObj('model_image').style.marginLeft, "px", "") - destX) / 5) + "px";
	getObj('model_image').style.marginTop = Math.ceil(strReplace(getObj('model_image').style.marginTop, "px", "") - (strReplace(getObj('model_image').style.marginTop, "px", "") - destY) / 5) + "px";
	
	if (strReplace(getObj('model_image').style.marginTop, "px", "") < 350 - getObj('model_image').offsetHeight)
	{
		getObj('model_image').style.marginTop = 350 - getObj('model_image').offsetHeight + "px";
	}
	if (strReplace(getObj('model_image').style.marginLeft, "px", "") < 233 - getObj('model_image').offsetWidth)
	{
		getObj('model_image').style.marginLeft = 233 - getObj('model_image').offsetWidth + "px";
	}
	
	//getObj("debug").innerHTML = 350 - getObj('model_image').offsetHeight;
	
	if (moveIsActive == true)
	{
		setTimeout("moveImage()", 10);
	}
}





function switchImage(img, obj)
{
	getObj("model_image").src = "/userfiles/" + img;
	getObj("model_image").style.width = 233 + "px";
	getObj("model_image").style.height = 350 + "px";
	mode = "small";
	
	var divs = $(".thumbs div");
	for(var i = 0; i < divs.length; i++)
	{
		divs[i].className = "";
	}
	
	obj.parentNode.className = "active";
	
}