var MinerToolbar = {
	init: function() {
		var id;
		var scripts = document.getElementsByTagName('script');
		for(var i=0; i<scripts.length; i++) {
			var m;
			if (m = scripts[i].src.match(/\#id=(\d+)/)) {
				id = m[1];
			}
		}
		if (!id) { return; }
		MinerToolbar.id = id;
		MinerToolbar.location = document.location;
		MinerToolbar.popups = [];
		if (typeof jQuery != 'function') {
			MinerToolbar.loadJS('http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js');
		}
		MinerToolbar.waitJQuery();
		MinerToolbar.loadCSS('http://platform.miner.hu/platform.css');
	},
	init2: function() {
		MinerToolbar.bar = jQuery('<div id="minerbar_base"></div>').appendTo(document.body).hide();
		MinerToolbar.tooltip = jQuery('<div id="minerbar_tooltip"><div class="minerbar_tooltip_content">...</div></div>').appendTo(document.body);
		// ide addItem kéne!
		var searchForm = jQuery('<form id="minerbar_search"></form>');
		searchForm[0].onsubmit = function() {
			window.open('http://blog.miner.hu/k/' + encodeURIComponent(this.k.value) + '+blog:' + MinerToolbar.meta.url);
			return(false);
		}
		var link = jQuery('<a id="minerbar_searchlink" href="http://miner.hu/" target="_blank"><img class="minerbar_img" src="http://static.miner.hu/images/miner.gif" border="0" /></a>');
		link.appendTo(searchForm);
		var inp = jQuery('<input id="minerbar_searchinput" class="minerbar_searchinput_default" name="k" value="keress ezen a blogon"/>');
		inp[0].onfocus = function() {
			if (this.value == this.defaultValue) {
				this.value = '';
				this.className = '';
			}
		};
		inp[0].onblur = function() {
			if (this.value == '') {
				this.value = this.defaultValue;
				this.className = 'minerbar_searchinput_default';
			}
		};
		inp.appendTo(searchForm);
		searchForm.appendTo(MinerToolbar.bar);
		// MinerToolbar.loadJS('http://www.hirmatrix.hu/stat/stats.js');
	},
	go: function() {
    var width = jQuery(document).width()-32;
    jQuery('#minerbar_base').css('width', width).slideDown("slow");
    jQuery('#minerbar_base .minerbar_tab, #minerbar_base .minerbar_trayicon').hover(
      function(){ // az első függvény akkor fut le, amikor az adott elem fölé megy az egér
      	var state = jQuery(this).hasClass("minerbar_tab_open");
				if (state) return;
        jQuery(this).addClass('minerbar_tabmouseover');
        var tooltipText = jQuery(this).attr('tooltip');
        if (tooltipText) {
          jQuery('#minerbar_tooltip .minerbar_tooltip_content').text(tooltipText);
          var tooltip = jQuery('#minerbar_tooltip').show();
          if (jQuery(this).hasClass('minerbar_tab')) { // jobb oldali tooltip kell, mert "tab", ami jobb oldalon van
            var left = jQuery(this).position().left + jQuery(this).width() - jQuery(tooltip).width() + 38;
            tooltip.removeClass('minerbar_tooltip_left').css('left', left + 'px');
          } else { // baloldali tooltip kell, mert nem "tab", tehát ikon, tehát bal oldalon van
            var left = jQuery(this).position().left/* + jQuery(this).width()*/ + 15;
            tooltip.addClass('minerbar_tooltip_left').css('left', left + 'px');
          }
        }
      },
      function(){ // a második függvény akkor fut le, amikor az adott elem fölül elmegy az egér
        jQuery('#minerbar_tooltip').hide();
        jQuery(this).removeClass('minerbar_tabmouseover');
      }
    );
		// Flash problemak
		/*
		jQuery("object").each(function (i) { // IE
			var attrs = jQuery(this).context.attributes;
			var html = '<OBJECT ';
			for (var i=0; i < attrs.length; i++) html += attrs[i].name + '="' + attrs[i].value + '" ';	
			html += '>';
			var flag = false;
			jQuery(this).children().each(function (elem) {
				if (jQuery(this)[0].nodeName == 'EMBED') {
					jQuery(this).insertAfter(this.parentNode);
				} else {
					if (jQuery(this).attr("NAME") == "wmode") {
						flag=true;
						html += '<PARAM NAME="' + jQuery(this).attr("NAME") + '" VALUE="transparent">';		
					}
					else
						html += '<PARAM NAME="' + jQuery(this).attr("NAME") + '" VALUE="' + jQuery(this).attr("VALUE") + '">';						
				}
			});
			if (!flag) html += '<PARAM NAME="wmode" VALUE="transparent">';		
			html += '</OBJECT>';
			jQuery(html).insertAfter(this);
			jQuery(this).remove();	
		});
		*/	
		jQuery("embed").attr("wmode", 'transparent'); // NON IE
		jQuery("embed").each(function(i) {
			jQuery(this).clone().insertAfter(this);
			jQuery(this).remove();
		});
	},
	waitJQuery: function() {
		if (typeof jQuery != 'function') setTimeout(MinerToolbar.waitJQuery, 250);
		else {
			MinerToolbar.loadJS('http://cdn.cloudfiles.mosso.com/c118751/jquery.cookie.js');
			MinerToolbar.waitJQueryCookie();
		}
	},
	waitJQueryCookie: function() {
		if (typeof jQuery.cookie != 'function') setTimeout(MinerToolbar.waitJQueryCookie, 250);
		else {
			MinerToolbar.init2();
			MinerToolbar.loadJS('http://platform.miner.hu/config.php?title=' + encodeURIComponent(document.title) + '&id='+MinerToolbar.id, 'body');
		}
	},
	waitHirmatrix: function() {
		if (typeof jQuery != 'function') setTimeout(MinerToolbar.waitHirmatrix, 250);
		else {
		}
	},
	loadJS: function(name, node) {
		var item = document.createElement('script');
		item.setAttribute('type', 'text/javascript');
		item.setAttribute('src', name);
		MinerToolbar.loadFile(item, node);
	},
	loadCSS: function(name, node) {
		var item = document.createElement('link');
		item.setAttribute('type', 'text/css');
		item.setAttribute('rel', 'stylesheet');
		item.setAttribute('href', name);
		MinerToolbar.loadFile(item, node);
	},
	loadFile: function(item, node) {
		if (!item) return;
		if (node != 'body') { node = 'head'; }
		document.getElementsByTagName(node)[0].appendChild(item);
	},
	addItem: function(item) {
		var div = jQuery('<div></div>');
		item.div = div;
		if (item.icon) jQuery('<img>').attr({'class': 'minerbar_img', src: item.icon, alt: ''}).appendTo(div);
		if (item.tooltip) div.attr('tooltip', item.tooltip);
		if (item.align && item.align == 'right') {
			div.addClass('minerbar_tab');
			if (item.text) jQuery('<div>').text(item.text).css({margin: '-17px 0 0 20px'}).appendTo(div);
		} else {
			div.addClass('minerbar_trayicon');
			if (item.text) {
				item.box = jQuery('<div>');
				item.box.text(item.text).css({'font-weight': 'bold', color: '#444444', padding: '0 0 0 4px', float: 'left'}).appendTo(div);
			}
			item.align = 'left';
		}
		if (item.callback) {
			MinerToolbar['callback_'+item.id] = function(data) {
				if (data.tooltip) item.div.attr('tooltip', data.tooltip);
				if (typeof data.num != 'undefined') {
					var a = jQuery('<div style="top: -7px; display: block; text-align: center;" class="minerbar_tabalert"></div>');
					a.text(data.num);
					setTimeout(function(){
						a[0].style.marginLeft = item.box[0].offsetWidth + 5 + 'px';
						a.appendTo(item.div);
					}, 500);
				}
			};
			MinerToolbar.loadJS(item.callback + '&callback=MinerToolbar.callback_'+item.id+'&url='+MinerToolbar.location);
		}
		if (item.url) {
			jQuery(div).click(function() {
				if (!item.popupDiv) {
					var popup_width = '220px';
					if (item.popup_width) popup_width = item.popup_width;
					var from_left = this.offsetLeft + 16;
					if (item.align == 'right') from_left = from_left + this.offsetWidth - parseInt(popup_width);
					item.popupDiv = jQuery('<div>').addClass('minerbar_tabpopup').css({bottom: '24px', display: 'none', width: popup_width, left: from_left +'px'});
					item.popupDiv.appendTo(document.body);
					if (item.title) jQuery('<div>').addClass('minerbar_tabtitle').text(item.title).click(function() {item.popupDiv.hide(); jQuery(div).removeClass("minerbar_tab_open"); }).appendTo(item.popupDiv);
					if (item.subtitle) jQuery('<div>').addClass('minerbar_tabsubtitle').text(item.subtitle).appendTo(item.popupDiv);
					var tabcontent = jQuery('<div>').addClass('minerbar_tabcontent');
					jQuery('<iframe>').attr('src', item.url).attr('scrolling', 'no').css({width: popup_width, height: '220px', border: 'none'}).appendTo(tabcontent);
					tabcontent.appendTo(item.popupDiv);
					var tabdiv = jQuery('<div>').addClass('minerbar_tabdivider').css('width', jQuery(div).width()+13);
					tabdiv.appendTo(item.popupDiv);
					jQuery('.minerbar_tabalert', this).remove();
				}
				var state = jQuery(this).hasClass('minerbar_tab_open');
  	    if (state) {
					item.popupDiv.hide();
      	  jQuery(this).removeClass("minerbar_tab_open");
	      } else {
					item.popupDiv.show();
    	    jQuery(this).addClass("minerbar_tab_open");
        	jQuery('#minerbar_tooltip').hide();
        	jQuery(this).removeClass('minerbar_tabmouseover');
	      }
			});
		}
		div.appendTo(MinerToolbar.bar);
	}
}
if (!/MSIE 6/i.test(navigator.userAgent)) MinerToolbar.init();
