﻿var ItemsList={
	lastClickedId:null,
	lastRevealedId:null,
	lastLargePath:"",
	View:function(clickedId,idToShow){
		if (ItemsList.lastClickedId!=null)$(ItemsList.lastClickedId).removeClassName('selectedTitle');
		if(ItemsList.lastRevealedId!=null){
			//$(ItemsList.lastRevealedId).hide();
			Effect.BlindUp(ItemsList.lastRevealedId);
		}

		if (ItemsList.lastRevealedId != idToShow){
			ItemsList.lastClickedId = clickedId;
			ItemsList.lastRevealedId = idToShow;

			if(ItemsList.lastClickedId!=null)$(ItemsList.lastClickedId).addClassName('selectedTitle');

			if(ItemsList.lastRevealedId!=null)Effect.BlindDown(ItemsList.lastRevealedId);
		}else{
			ItemsList.lastClickedId = null;
			ItemsList.lastRevealedId = null;
		}
	},

	EnableLink:function(o,newLink){
		if (!o)return;
		var h = o.href;
		if (h.indexOf("javascript")==-1){
			o.href="javascript:"+newLink;
			o.onmouseover=null;
		}

	},
	ViewImage:function(containerId, path){
		var o = $(containerId);
		if (!o)return;
		if (path==ItemsList.lastLargePath)return;

		ItemsList.lastLargePath = path;
		var img = document.createElement("img");
		img.style.display = "none";
		Event.observe(img,"load" , function(){
			o.appendChild (img);
			Effect.Appear(img,{duration:.2});
			new Effect.Move(img,{x:0,duration:.4,mode:"absolute"});
			});
		img.src=path;

	}

};

var AGalleries = {
    clientCache: $H(),
    AddToCache: function(galleriesList) {
        if (!galleriesList) return;
        if (!galleriesList.length) galleriesList = new Array(galleriesList);
        galleriesList.each(
		    function(gallery) {
		        if (!AGalleries.clientCache["AGallery" + gallery.GalleryId]) {
		            AGalleries.clientCache["AGallery" + gallery.GalleryId] = gallery;
		        }
		    }
		);
    },

    GetGalleryImageById: function(galleryImageId, funcAfterFinish, argument) {
        var galleryImage = null;
        if (AGalleries.clientCache["AGalleryImage" + galleryImageId]) {
            galleryImage = AGalleries.clientCache["AGalleryImage" + galleryImageId];
            if (funcAfterFinish) funcAfterFinish(galleryImage, argument);
        } else {
            Mantis.CaesarStone.MasterPages.InnerMaster.GetAGalleryImageById(
			    galleryImageId,
			    AjaxProOutput(function(serverResponse) {
			        galleryImage = serverResponse;
			        AGalleries.clientCache["AGalleryImage" + galleryImageId] = galleryImage;
			        if (funcAfterFinish) funcAfterFinish(galleryImage, argument);
			    })
		    );
        }
        return galleryImage;
    }
}

var Galleries = {
	clientCache:$H(),
	AddToCache:function(galleriesList){
		if (!galleriesList)return;
		if(!galleriesList.length)galleriesList=new Array(galleriesList);
		galleriesList.each(
			function(gallery){
					if (!Galleries.clientCache["Gallery"+gallery.GalleryId]){
						Galleries.clientCache["Gallery"+gallery.GalleryId] = gallery;
					}
				}
			);
	},

	GetGalleryImageById:function(galleryImageId, funcAfterFinish, argument){
		var galleryImage = null;
		if (Galleries.clientCache["GalleryImage"+galleryImageId]){
			galleryImage = Galleries.clientCache["GalleryImage"+galleryImageId];
			if(funcAfterFinish)funcAfterFinish(galleryImage, argument);
		}else{
			Mantis.CaesarStone.MasterPages.InnerMaster.GetGalleryImageById(
				galleryImageId,
				AjaxProOutput(function(serverResponse){
					galleryImage = serverResponse;
					Galleries.clientCache["GalleryImage"+galleryImageId] = galleryImage;
					if(funcAfterFinish)funcAfterFinish(galleryImage, argument);
				})
			);
		}
		return galleryImage;
	},

	GetById:function(galleryId,includeImages){
		var gallery = null;
		if (Galleries.clientCache["Gallery"+galleryId]){
			gallery = Galleries.clientCache["Gallery"+galleryId];
			Galleries.Render(gallery);
		}else{
			Mantis.CaesarStone.MasterPages.InnerMaster.GetGalleryById(
				galleryId,
				includeImages,
				AjaxProOutput(function(serverResponse){
					gallery = serverResponse;
					Galleries.Render(gallery);
					Galleries.clientCache["Gallery"+galleryId] = gallery;
				})
			);
		}
	},
	View:function(galleryId){
		if (!$("GalleryHolder")){
			// will happen only in regular content pages
			$("Page").appendChild($E({
				tag:"div",
				id:"GalleryHolder"
				}));		
					$("Page").addClassName("withGallery");
		}
		if($("PageImages")) $("PageImages").up().addClassName("imagesHider");
		if($("ChildsMenu")) $("ChildsMenu").up().addClassName("fullChildMenu");	
		Galleries.GetById(galleryId,false);
	},
	Hide:function(){
		$("GalleryHolder").hide();
	},
	Render:function(gallery){
		//alert(gallery); <--------------------------------------------
		if (gallery==null || !$("GalleryHolder"))return;
		var startImage = location.hash.indexOf("image=")>-1 ? "&startWith="+location.hash.substring(location.hash.indexOf("image=")+6) : "" ;
		var galleryUrl = "http://www.caesarstone.com/Flash/Gallery.swf?stageWidth="+gallery.Width+"&xmlPath="+escape("http://www.caesarstone.com/GalleryData.ashx?l="+SiteParams.Language+"&id="+gallery.GalleryId)+startImage;
		addFlashInside ("GalleryHolder", galleryUrl ,"pageGallery",gallery.Width,gallery.Height,"#000000", "opaque");
		if (gallery.CssClass!=""){
			$("GalleryHolder").addClassName(gallery.CssClass);
		}else{
			//$("GalleryHolder").className = "";
		}
		$("GalleryHolder").show();
	}
};
