var hideTmout = null;
var slideTimeout = null;
//var fadeTime = 700;
var fadeTime = 0;
var slideInt = 1;
var slideDeltaConst = 14;
var slideDelta = 14;
var laySize = new Array (250 ,250, 150, 180, 150, 0, 0, 0, 0, 0, 250 ,250, 150, 180, 150);
var clipWidth = 350;
var active_postfix = "-act.gif";
pics = new Array();
var objCount = 0; 
var OnImgNameGlobal;
var layersLoaded = 1;



/* if (nn4) var menuItems = new java.util.Hashtable();
else {
	var menuItems = new ActiveXObject("Scripting.Dictionary");
} */


/*
function preload(imgname) {  
  // предварительная загрузка изображений и размещение их в массиве 
    pics[objCount] = new Array(3);
    pics[objCount][0] = new Image();
    pics[objCount][0].src = "images/" + imgname + ".gif";
    pics[objCount][1] = new Image();
    pics[objCount][1].src = "images/" + imgname + active_postfix;
    pics[objCount][2] = imgname;
    objCount++;
}
*/
function preload(ImgName,ImgActive,ImgInactive) {  
  // предварительная загрузка изображений и размещение их в массиве 
    pics[objCount] = new Array(3);
    pics[objCount][0] = new Image();
    pics[objCount][0].src = ImgInactive;
    pics[objCount][1] = new Image();
    pics[objCount][1].src = ImgActive;
    pics[objCount][2] = ImgName;
    objCount++;
}

function on(img){
    var i;
    for (i = 0; i < objCount; i++) {
      if (pics[i][2] == img) document.images[img].src = pics[i][1].src;
    }
}
function off(img){
    var i;
    for (i = 0; i < objCount; i++) {
      if (pics[i][2] == img) document.images[img].src = pics[i][0].src;
    }
}

function on1()
{
document.forms[0].elements[0].src = '/images/shop/index-menu-btn-4-on.gif';
}
function off1()
{
document.forms[0].elements[0].src = '/images/shop/index-menu-btn-4.gif';
}

moz =  (navigator.appName == "Netscape" && navigator.appVersion.indexOf("5.0") != -1) ?  1 : 0 ;

function imgX(El) {
        var X = 0;
        do { X += El.offsetLeft } while ((El = El.offsetParent) != null);
        return X;
}

function imgY(El) {
        var Y = 0;
        do { Y += El.offsetTop } while ((El = El.offsetParent) != null);
        return Y;
}

function layerShow(isDelay, symbolname, str_id) {
//alert ('show ' + str_id);
//return false;
	id = Number(str_id);
	if (!layersLoaded) return;
	clearTimeout(hideTmout);

	hideAll(symbolname + "Img"+id);

//	var lastSlash = document.images[symbolname + "Img"+id].src.lastIndexOf("/");
//	if (lastSlash == -1) { lastSlash = 0; }
//	var lastPoint = document.images[symbolname + "Img"+id].src.lastIndexOf(".");
//	var imgPath = document.images[symbolname + "Img"+id].src.substr(0, lastSlash);
//	var imgName = document.images[symbolname + "Img"+id].src.substr(lastSlash + 1, lastPoint - lastSlash - 1);
//	document.images[symbolname + "Img"+id].src = imgPath + "/" + imgName + active_postfix;
//	on(symbolname + "Img"+id, imgName);
//alert ('on('+symbolname + "Img"+id+','+ imgName);

//	on(symbolname + "Img"+id);

	
	if (nn4) {
		stopX = document.images[symbolname + "Img"+id].x + document.images[symbolname + "Img"+id].width;
		var lay = document.layers[symbolname + id];
		if (lay) {
//			lay.left = document.images[symbolname + "Img"+id].x + document.images[symbolname + "Img"+id].width - laySize[id - 1];
			lay.left = document.images[symbolname + "Img"+id].x + document.images[symbolname + "Img"+id].width;
			lay.top = document.images[symbolname + "Img"+id].y;
			lay.clip.right = clipWidth;
//			lay.clip.left = laySize[id - 1];
			lay.visibility = "visible";
			lay.captureEvents(Event.MOUSEOUT | Event.MOUSEOVER);
			lay.onMouseOver = overHandler;
			lay.onMouseOut = outHandler;
		}	
	} else {
        stopX = imgX(document.images[symbolname + "Img"+id]) + document.images[symbolname + "Img"+id].width;
		var lay = document.all[symbolname + id];
		if (lay) {
//			lay.style.left = imgX(document.images[symbolname + "Img"+id]) + document.images[symbolname + "Img"+id].width - laySize[id - 1];
			lay.style.left = imgX(document.images[symbolname + "Img"+id]) + document.images[symbolname + "Img"+id].width;
			lay.style.top = imgY(document.images[symbolname + "Img"+id]);

//			lay.style.clip = "rect (0 px " + clipWidth + "px " + "1000" +
//					        "px "+ (laySize[id - 1]) +"px )";

			lay.style.visibility = "visible";
			lay.onmouseover = ie_overHandler;
			lay.onmouseout = ie_outHandler;
		} 
	}
	slideDelta = slideDeltaConst;
	slideTimeout = setTimeout('slideLayer(\'' + symbolname + '\',\'' + id + '\')', slideInt);
}


