location
		   function sendForm(file){
					
				var f = $('form');
				
				f.set('send', 
				{ 
					async: false,
					link: 'cancel',
					method: 'post',
					url: 'ajax/'+file,  
					 
					onRequest: function() { 
						$('ajaxLoader').style.display = 'block';
					},  
					
					onSuccess: function(a,b,c,d) 
					{ 
						
						var r = JSON.decode(a);
						$$('.inline-error').dispose();
						$$('select').each(function(el) { el.removeClass('input-error') });
						$$('input').each(function(el) { el.removeClass('input-error') });
						
						if (r.error == "1")
						{
							displayErrors(r.errorDetails);
							$('ajaxLoader').style.display = 'none';
						} else {
						//console.log('submit');
							f.submit();
						}
						
						
					}
				});
				f.send();
			}
			
		
			function explode(delimiter, string, limit) {
							
				var emptyArray = { 0: '' };
				
				// third argument is not required
				if ( arguments.length < 2 || typeof arguments[0] == 'undefined' || typeof arguments[1] == 'undefined' )
				{
					return null;
				}
			 
				if ( delimiter === '' || delimiter === false || delimiter === null )
				{
					return false;
				}
			 
				if ( typeof delimiter == 'function' || typeof delimiter == 'object' || typeof string == 'function' || typeof string == 'object' )
				{
					return emptyArray;
				}
			 
				if ( delimiter === true ) {
					delimiter = '1';
				}
				
				if (!limit) {
					return string.toString().split(delimiter.toString());
				} else {
					// support for limit argument
					var splitted = string.toString().split(delimiter.toString());
					var partA = splitted.splice(0, limit - 1);
					var partB = splitted.join(delimiter.toString());
					partA.push(partB);
					return partA;
				}
			}
			
			function displayErrors(Obj)
			{
				for (er in Obj)
				{
					var er_a = explode('|',er);
					//console.log(er_a);
					var input = $$('[name='+er_a[0]+']').addClass('input-error');
					var div = Element('div').addClass('inline-error').set('html', Obj[er]);
					//div.inject(input.getParent('td').getPrevious('td'));
					//console.log(input.getParent('td').getPrevious('td'));
					
					var under_input = input[0];
					
					var where = null;
					
					switch(er_a[1]){
					
						case 'under':
							var place = under_input;
							where = 'after';
						break;
						case 'fatal':
							var place = $('fatal-error');
						break;
						case 'id':
							var place = $(er_a[2]);
						break;
						default:
							var place = under_label;
						break;
					
					}
					if (er_a[1] == 'under') {
					//onsole.log("UNDER INPUT");
					} else {
						
					}
					
					
					
					div.inject(place, where);
				}
				
				if ($defined($('errors'))) {
					$('errors').setStyle('display', 'block');
				}
					
				
			}
			
			function sendMail() {
	
				var form = $('contact-form');
					
				form.set('send', 
				{ 
					url : 'sendmail.php', 
					onRequest: function() 
					{ 	
						$('ajaxLoader').style.display = 'inline';
					},
					onComplete: function(a,b,c,d)
					{
						$('output').set('html', a);
						$('ajaxLoader').style.display = 'none';
					}.bind(this)
		  
				});
				
				form.send();
				
			}
