// JavaScript Document

function popMenu() {
	var mm = $("ul.topmenu li");
	mm.bind("mouseenter", function(){
		var t = $(this);
		t.css("z-index",'80');
		var tit = t.find("div.dm-d");
		tit.addClass("dm-o");
		var tpop = t.find("div.catpop");
		var s = $("select");
		if ($.browser.msie&&$.browser.version<7) {
			s.css("visibility",'hidden');
		}
		tpop.css({"top":(tit.height()-13)+'px'}).show();		
	});
	mm.bind("mouseleave", function(){
		var t = $(this);
		t.css("z-index",'8');
		var tit = t.find("div.dm-d");
		tit.removeClass("dm-o");
		var tpop = t.find("div.catpop");
		var s = $("select");
		if ($.browser.msie&&$.browser.version<7) {
			s.css("visibility",'visible');
		}
		tpop.hide();		
	});
}

function checkRadio() {
	var rd = $("div#rate-company div.f-rate-list div.rate");
	rd.bind("click", function(){
		var t = $(this);
		var ch = t.parent().find("input");
		ch.attr("checked",'checked');
		return false;						  
	})
}

(function($) {
	$.fn.selectPop = function() {
		return this.each(function(){
			var lnk = $(this);
			var tid = lnk.attr("id");
			var s = $("select");
			var pops = $("#"+tid+"-select");
			$().bind("click", function(event){
				var t = $(event.target);
				if(t.is("a#"+tid)||t.parent().is("a#"+tid)) {
					if (pops.css("display")=='none') {
						pops.show();
						lnk.addClass("sel-a");
						if ($.browser.msie&&$.browser.version<7) {
							s.css("visibility",'hidden');
						}						
					}
					else {
						pops.hide();
						lnk.removeClass("sel-a");
						if ($.browser.msie&&$.browser.version<7) {
							s.css("visibility",'visible');
						}
					}
					return false;
				}
				else {
					pops.hide();
					lnk.removeClass("sel-a");
					if ($.browser.msie&&$.browser.version<7) {
						s.css("visibility",'visible');
					}
				}
			});
		});
	};
})(jQuery);

(function($) {
	$.fn.loginPop = function() {
		return this.each(function(){
			var login = $(this);
			var lid = login.attr("id");
			//var s = $("select");
			var pops = $("#"+lid+"-pop");
			pops.css("width", login.width()+26+'px');
			login.bind("click", function(event){				
				if (pops.css("display")=='none') {						
					pops.show();
					//pops.focus();
					//login.addClass("sel-a");
					//if ($.browser.msie&&$.browser.version<7) {
					//	s.css("visibility",'hidden');
					//}						
				}
				else {
					pops.hide();
					//pops.blur()
					//lnk.removeClass("sel-a");
					//if ($.browser.msie&&$.browser.version<7) {
					//	s.css("visibility",'visible');
					//}
				}
				return false;
			});			
			//pops.blur(function(){
			//	pops.hide();			   
			//});
		});
	};
})(jQuery);

(function($) {
	$.fn.showPhotos = function() {
		return this.each(function(){
			ta = $(this);
			var parea = $("#"+ta.attr("id")+"-area");
			var pix = ta.find("a");
			parea.append("<div class='pfade' id='"+ta.attr("id")+"-fade'></div><div class='ploading' id='"+ta.attr("id")+"-load'></div>");
			var pfade =  $("#"+ta.attr("id")+"-fade");
			var pload =  $("#"+ta.attr("id")+"-load");
			var photo = parea.find("img");
			var plink = parea.find("a").eq(0);	
			var	imgPreloader = new Image();
			pix.bind("click", function(){
				pfade.show();
				pload.show();
				var tp = $(this);				
				imgPreloader.onload = function(){
					//setTimeout(function(){
					imgPreloader.onload = null;
					photo.eq(0).attr("src",imgPreloader.src);
					plink.unbind().bind("click", function(){
						showGallety(pix.index(tp));
						return false;
					});
					pfade.hide();
					pload.hide();
					//}, 2000);
				}
				imgPreloader.src = tp.attr("href");
				return false;				
			});
		});
	};
})(jQuery);

function debug(vsr) {
	$("body").append('<div id="debug" style="position:fixed; z-index: 999; left:50%; top: 20px; width:300px; margin: 0 0 0 -150px; padding: 8px 12px 10px; background: #fff; border: 1px solid #666; font-size: 12px;">'+vsr+'</div>');	
}

function shBlock(id) {
	var ob = $("#"+id);
	if (ob.css("display")=='none') {
		ob.show(500);	
	}
	else {
		ob.hide(500);
	}
	return false;
}

var img = new Array();

function addGallery() {
	$("body").prepend("<div id='goverley' style='display:none'></div>");
	$("body").prepend("<div id='gphotobig' style='display:none'><p></p><a href='#' id='gprev'></a><a href='#' id='gnext'></a><div id='gloading' style='display:none'></div></div><div id='gphotothumbneil' style='display:none'></div><a href='#' id='gclose' style='display:none'>Закрыть<i></i></a>");	
}