function slideLayer(symbolname, id) {
	if (nn4) {
		var lay = document.layers[symbolname + id];
		if (lay) {
			rest = stopX - slideDelta - lay.left;
			if (rest >= 0) {
				lay.moveBy(slideDelta, 0);
				lay.clip.left -= slideDelta;
			}
		}	
	} else {
		var lay = document.getElementById(symbolname + id);
		//alert(symbolname + id);
		if (lay) {
			rest = stopX - slideDelta -  Number(lay.style.left.split("px")[0]);
			if (rest >= 0) {
				lay.style.left = Number(lay.style.left.split("px")[0]) + slideDelta;
				clipBy(lay.style, 0, 0, 0, (-1 * slideDelta));
			}
		}
	}
	if (lay) if (rest >= 0) {
		if (rest <= slideDelta && slideDelta > 1) {
//			slideDelta = Math.round(slideDelta/2);
  			slideDelta = Math.round(Math.log(rest + 1));
			//alert(rest + "\t" + slideDelta);
		}
		if (nn4) slideTimeout = setTimeout('slideLayer(\'' + symbolname + '\',\'' + id + '\')', slideInt);		
		else slideTimeout = setTimeout('slideLayer(\'' + symbolname + '\',\'' + id + '\')', slideInt);		

	}
}

function layerHide(lid) {
//alert('hide '+lid);
//return false;
		if (lid == "") return;
		if (nn4) {
			var lay = document.layers[lid];
			if (lay) {
				document.layers[lid].visibility = "hidden";
				document.layers[lid].releaseEvents(Event.MOUSEOVER);
				document.layers[lid].releaseEvents(Event.MOUSEOUT);
				document.layers[lid].onMouseOut = null;
				document.layers[lid].onMouseOver = null;
			}	
		} else {
			var lay = document.getElementById(lid);
			if (lay) {
				document.all[lid].style.visibility = "hidden";
				document.all[lid].onmouseout = null;
				document.all[lid].onmouseover = null;
			}
		}
}

function hideMenuImage(groupname) {
	var i;
	for(i=1;i<100;i++) {
		if (document.images[groupname + "Img"+i]) {
//			var lastSlash = document.images[groupname + "Img"+i].src.lastIndexOf("/");
//			if (lastSlash == -1)  lastSlash = 0; 
//			var lastPoint = document.images[groupname + "Img"+i].src.lastIndexOf(active_postfix);
//			if (lastPoint == -1) { lastPoint = document.images[groupname + "Img"+i].src.lastIndexOf("."); }
//			var imgPath = document.images[groupname + "Img"+i].src.substr(0, lastSlash);
//			var imgName = document.images[groupname + "Img"+i].src.substr(lastSlash + 1, lastPoint - lastSlash - 1);
//			document.images[groupname + "Img"+i].src = imgPath + "/" + imgName + ".gif";
//			alert("hide: " + imgPath + "/" + imgName + ".gif");
			off(groupname + "Img" + i);
		}
	}
}

function hideAll(OnImgName) {
	var hidImg = false;
	clearTimeout(slideTimeout);
	slideDelta = slideDeltaConst;
	var re = /^layer(\d+)/;
//	var re = /^(layer\d+)/;

	hideMenuImage("layer");
	if (nn4) {
		for (i = 0;i < document.layers.length; i++) {
			var l_name = document.layers[i].name;
			if (re.exec(l_name)) {
				layerHide("layer" + RegExp.$1);
			}
		}
	} else {
		for (i = 0;i < document.all.tags("div").length; i++) {
			if(l_name = document.all.tags("div").item(i).id) {
				if (re.exec(l_name)) {
					layerHide("layer" + RegExp.$1);
				}
			}
		}       
	}
//	if (OnImgName) alert ('on '+OnImgName);
	if (OnImgName) on(OnImgName);
}

function slowHide(OnImgName) {
	if (!layersLoaded) return;
	OnImgNameGlobal = OnImgName;
	hideTmout = setTimeout("hideAll('"+OnImgName+"')", fadeTime);
//	OnTmOut = setTimeout("on('layerImg"+on_id+"')", fadeTime); 
}

function overHandler(e) {
	if (hideTmout) {
		clearTimeout(hideTmout);
		hideTmout = null;
	}
	return true;
}

function outHandler(e) {
//alert('handler '+OnImgNameGlobal);
 	if (hideTmout == null) {
		hideTmout = setTimeout("hideAll('"+OnImgNameGlobal+"')", fadeTime);
	}
	return true;
}

function ie_overHandler() {
	if (hideTmout) {
		clearTimeout(hideTmout);
		hideTmout = null;
	}
	return true;
}

function ie_outHandler() {
//alert('handler '+ OnImgNameGlobal);
 	if (hideTmout == null) 	hideTmout = setTimeout("hideAll('"+OnImgNameGlobal+"')", fadeTime);
	return true;
}

function clipValues(obj,which) {
	if (nn4) {
        	if (which=="t") return obj.clip.top
                if (which=="r") return obj.clip.right
                if (which=="b") return obj.clip.bottom
                if (which=="l") return obj.clip.left
	}
        else if (ie4) {
        	var clipv = obj.clip.split("rect(")[1].split(")")[0].split("px")
                if (which=="t") return Number(clipv[0])
                if (which=="r") return Number(clipv[1])
                if (which=="b") return Number(clipv[2])
                if (which=="l") return Number(clipv[3])
        }
}

function clipBy(obj,t,r,b,l) {
	if (nn4) {
        	obj.clip.top = clipValues(obj,'t') + t
                obj.clip.right = clipValues(obj,'r') + r
                obj.clip.bottom = clipValues(obj,'b') + b
                obj.clip.left = clipValues(obj,'l') + l
        }
        else if (ie4) obj.clip = "rect("+(this.clipValues(obj,'t')+t)+"px "+(this.clipValues(obj,'r')+r)+"px "+Number(this.clipValues(obj,'b')+b)+"px "+Number(this.clipValues(obj,'l')+l)+"px)"
}

function preloadImg(name) {
	var im = new Image();
	im.src = "images/" + name;
}
