var current_active_gallery_picture = new Array();
var current_active_product_picture = new Array();
var scrolltimer = null;
var func_click = 0;
var func_click2 = 0;
var OpacityName = null;

	var PicsLoaded = false;
	var changedelay = 2000;
	var Currentfade = 0;
	var strExistingpictureID = 0;
	var picPrefix = "changePic";
	var divPrefix = "changePicContainer";
	var yourImages = new Array();
	var preImages = new Array();
	var currCount = 0;
	var loaded = new Array();
	var loadingCounter = new Array();
	var objfade = 100;
	var objvisible = 0;
	var loadfade = 100;
	var OS,browser,version,total,thestring;
	var LastPart = 0;
	var browserVer=parseInt(navigator.appVersion);
	var timer;
	var StopRotation = false;
	var yourImagesID = new Array();
	var yourImagesThumbs = new Array();
	var footer_bottom = 0;

function showPicture(content, width, height)
{
	var popup = window.open(content, 'popup', 'location=no,menubar=no,status=no,titlebar=no,toolbar=no,width='+width+',height='+height+'');
	popup.focus();
}
function showGallery()
{
	if (document.getElementById('product_image_container') && document.getElementById('bottom_block') && document.getElementById('content_text'))
	{
		footer_bottom = document.getElementById('footer_block').style.bottom;
		
		galleryBlock = document.getElementById('product_image_container');
		bottomBlock = document.getElementById('bottom_block');
		contentBlock = document.getElementById('content_text');
		logoBlock = document.getElementById('product_image');
		galleryBack = document.getElementById('gallery_back');
		
		galleryBlock.style.display = 'block';
		bottomBlock.style.display = 'block';
		contentBlock.style.display = 'none';
		galleryBack.style.display = 'block';
		logoBlock.className = 'gallery_logo';
		checkArrows();
		checkLoad();
		document.getElementById('footer_block').style.bottom = '0px';
	}
}
function closeGallery()
{ 
	if (document.getElementById('product_image_container') && document.getElementById('bottom_block') && document.getElementById('content_text'))
	{
		galleryBlock = document.getElementById('product_image_container');
		bottomBlock = document.getElementById('bottom_block');
		contentBlock = document.getElementById('content_text');
		logoBlock = document.getElementById('product_image');
		galleryBack = document.getElementById('gallery_back');
		
		galleryBlock.style.display = 'none';
		bottomBlock.style.display = 'none';
		galleryBack.style.display = 'none';
		contentBlock.style.display = 'block';
		logoBlock.className = '';
		
		clearTimeout(timer);
		
		document.getElementById('footer_block').style.bottom = footer_bottom;
	}
}
function getNode(id)
{
	if (document.getElementById(id))
	{
	    var node = document.getElementById(id);
	    return node;
	}
	return false;
}

function getParentwindowNode(id)
{
	if(document.all)
	{
	    var node = parent.document.all[id];
	}
	else if(document.layers)
	{
	    var node = parent.document.layers[id];
	}
	else
	{
	    var node = parent.document.getElementById(id);
	}
	if(node)return node;
}

function emptyNode(node)
{
    if(node)
	{
	    while(node.firstChild)
		{
		    node.removeChild(node.firstChild);
		}
	}
}

function getNodeContentWidth(node)
{
    if(node)
	{
		if(document.body.scrollWidth)
		{
			var width = node.scrollWidth;
		}
		else if(document.body.offsetWidth)
		{
			var width = node.offsetWidth;
		}
		if(width)return width;
	}
}

function getNodeContentHeight(node)
{
    if(node)
	{
		if(document.body.scrollHeight)
		{
			var height = node.scrollHeight;
		}
		else if(document.body.offsetHeight)
		{
			var height = node.offsetHeight;
		}
		if(height)return height;
	}
}

function getdocumentscrollHeight()
{
  
		if(document.body.scrollHeight)
		{
			var height = document.body.scrollHeight;
		}
		else if(document.body.offsetHeight)
		{
			var height = document.body.offsetHeight;
		}
		if(height)return height;
}

