/**
 * @author shfxpl
 */
// dolar

(function(){
    var $ = function(els){
        this.elements = [];
        
        for (var i = 0, l = els.length; i < l; ++i) {
            if (typeof els[i] == 'string') {
				if(elem = document.getElementById(els[i]))
                this.elements.push(elem);
            }
            else {
                this.elements.push(els[i]);
            }
        }
        if (this.elements[0]) 
            this.element = this.elements[0];
        return this;
    }
    
    $.prototype = {};
    
    this.$ = function(){
        return new $(arguments);
    }
    
    this.$.data = {};
    this.$.events = [];

    this.$.add = function(functions){
        for (var i in functions) 
            $.prototype[i] = functions[i];
    }
    
    this.$.ie = /IE/.test(window.navigator.userAgent);
}).call(window);

$.add({
    each: function(fn){
        for (var i = 0, l = this.elements.length; i < l; ++i) {
            fn.call(this, this.elements[i]);
        }
        return this;
    },
    
    content: function(content){
        this.each(function(el){
            el.innerHTML = content;
        });
    },
    ajax: function(uri, callbacks, method, data){
        var xhr, that = this, onReadyStateChange;
        
        if (!XMLHttpRequest) 
            window.XMLHttpRequest = function(){
                var m$ = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', ];
                
                for (var i = 0; i < m$.length; ++i) {
                    try {
                        return new ActiveXObject(m$[i]);
                        break;
                    } 
                    catch (e) {
                    }
                }
            }
            
        onReadyStateChange = function(xhr, callbacks){
            if (!callbacks) 
                callbacks = {};
            switch (this.readyState) {
                case 1:
                    callbacks.start ? callbacks.start.call(this) : null;
                    break;
                case 2:
                    callbacks.loading ? callbacks.loading.call(this) : null;
                    break;
                case 3:
                    callbacks.loaded ? callbacks.loaded.call(this) : null;
                    break;
                case 4:
                    callbacks.done ? callbacks.done.call(this, xhr.responseText) : null;
                    that.content(xhr.responseText);
                    break;
            }
        }
        
        var xhr = new XMLHttpRequest;
        
        xhr.open(method || 'post', uri, true);
        xhr.onreadystatechange = function(){
            onReadyStateChange.call(that, xhr, callbacks);
        };
        xhr.send(data || null);
        
        return this;
    },
    addEvent: function(ev, func){
        this.each(function(obj){
            $.events[obj] = typeof $.events[obj] != 'array' ? [] : null;
            $.events[obj][ev] = typeof $.events[obj][ev] != 'array' ? [] : null;
            
            $.events[obj][ev].push(func);
            if (obj.addEventListener) {
                obj.addEventListener(ev, func, false);
            }
            else 
                if (obj.attachEvent) {
                    obj.attachEvent("on" + ev, func);
                }
        });
    },
    removeEvent: function(ev, func){
        this.each(function(obj){
            if (obj.removeEventListener) {
                obj.removeEventListener(ev, func, false);
            };
            if (obj.detachEvent) {
                obj.detachEvent('on' + ev, func);
            };
                    });
    },
    onClick: function(func){
        this.addEvent('click', func);
    }
});

$.add({
    fixMenu: function(){
        this.each(function(el){
        
            var firstChild = false;
            var lastChild = false;
            
            var width = el.clientWidth;
            for (var i in el.childNodes) {
                if (el.childNodes[i].nodeType == 1) {
                    if (!firstChild) {
                        firstChild = el.childNodes[i];
                    }
                    lastChild = el.childNodes[i];
                    width -= el.childNodes[i].clientWidth;
                }
            }
            if ($.ie) 
                width -= 15;
            
            firstChild.style.paddingLeft = Math.floor(width / 2) + 'px';
            lastChild.style.paddingRight = Math.floor(width / 2) + 'px';
			
            lastChild.style.backgroundImage = 'none';
        });
    },
    
    center: function(width){
        this.each(function(el){
            el.style.marginLeft = Math.floor((width - el.clientWidth - 20) / 2) + 'px';
        
		}) ;
    }
});

