/*
 * jQuery Catfish Plugin - Version 1.3
 * cookie adapter (c) mirun (mirun@forcom.cz)
 *
 * Copyright (c) 2007 Matt Oakes (http://www.gizone.co.uk)
 * Licensed under the MIT (LICENSE.txt)
 */
// 
function setCookie(cookieName, cookieValue, expires, path, domain, secure){
     document.cookie = escape(cookieName) + '=' + escape(cookieValue)
     + (expires ? '; EXPIRES=' + expires.toGMTString() : '')
     + (path ? '; PATH=' + path : '')
     + (domain ? '; DOMAIN=' + domain : '')
     + (secure ? '; SECURE' : '');
}
//
function getCookie(cookieName){
     var cookieValue = null;
     var posName = document.cookie.indexOf(escape(cookieName) + '=');
     if (posName != -1){
          var posValue = posName + (escape(cookieName) + '=').length;
          var endPos = document.cookie.indexOf(';', posValue);
          if (endPos != -1){
               cookieValue = unescape(document.cookie.substring(posValue, endPos));
          }
          else {
               cookieValue = unescape(document.cookie.substring(posValue));
          }
     }
     return cookieValue;
}

jQuery.fn.catfish = function(options) {
	this.settings = {
		closeLink: 'none',
		animation: 'slide',
		height: '50'
	}
	if(options)
		jQuery.extend(this.settings, options);
	
	if ( this.settings.animation != 'slide' && this.settings.animation != 'none' && this.settings.animation != 'fade' ) {
		alert('animation can only be set to \'slide\', \'none\' or \'fade\'');
	}
	
	var cookie = getCookie('catfish');
	if(cookie != 'hide'){
		var id = this.attr('id');
		settings = this.settings;
		jQuery(this).css('padding', '0').css('height', this.settings.height + 'px').css('margin', '0').css('width', '100%');
		jQuery('html').css('padding', '0 0 ' + ( this.settings.height * 1 + 0 ) + 'px 0');
		if ( typeof document.body.style.maxHeight != "undefined" ) {
			jQuery(this).css('position', 'fixed').css('bottom', '0').css('left', '0');
		}
		if ( this.settings.animation == 'slide' ) {
			jQuery(this).slideDown('slow');
		}
		else if ( this.settings.animation == 'fade' ) {
			jQuery(this).fadeIn('slow');
		}
		else {
			jQuery(this).show();
		}
		if ( this.settings.closeLink != 'none' ) {
			jQuery(this.settings.closeLink).click(function(){
				jQuery.closeCatfish(id);
				return false;
			});
		}
	}
	// Return jQuery to complete the chain
	return this;
};
jQuery.closeCatfish = function(id) {
	this.catfish = jQuery('#' + id);
	jQuery(this.catfish).hide();
	jQuery('html').css('padding', '0');
	jQuery('body').css('overflow', 'visible'); // Change IE6 hack back
	setCookie('catfish','hide');
};