var $j = jQuery.noConflict();

// tooltip extension
(function($)
{
	$.fn.extend({
		tooltip: function()
		{
			var _self = $(this);

			_self.each(function() {
				var _context = $(this);
				_context.mouseover(function() {
					_context.parent().find('div.jstooltip,div.jstooltip-tick').remove();
					var _value = String(_context.attr('tooltip') ? _context.attr('tooltip') : _context.text()).replace(/ /gi, '&nbsp;');
					_context.parent().append('<div class="jstooltip"><span>' + _value + '</span></div><div class="jstooltip-tick"></div>');
					var _t = $(_context.parent().find('div.jstooltip').get(0));
					_t.css('marginLeft', _t.width() / -2 + 10);
				}).mouseout(function() {
					_context.parent().find('div.jstooltip,div.jstooltip-tick').remove();
				});
			});

			return _self;
		}
	});
})(jQuery);

var COOKIE = {
    set: function(key, val, o){
        o = o||{};
        val = encodeURIComponent(val);
        if (o.domain) {
            val += '; domain=' + o.domain;
        }
        if (o.path) {
            val += '; path=' + o.path;
        }
        else {
            val += '; path=/';
        }
        if (o.duration) {
            var date = new Date();
            date.setTime(date.getTime() + o.duration*24*60*60*1000);
            val += '; expires=' + date.toGMTString();
        }
        if (o.secure) {
            val += '; secure';
        }
        document.cookie = key + '=' + val;
    },

    get: function(key){
        var m = document.cookie.match('(?:^|;)\\s*?' + key + '=([^;]*)');
        return (m) ? decodeURIComponent(m[1]) : null;
    },

    remove: function(key){
        return this.set(key, "", {duration: -1});
    }
}

var initializeHighContrastOptions = function(lang) {
	if(lang == 'en'){
		var $html  = '<div id="high_contrast_options" class="hidden">';
		$html += '<div id="hc_close"><input type="button" class="button" value="close" /></div>';
		$html += '<h3>High contrast</h3>';
		$html += '<ul>';
		$html += '<li><input type="button" class="css_normal" css="default" value="default version" /></li>';
		$html += '<div class="clear"></div>';
		$html += '<li><input type="button" class="high_contrast_02" css="02" value="high contrast version" /></li>';
		$html += '<li><input type="button" class="high_contrast_01" css="01" value="high contrast version" /></li>';
		$html += '<li><input type="button" class="high_contrast_04" css="04" value="high contrast version" /></li>';
		$html += '<li><input type="button" class="high_contrast_03" css="03" value="high contrast version" /></li>';
		$html += '<li><input type="button" class="high_contrast_05" css="05" value="high contrast version" /></li>';
		$html += '<li><input type="button" class="high_contrast_06" css="06" value="high contrast version" /></li>';
		$html += '<li><input type="button" class="high_contrast_07" css="07" value="high contrast version" /></li>';
		$html += '<li><input type="button" class="high_contrast_08" css="08" value="high contrast version" /></li>';
		$html += '</ul>';
		$html += '<div class="clear"></div>';
		$html += '</div>';
	}else{
		var $html  = '<div id="high_contrast_options" class="hidden">';
		$html += '<div id="hc_close"><input type="button" class="button" value="zamknij" /></div>';
		$html += '<h3>Wysoki kontrast</h3>';
		$html += '<ul>';
		$html += '<li><input type="button" class="css_normal" css="default" value="wersja domyślna" /></li>';
		$html += '<div class="clear"></div>';
		$html += '<li><input type="button" class="high_contrast_02" css="02" value="wersja kontrastowa" /></li>';
		$html += '<li><input type="button" class="high_contrast_01" css="01" value="wersja kontrastowa" /></li>';
		$html += '<li><input type="button" class="high_contrast_04" css="04" value="wersja kontrastowa" /></li>';
		$html += '<li><input type="button" class="high_contrast_03" css="03" value="wersja kontrastowa" /></li>';
		$html += '<li><input type="button" class="high_contrast_05" css="05" value="wersja kontrastowa" /></li>';
		$html += '<li><input type="button" class="high_contrast_06" css="06" value="wersja kontrastowa" /></li>';
		$html += '<li><input type="button" class="high_contrast_07" css="07" value="wersja kontrastowa" /></li>';
		$html += '<li><input type="button" class="high_contrast_08" css="08" value="wersja kontrastowa" /></li>';
		$html += '</ul>';
		$html += '<div class="clear"></div>';
		$html += '</div>';
	}
	if ($j('body') != undefined) {
		$j('body').prepend($html);
	}

	$j('#high_contrast_options ul input').click(function() { hcfSetCSS(this) });
	$j('#ln_high_contrast a').click(hcfOpenPanel);
	$j('#hc_close input').click(hcfClosePanel);
}