function change_gallery_main_picture(target_name, picID, SizeX, SizeY, Description){
	obj = getNode("gal_" + target_name);
	obj2 = getNode("gal_text_" + target_name);
	obj3 = getNode("gal_" + target_name + "_thumb_" + picID);
	obj4 = getNode("gal_" + target_name + "_thumb_" + current_active_gallery_picture[target_name]);
	obj.style.background = "url('/picture_w.php?ID=" + picID + "&width=" + SizeX + "&height=" + SizeY + "')";
	obj2.innerHTML = Description;
	current_active_gallery_picture[target_name] = picID;
	obj3.style.display = 'none';
	obj4.style.display = 'block';
}

function change_product_main_picture(target_name, picID, SizeX, SizeY, external){
	obj = getNode("prod_" + target_name);
	obj3 = getNode("prod_" + target_name + "_thumb_" + picID);
	obj4 = getNode("prod_" + target_name + "_thumb_" + current_active_product_picture[target_name]);
	if (external){
		obj.style.background = "url('/productpicture_w.php?ID=" + picID + "&width=" + SizeX + "&height=" + SizeY + "&external=1')";
	}else{
		obj.style.background = "url('/productpicture_w.php?ID=" + picID + "&width=" + SizeX + "&height=" + SizeY + "')";
	}
	current_active_product_picture[target_name] = picID;
	obj3.style.display = 'none';
	obj4.style.display = 'block';
}

function change_product_main_print_picture(target_name, picID, SizeX, SizeY, external){
	obj = getNode("prod_" + target_name);
	obj3 = getNode("prod_" + target_name + "_thumb_" + picID);
	obj4 = getNode("prod_" + target_name + "_thumb_" + current_active_product_picture[target_name]);
	if (external){
		obj.style.background = "url('/productpicture_w.php?ID=" + picID + "&width=" + SizeX + "&height=" + SizeY + "&external=1&bg=ffffff')";
	}else{
		obj.style.background = "url('/productpicture_w.php?ID=" + picID + "&width=" + SizeX + "&height=" + SizeY + "&bg=ffffff')";
	}
	current_active_product_picture[target_name] = picID;
	obj3.style.display = 'none';
	obj4.style.display = 'block';
}

function move_content(obj_name, direction){
	var step = 0;
	
	obj = getNode(obj_name);
	if (direction == "right"){
		step = 3;
	}else{
		step = -3;
	}
	obj.scrollLeft = obj.scrollLeft + step;
	scrolltimer = window.setTimeout("move_content('"+obj_name+"', '"+direction+"')", 10);
}

function stopmove_content()
{
	clearTimeout(scrolltimer);
}

function stopRotation()
{
	clearTimeout(timer);
	StopRotation = true;
}

function startMenuChange(ID)
{
	for (i=1; i<=MenuItems.length; i++)
	{
		var nodeDiv = getNode('bottom_bg' + ID);
		if (i == ID && ShowHide[i] == 0 && nodeDiv)
		{
			MenuItems[i] = 1;
			clearTimeout(MenuTimers[i]);
			ShowHide[i] = 1;
			doFade(i);
		}
		else if(nodeDiv && ShowHide[i] == 1 && i != ID)
		{
			clearTimeout(MenuTimers[i]);
			ShowHide[i] = 0;
			doFade(i);
		}
	}
}

function doFade(Startelement)
{
	var currentfade = Fades[Startelement];
	if (ShowHide[Startelement] == 0)
	{
		currentfade += 2;
		if(currentfade >= 100)
		{
			currentfade = 100;
			clearTimeout(MenuTimers[Startelement]);
		}
	}
	else
	{
		currentfade += -2;
		if(currentfade <= 0)
		{
			currentfade = 0;
			clearTimeout(MenuTimers[Startelement]);
		}
	}
	Fades[Startelement] = currentfade;
	setFade('bottom_bg'+Startelement, 100 - currentfade);
	setFade('bottom_menu'+Startelement, 100 - currentfade);
	MenuTimers[Startelement] = window.setTimeout("doFade("+Startelement+")", 10);
}

function setFade(objectname, fade)
{
    var object = document.getElementById(objectname);

    if(object)
    {
    	if (fade > 0 && object.style.display == 'none')
    	{
    		object.style.display = 'block';
    	}
        if(OpacityName == "opacity"){
            object.style.opacity = fade / 100;
        }else if(OpacityName == "MozOpacity"){
        	object.style.MozOpacity = fade / 100;
        }else if(OpacityName == "KhtmlOpacity"){
        	object.style.KhtmlOpacity = fade / 100;
        }else if(OpacityName == "filter"){
        	var oAlpha = object.filters['DXImageTransform.Microsoft.alpha'] || object.filters.alpha;
			if (oAlpha) oAlpha.opacity = fade;
			else object.style.filter += "progid:DXImageTransform.Microsoft.Alpha(style=0, opacity="+fade+", FinishOpacity="+fade+")";
        }
        if (fade == "0")
        {
        	object.style.display = 'none';
        }
    }
}

