	var f_d_text = "Type your email here!";	
	var f_error_text = "Please provide correct email address!";
	
	function fieldFocus(fld) {
		if (fld.value == f_d_text) {
			fld.value = "";
		}
	}
	function fieldBlur(fld) {
		if (fld.value == "") {
			fld.value = f_d_text;
		}
	}
	
	window.addEvent('domready', function() {

		function checkEmail() {	
			if ($('email-field').value == '' || $('email-field').value == f_d_text) {
				return false;
			} else if (!(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i).test($('email-field').get('value'))) {
				return false;
			} else {
				return true;
			}
		} 	
		
		var link = $('select-0');
 		
		var browseFx = new Fx.Tween('browse', {property: 'width'});
		var emailFx = new Fx.Tween('email', {property: 'width'});
		
		function openBrowse(removeNote) {
			removeNote = typeof(removeNote) != 'undefined' ? removeNote : true;
			if (removeNote) { $('note').set('text', ''); }
			
			$('email-field').setStyle('display','none');
			emailFx.start('250px').chain(
					function(){ browseFx.start('706px').chain(
							function(){ 
								$('submit').removeEvents('click');
								swf.remove(); 
								swf.setEnabled(true); 
								link.setStyle('background-position','0 0');
								
								
								
								
								}
					); }		
			);
		}
		
		function closeBrowse(name) {
			// prevents the name beening too long
			if (name.length > 30) {
				name = name.slice(0,30) + '.pdf';
			}
			browseFx.start('250px').chain(
					function(){ emailFx.start('706px').chain(
							function(){ 
								link.setStyle('background-position','0 -210px');
								$('note').set('text', 'Selected file: ' + name + ' ');
								$('note').removeClass('red');
								$('note').removeClass('loading');
								var myAnchor = new Element('a', {
								    'href': 'javascript:void(0)',
								    'class': 'redClass',
								    'html': 'Choose Another PDF',
								    'events': {
								        'click': function(){
											openBrowse();
								        }
								    }
								});
								myAnchor.inject($('note'));

								$('note').setStyle('display','block');
								$('submit').setStyle('background-position','0 0');
								$('submit').addEvent('mouseenter', function(){
									$('submit').setStyle('background-position','0 -70px')
								});
								$('submit').addEvent('mouseleave', function(){
									$('submit').setStyle('background-position','0 0')
								});
								$('email-field').setStyle('display','block');
								
							}
					); }
					
			);
		}
 
		// Uploader instance
		var swf = new Swiff.Uploader({
			path: 'js/Swiff.Uploader.swf',
			url: '/upload/',
			verbose: false,
			queued: 1,
			multiple: false,
			target: link,
			instantStart: false,
			typeFilter: filter,
			fileSizeMax: maxsize,
			onSelectSuccess: function(files) {
				if (Browser.Platform.linux) { window.alert('Warning: Due to a misbehaviour of Adobe Flash Player on Linux,\nthe browser will probably freeze during the upload process.\nSince you are prepared now, the upload will start right away ...'); }

				this.setEnabled(false);
				 
				closeBrowse(files[0].name);
							
				$('submit').addEvent('click', function(){
					if (!checkEmail()) {
						$('note').set('text', f_error_text);
						var myAnchor1 = new Element('a', {
						    'href': 'javascript:void(0)',
						    'class': 'redClass',
						    'html': 'Choose Another PDF',
						    'events': {
						        'click': function(){
									openBrowse();
						        }
						    }
						});
						myAnchor1.inject($('note'));
						$('note').addClass('red');
						$('note').removeClass('loading');
					} else {
						var newdata = { 
							'data': {
								'email': $('email-field').value,
								'optin': ( $('optin').checked ? 1 : 0 )
							}
						};
						this.setOptions(newdata);
						this.start();
					}
				}.bind(this));
			},
		
			onSelectFail: function(files) {
				if(files[0].size == 0){
					$('note').set('text', 'File is empty or corrupted. Please select correct file.');
				} else {
					$('note').set('text', 'File size is above ' + maxsize/(1024*1024).round() + 'M. Please select smaller file.');
				}
				$('note').addClass('red');
				$('note').removeClass('loading');
			},
			appendCookieData: true,
			onFileStart: function() {
				$('note').addClass('loading');
				$('note').removeClass('red');
				$('note').set('text', 'Uploading file ...');			
			},
			onFileComplete: function(file) {
				var resp = JSON.decode(file.response.text);
				if (resp.error) {
					$('note').removeClass('loading');
					$('note').addClass('red');
					$('note').set('text', resp.error );
					openBrowse(false);
				} else {
					$('note').removeClass('loading');
					$('note').removeClass('red');
					$('note').set('text', 'Success. Please check your email for download link. ');
					openBrowse(false);
				}
				file.remove();
			},
			onComplete: function() {
			
			}
		});
 
		// Button state
		link.addEvents({
			click: function() {
				this.setStyle('background-position','0 -140px');
				return false;
			},
			mouseenter: function() {
				//alert(this.get('class'));
				this.addClass('hover');
				swf.reposition();
			},
			mouseleave: function() {
				this.removeClass('hover');
				this.blur();
			},
			mousedown: function() {
				this.focus();
			}
		});
 
	});