var initializeSocialNetworksOptions = function(lang) {
	var $html  = '<div id="social_networks_options" class="hidden">';
	if (lang == 'en') {
		$html += '<h3>Share It</h3>';
		$html += '<ul>';
		$html += '<li><input type="button" id="sn_wykop" value="Wykop" /></li>';
		$html += '<li><input type="button" id="sn_blip" value="Blip" /></li>';
		$html += '<li><input type="button" id="sn_twitter" value="Twitter" /></li>';
		$html += '<li><input type="button" id="sn_facebook" value="Facebook" /></li>';
		$html += '</ul>';
		$html += '<div class="clear"></div>';
		$html += '<div id="sn_close"><input type="button" class="button" value="close" /></div>';
		$html += '</div>';
	} else {
		$html += '<h3>Podziel się</h3>';
		$html += '<ul>';
		$html += '<li><button id="sn_wykop"><div class="sn_icon wykop"></div><span>Wykop</span></button></li>';
		$html += '<li><button id="sn_blip"><div class="sn_icon blip"></div><span>Blip</span></button></li>';
		$html += '<li><button id="sn_twitter"><div class="sn_icon twitter"></div><span>Twitter</span></button></li>';
		$html += '<li><button id="sn_facebook"><div class="sn_icon facebook"></div><span>Facebook</span></button></li>';
		$html += '</ul>';
		$html += '<div class="clear"></div>';
		$html += '<div id="sn_close"><input type="button" class="button" value="zamknij" /></div>';
		$html += '</div>';
	}
	if ($j('body') != undefined) {
		$j('body').prepend($html);
	}

	$j('.icon-share').click(snpOpenPanel);
	$j('#sn_close input').click(snpClosePanel);
}
var snpOpenPanel = function() {
	$j('#social_networks_options').fadeIn(350);
	return false;
}
var snpClosePanel = function() {
	$j('#social_networks_options').fadeOut(200);
	return false;
}

var setSocialTargets = function(urls) {
	var obj = $j('#sn_wykop');
	obj.unbind('click');
	obj.click(function() {
		window.open(urls['wykop']);
	});
	obj = $j('#sn_blip');
	obj.unbind('click');
	obj.click(function() {
		window.open(urls['blip']);
	});
	obj = $j('#sn_twitter');
	obj.unbind('click');
	obj.click(function() {
		window.open(urls['twitter']);
	});
	obj = $j('#sn_facebook');
	obj.unbind('click');
	obj.click(function() {
		window.open(urls['facebook']);
	});
}

var hcfSetCSS = function(el) {
	var css = $j(el).attr('css');
	$oldCSS = $j('body').attr('className');
	if ($oldCSS != undefined) {
		$j('body').removeClass($oldCSS);
	}

	$j('body').attr('className', '');
	if (css != 'default') {
		$j('body').addClass('hc_'+css);
		$j('body').attr('className', 'hc_'+css);
	}
	COOKIE.set('poznanpl_hc_style', $j('body').attr('className'));
}
var hcfOpenPanel = function() {
	$j('#high_contrast_options').fadeIn(350);
	return false;
}
var hcfClosePanel = function() {
	$j('#high_contrast_options').fadeOut(200);
	return false;
}

$j(function() {
	$j(document).ready(function() {

		var css = COOKIE.get('poznanpl_hc_style');
		css ? $j('body').attr('className', css) : null;
		$j('body').addClass(css);

		if( typeof(lang) != "undefined"  && lang == 'en'){
			initializeHighContrastOptions('en');
			initializeSocialNetworksOptions('en');
		} else{
			initializeHighContrastOptions('pl');
			initializeSocialNetworksOptions('pl');
		}
/*
		$j('#lhs li.rolled-up ul').stop(true).slideUp(0);

		$j('#lhs li.submenu > a').click(function() {

			$(this).parent().parent().find('> li.submenu').addClass('rolled-up').removeClass('selected').find('ul').stop(true).slideUp();

			if ($(this).parent().hasClass('rolled-up'))
			{
				$(this).parent().removeClass('rolled-up').addClass('selected').find('ul').stop(true).slideDown();
			}
			else
			{
				$(this).parent().addClass('rolled-up').removeClass('selected').find('ul').stop(true).slideUp();
			}
		});
*/

			$j('#toolbar a,a[tooltip]').tooltip().click(function() {
				return false;
			});

		$j('.icon-print').click(function() {
			window.print();
			return false;
		});
		$j('.icon-font-default').click(function() {
			$j('#rhs, #content').removeClass('bigger').removeClass('biggest');
			$j('#toolbar li').removeClass('selected');
			$j(this).parent().addClass('selected');
			return false;
		});
		$j('.icon-font-bigger').click(function() {
			$j('#rhs, #content').removeClass('bigger').removeClass('biggest').addClass('bigger');
			$j('#toolbar li').removeClass('selected');
			$j(this).parent().addClass('selected');
			return false;
		});
		$j('.icon-font-biggest').click(function() {
			$j('#rhs, #content').removeClass('bigger').removeClass('biggest').addClass('biggest');
			$j('#toolbar li').removeClass('selected');
			$j(this).parent().addClass('selected');
			return false;
		});
	});
});

