/*
 * jQuery message plug-in 1.0
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-message/
 *
 * Copyright (c) 2009 Jörn Zaefferer
 *
 * $Id: jquery.message.js 6407 2009-06-19 09:07:26Z joern.zaefferer $
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
(function($) {
	var helper,
		visible,
		timeout1,
		timeout2,
                width_p,
                height_p;
	
	$.fn.message = function(message,w,h) {
		message = $.trim(message || this.text());
		if (!message) {
			return;
		}
		clearTimeout(timeout1);
		clearTimeout(timeout2);
                
                (!w)?width_p="300":width_p = w;
                (!h)?height_p="100":height_p = h;
                
		initHelper();
                tb_position();
		helper.find("p").html(message);
		helper.show().animate({ opacity: $.message.defaults.opacity}, $.message.defaults.fadeInDuration);
		visible = true;
		active = false;
		timeout1 = setTimeout(function() {
			visible = false;
		}, $.message.defaults.minDuration + $.message.defaults.displayDurationPerCharacter * Math.sqrt(message.length));
		timeout2 = setTimeout(fadeOutHelper, $.message.defaults.totalTimeout);
	};
	
	function initHelper() {
		if (!helper) {
			//helper = $('<div class="jquery-message" style="width:'+width+'px;height:'+height+'px;margin-left:-'+width/2+'px;margin-top:-'+height/2+'px;"><div class="round"></div><p></p><div class="round"></div></div>').appendTo(document.body);

                        if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
                            //$("body","html").css({height: "100%", width: "100%"});
                            //$("html").css("overflow","hidden");
                            if (document.getElementById("TB_HideSelect_Jmess") === null) {//iframe to hide select elements in ie6
                                    helper = $("<iframe id='TB_HideSelect_Jmess'></iframe><div id='TB_Jmess'><p>asds</p></div>").appendTo(document.body);
                            }
                        }else{//all others
                                if(document.getElementById("TB_Jmess") === null){
                                        helper = $("<div id='TB_Jmess'><div class='xtts_tc_t'></div><div class='xtts_tc_c'><p></p></div><div class='xtts_tc_b'></div></div>").appendTo(document.body);
                                }
                        }
			//helper = $('<div id="TB_Jmess"></div>').appendTo(document.body);
                        $(window).bind("mousemove click keypress", fadeOutHelper);
		}
	}

        function tb_position() {
            $("#TB_Jmess").css({marginLeft: '-' + parseInt((width_p / 2),10) + 'px', width: width_p + 'px'});
                    if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
                            $("#TB_Jmess").css({marginTop: '-' + parseInt((height_p / 2),10) + 'px'});
                    }
            }
	
	function fadeOutHelper() {
		if (helper.is(":visible") && !helper.is(":animated") && !visible) {
			helper.animate({ opacity: 0 }, $.message.defaults.fadeOutDuration, function() { $(this).hide() })
		}
	}
	
	$.message = {};
	$.message.defaults = {
		opacity: 1,//0.9
		fadeOutDuration: 250,//500
		fadeInDuration: 200,//200
		displayDurationPerCharacter: 10,//125
		minDuration: 1500,//2500
		totalTimeout: 2000//6000
		//template: '<div class="jquery-message" style="left:'+left+';width:'+width+'"><div class="round"></div><p></p><div class="round"></div></div>'
	}
})(jQuery);