function doOnLoad()
{
	OpacityName = getOpacityProperty();
	preload_pictures();
}

function checkArrows()
{
	if (document.getElementById('product_thumbnail_gallery'))
	{
		galleryBlock = document.getElementById('product_thumbnail_gallery');
		if (galleryBlock.scrollWidth > galleryBlock.offsetWidth)
		{
			document.getElementById('arrow_left').style.display = 'block';
			document.getElementById('arrow_right').style.display = 'block';
		}
		
	}
}
function changeMainPicture(id)
{
	Current = id;
	var nodePictureRotation = getNode(divPrefix + strExistingpictureID);
	var nodePicture = getNode(divPrefix + yourImagesID[id]);
	if (nodePictureRotation)
	{
		setFade2(divPrefix + strExistingpictureID, 0);
		nodePictureRotation.style.display = 'none';
	}
	setFade2(divPrefix + yourImagesID[id], 100);
	nodePicture.style.display = 'block';
	strExistingpictureID = yourImagesID[id];
}

function closeLeftMenu()
{
	var nodeMenu = getNode('left_menu_block');
	var nodeInfo = getNode('product_info_block');
	CurrentOffset = parseInt(CurrentOffset*1.1 + 1);
	if (nodeInfo && Fade > 0)
	{
		Fade = Fade - parseInt(CurrentOffset*0.8);
		if (Fade < 0)
			Fade = 0;
		setFade('product_info_block', Fade)
	}
	nodeMenu.style.left = '-' + CurrentOffset + 'px';
	if (CurrentOffset < 223)
		window.setTimeout("closeLeftMenu()", 10);
	else
		getNode('open_menu_button').style.display = 'block';
}

function openLeftMenu()
{
	var nodeMenu = getNode('left_menu_block');
	var nodeInfo = getNode('product_info_block');
	CurrentOffset = parseInt(CurrentOffset*0.9 - 1);
	if (nodeInfo && Fade < 80)
	{
		Fade = Fade - parseInt(CurrentOffset*0.8) + 80;
		if (Fade < 0)
			Fade = 0;
		if (Fade > 80)
			Fade = 80;
		setFade('product_info_block', Fade)
	}
	nodeMenu.style.left = '-' + CurrentOffset + 'px';
	if (CurrentOffset > 0)
	{
		window.setTimeout("openLeftMenu()", 10);
		getNode('open_menu_button').style.display = 'none';
	}
	else
	{
		nodeMenu.style.left = '0px';
	}
}

function show_content(ID)
{
	var nodeContent = getNode('product_info_block');
	nodeContent.innerHTML = Subcontent[ID];
}

function showNext()
{
	if (NextArr[Current])
	{
		changeMainPicture(NextArr[Current]);
	}
}

function showPrev()
{
	if (PrevArr[Current])
	{
		changeMainPicture(PrevArr[Current]);
	}
}