(function(){
    $('men').fixMenu();
    $('FormButton1').center(460);
    $('SelectLang').addEvent('change', function(e){
        window.location.href = this.value ? this.value : e.srcElement.value;
    });
	
	sIFR.replaceElement(named({sSelector:"#NewsLetter h2", sFlashSrc:"/media/sifr/myriad_pro.swf", sColor:"#FFFFFF", sWmode:"transparent"}));
	sIFR.replaceElement(named({sSelector:"#Indents h2", sFlashSrc:"/media/sifr/myriad_pro.swf", sColor:"#781432", sWmode:"transparent"}));
	sIFR.replaceElement(named({sSelector:"#Zglos h2", sFlashSrc:"/media/sifr/myriad_pro.swf", sColor:"#781432", sWmode:"transparent"}));
	sIFR.replaceElement(named({sSelector:"#CenterPanel h1", sFlashSrc:"/media/sifr/myriad_pro.swf", sColor:"#3c3737", sWmode:"transparent"}));
	sIFR.replaceElement(named({sSelector:"#Tlum h2", sFlashSrc:"/media/sifr/myriad_pro.swf", sColor:"#FFFFFF", sWmode:"transparent"}));
	sIFR.replaceElement(named({sSelector:"#FormButton1 span", sFlashSrc:"/media/sifr/myriad_pro.swf", sColor:"#FFFFFF", sWmode:"transparent" }));
	sIFR.replaceElement(named({sSelector:"#FormButton2 span", sFlashSrc:"/media/sifr/myriad_pro.swf", sColor:"#FFFFFF", sWmode:"transparent", sFlashVars:"textalign=center" }));
	
	var langs = [];
	
	langs['pl'] = ['angielski (U.K.)', 'angielski (U.S.)', 'arabski', 'białoruski', 'bułgarski', 'chiński', 'chorwacki', 'czeski', 'duński', 'estoński', 'francuski', 'grecki', 'hebrajski', 'hiszpański', 'japoński', 'koreański', 'litewski', 'łotewski', 'niderlandzki', 'niemiecki', 'norweski', 'polski', 'portugalski', 'rosyjski', 'rumuński', 'serbski', 'słowacki', 'szwedzki', 'ukraiński', 'węgierski', 'włoski'];
	langs['de'] = [
		'English (U.K.)',
		'English (U.S.)',
		'Arabisch',
		'Weißrussisch',
		'Bulgarisch ',
		'Chinesisch',
		'Kroatisch',
		'Tschechisch',
		'Dänisch',
		'Estnisch ',
		'Französisch ',
		'Griechisch ',
		'Hebräisch',
		'Spanisch',
		'Japanisch',
		'Koreanisch ',
		'Litauisch',
		'Lettisch ',
		'Niederländisch ',
		'Deutsch',
		'Norwegisch',
		'Polnisch',
		'Portugiesisch ',
		'Russisch',
		'Rumänisch',
		'Serbisch',
		'Slowakisch',
		'Schwedisch',
		'Ukrainisch',
		'Ungarisch',
		'Italienisch'
	];
				
	langs['en'] = [
		'English (U.K.)',
		'English (U.S.)',
		'Arabian',
		'Belorusian',
		'Bulgarian',
		'Chinese',
		'Croatian',
		'Czech',
		'Danish',
		'Estonian',
		'French',
		'Greek',
		'Hebrew',
		'Spanish',
		'Japanese',
		'Korean',
		'Lithuanian',
		'Latvian',
		'Dutch',
		'German',
		'Norwegian',
		'Polish',
		'Portuguese',
		'Russian',
		'Romanian',
		'Serbian',
		'Slovakian',
		'Swedish',
		'Ukrainian',
		'Hungarian',
		'Italian'
	];

	var from = $('from').elements[0], to1 = $('to1').elements[0], to2 = $('to2').elements[0];
	
	if (from && from.style) {
		from.style.width =  to1.style.width = to2.style.width = '115px';
		for (var i in langs[document.body.className]) {
			var option = document.createElement('option');
			option.appendChild(document.createTextNode(langs[document.body.className][i]));
			
			from.appendChild(option)
			option = option.cloneNode(true);
			to1.appendChild(option);
			option = option.cloneNode(true);
			to2.appendChild(option);
		}
		$(from,to1,to2).addEvent('change', func);
	}

	var func = function(){
		var group = [from, to1, to2];
		var selected = [];

		for (var i in group)
		{
			selected.push(group[i].selectedIndex);
			if(this.id != group[i].id && this.selectedIndex == group[i].selectedIndex)
			{
				this.selectedIndex = 0;
				return;
			}
		}

		for(var i in group)
		{
			for(var j in group[i].options)
			{
				group[i].options[j].disabled = false;
			}

			if (this.id != group[i].id)
			{
				for(var k in selected)
				{
					if(group[i].options[selected[k]].value !='')
					{
						group[i].options[selected[k]].disabled = true;
					}
				}
				
			}
		}
    }

	
})();

