	window.addEvent('domready', function() {
//rotator
        var promo = new iCarousel('promo_content', {
          idPrevious: 'example_6_previous',
          idNext: 'example_6_next',
          idToggle: 'undefined',
          item: {
            klass: 'promo_item',
            size: 970
          },
          animation: {
        	transition: Fx.Transitions.backOut,
            type: 'scroll',
            duration: 1000,
            amount: 1
          }
        });
      
        $$('#promo .rotator .n1 a').addEvent('click', function(e){new Event(e).stop();promo.goTo(0);select(this);});
        $$('#promo .rotator .n2 a').addEvent('click', function(e){new Event(e).stop();promo.goTo(1);select(this);});
        $$('#promo .rotator .n3 a').addEvent('click', function(e){new Event(e).stop();promo.goTo(2);select(this);});
        $$('#promo .rotator .n4 a').addEvent('click', function(e){new Event(e).stop();promo.goTo(3);select(this);});
        $$('#promo .rotator .n5 a').addEvent('click', function(e){new Event(e).stop();promo.goTo(3);select(this);});


        var portfolio = new Array();
        
    	var portfolio_id = 0;
    	var portfolio_link = 0;
        $$('.img').each(function(el){
        	portfolio_id++;
        	var new_portfolio_id = portfolio_id;
        	portfolio_link = 0;

    		portfolio[new_portfolio_id] = new iCarousel('img'+new_portfolio_id, {
    	        item: {
    	          klass: 'switch'+new_portfolio_id,
    	          size: 320
    	        },
    	        animation: {
    	          transition: Fx.Transitions.Elastic.easeOut,
    	          type: 'scroll',
    	          duration: 1000,
    	          amount: 2
    	        }
    	      });

    		el.getElements('.rotator a').each(function(ela){
				var new_portfolio_link = portfolio_link;
				ela.addEvent('click', function(e){new Event(e).stop();portfolio[new_portfolio_id].goTo(new_portfolio_link);select(this);});
				portfolio_link++;
            });
        });


//remove border from active link        
	  	  $$('.rotator a').each(function(el) {
	          el.addEvent('focus', function(e) {
	              this.blur(); 
	          }); 
	      });     
  	  
  	  
//nice forms        
	  	  $$('input, textarea').each(function(el) {
	          el.addEvent('focus', function(e) {
	        	  this.addClass('focus');
	          }); 
	      });
	  	  
		  $$('input, textarea').each(function(el) {
			  el.addEvent('blur', function(e) {
				  this.removeClass('focus');
			  }); 
		  });   
        
		  
//form validation
		  $$('#who, #email, #phone').setProperty('autocomplete', 'off');

		  $$('#who').addEvent('keyup', function(e){
			  validate(this, ".+", "");
		  });
		  $$('#email').addEvent('keyup', function(e){
			  validate(this, "^[a-z0-9._%-]+@[a-z0-9.-]+[.][a-z]{2,4}$", "i");
		  });
		  $$('#phone').addEvent('keyup', function(e){
			  validate(this, "^[0-9\+() ]{7,}$", "");
		  });
		  $$('#question').addEvent('keyup', function(e){
			  validate(this, ".+", "");
		  });

		  $$('.submit input').addEvent('click', function(e) {
			  new Event(e).stop();

			  var error_msg = Array();
			  var display_msg = '';
			  
			  validate($$('#who'), ".+", "") ? false : error_msg[0] = 'Wypełnij pole "Jak się nazywasz"';
			  validate($$('#email'), "^[a-z0-9._%-]+@[a-z0-9.-]+[.][a-z]{2,4}$", "i") ? false : error_msg[1] = 'Adres email jest nieprawidłowy';
			  validate($$('#phone'), "^[0-9\+() ]{7,}$", "") ? false : error_msg[2] = 'Numer telefonu jest nieprawidłowy';
			  validate($$('#question'), ".+", "") ? false : error_msg[3] = 'Wypełnij pole "pytanie"';

			  var lastitem = error_msg.getLast();
			  if(lastitem)
				  error_msg.each(function(item, index){
					    if(item != undefined) {
						  	if(item != lastitem)
						    	display_msg += item + '<br />';
						    else
						    	display_msg += item;
					    }
				  });
			  
			  if (!lastitem) {
				  document.getElementById('contact').submit(); // $$(#contact).submit() doesn't work in IE - so we should use "old" convention
			  }
			  else {
				  $$('.message').addClass('error');
				  $$('.message').setHTML(display_msg);
				  $$('.message').removeClass('hide');
			  }
		  });
		  
//show panel when user enters image
		  var portfolio_bg1;
		  var portfolio_rotator1;
		  var portfolio_bg2;
		  var portfolio_rotator2;
		  $$('.portfolio_item .img').addEvent('mouseenter', function(e) {
			  portfolio_bg1 = new Fx.Style(this.getElement('.bg'), 'opacity', {duration:200});
			  portfolio_rotator1 = new Fx.Style(this.getElement('.rotator'), 'opacity', {duration:200});

			  if (portfolio_bg2 && portfolio_rotator2) {
				  portfolio_bg2.set(0);
				  portfolio_rotator2.set(0);
				  portfolio_bg2.stop();
				  portfolio_rotator2.stop();
			  }


			  portfolio_bg1.start(0.0, 0.9);
			  portfolio_rotator1.start(0.0, 1.0);
		  });
		  
		  $$('.portfolio_item .img').addEvent('mouseleave', function(e) {
			  portfolio_bg2 = new Fx.Style(this.getElement('.bg'), 'opacity', {duration:400});
			  portfolio_rotator2 = new Fx.Style(this.getElement('.rotator'), 'opacity', {duration:400});
			  
			  if (portfolio_bg1 && portfolio_rotator1) {
//				  portfolio_bg1.set(0);
//				  portfolio_rotator1.set(0);
	
				  portfolio_bg1.stop();
				  portfolio_rotator1.stop();
			  }
			  
			  portfolio_bg2.start(0.9, 0.0);
			  portfolio_rotator2.start(1.0, 0.0);
		  });
		  
		  $$('.portfolio_item .img .bg').setOpacity(0.0);
		  $$('.portfolio_item .img .rotator').setOpacity(0.0);
		  $$('#promo .rotator').setOpacity(1.0);
	});

      

//for rotator - change class for active link
      function select(link) {   	  
    	  var list = link.getParent();
    	  var rotator = list.getParent();

    	  rotator.getElements('.selected').each(function(el) {
    		  el.removeClass('selected');
    	  });
    	  
    	  link.addClass('selected');
    	  list.addClass('selected');
      }


//validate form values, and change class properly      
      function validate(el, regex, option) {
    		var value = el.getProperty('value').toString();
    		var parent = el.getParent();
    		
    		value.test(regex, option) ? valid = true : valid = false;
    		valid ? parent.removeClass("error") : parent.addClass("error");
    		valid ? parent.addClass("valid") : parent.removeClass("valid");
    		return valid;
    	}
      