function getOpacityProperty(){
  if (typeof(document.body.style.opacity) == 'string') // CSS3 compliant (Moz 1.7+, Safari 1.2+, Opera 9, IE7)
    return 'opacity';
  else if (typeof(document.body.style.MozOpacity) == 'string') // Mozilla 1.6 && less, Firefox 0.8 
    return 'MozOpacity';
  else if (typeof(document.body.style.KhtmlOpacity) == 'string') // Konqueror 3.1, Safari 1.1
    return 'KhtmlOpacity';
  else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1] >= 5.5 )// Internet Exploder 5.5+
    	return 'filter';
  return false;
}

	function checkIt(string){
		var detect = navigator.userAgent.toLowerCase();
		place = detect.indexOf(string) + 1;
		thestring = string;
		return place;
    }

	function preload_pictures(){
		for (i = 0; i < yourImages.length; i++) {
			preImages[i] = new Image();
			preImages[i].src = yourImages[i];
			loadingCounter[i] = 0;
		}
	}
	
	function checkLoad() 
	{
		if (currCount == yourImages.length) 
		{
			if (currCount > 1) timer = window.setTimeout("startPictureChange()", changedelay);
			return;
		}
		for (i = 0; i < yourImages.length; i++)
		{
			loadingCounter[i] = loadingCounter[i] + 20;
			if (loadingCounter[i] > 10000)
			{
				var forse_load = true;
			}
			else
			{
				var forse_load = false;
			}
			var obj = document.getElementById(divPrefix + i);
			if ((preImages[i].complete || forse_load) && loaded[i] == false)
			{
				loaded[i] = true;
				if (checkIt('msie') && browserVer < 7)
				{
					var nodeImage = document.createElement("img");
					nodeImage.id = picPrefix + i;
					nodeImage.src = preImages[i].src;
					nodeImage.style.width = '482px';
					nodeImage.style.height = '571px';
					nodeImage.style.display = 'block';
					obj.appendChild(nodeImage);
				}
				else
				{
					preImages[i].id = picPrefix + i;
					preImages[i].style.width = '482px';
					preImages[i].style.height = '571px';
					obj.appendChild(preImages[i]);
				}
				if (i > 0)
				{
					hide_object(obj);
				}
				currCount++;
			}
		}
		timerID = setTimeout("checkLoad()",20);
	}
	
	function startPictureChange(){
		updateImages();
	}

	function updateImages(){
		var strStartelement = divPrefix + strExistingpictureID;
		var nodePicture1 = document.getElementById(strStartelement);
		var next = strExistingpictureID + 1;
		nodePicture1.style.zIndex = 10; //for 1 pic fade only
		if (yourImages[next]){
			var nodePicture2 = document.getElementById(divPrefix + next);
			var strEndelement = divPrefix + next;
			strExistingpictureID = next;
		}else{
			var nodePicture2 = document.getElementById(divPrefix + '0');
			var strEndelement = divPrefix + '0';
			strExistingpictureID = 0;
		}
		Currentfade = 0;
		nodePicture2.style.zIndex = 2; //for 1 pic fade only
		
		show_object(nodePicture2);
		doFade2(strStartelement, strEndelement);
		setFade2(strEndelement, 100); //for 1 pic fade only
	}
	
	function doFade2(strStartelement, strEndelement)
	{
		if(Currentfade < 100)
		{
			Currentfade += 2;
			setFade(strStartelement, 100 - Currentfade);
			window.setTimeout("doFade2('"+strStartelement+"', '"+strEndelement+"')", 30);
		}
		else
		{
			var object = document.getElementById(strStartelement);
			if (object){
				hide_object(object);
				if (!StopRotation)
				{
					timer = window.setTimeout("startPictureChange()", changedelay);
				}
				if(Selected)
				{
					if (node = getNode(Selected))
					{
						node.parentNode.className = 'product_thumbnail';
					}
				}
				if (nodeObj = getNode(yourImagesThumbs[strExistingpictureID]))
				{
					nodeObj.parentNode.className = 'product_thumbnail_current';
				}
				Selected = yourImagesThumbs[strExistingpictureID];
			}
		}
	}
	
    function setFade2(objectname, fade)
    {
        var object = document.getElementById(objectname);

        if(object)
        {
                if(OpacityName == "opacity"){
                    object.style.opacity = fade / 100;
                }else if(OpacityName == "MozOpacity"){
                	object.style.MozOpacity = fade / 100;
                }else if(OpacityName == "KhtmlOpacity"){
                	object.style.KhtmlOpacity = fade / 100;
                }else if(OpacityName == "filter"){
                	var oAlpha = object.filters['DXImageTransform.Microsoft.alpha'] || object.filters.alpha;
					if (oAlpha) oAlpha.opacity = fade;
					else object.style.filter += "progid:DXImageTransform.Microsoft.Alpha(style=0, opacity="+fade+", FinishOpacity="+fade+")";
                }
        }
    }

	function hide_object(obj){
		if(obj)
        {
                if(OpacityName == "opacity"){
                    obj.style.opacity = 0;
                }else if(OpacityName == "MozOpacity"){
                	obj.style.MozOpacity = 0;
                }else if(OpacityName == "KhtmlOpacity"){
                	obj.style.KhtmlOpacity = 0;
                }else if(OpacityName == "filter"){
                    obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
                }
                obj.style.display = "none";
        }
	}
	
	function show_object(obj){
		if(obj)
        {
           obj.style.display = "block";
        }
	}
	