function showGallety(n) {
	var fon = $("#goverley");
	var gclose = $("#gclose");
	var gall = $("#gphotothumbneil, #gphotobig, #gclose");
	var gphoto = $("#gphotobig");
	var thumb = $("#gphotothumbneil");
	var gprev = $("#gprev");
	var gnext = $("#gnext");
	
	if ($.browser.msie&&$.browser.version<7) {
		var s = $("select");
		s.css("visibility",'hidden');
	}
	fon.show();
	gall.css("visibility",'hidden').show();
	
	if (img.length>1) {
		for (var i=0; i<img.length; i++) {
			thumb.append("<div><p><a href='#'><img alt='' src='"+img[i][1]+"' /><i></i></a></p></div>");
		}
		gprev.css("visibility",'visible');
		gnext.css("visibility",'visible');
	}	
	
	var thumba = thumb.find("a");
	var gBigphto = gphoto.find("p").eq(0);
	var loads = $("#gloading");
	var wn = $(window);
	
	thumba.bind("click", function(){
		var ind = thumba.index(this);						  
		loadImg(ind);
		return false;
	})
	.bind("mouseenter", function(){$(this).find("i").css("visibility",'visible')})
	.bind("mouseleave", function(){$(this).find("i").css("visibility",'hidden')});
	
	loads.show();
	if (78*img.length<wn.width()) {
		thumb.css("width",78*img.length+'px');		
	}
	else {
		thumb.css("width",'100%');	
	}
	gphoto.css({"top":wn.scrollTop()+(wn.height()/2-(gphoto.height()+thumb.height())/2)+'px', "margin-left":(-gphoto.width()/2)+'px', "visibility":'visible'});
	thumb.css({"top":gphoto.offset().top+gphoto.height()+'px', "margin-left":(-thumb.width()/2)+'px', "visibility":'visible'});
	gclose.css({"visibility":'visible'});	
	
	var	imgPreloader = new Image();
	var loadImg = function(k){
		//debug(k);
		gprev.unbind().bind("click",function(){return false}).bind("mousedown", function(){
			if (k<=0) {
				loadImg(img.length-1);
			} else {
				loadImg(k-1);
			}
			gprev.css("margin-top",'-24px');
			return false;						 
		}).bind("mouseup", function(){gprev.css("margin-top",'-26px');});
		gnext.unbind().bind("click",function(){return false}).bind("mousedown", function(){
			if (k>=img.length-1) {
				loadImg(0);
			} else {
				loadImg(k+1);
			}
			gnext.css("margin-top",'-24px');
			return false;						 
		}).bind("mouseup", function(){gnext.css("margin-top",'-26px');});;		
		gBigphto.html('');
		loads.show();		
		thumba.css({"border":'none', "margin":'2px 4px'});
		thumba.eq(k).css({"border":'2px solid #ff7900', "margin":'0 2px'});
		imgPreloader.onload = function(){
			//setTimeout(function(){
			imgPreloader.onload = null;					
			gBigphto.html('');			
			gBigphto.append("<img alt='' src='"+img[k][2]+"' />");
			var wp = this.width;
			var hp = this.height;
			gphoto.css({"width":wp+'px', "height":hp+'px', "top":wn.scrollTop()+(wn.height()/2-(hp+thumb.height())/2)+'px', "margin-left":(-wp/2)+'px', "visibility":'visible'});
			thumb.css({"top":gphoto.offset().top+hp+'px', "margin-left":(-thumb.width()/2)+'px', "visibility":'visible'});
			loads.hide();
			//}, 2000);
		}
		imgPreloader.src = img[n][2];
	} 
	
	loadImg(n);
	
	var hideGallery = function() {
		thumba.unbind();
		thumb.html('');
		gBigphto.html('');		
		fon.hide();
		gall.hide();
		if ($.browser.msie&&$.browser.version<7) {
			var s = $("select");
			s.css("visibility",'visible');
		}	
	}
	
	fon.bind("click", function(){hideGallery(); return false});
	gclose.bind("click", function(){hideGallery(); return false;});
	
	return false;
}
var pop;
var popLink;
function getPopup(popId, lnk, isQuickPay) {
	if (popId != null) {
		popLink = lnk;
		pop = document.getElementById(popId);
		pop.style.display = "block";
		addEvent(document, 'click', popClickFunc);

		if (isQuickPay) {
			var pos = getElementPosition(lnk);
			pop.style.top = pos.top - 220 + "px";
			pop.style.left = pos.left - 120 + "px";
			if ($(lnk).parents(".item").length > 0) {
				$("#quick-pay-product-id").val($(lnk).parents(".item").find(".pay a").attr("rel"));
			}
			else {
				$("#quick-pay-product-id").val($("#main-image").attr("ref"));
			}
		}

		if (popId == "login-popup") {
			var pos = getElementPosition(lnk);
			if ($(lnk.parentNode).attr("id") == "lnk-cab") {
				pop.style.position = "fixed";
				pop.style.top = pos.top + pos.height + 2 + "px";
				pop.style.left = pos.left - 254 + $(lnk).width() / 2 + "px";
			}
			else {
				pop.style.top = pos.top + pos.height + 2 + "px";
				pop.style.left = pos.left - 254 + $(lnk).width() / 2 + "px";
			}
		}

	}
}

