function fontsize(size){
  var body = $('body');
  body.removeClass('small');
  body.removeClass('medium');
  body.removeClass('big');
  body.removeClass('super_big');
  body.addClass(size);
  Cookie.write('fontsize',size,{'path':'/','duration':365});
  $$('#fontsize a').removeClass('active');
  //$('fs_'+size).addClass('active');
  }
/*--------------------------------------------------------------------------------------------------------------------------------*/

function location_href(){
	return window.location.href.replace(/#.*/,'');
	}

/*--------------------------------------------------------------------------------------------------------------------------------*/	
	
function popup( url , name , width , height ){
  var left = (screen.width > width ) ? (screen.width-width)/2 : 0;
  var top = (screen.height > height ) ? (screen.height-height)/2 : 0;
  var strWindowFeatures  = 'modal=yes,menubar=no,toolbar=no,location=no,resizable=yes,scrollbars=yes,status=no,titlebar=no';
  url += ( url.contains('?') ? '&' : '?' ) + 'width='+width+'&height='+height+'&top='+top+'&left='+left;
  return window.open(url,name,strWindowFeatures+",width="+width+",height="+height+",top="+top+",left="+left);
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

function $save(id){
  if ( $(id) ) $(id).submit();
  return false;
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

function menu (obj){
  var li = $(obj).getParent('li');
  var ul = li.getElement('ul');
  ul.toggleClass('hide');
  if ( li.hasClass('active' ) ){
  	li.removeClass('active');
  	}
  else if ( !ul.hasClass('hide') ){
  	li.addClass('active');
  	}
  if ( li.hasClass('expanded') ){
  	li.removeClass('expanded');
  	}
  else {
  	li.addClass('expanded');
  	}
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

function input_clone( input , type ){
  var input = $(input);
  input.removeEvents();
  var new_input = new Element('input',{'type':type,'class':input.className,'name':input.name,'id':input.id,'style':input.style,'value':input.value,'title':input.title});
  //var new_input = new Element( 'input' , { 'type' : type } ); new_input.setProperties( input.getProperties( 'class','name','id','style','value','title' ) );
  new_input.replaces(input);
  if ( type == 'password' ){
    new_input.focus();
    new_input.focus();//IE...
    }
  else{
    new_input.blur();
    }
  clear_input(new_input);
  return new_input;
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

function clear_input( input ){
  var input = $(input);
  if ( input && input.title ){
    if ( input.value == '' ){
      input.value = input.title;
      }
    input.addEvent('focus',function(){
      if ( input.title.trim() == input.value.trim() ){
        input.value = '';
        if ( input.name == 'password' || input.name == 'password_confirm' ){
          input_clone( input , 'password' );
          }
        }
      });
    input.addEvent('blur',function(){
      if ( input.value == '' ){
        if ( input.name == 'password' || input.name == 'password_confirm' ){
          input = input_clone( input , 'text' );
          }
        input.value = input.title;
        }
      });
    }
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

function ajax_loader( container , mode ){
  if ( container ){
	  if ( !mode || mode == 'add' ){
	  	var ml = mt = 0;
	    container = $(container);
	    container.set('opacity',.7);
	  	var al = new Element('span',{'class':'ajax_loader'});
	  	if ( container.get('tag') == 'body' ){
	  		al.setStyles({'position':'fixed','top':'50%','left':'50%'});
	  		}
	  	else {
	  		var size = container.getSize();
		  	ml = ( size.x / 2 );
		  	mt = ( size.y / 2 );	
	  		}
	  	ml = ml - ( al.getStyle('width').toInt() / 2 ) - container.getStyle('paddingLeft').toInt();
	  	mt = mt - ( al.getStyle('height').toInt() / 2 ) - container.getStyle('paddingTop').toInt();
	  	al.setStyles({'marginTop':mt+'px','marginLeft':ml+'px'});	  	
			al.inject(container,'top');
	  	return al;
	    }
	  else if ( mode == 'delete' || mode == 'remove' ) {
	    container.set('opacity',1);
	    var ajax_loader = container.getElement('.ajax_loader');
	    if ( ajax_loader ){
	    	ajax_loader.dispose();
	    	}
	    }
  	}
	}

/*--------------------------------------------------------------------------------------------------------------------------------*/

function add_param ( url , add , forced ){
	if ( !forced ){
		param = add.match(/[^=]*=/);
		if ( param && url.contains(param[0]) ){
			add = false;
			}
		}
	return add ? url + ( url.contains('?') ? '&' : '?' ) + add : url;
	}

/*--------------------------------------------------------------------------------------------------------------------------------*/

function module_name( obj ){
  if ( $type(obj) == 'element' ){
    obj = $(obj).get('class');
    }
  return obj.replace(/(col[0-9]+|module(Dragable)?| )+/,'').trim();
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

function module_refresh(obj,options){
  if ( $type(obj) != 'element' ){
	 obj = $( 'module_'+( ( $type(obj) == 'string' ) ? obj.replace('module_','') : obj ) );
	 }
	var parent_module = ( options && options.parent_module ) ? options.parent_module : ( obj.hasClass('module') ? obj : obj.getParent('.module') );
  var tag = ( options && options.tag ) ? options.tag : obj.get('tag');
  var parms = ( options && options.parms ) ? options.parms : ( tag == 'a' ) ? obj.get('href').replace(/[^\?]+\?/,'') : obj.toQueryString();
	var module_body = ( options && options.module_body ) ? options.module_body : obj.getParent('.module_body') || obj.getElement('.module_body') || obj ;
	var module_name = ( options && options.module_name ) ? options.module_name : module_name(parent_module);
	var module_id = ( options && options.module_id ) ? options.module_id.replace(/[^0-9]+/).toInt() : ( parent_module.get('id') || '' ).replace('module_','').trim().toInt();
	var url = add_param ( ( options && options.url ) ? options.url : location_href() ,'xml=module');
  url = url.add_param( module_id ? 'module_id='+module_id : 'module_type='+module_name );
  var method = ( options && options.method ) ? options.method : ( ( tag == 'form' ) ? obj.get('action') : 'get' ) ;
	if ( parent_module && !module_id ){
    var col = new RegExp(/col([0-9]+)/i).exec( parent_module.get('class') );
		if ( col && !parms.contains('_col=') ){
		  parms += ( parms ? '&' : '' )+'_col='+col[1];
			}
		}
  new Request({method:method,url:url,evalResponse:false,
    onRequest:function(){
      ajax_loader(module_body);
      if ( options && options.start ){
        options.start.run();
        }
      },
    onSuccess:function(responseText){
      module_body.set('opacity',1);
      module_body.set('html',responseText);
      add_links(module_body);
      if ( options && options.finish ){
        options.finish.run();
        }
  }}).send(parms);
  return false;
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

function module_open( obj , parms ){
	return module_refresh( obj , {'parms':parms} );
	}

/*--------------------------------------------------------------------------------------------------------------------------------*/

function add_module_refresh(obj,options){
  if ( !options ){
    var options = {};
    }
  if ( obj ){
    options.tag = obj.get('tag');
    obj.addEvent(((options.tag=='form')?'submit':'click'),function(e){
      if ( e ){
      	new Event(e).stop();
      	}
      options.module_obj = ( options && options.module_obj ) ? options.module_obj : obj.getParent('.module');
      options.module_name = module_name(options.module_obj);
      options.module_body = options.module_obj.getElement('.module_body') || options.module_obj;
      module_refresh(obj,options);
      });
    }
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

function add_links(obj){

  if ( !obj ){
		obj = document;
		}

	//obj.getElements('ul li:first-child').addClass('first_child');
	//obj.getElements('ul li:last-child').addClass('last_child');

  var forms = obj.getElements('form');
  if ( forms ){
    forms.addEvent('submit',function(e){
      $(this).getElements('input[type=text],textarea').each(function(el){
        el = $(el);
        if ( el.title && el.title == el.value ){
          el.value = '';
          }
        });
      });
    }

  var clear_inputs = obj.getElements('.clear_input');
  if ( clear_inputs ){
    clear_inputs.each(function(el){
      clear_input(el);
      });
    }

	var _module_refresh = obj.getElements('.module_refresh');
	if ( _module_refresh ){
		_module_refresh.each(function(el){
		 	add_module_refresh(el);
		 	});
		}

	obj.getElements('a[rel*=popup]').addEvent('click',function(e){
    new Event(e).stop();
    var size = this.get('rel').match(/\[(\d+),\s*(\d+)/);
    popup( this.get('href') , this.get('name') || 'popup' , size[1] , size[2] ).focus();
    });

  /*
	var mt = $('mt');
	if ( mt ){
		mt.getElements('a').each( function(el){
			if ( !el.getParent('li').hasClass('active') ){
				var img = el.getElement('img');
				el.addEvent('mouseover', function(e){
					img.set('src', img.get('src').replace('mt/','mt_active/'));
					});
				el.addEvent('mouseleave', function(e){
					img.set('src', img.get('src').replace('mt_active/','mt/'));
					});
				}
			});
		}
	*/
	// vertical align
  /*
  var ValignClass = 'valign';
  $$('.'+ValignClass).each(function(el){
    var Height = $(el).getSize().y;
    var MaxHeight = el.className.replace(eval('/.*'+ValignClass+'_([0-9]+).*'+'/'),'$1');
    if( MaxHeight && Height ){
      $(el).setStyle('marginTop',Math.round((MaxHeight-Height)/2));
      }
    });
	*/
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

window.addEvent('domready',add_links);

/*--------------------------------------------------------------------------------------------------------------------------------*/

function ZagielPoliczRate(koszyk,wariantSklepu,numerSklepu) {
  window.open('https://www.eraty.pl/symulator/oblicz.php?numerSklepu='+numerSklepu+'&wariantSklepu='+wariantSklepu+'&typProduktu=0&wartoscTowarow='+koszyk,'Policz_rate',
  'width=630,height=500,directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no');
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

function ZagielJakKupic() {
  window.open('https://www.zagiel.com.pl/kalkulator/jak_kupic.html', 'nowe_okno','width=600,height=500,directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no');
  }

/*--------------------------------------------------------------------------------------------------------------------------------*/

Element.implement({
	hasEvent: function(eventType,fn) {
		//get the element's events
		var myEvents = this.retrieve('events');
		//can we shoot this down?
		return myEvents && myEvents[eventType] && (fn == undefined || myEvents[eventType].keys.contains(fn));
	}
});

/*--------------------------------------------------------------------------------------------------------------------------------*/

String.implement({
	add_param: function ( param , forced ){
		return add_param( this , param , forced );
		//return param ? this+( this.contains('?') ? '&' : '?' )+param : this ;
	}
});

/*--------------------------------------------------------------------------------------------------------------------------------*/

Date.implement({	
	getTomorow:function(){
		return new Date(this.getFullYear(),this.getMonth(),this.getDate()+1,this.getHours(),this.getMinutes());
		}
	});
	
/*--------------------------------------------------------------------------------------------------------------------------------*/
