﻿/*	
	dojo.require("dojo.NodeList-fx");
	dojo.require("dojo._base.html");
	*/


	
	//dojo.require("dijit.form.TextBox"); // this we only include to make the textinput look prettier
	var resetScrollbar = function()
	{
		var slider = dijit.byId("vertical");
		if(slider!=null)
		{
			slider.domNode.style.visibility = "hidden";
			slider.reset();
		}
	}
	var setZIndex = function()
	{
		 if(dojo.isIE)
	    {
            var contentBody = dojo.byId("contentBody");
            contentBody.style.zIndex = -1;
        }
	}
	
	var setScrollbar = function() 
	{

		console.log("setScrollbar");
		var vertical = dojo.byId("vertical");
		if(vertical==null) 
		    return;
		console.log(vertical);

		var content = dojo.byId("thumbs");
		console.log(content);
		var contentHeight = content.scrollHeight;
		console.log("content:"+contentHeight);

		var container = dojo.byId("thumbsWrap");
		var containerHeight = container.clientHeight;
		console.log("container:"+containerHeight);

        if(dojo.isIE)
		    var scrollBarHeight = containerHeight-75; 
		else
		    var scrollBarHeight = containerHeight-45; 
		var scrollBarHandleHeight = containerHeight - scrollBarHeight;
		var slider = dijit.byId("vertical");
		if(slider==null)
		{
			slider = new dijit.form.VerticalSlider(
			{
				name: "vertical",
				value: 0,
				minimum: -1*(contentHeight-containerHeight),
				maximum: 0,
				intermediateChanges: true,
				showButtons: false,
				style: "height:"+scrollBarHeight+"px; position: relative; top: 0px; ",
				onChange:function(val)
				{ 
					//dojo.byId('vertical').value=val;
					console.log(val);
					var container = dojo.byId("thumbsWrap");
					container.scrollTop = -1*val;
				}
			},
			vertical);
		}
		if(containerHeight>=contentHeight)
		{
			dijit.byId("vertical").domNode.style.visibility = "hidden";
			container.scrollTop = 0;
			dijit.byId("vertical").reset();
		}
		else
		{
			dijit.byId("vertical").reset();
			dijit.byId("vertical").attr("minimum", -1*(contentHeight-containerHeight));
			console.log(dijit.byId("vertical").attr("minimum"));
			dojo.addClass(dijit.byId("vertical").domNode, "redSlider");
			dijit.byId("vertical").domNode.style.visibility = "visible";
		}
	}
	
	var checkFetchContent = function(){
		return (dojo.query("a.fetch_content").length==0);
	}
	
	var uncoverEmail = function() {
	
	dojo.query("#e").forEach(
			function(node)
			{
				var encoded_address = "&#98;&#111;&#114;&#105;&#115;_at_&#98;&#111;&#114;&#105;&#115;&#97;&#114;&#116;&#46;&#99;&#111;&#109;";
				dojo.attr(node, "innerHTML", encoded_address);
				var real_address=node.innerHTML.replace("_at_", "@");
				//var real_address=dojo.attr(node, "innerHTML").replace("[at]", "@");
				dojo.attr(node, "href", "mailto:"+real_address);
			
			}
	);
}

	
	var attachContentHandlers = function(){
	   dojo.query("a.fetch_content").connect("onclick",function(e){
	   e.preventDefault(); // stop the event
	   //e.stopPropagation();//img wrapped in an anchor from triggering the anchor event
	   //console.log('clicked: ',e.target); // the node we clicked on
	   dojo.query(".thumbs a").removeClass("selected");
	   dojo.query("a.selected").removeClass("selected");
	   dojo.query("#"+e.currentTarget.id).addClass("selected");
	   fetch_text(e.currentTarget, "content");
	   fetch_text((e.currentTarget+"").replace(".html","_footer.html"), "footer");
	   });
	}
	
	var fetch = function(content_url, node_id)
	{
		var contentNode = dojo.byId(node_id);
		dojo.xhrGet({
			url: content_url,
			handleAs: "text",
			load: function(data,args){
				// fade out the node we re modifying
				//resetScrollbar();
				if(dojo.isIE)
				{
						doAttachContent = checkFetchContent();
						console.log("doAttachContent:"+doAttachContent);
						contentNode.innerHTML = data;
						if(doAttachContent)
							attachContentHandlers();
						setScrollbar();
						uncoverEmail();
						dojo.fadeIn({ 
							node: contentNode
						}).play();				
				}else{
					dojo.fadeOut({
						node: contentNode,
						onEnd: function(){
							// set the data, fade it back in
							//doAttachContent = checkFetchContent();
							//console.log("doAttachContent:"+doAttachContent);
							contentNode.innerHTML = data;
							//if(doAttachContent)
							//	attachContentHandlers();
							dojo.parser.parse(contentNode);
							//setScrollbar();
							uncoverEmail();
							dojo.fadeIn({ 
								node: contentNode
							}).play();
						}
					}).play();
				}
			},
			// if any error occurs, it goes here:
			error: function(error,args){
				console.warn("error!",error);
			}
		});
	}
	
	var fetch_text = function(content_url, node_id)
	{
		var contentNode = dojo.byId(node_id);
		dojo.xhrGet({
			url: content_url,
			handleAs: "text",
			load: function(data,args){
				// fade out the node we re modifying
				//resetScrollbar();
				if(dojo.isIE || dojo.isOpera)
				{
					doAttachContent = checkFetchContent();
					console.log("doAttachContent:"+doAttachContent);
					contentNode.innerHTML = data;
					if(doAttachContent)
						attachContentHandlers();
					setScrollbar();
						
				}else{					
					dojo.fadeOut({
						node: contentNode,
						onEnd: function(){
							// set the data, fade it back in
							doAttachContent = checkFetchContent();
							console.log("doAttachContent:"+doAttachContent);
							contentNode.innerHTML = data;
							if(doAttachContent)
								attachContentHandlers();
							setScrollbar();
							uncoverEmail();
							dojo.fadeIn({ 
								node: contentNode
							}).play();
						}
					}).play();
				}
			},
			// if any error occurs, it goes here:
			error: function(error,args){
				console.warn("error!",error);
			}
		});
	}

   var doSelect = function(id, groupclass){
	   dojo.query(".thumbs a.selected").removeClass("selected");
	   dojo.query("a.selected").removeClass("selected");	   
	   dojo.query("#"+id).addClass("selected");
   }

   
	var getText = function(){
	dojo.query("a.fetch_text").connect("onclick",function(e){
	   e.preventDefault(); // stop the event
	   //e.stopPropagation();//img wrapped in an anchor from triggering the anchor event
	   //console.log('clicked: ',e.target); // the node we clicked on
	 
	   doSelect(e.currentTarget.id);	   
	   fetch_text(e.currentTarget, "content");
	   fetch_text((e.currentTarget+"").replace(".html","_footer.html"), "footer");
	   });       
	};
	
	var thumb_onclick = function(){
	dojo.query(".thumbs a").connect("onclick",function(e){
	   e.preventDefault(); // stop the event
	   //e.stopPropagation();//img wrapped in an anchor from triggering the anchor event
	   //console.log("clicked: "+e.currentTarget); // the node we clicked on
	   //doSelect(e.currentTarget.id);
	   fetch(e.currentTarget, "content");
	   fetch_text((e.currentTarget+"").replace(".html","_footer.html"), "footer");
	   });       
	};
	
    var doSelect2 = function(e, id, groupclass){
	   dojo.query(groupclass + " a.selected").removeClass("selected");
	   dojo.addClass(e.currentTarget, "selected");
   }
   
	var menu_onclick = function(){
	dojo.query(".titleClick a").connect("onclick",function(e){	    
	   e.preventDefault(); // stop the event
	   //doSelect2(e, e.currentTarget.id, ".titleClick");
	   fetch(e.currentTarget, "body");
	   //fetch_text((e.currentTarget+"").replace(".html","_footer.html"), "footer");
	   });       
	};
	
	var tree_onclick = function(){
	dojo.query(".ii > .dijitTreeIsRoot > .dijitTreeContainer > .dijitTreeIsRoot > DIV").connect("onclick",function(e){	    
	   e.preventDefault(); // stop the event
	   alert('click '+e.target);
	   //doSelect2(e, e.currentTarget.id, ".titleClick");
	   //fetch(e.currentTarget, "body");
	   //fetch_text((e.currentTarget+"").replace(".html","_footer.html"), "footer");
	   });       
	};
/*
dojo.addOnLoad(function(){
			dojo.fadeIn({
				node:"thumbs", 
				delay: 500,
				duration:500}).play();		
});

dojo.addOnLoad(function() {
    // see if we have a ?tab=N parameter and set the current tab based on it
    if (window.location.search) {
        // convert our query string into an object (use slice to strip the leading "?")
        var queryParams = dojo.queryToObject(window.location.search.slice(1));
        // get the tab index: parseInt will convert undefined/rubbish to NaN
        var spage = queryParams["page"];
		console.log(spage);
    }else{
	   spage = "gallery/cambriBianka";
	}
	fetch(spage+".html", "content");
	fetch(spage+"_footer.html", "footer");	
	console.log(spage+"_footer.html");
	sid = spage.replace("/","_");
	doSelect(sid);
});
*/
//dojo.addOnLoad(getText);
//dojo.addOnLoad(thumb_onclick);

//dojo.addOnLoad(setScrollbar);
//dojo.addOnLoad(setZIndex);

