/**
 * @author BartekG
 */
var basedir = '';

var textShadow = function(el, right, below, radius, color, nativeTs) {
    if(nativeTs) el.setStyle('text-shadow',right + 'px ' + below + 'px ' + radius + 'px ' + color);
    else {
        el.setStyles({
            'position':'relative',
            'z-index':1
        });
        var shadow = new Element('span', {'text':el.get('text'), 'class':'shadow'});
        shadow.setStyles({
            'position': 'absolute',
            'top': below + 'px',
            'left': right + 'px',
            'color':color,
            'z-index': -1 
        }).inject(el);
		if(Browser.Engine.trident && Browser.Engine.version == 6) {
			shadow.setStyle('top',below - 1 + 'px');
		}
        if(Browser.Engine.trident && radius) {
            shadow.setStyle("filter","progid:DXImageTransform.Microsoft.Glow(Color=" + color + ",Strength=2) progid:DXImageTransform.Microsoft.blur(pixelradius=" + radius + ", enabled='true')");
        }
    }
}
var editable = function() {
    $$('input.editable').each(function(el){
        el.set('value', el.get('title')).addClass('defaultvalue');
        el.addEvent('focus',function(){
            if(el.hasClass('defaultvalue')) el.removeClass('defaultvalue').set('value','');
        });
        el.addEvent('blur',function(){
            if(!el.hasClass('defaultvalue') && el.get('value')=='') el.addClass('defaultvalue').set('value',el.get('title'));
        });
    });
	$$('#search .submit').set('value','');
};
var print = function() {
    $$('.printLink').each(function(el) {
        el.addEvent('click', function(e) {
            var e = new Event(e);
            e.preventDefault();
            window.open(el.getAttribute('href'), 'Drukuj');
        });
    });
}
var doradca = function() {
    $('rOZ').setStyles({'visibility':'hidden','height':'0','overflow':'hidden','margin-bottom':'0'});
    $('rOD').setStyles({'visibility':'hidden','height':'0','overflow':'hidden','margin-bottom':'0'});
    $('rRU').setStyles({'visibility':'hidden','height':'0','overflow':'hidden','margin-bottom':'0'});
    $('IS').addEvent('change',function(){
        if(this.get('value')==1) {
            $('rOZ').setStyles({'visibility':'visible','height':''});
            $('rOD').setStyles({'visibility':'hidden','height':'0','margin-bottom':'0'});
            $('rRU').setStyles({'visibility':'visible','height':'','margin-bottom':'0'});
            $('rFR').setStyles({'visibility':'hidden','height':'0'});
        }
        else if(this.get('value')==2) {
            $('rOZ').setStyles({'visibility':'hidden','height':'0','margin-bottom':'0'});
            $('rOD').setStyles({'visibility':'visible','height':'','margin-bottom':'10px'});
            $('rRU').setStyles({'visibility':'hidden','height':'0','margin-bottom':'0'});
            $('rFR').setStyles({'visibility':'visible','height':'','margin-bottom':'10px'});
        }
        else if(this.get('value')==3 || this.get('value')==4) {
            $('rOZ').setStyles({'visibility':'visible','height':'','margin-bottom':'10px'});
            $('rOD').setStyles({'visibility':'hidden','height':'0','margin-bottom':'0'});
            $('rRU').setStyles({'visibility':'hidden','height':'0','margin-bottom':'0'});
            $('rFR').setStyles({'visibility':'hidden','height':'0','margin-bottom':'0'});
        }
		if (Browser.Engine.trident && Browser.Engine.version < 6) {
			$$('#rFR .alreadyAdded').setStyle('zoom',1);
			$$('select').setStyle('height','25px')
		}
		//helpHelp();
    });
    
    $('IS').fireEvent('change');
};
var helpHelp = function() {
    $$('a.help').each(function(element){
        if(!element.hasClass('alreadyAdded')) {
            element.addClass('alreadyAdded');
            element.addEvent('click',function(e){
                var e = new Event(e);
                e.preventDefault();
            });
            if(!element.getNext('span').getElement('strong.shadowRight')) {
                element.getNext('span').setStyle('display','block');
                element.getNext('span').getElement('em').setStyle('position','relative').set('html',element.getNext('span').getElement('em').get('html') + '<strong class="shadowRight">&nbsp;</strong><strong class="shadowBottom">&nbsp;</strong>');
                element.getNext('span').getElement('strong.shadowRight').setStyle('height',element.getNext('span').getSize().y  - 10 + 'px');
                element.getNext('span').getElement('strong.shadowBottom').setStyle('width',element.getNext('span').getSize().x  - 13 + 'px');
                if(element.getNext('span').hasClass('inverted')) {
                    element.getNext('span').getElement('strong.shadowRight').setStyle('height',element.getNext('span').getSize().y - 4 + 'px');
                }
				element.getNext('span').setStyle('display','');
            }
            element.addEvent('mouseenter', function(){
                if (Browser.Engine.presto) {
                    element.getNext('span').addClass('show').setStyles({
                        'top': element.getPosition().y - 35 + 'px',
                        'left': element.getPosition().x + 10 + 'px',
                        'display': 'block',
						'zoom':'1',
						'z-index':'999999'
                    }).fade('show');
                }
				else if (Browser.Engine.trident) {
                    element.getNext('span').addClass('show').fade('hide').setStyles({
                        'top': element.getPosition().y - 35 + 'px',
                        'left': element.getPosition().x + 10 + 'px',
                        'display': 'block'
                    }).fade('show');
                }
                else {
                    element.getNext('span').addClass('show').fade('hide').setStyles({
                        'top': element.getPosition().y - 35 + 'px',
                        'left': element.getPosition().x + 10 + 'px',
                        'display': 'block'
                    }).fade(1);
                }
				if(element.getNext('span').hasClass('inverted')) element.getNext('span').setStyles({
					'left': element.getPosition().x - 15 - element.getNext('span').getSize().x + 'px',
					'top': element.getPosition().y - element.getNext('span').getSize().y + 35 + 'px'
				});
				if (element.getParent('div.compareResult') && element.getParent('div.compareResult').getStyle('position') == 'relative') {
					var top = element.getNext('span').getSize().y - 45;
					if (Browser.Engine.trident && !element.getNext('span').hasClass('inverted')) {
	                    element.getNext('span').setStyle('background-position-x', '-1px');
	                    element.getNext('span').getElement('em').setStyle('background-position-x', '2px');
	                }
					if(element.getParent('td.banks2')) {
						if (element.getNext('span').hasClass('inverted')) {
						    element.getNext('span').setStyles({
                                'top': '-' + top + 'px',
                                'left': 'auto',
                                'right': '120px'
                            });
						}
						else {
							element.getNext('span').setStyles({
								'top': '-25px',
								'left': 'auto',
								'right': '-109px'
							});
						}
					}
					else {
						element.getNext('span').setStyles({
	                        'top': '-25px',
	                        'left': 'auto',
	                        'right': '73px'
	                    });
					}
					if(element.getNext('span').hasClass('up')) {
						element.getNext('span').setStyles({
	                        'top': '-' + top + 'px'
	                    });
					}
				}
				else if (element.getParent('div.compareResult')) {
					element.getNext('span').setStyles({
						'top': element.getPosition().y + 10,
						'left': element.getPosition().x,
                        'width': '250px', 
                        'margin-left': (element.getParent('td.banks2') ? -200 : 20)
                    });
				}
            });
            element.addEvent('mouseleave', function(){
                if (Browser.Engine.presto) element.getNext('span').setStyle('display','none');
				else if (Browser.Engine.trident) element.getNext('span').fade('hide');
                else element.getNext('span').fade(0);
            });
        }
    });
};
window.addEvent('domready', function(){
    editable();
    nativeTs = 0;
    if((Browser.Engine.presto && Browser.Engine.version >= 950) || (Browser.Engine.gecko && Browser.Engine.version > 19) || (Browser.Engine.webkit && navigator.userAgent.toLowerCase().indexOf('chrome') < 0)) nativeTs = 1;
    $$('#header ul li em').each(function(el){
        textShadow(el, 0, -1, 0, '#fff', nativeTs);
    });
    $$('#header > ul li').addEvents({
        'mouseover': function(){this.addClass('hover');},
        'mouseleave': function(){this.removeClass('hover');}
    });
    print();
    //initImageZoom({overlay:true});
    if($('IS') && $('RU') && $('OZ') && $('OD')) {
        doradca();
    }
	helpHelp();
	
	if($$('a[rel^=imagezoom').length || $$('a[rel^=zoombox').length) {
        o = 0; //fix do opery
        new Asset.css(basedir + '/static/js/zoombox/zoombox.css');
        new Asset.javascript(basedir + '/static/js/zoombox/zoombox.js', {
            onload: function(){
                if (!o && typeof ZoomBox !== 'undefined') {
					new ZoomBox({
						back: true,
						selector: 'imagezoom'
					});
					new ZoomBox({
                        back: true,
                        selector: 'zoombox'
                    });
					o = 1;
				}
            }
        });
    }
});