function popClickFunc(event) {
	var event = event || window.event;
	var t = event.target || event.srcElement;

	if (t != pop && !isChildNode(pop, t) && t != popLink && !isChildNode(popLink, t)) {
		closePopup();
		removeEvent(document, 'click', popClickFunc);
	}
}

function closePopup() {
	$('.popup .pop-form div').show();
 	$('.popup .pop-form p.ajax-result').html('').hide();
	$(".popup").css("display", "none");

	$("#pop-remember").hide();
	$("#login-pu-form").show();

}

function getImagePopup(imgs, num) {
	if (imgs.length > 0) {
		var pop = $("#imagePopup");
		var imgBlock = pop.find(".image");
		var img = $("#ip-image");

		$("#overlay").height(getDocumentHeight()).show();
		pop.css("top", getBodyScrollTop() + 100).show();

		img.attr("src", imgs[num]).attr("rel", 0);
		img.load(function() {
			imgBlock.height("auto").css("visibility", "visible");
		});
		$("#ip-prev").unbind("click").bind("click", function() {
			changeImage(imgs, "prev");
		});
		$("#ip-next").unbind("click").bind("click",function() {
			changeImage(imgs, "next");
		});
	}
}

function closeImagesPopup() {
	$("#imagePopup, #overlay").hide();
}

function changeImage(imgs, param) {
	var img = $("#ip-image");
	var pop = $("#imagePopup");
	var imgBlock = pop.find(".image");
	var curIndx = parseInt(img.attr("rel"));
	var newIndx;

	if (param == "next") {
		if ((imgs.length - 1) > curIndx) {
			newIndx = curIndx + 1;
		}
		else {
			newIndx = 0;
		}
	}
	else {
		if (curIndx > 0) {
			newIndx = curIndx - 1;
		}
		else {
			newIndx = imgs.length - 1;
		}
	}
	imgBlock.css("visibility", "hidden");
	img.attr("src", imgs[newIndx]).attr("rel", newIndx);
	img.load(function() {
		imgBlock.height("auto").css("visibility", "visible");
	});
}
function setBackspaces(p) {
	p = p.toString();

	m = '';
	a = p.split('.');
	if (a.length > 1)
	{
		p = a[0];
		m = '.' + a[1];
	}

	var n = (p.length - (p.length % 3)) / 3;
	if (p.length % 3 == 0)
		n--;

	var k = 1;
	for (var x = n; x > 0; x--) {
		var j = p.length - k - 3 * k;
		var s1 = p.substr(0, j + 1);
		var s2 = p.substr(j + 1, p.length - 1);
		p = s1 + " " + s2;
		k++;
	}
	return p + m;
}

function getElementPosition(elem) {
    var w = elem.offsetWidth;
    var h = elem.offsetHeight;

    var l = 0;
    var t = 0;

    while (elem) {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }

    return { "left": l, "top": t, "width": w, "height": h };
}

function addEvent(obj, type, fn) {
	if (obj.addEventListener)
		obj.addEventListener(type, fn, false);
	else if (obj.attachEvent)
		obj.attachEvent( "on"+type, fn );
}

function removeEvent(obj, type, fn) {
	if (obj.removeEventListener)
		obj.removeEventListener(type, fn, false);
	else if (obj.detachEvent)
		obj.detachEvent( "on"+type, fn );
}

function isChildNode(elem, sell) {
	for (var childItem in elem.childNodes) {
		if (elem.childNodes[childItem].nodeType == 1) {
			if (elem.childNodes[childItem] == sell)
				return true;
			else if (isChildNode(elem.childNodes[childItem], sell))
				return true;
		}
	}
	return false;
}

function getClientWidth() {
	return document.compatMode == 'CSS1Compat' || window.opera ? document.documentElement.clientWidth : document.body.clientWidth;
}

var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf('opera') > -1);
var isIE = (!isOpera && ua.indexOf('msie') > -1);

function getViewportHeight() {
	return ((document.compatMode || isIE) && !isOpera) ? (document.compatMode == 'CSS1Compat') ? document.documentElement.clientHeight : document.body.clientHeight : (document.parentWindow || document.defaultView).innerHeight;
}

function getDocumentHeight() {
	return Math.max(document.compatMode != 'CSS1Compat' ? document.body.scrollHeight : document.documentElement.scrollHeight, getViewportHeight());
}

function getBodyScrollTop() {
  return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

