	
	var isDomReady = false;
	window.addEvent('domready', function() {isDomReady=true;});
	
	
	var RepetitionrOverlay = new Class({
		Implements:[Events, Options],
		
		options:{
			time_transition:500
		},
		
		initialize: function(options) {
			
			this.setOptions(options);
			
			
			this.element = new Element('div', {'class':'sign_overlay'})
			.setOpacity(0)
			.setStyle('display','none')
			.inject($(document.body))
			.set('tween', {duration:this.options.time_transition})
			.set('events', {
				'click': (function() {
					this.close();								
				}).bind(this)
				
			});			
			window.addEvent('resize',this.resize.bind(this));
			
		},
		open:function() {
			this.element.setStyle('display','block').fade(.8);
			return this;			
		},
		close: function() {
			this.element.fade(0).setStyle.delay(this.options.time_transition,this.element,['display','none']);
			this.fireEvent('close');
			return this;
		},
		resize:function() {
			this.element.morph({
				'height':window.getSize().y.toInt()
			});
			
		}
	
	});
	
	var RepetitionrForm = new Class({
		
		time_transition:500,
		initialize:function(element) {
			
			this.element = element;
			
			//if (RepetitionrOverlay) 
			this.overlay = new RepetitionrOverlay({
												 	time_transition:this.time_transition,
													onClose:this.close.bind(this)
												   })
			

			this.element
			.set('tween', {duration:this.time_transition})
			.set('morph', {duration:1200, transition:Fx.Transitions.Back.easeInOut})
			//.set('styles', this.form_status.close)
			.inject(this.overlay.element,'after')
			.getElements('a.close')
			.setOpacity(.7)
			.addEvents({
				'click':(function(evt) {
					this.overlay.close();					
					evt.stop();
				}).bind(this),
				
				'mouseover':function() {this.fade(1)},
				'mouseout':function() {this.fade(.7)}
				
			});
			
			this.setSize();
			this.element.set('styles', this.form_status.close);




			var submitButton = this.element.getElement('button.rp_submit_button');
			
			//new Element('button',{'href':'#','html':'<span><span>'+submitButton.get('html')+'</span></span>'}).inject(submitButton,'after')
			//submitButton.dispose();
			
			window.addEvent('resize', this.setSize.bind(this));
			
		},
		setSize: function() {
			
			this.form_status = {
				
				close: {
					'position':'absolute',
					'top':-1500,
					'left':(window.getSize().x.toInt()-this.element.getSize().x.toInt())/2
				},
				
				open: {
					'position':'absolute',
					'top': (((window.getSize().y.toInt()-this.element.getSize().y.toInt())/2>=0) ? (window.getSize().y.toInt()-this.element.getSize().y.toInt())/2 : 50),
					'left':(window.getSize().x.toInt()-this.element.getSize().x.toInt())/2
				}
				
			}
			
			
		},
		open: function() {
			this.overlay.open();	//setStyle('display','block').fade(.8);
			this.element.morph(this.form_status.open)
		
		},
		close:function() {
			this.element.morph(this.form_status.close)		
		}
	
	});
	

