try 
{
	document.execCommand("BackgroundImageCache", false, true);
} 
catch(err) 
{

}
function changeBannerLayer()
{
	var layer1 = document.getElementById('banners_layer1');
	var layer2 = document.getElementById('banners_layer2');
	var collection = document.getElementById('banners_collection');
	
	//copy contents from below layer to upper layer
	changeOpac(0, 'banners_layer2');
	layer2.style.visibility = 'visible';
	while (layer2.firstChild) 
	{
		layer2.removeChild(layer2.firstChild);
	}
	if (layer1.childNodes.length > 0)
	{
		for (var index = 0; index < layer1.childNodes.length; index++)
		{
			if (layer1.childNodes[index].tagName == 'div' || layer1.childNodes[index].tagName == 'DIV')
			{
				var newNode = layer1.childNodes[index].cloneNode(true);
				layer2.appendChild(newNode);
			}
		}
	}
	changeOpac(100, 'banners_layer2');

	//generate an array of randomly selected banner numbers
	randomArray = new Array();
	for (var index = 0; index < placesCount; index++)
	{
		newRandom = Math.round(Math.random() * (bannersCount-1));
		while (in_array(randomArray, newRandom))
		{
			newRandom = Math.round(Math.random() * (bannersCount-1));
		}
		randomArray[index] = newRandom;
	}
	
	//clear and fill below layer with new content	
	while (layer1.firstChild) 
	{
		layer1.removeChild(layer1.firstChild);
	}
	for (var arrayIndex = 0; arrayIndex < randomArray.length; arrayIndex++)
	{
		for (var index = 0; index < collection.childNodes.length; index++)
		{
			
			if (collection.childNodes[index].id == 'dynamicBanner_'+randomArray[arrayIndex])
			{
				var newNode = collection.childNodes[index].cloneNode(true);
				layer1.appendChild(newNode);
				//~ break;
			}
		}
	}
	opacity('banners_layer2', 100, 0, 1000);
	setTimeout("turnOffBannerLayer2()", 1000);
	setTimeout("changeBannerLayer()", rotateSpeed+waitSpeed*0.75);
}
function turnOffBannerLayer2()
{
	var layer2 = document.getElementById('banners_layer2');
	layer2.style.visibility = 'hidden';
}
function in_array(searchedArray, item)
{
	var index = 0;
	for (index in searchedArray)
	{
		if (searchedArray[index] == item)
		{
			return true;
		}
	}
	return false;
}

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 = 10000;
	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 scrolltimer = null;
	var rotateSpeed = 500;
	var waitSpeed = 3000;



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 getNode(id)
{
	if(document.all)
	{
	    var node = document.all[id];
	}
	else if(document.layers)
	{
	    var node = document.layers[id];
	}
	else
	{
	    var node = document.getElementById(id);
	}
	if(node)return node;
}

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 = 10;
	}else{
		step = -10;
	}
	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 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;
		}
		checkLoad();
	}
	
	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 = '998px';
				    nodeImage.style.height = '512px';
				    nodeImage.style.display = 'block';
				    obj.appendChild(nodeImage);
				}else{
	    			preImages[i].id = picPrefix + i;
	    			preImages[i].style.width = '998px';
				    preImages[i].style.height = '512px';
					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)
        		{
        			getNode(Selected).className = '';
        		}
        		getNode(yourImagesThumbs[strExistingpictureID]).className = 'current_thumbnail';
        		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";
        }
	}

function rotatePictures(number, element1Id, element2Id, picturePath)
{
	if (document.getElementById) 
	{
		var bottomBlock = document.getElementById(element1Id);
		var topBlock = document.getElementById(element2Id);
	}
	
	if (bottomBlock && topBlock && pictureArray.length>0)
	{
		fullPicturePath = picturePath+pictureArray[number];
		bottomBlock.style.backgroundImage = topBlock.style.backgroundImage;
		
		changeOpac(0, element2Id);
		topBlock.style.backgroundImage = "url('"+fullPicturePath+"')";
		
		setTimeout("opacity('"+element2Id+"','0','100','"+rotateSpeed+"')", waitSpeed/2);
		
		number++;
		if (number == pictureArray.length) number = 0;
		
		setTimeout("rotatePictures('"+number+"','"+element1Id+"','"+element2Id+"','"+picturePath+"')", rotateSpeed+waitSpeed);
	}
}

function opacity(id, opacStart, opacEnd, millisec) 
{
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) 
    {
        for(i = opacStart; i >= opacEnd; i--) 
	{
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
    else if(opacStart < opacEnd) 
    {
        for(i = opacStart; i <= opacEnd; i++)
	{
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}
