var SiteClass = new Class({

    lang: 'pl',

	initialize: function(lang){
        this.lang = lang;
        
		this.activateSifr();
		
		hs.registerOverlay(
			{
				thumbnailId: null,
				overlayId: 'controlbar',
				position: 'top right',
				hideOnMouseOut: true
			}
		);
		
		hs.graphicsDir = 'public/images/highslide/graphics/';
		hs.outlineType = 'rounded-white';
		hs.align = 'center';
		hs.captionEval = 'this.thumb.title';
        
	}, // initialize

	
	domReady: function() {
		this.activateMenu();
		this.activateNewsletter();
		this.acticateFontSize();
		this.activatePoll();
		this.activateDateCalendar();
		this.activateFlash();
		
		// usuwanie outline
		var a = $$('a img');
        for(var i = 0; i < a.length; i++) {
            a[i].getParent().onfocus = a[i].getParent().blur;
        }
		
	}, // domReady
	
	playMusic: function(filename) {
         $('mp3').sendToActionScript(filename);
	}, // playMusic
	
	addBookmark: function ()
	{
	    if(Browser.Engine.trident) {
            window.external.AddFavorite(location.href,document.title);
	    }
        else if(Browser.Engine.gecko) {
            window.sidebar.addPanel(document.title,location.href,'');
        }
        
        return false;
	},
	
	activateFlash: function ()
	{
	    
        var version = deconcept.SWFObjectUtil.getPlayerVersion();
        var flash_container = $('flash_container');
        var player = $('player');
        var player_big = $('player_big');
        var map = $('interactive_map');
		var christmas_banner = $('christmas_banner');
               
        if (document.getElementById && version["major"] < 9) {
            if (flash_container) {
                flash_container.innerHTML = '<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BUIGP" title="brak wtyczki flash" class="no_flash"></a>';
            }
            if (player) {
                player.innerHTML = '<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BUIGP" title="brak wtyczki flash" class="no_flash"></a>';
            }
            if (map) {
                map.innerHTML = '<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BUIGP" title="brak wtyczki flash" class="no_flash"></a>';
            }
        } else {
            if(player) {
            	var so = new SWFObject("/public/flash/video_small.swf", "top", "280", "245", "9", "#361d17");
            	so.addParam("scale", "noscale");
            	so.addParam("wmode", "opaque");
            	so.addParam("menu", "true");
            	so.addParam("allowScriptAccess", "sameDomain");
            	so.addParam("quality", "high");
            	so.write("player");
            }
            if(flash_container) {
        		var so = new SWFObject("/public/flash/main.swf?langPar="+this.lang, "top", "630", "175", "9", "#361d17");
        		so.addParam("scale", "noscale");
        		so.addParam("wmode", "opaque");
        		so.addParam("menu", "true");
        		so.addParam("allowScriptAccess", "sameDomain");
        		so.addParam("quality", "high");
        		so.addParam("langPar", this.lang);
        		so.write("flash_container");
            }
            if(map) {
            	var so = new SWFObject("/public/flash/mapka_"+this.lang+".swf", "top", "280", "440", "9", "#ffffff");
            	so.addParam("scale", "noscale");
            	so.addParam("wmode", "opaque");
            	so.addParam("menu", "true");
            	so.addParam("allowScriptAccess", "sameDomain");
            	so.addParam("quality", "high");
            	so.write("interactive_map");
            }
        }   
	},
	
	activatePoll: function () {
	    var poll = $('poll-form');
	    var button = $('poll-button');
	    var div = $('poll-container');
	    var more = $('poll-more');
	    back = $('poll-back');
	    _site = this;
	    
	    if(more) {
	        more.addEvent('click', function () {
	            
	            var loader = new Element('div');
    	        loader.setProperty('id','poll-loader');
    	        loader.inject(div);
    	        loader.setStyle('display', 'block');
    	        
	            var req = new Request({
                    url: more.getProperty('href'),
                    method: 'get',
                    evalScripts: true,
                    autoCancel: true,
                    onSuccess: function (responseText) {
                        loader.setStyle('display', 'none');
                        $('poll-loader').destroy();
                        
                        var hide = new Fx.Morph(div, {duration: 500, transition: Fx.Transitions.Quad.easeOut});
                        hide.onComplete = function () {
                              div.innerHTML = responseText;
                              _site.activatePoll();
                              var show = new Fx.Morph(div, {duration: 500, transition: Fx.Transitions.Quad.easeIn});
                              show.onComplete = function () {
                          }
                          show.start({
                              'opacity': [0,1]
                          });
                        }
                        hide.start({
                              'opacity': [1,0]
                          });
                    },
                    onFailure: function () {
                        loader.setStyle('display', 'none');
                        $('poll-loader').destroy();
                    }
	            }).send();

	            return false;
	        });
	    }
	    
	    if(back) {
	        back.addEvent('click', function () {
	            
	            var loader = new Element('div');
    	        loader.setProperty('id','poll-loader');
    	        loader.inject(div);
    	        loader.setStyle('display', 'block');
    	        
	            var req = new Request({
                    url: back.getProperty('href'),
                    method: 'get',
                    evalScripts: true,
                    autoCancel: true,
                    onSuccess: function (responseText) {
                        loader.setStyle('display', 'none');
                        $('poll-loader').destroy();
                        
                        var hide = new Fx.Morph(div, {duration: 500, transition: Fx.Transitions.Quad.easeOut});
                        hide.onComplete = function () {
                              div.innerHTML = responseText;
                              _site.activatePoll();
                              var show = new Fx.Morph(div, {duration: 500, transition: Fx.Transitions.Quad.easeIn});
                              show.onComplete = function () {
                          }
                          show.start({
                              'opacity': [0,1]
                          });
                        }
                        hide.start({
                              'opacity': [1,0]
                          });
                    },
                    onFailure: function () {
                        loader.setStyle('display', 'none');
                        $('poll-loader').destroy();
                    }
	            }).send();

	            return false;
	        });
	    }
    
	    if(poll) {
    	    
    	    poll.addEvent('submit', function () {
    	        
    	        button.setStyle('display', 'none');
    	        
    	        var loader = new Element('div');
    	        loader.setProperty('id','poll-loader');
    	        loader.inject(div);
    	        loader.setStyle('display', 'block');
    	        
    	        poll.set('send',{ url: '/ankieta/vote',
                    	  onSuccess: function(response) {
                    	      loader.setStyle('display', 'none');
                    	      $('poll-loader').destroy();
                    	      
                    	      var hide = new Fx.Morph(div, {duration: 500, transition: Fx.Transitions.Quad.easeOut});
                    	      hide.onComplete = function () {
                    	          div.innerHTML = response;
		                          _site.activateSifr();
		                          _site.activatePoll();
                    	          var show = new Fx.Morph(div, {duration: 500, transition: Fx.Transitions.Quad.easeIn});
                    	          show.onComplete = function () {
                    	          }
                    	          show.start({
                    	              'opacity': [0,1]
                    	          });
                    	      }
                    	      hide.start({
                    	              'opacity': [1,0]
                    	          });
                    	  },
                    	  onFailure: function () {
                    	      loader.setStyle('display', 'none');
                    	      $('poll-loader').destroy();
                    	  }
                });
        
                poll.send();
    	        
    	        return false;
    	    });
	    }
	},

	acticateFontSize: function() {
		
		if(Cookie.read('fontsize')) {
			var body = $$('body');
			body[0].setStyle('font-size', Cookie.read('fontsize'));
		}
		
		$$('ul li.font-size a').each(function(a){
			a.addEvent('click', function(){
				var fontSize, body = $$('body'), still = $('right_menu'), still_font = '11px';
				switch(this.getProperty('class')) {
					case 'normal': fontSize = '11px'; break;
					case 'large': fontSize = '13px'; break;
					case 'big': fontSize = '15px'; break;
				}
				if(still) still_font = still.getStyle('font-size');
				body[0].setStyle('font-size', fontSize);
				if(still) still.setStyle('font-size', still_font);
				Cookie.write('fontsize', fontSize, {duration: 365});
			});
		});
		
	}, //acticateFontSize
	
	activateNewsletter: function() {
		
		if($('newsletter-form')) {
		    
			$('submit_add').addEvent('click', function(){ 
			     $('email_add').set('value', '1'); 
                 Site.addToNewsletter();
                 return false;
			});
			
			$('submit_rem').addEvent('click', function(){ 
			    $('email_add').set('value', '0'); 
                 Site.addToNewsletter();
                 return false;
			});
		}
		
	}, //activateNewsletter
	
	// dodaje email do newslettera
	addToNewsletter: function() {
	    
        var form_newsletter = $('newsletter-form');
        var message = $('newsletter-message');
        var loader = $('newsletter-loader');
        var submit_add = $('submit_add');
        var submit_rem = $('submit_rem');
        
        submit_add.setStyle('visibility', 'hidden');
        submit_rem.setStyle('visibility', 'hidden');
        loader.setStyle('display', 'block');
         
        form_newsletter.set('send',{ url: '/newsletter/window',
                    	  onSuccess: function(response) {
                    	      loader.setStyle('display', 'none');
                              submit_add.setStyle('visibility', 'visible');
                              submit_rem.setStyle('visibility', 'visible');
            	              message.innerHTML = response;
                    	  }
               });
        
        form_newsletter.send();
	},
	
	activateMenu: function() {
		
		// dodawanie akcji po najechaniu myszy, nie ma akcji po zjechaniu!
		$$('ul#main_menu > li').each(function(li){
			li.addEvent('mouseenter', function(){
				$$('ul#main_menu > li').each(function(obj){ obj.removeClass('hover'); });
				this.addClass('hover');
			});
		});
		
	}, //actiateMenu
	
	activateSifr: function() {

		var font = {
			src: 'public/flash/TrajanPro.swf'
			, ratios: [6,1.41,9,1.35,15,1.29,21,1.25,22,1.22,27,1.24,29,1.21,34,1.22,41,1.21,45,1.2,46,1.21,59,1.2,68,1.19,69,1.2,96,1.19,97,1.18,102,1.19,103,1.18,107,1.19,108,1.18,112,1.19,114,1.18,116,1.19,120,1.18,121,1.19,1.18]
		};

		sIFR.useStyleCheck = true;
		sIFR.compatMode = true;

		sIFR.activate(font); // w IE7 na tym sie wywala.

		sIFR.replace(font, {
		selector: 'ul#boxes li.office h1',
		css: [
			'.sIFR-root { font-size: 16px; font-weight: bold; }'
			, 'a { color: #AEA17C; text-decoration: none; }'
			, 'a:link { color: #4D1A09; }'
			, 'a:hover { color: #4D1A09; }'
		],
			wmode: 'transparent'
		});

		sIFR.replace(font, {
		selector: 'h1.to_replace_16',
		css: [
			'.sIFR-root { font-size: 16px; font-weight: bold; color: #4D1A09; }'
			, 'a { color: #4D1A09; text-decoration: none; }'
			, 'a:link { color: #4D1A09; }'
			, 'a:hover { color: #4D1A09; }'
		],
			wmode: 'transparent'
		});

		sIFR.replace(font, {
		selector: 'h1.to_replace_15',
		css: [
			'.sIFR-root { font-size: 15px; font-weight: bold; color: #4D1A09; }'
		],
			wmode: 'transparent'
		});

		sIFR.replace(font, {
		selector: 'h1.to_replace_14',
		css: [
			'.sIFR-root { font-size: 14px; font-weight: bold; color: #4D1A09; }'
		],
			wmode: 'transparent'
		});

		
	}, //activateSifr
	
	showMail: function(user, domain, contry, attr) {
		var start = "<a href=\"mailto:" + user + "@" + domain + "." + contry + "\"" + attr + ">";
		var end = "</a>";
		document.write(start + user + "@" + domain + "." + contry + end);
		return false;
	}, // showMail
	
	// pobiera kalendarz
	getCalendar: function(month, year) {
	    
        var path = 'kalendarz/' + month + '/' + year;
        
        var req = new Request({  
            method: 'get',
            url: path,
            onSuccess: function(response) {
                $('calendar-box').innerHTML = response;
            }  
        }).send();
	}, // pobiera kalendarz
	
	activateDateCalendar: function() {
		
        /* dodaje kalendarz wyboru daty */
        if ($('date')) {
            InputValue = $('date').value.split("-");
            if (InputValue['0']) dayInput = InputValue['0'].replace(/^(0)(.*)/,"$2");
            else dayInput = null;
            if (InputValue['1']) monthInput = InputValue['1'].replace(/^(0)(.*)/,"$2");
            else monthInput = null;
            if (InputValue['1']) yearInput = InputValue['2'];
            else yearInput = null;
            new vlaDatePicker('date', 
                { offset: { y: 1 }, 
                    separator: '-', 
                    alignX: 'center', 
                    alignY: 'bottom', 
                    format: 'd m y', 
                    prefillDate: { day: dayInput, month: monthInput, year: yearInput },
                    ieTransitionColor: ''
                });
        }
		
	} //activateDateCalendar
	
	
});
