var Messages = {
lastMessageId: 0,
	       lastRequestLastMessageId: 0,
	       onComplete: function(request, transport, json) {
		       this.extractMessages(json);
	       },
onFailure: function(request, transport, json) {
		   this.extractMessages(json);
	   },
extractMessages: function(json) {
			 for (msgClass in json) {
				 msgsOfClass = typeof( json[msgClass] ) == 'string' ? new Array(json[msgClass]) : json[msgClass];
				 for (var i = 0; i < msgsOfClass.length; i++) {
					 this.displayMessage(msgClass, msgsOfClass[i]);
				 }
				 this.fadeMessage();
			 }
			 this.lastRequestLastMessageId = this.lastMessageId;
		 },

displayMessage: function(msgClass, msgText) {
			msgId = 'message-' + ++this.lastMessageId;
			liEl = document.createElement('li');
			liEl.setAttribute('id', msgId);
			liEl.setAttribute('class', msgClass);
			liEl.setAttribute('title', "Click to close.");
			liEl.setAttribute('onclick', 'Element.remove(this);');
			liEl.setAttribute('style', 'cursor: pointer;');
			liEl.appendChild( document.createTextNode(msgText) );
			$('messages').style.visibility = 'visible';
			$('messages').appendChild(liEl);
		},
fadeMessage: function() {
		     msgEls = $A( $('messages').getElementsByTagName('li') );
		     for (var i = 0; i < msgEls.length; i++) {
			     if(msgEls[i]) {
				     Effect.Fade(msgEls[i].id, { duration: 2.5} );
			     }
		     }
	     }
};
Ajax.Responders.register(Messages);
function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.innerHeight) == 'number') {
		windowHeight = window.innerHeight;
	}
	else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		}
		else {
			if (document.body && document.body.clientHeight) {
				windowHeight = document.body.clientHeight;
			}
		}
	}
	return windowHeight;
}
function setFooter() {
	if (document.getElementById) {
		var windowHeight = getWindowHeight();
		if (windowHeight > 0) {
			var contentHeight = document.getElementById('main').offsetHeight;
			var footerElement = document.getElementById('footer');
			var footerHeight  = footerElement.offsetHeight;

			if (windowHeight - (contentHeight) >= 0) {
				footerElement.style.position = 'relative';
				footerElement.style.width = '100%';
				//footerElement.style.top = (windowHeight - ((contentHeight + footerHeight))) + 'px';
				footerElement.style.top = (windowHeight -   ((contentHeight))) + 'px';
			}
			else {
				footerElement.style.position = 'relative';
				footerElement.style.bottom = '0px';
			}
		}
	}
}
window.onload = function() {
	setFooter();
}
window.onresize = function() {
	setFooter();
}

