Event.observe(window, "load", function(){
	if($('canvas')){
		var this_day = parseInt($$("#image_div #day_img img")[0].getAttribute("alt").replace("day_",""));
		$('jump').focus();
	
		var comment_modal = new Modal.Confirm({
			id: 'comment_modal',
			overlayID: 'comment_overlay',
			overlayColor: '#81f2ff',
			title: 'New Comment',
			effectDuration: 0.3,
			yesTitle: 'Talk it!',
			noTitle: 'Never mind...'
		});
	
		comment_modal.update("<p>Name<br/><input type=\"text\" name=\"name\" id=\"name\"/></p><p>Comment<br/><textarea cols=\"60\" rows=\"15\" id=\"comment\"></textarea></p>").center("center");
	
		comment_modal.setYesCallback(function(){
			$('modal_yes').disabled = 'disabled';
			var set = new Ajax.Request("put.php", {method: 'post', parameters: "put=comment&day="+this_day+"&name="+$F('name')+"&comment="+$F('comment'),
				onComplete: function(transport){
					comment_modal.hide();
					$('modal_yes').disabled = '';
					var update_comments = new Ajax.Updater("comments", "fetch.php", {method: 'post', parameters: "day="+this_day+"&fetch=comments", 
						onComplete: function(){
							$('add_comment').observe('click', function(){
								comment_modal.show();
							});
						}
					});
				}
			});
		});
	
		comment_modal.setNoCallback(function(){
			if($F('comment').length > 3){
				if(confirm("Are you sure you want to cancel posting this comment?"))
					comment_modal.hide();
			}
			else comment_modal.hide();
		});
	
		$("add_comment").observe("click", function(){
			comment_modal.show();
		});

		$$("#top a img").each(function(n){
			n.observe("click", function(){
				fetch(n.getAttribute("rel"));
			});
			n.observe("mouseover", function(e){
				$('helper').setStyle({
					left: Event.pointerX(e)+10+"px",
					top: Event.pointerY(e)+10+"px",
					display: 'block',
					opacity: '0.80'
				});
				$('helper').update("<h1>Day "+n.getAttribute("rel")+",</h1><p>"+n.getAttribute("alt")+"</p>").style.display = 'block';
			});
			n.observe('mousemove', function(e){
				$('helper').setStyle({
					left: Event.pointerX(e)+10+"px",
					top: Event.pointerY(e)+10+"px"
				});
			});
			n.observe('mouseout', function(){
					$('helper').style.display = 'none';
			});
		});
	
		$('jump').observe('keyup', function(e){
			if(e.keyCode == Event.KEY_RETURN){
				var day = $F('jump');
				var to = -1;
				var last_day = parseInt($$('span.day_count')[0].innerHTML.substr(2));
				if(day.match(/^(\d)+$/)) to = day;
				else if(day.match("days ago") || day.match("day ago")){
					to = last_day - parseInt(day.replace("days ago",""));
					if(to < 1) alert("No data for that long back.. jumping to first day");
					to = to < 1 ? 1 : to;
				}
				else if(day.toLowerCase() == 'today') to = last_day
				else if (day.toLowerCase() == 'yesterday') to = last_day - 1;
				else if (day.toLowerCase() == 'first day' || day.toLowerCase() == 'first') to = 1;
				if(to > last_day){
					alert("can't peek into the future.. i can show you the last day tho");
					to = last_day;
				}
				if(to < 1){
					alert("That day was not found, I'm sorry.. I really am..");
					to = last_day;
				}
				fetch(to);
				this_day = to;
			}
		});
	
		Event.observe(document, "keydown", function(e){
			var last_day = parseInt($$('span.day_count')[0].innerHTML.substr(2));
			if(e.keyCode == Event.KEY_LEFT && !comment_modal.isShowing()){
				if(this_day > 1){
					fetch(this_day - 1);
					this_day--;
				}
			}
			else if(e.keyCode == Event.KEY_RIGHT && !comment_modal.isShowing()){
				if(this_day < last_day){
					fetch(this_day + 1);
					this_day++;
				}
			}
		});
	
		function fetch(day){
			$('add_comment').stopObserving();
			$('image_div').update('<img src=\"images/ajax-loader.gif\" class=\"ajax_loader\" alt=\"Loading...\"/>');
			$('comments').update('<img src=\"images/ajax-loader.gif\" class=\"ajax_loader\" alt=\"Loading...\"/>');
			var update_image = new Ajax.Updater("image_div", "fetch.php", {method: 'post', parameters: "day="+day+"&fetch=info"});
			var update_comments = new Ajax.Updater("comments", "fetch.php", {method: 'post', parameters: "day="+day+"&fetch=comments", 
				onComplete: function(){
					$('add_comment').observe('click', function(){
						comment_modal.show();
					});
				}
			});
		}
	}
	else if($('stats')){
		var days = $$('#stats h1.holder');
		new PeriodicalExecuter(function(pe){
			var ajax = new Ajax.Request("fetch.php", {method: 'post', parameters: 'fetch=views', onComplete: function(transport){
				var i = 0;
				$$("#stats h1.holder").each(function(n){
					if(n.innerHTML != transport.responseText.split("|")[i]){
						n.innerHTML = transport.responseText.split("|")[i];
						new Effect.Highlight(n.parentNode, {startcolor: '#ffff99', endcolor: '#ffffff', duration: 7});
					}
					i++;
				});
			}});
		}, 10);
	}
});
