window.addEvent('domready', function() { 
	// Form
	var activeform = $('form').getFirst('form.form');
	
		// Language
		var errorLang = []
		if (typeof errorMessages != "undefined") {
			errorLang = errorMessages;
		} else { 
			errorLang[0] = "Du skal udfylde dette felt.";
			errorLang[1] = "Denne e-mail adresse blev ikke godkendt.";
			errorLang[2] = "Du har ikke afkrydset denne tjek-boks.";
			errorLang[3] = "Du har ikke valgt noget.";
			errorLang[4] = "Dette er et unormalt telefonnummer - er du sikker?";
			errorLang[5] = "henter...";
			errorLang[6] = "Advarsel: ";
		}
		
		// Validation
		var formvalidator = new Form.Validator.Inline(activeform);
		formvalidator.errorPrefix = errorLang[6];
		formvalidator.add('validate-email', {
			errorMsg: errorLang[1],
			test: function(element){
				email = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
				val = element.value;
				if(!email.test(val)) return false;
				else return true;
			}
		});
		formvalidator.add('required', {
			errorMsg: errorLang[0],
			test: function(element){
				if(element.value.length ==0) return false;
				else return true;
			}
		});
		
		// Ajax
		var log = $('log_res');
		if (pageViewName != "") {
			pageViewName = pageViewName + "/";
		} 
		activeform.addEvent('submit', function(e) {
			e.stop();
			if(formvalidator.validate()) {
				$('form-iframe').value = "true";
				formvalidator.reset();
				log.empty().set('html', '<div class="feedback loading">'+errorLang[5]+'</div>');
				log.morph({opacity:[0,1]});
				this.set('send', {onComplete: function(response) { 
					log.set('html', response);
					if ($('eventUpdateSuccess')) {
						$$('#form input, #form textarea').each(function(element){
							element.setProperty('disabled','disabled');
							element.addClass('disabled');
						});
                        pageTracker._trackPageview("/ajax/form/feedback/"+pageViewName+"success");
                		pageTracker._trackEvent('Form-Feedback', 'Success', pageViewName, 10);
						//console.log('Form-Feedback', 'Success', pageViewName)
					} else {
                        pageTracker._trackPageview("/ajax/form/feedback/"+pageViewName+"failure");
                		pageTracker._trackEvent('Form-Feedback', 'Failure', pageViewName, 0);
						//console.log('Form-Feedback', 'Failure', pageViewName)
					}
					// Get new spamid through ajax request
					var spamid = new Request({
						url:'ajax_getspamid.asp',
						method:'post',
						onSuccess: function(txt){
							txtarr = txt.split(";;;");
							$('spamid').value = txtarr[0];
						},
						onFailure: function(){}
					});
					spamid.send();/**/
				}});
				this.send();
			} else {
				log.set('html', '');
				log.setStyle('display','none');
			}
			
		});
		
		// Textarea expansion
		var resize = function(){
			var size = this.getSize();
			var scrollsize = this.getScrollSize();
			if (size.y != scrollsize.y) {
				this.tween('height',scrollsize.y);
			}
		}
		var extensiveResize = function(){
			var size = this.getSize();
			var scrollsize = this.getScrollSize();
			if (size.y < scrollsize.y) {
				this.tween('height',scrollsize.y);
			} else {
				var val = this.value;
				var tmpTextarea = new Element('textarea', {'id':'tmpTextarea', 'styles':{'display':'block','visibility':'hidden','position':'absolute'}, 'value':val});
				this.grab(tmpTextarea,'after');
				var newscrollsize = tmpTextarea.getScrollSize();
				if (newscrollsize.y < size.y && newscrollsize.y > 40) {
					this.tween('height',newscrollsize.y);
				}
				tmpTextarea.dispose();
				tmpTextarea.destroy();
			}
		}
		$$('textarea').each(function(element){
			element.setStyle('overflow','hidden');
			element.addEvents({
				'keyup':extensiveResize,
				'blur':extensiveResize,
				'focus':extensiveResize
			});
		});
		
		// Tooltips
		var newsletterTip = new Tips('.newsletter-tooltip',{className:"tooltip"});
});