if (!CD3) var CD3 = {};
CD3.Dropdown = Class.create({
	initialize: function (container) {
		this.container	= $(container);
		this.link		= this.container.down('a.drop')
		this.ul			= this.container.down('ul').hide();
		this.bindEvents();
	},
	bindEvents: function(){
		this.link.observe('click', this.toggle.bind(this));			 	// add toggle event
		this.clickObserver = this.close.bind(this);
	},
	toggle: function(){
		this[this.ul.visible() ? 'hide' : 'show']();
	},
	show: function(){		
		Effect.BlindDown(this.ul, {duration: 0.2});
		document.observe('click', this.clickObserver);
	},
	hide: function(){
		Effect.BlindUp(this.ul, {duration: 0.1});
		document.stopObserving('click', this.clickObserver);
	},
	close: function(){
		if (this.ul.visible()) this.hide();
	}
});
CD3.Select = Class.create(CD3.Dropdown, {
	initialize: function(select){		
		select		= $(select);
		
		// create replace elements
		this.container	= new Element('span', {className:'dropper'});
		this.link		= new Element('a', {href: 'javascript:;', className: 'drop'})
		this.linkspan	= new Element('span').update(select.selectedIndex > -1 ? select.options[select.selectedIndex || 0].text : '');
		this.hidden		= new Element('input', {type: 'hidden', name: select.name, value: select.getValue()})
		this.ul			= new Element('ul').hide();
		
		if (select.className)
			this.container.addClassName(select.className);
		
		// insert container and all elements in it
		select.insert({before: this.container.insert(this.link.insert(this.linkspan)).insert(this.hidden).insert(this.ul)})

		// add options
		$A(select.options).each(this.addOption.bind(this));
		
		// delete old select
		Element.remove(select);
		
		// add events
		this.bindEvents();
	},
	addOption: function (option){
		this.ul.insert(new Element('li').insert(
			new Element('a', {href: 'javascript:;'}).update(option.text).observe('click', this.select.bind(this, option))
		));
	},
	select: function(option){
		this.linkspan.innerHTML = option.text;
		this.hidden.value		= option.value != null ? option.value : option.text;
		this.hide();
	}
});
CD3.Radio = Class.create({
	initialize: function(radio){
		this.radio	= $(radio).hide();
		this.name	= this.radio.getAttribute('name') || this.radio.identify();
		this.button	= new Element('a', {className:'radio', href:'javascript:;'}).update(' ');
		
		this.radio.insert({before: this.button});
		
		this.button.observe('click', this.toggle.bind(this));
		this.refresh();
		
		// becouse IE6 have buggy onchange event for radio buttons
		if (!CD3.Radio._elements[this.name])
			CD3.Radio._elements[this.name] = [];
		CD3.Radio._elements[this.name].push(this);
	},
	toggle: function(){
		this.radio.checked = !this.radio.checked;
		CD3.Radio._elements[this.name].invoke('refresh');
	},
	refresh: function(){
		this.button[this.radio.checked ? 'addClassName' : 'removeClassName']('selected');
	}
});
CD3.Radio._elements = {};
// checkbox
CD3.Checkbox = Class.create({
	initialize: function(checkbox){
		this.checkbox = $(checkbox).hide();
		this.button = new Element('a', {className:'checkbox', href:'javascript:;'}).update(' ');

		this.checkbox.insert({before: this.button});
		this.button.observe('click', this.click.bind(this));

		if (this.checkbox.checked)
			this.button.addClassName('selected2');
	},
	click: function(){
		this.checkbox.checked = !this.checkbox.checked;
		this.button[this.checkbox.checked ? 'addClassName' : 'removeClassName']('selected2');
	}
});

document.observe('dom:loaded', function(){
	$$('select').each(function(select){
		new CD3.Select(select);
	});
	$$('input[type=radio]').each(function(radio){
		new CD3.Radio(radio);
	});
	
	$$('input[type=checkbox]').each(function(box){	//checkbox
		new CD3.Checkbox(box);
	});
	
	$$('#open_form').invoke('observe', 'click', function(){
		var rrt = $('rrt');
		if (rrt.visible()) {
			Effect.Fade(rrt);
		} else {
			Effect.Appear(rrt);
			Effect.ScrollTo('rrt_after');
		}
		
	});
	$$('#open_form2').invoke('observe', 'click', function(){
		var rrt = $('rrt2');
		if (rrt.visible()) {
			Effect.Fade(rrt);
		} else {
			Effect.Appear(rrt);
			Effect.ScrollTo('rrt_after2');
		}
		
	});
	$$('#open_abonat').invoke('observe', 'click', function(){
		var rrt = $('abonat_form');
		if (rrt.visible()) {
			Effect.Fade(rrt);
		} else {
			Effect.Appear(rrt);
		}
		
	});
	$$('#closed2').invoke('observe', 'click', function(){
		var rrt = $('abonat_form');
		if (rrt.visible()) {
			Effect.Fade(rrt);
		} else {
			Effect.Appear(rrt);
		}
		
	});
	
	/*$('top').observe('click', function(){
			Effect.ScrollTo('top2');
	});*/
});

function clear(){
	var c = document.getElementById('clear');
	if (c){
	//c.style.display='none';
	Effect.Fade(c);
	}
	
}
setTimeout('clear()', 5000);

    
