window.addEvent('load', function(){
	// Contact Form
	var contactForm = $('contact-form');
	var contactS3Form = $('contact-s3-form');
	var contactProgress = $('contact-progress');
	var contactFile = $('contact-file');
	var contactFakeFile = $('contact-fake-file');
	var contactS3File = $('contact-s3-file');
	var contactBrowse = $('contact-browse');
	var contactButton = $('contact-button');
	var contactContentType = $('contact-content-type');
	if(contactForm && contactS3Form && contactProgress && contactFile && contactFakeFile && contactS3File && contactBrowse && contactButton && contactContentType) {
		if(Browser.Plugins.Flash.version >= 9 && !(Browser.Engine.webkit419 || Browser.Engine.presto925)) {
			contactFakeFile.value = '';
			contactSwiffy = new FancyUploadSingle(contactProgress, {
				url: contactS3Form.action,
				id: 'contactSwiffy',
				fieldName: 'file',
				limitSize: maxUploadSize,
				path: '/-swf/Swiff.Uploader.swf',
				target: contactBrowse,
				onLoad: function() {
					contactFile.destroy();
					contactFile = null;
					contactFakeFile.removeClass('hidden');
					contactBrowse.removeClass('hidden');
				},
				onSelect: function(file, index, length) {
					if(file.size > maxUploadSize) {
						alert('Please upload only files smaller than ' + sizeToKB(maxUploadSize) + '.');
						return false;
					}
					else {
						contactContentType.value = MIMEtype.getType(file.name);
						contactFakeFile.value = file.name;
						return true;
					}
				},
				fileError: function(file, error, info) {
					contactProgress.addClass('hidden');
					contactFakeFile.value = '';
					alert('Upload "' + file.name + '" failed.');
				},
				fileUpload: function(file, options) {
					contactProgress.removeClass('hidden');
				},
				fileComplete: function(file, response) {
					contactS3File.value = S3StorageURL + encodeURIComponent(contactKeyPrefix + file.name);
					contactForm.submit();
				}
			});

			contactBrowse.addEvent('click', function() {
				contactSwiffy.browse();
				return false;
			});
		}

		contactButton.addEvent('click', function(){
			if(!isEmail(contactForm.elements[NAME_EMAIL].value.trim())) {
				try {
					contactForm.elements[NAME_EMAIL].focus()
				}
				catch(e) {};
				alert(MSG_EMAIL);

				return false;
			}
			if(!contactForm.elements[NAME_TEXT].value.trim()) {
				try {
					contactForm.elements[NAME_TEXT].focus()
				}
				catch(e) {};
				alert(MSG_MESSAGE);

				return false;
			}

			setTimeOffset(contactForm);
			if(contactForm.elements[NAME_HEX]) {
				contactForm.elements[NAME_HEX].value = 'u4ram';
			}

			if(contactSwiffy && contactSwiffy.files.length) {
				contactSwiffy.upload({data: contactS3Form});
			}
			else {
				contactForm.submit();
			}

			return false;
		});
	}
});
