(function() {
	var formError, send, getValue, RequireEmail, RequireItem, findObj;
	window.addEvent('domready', function() {
		$('btnSend').addEvent('click', send);	
	});
	
	function getValue(pForm) {
		var len = pForm.elements.length;
		var nParams = new Array();
		for(i=0; i<len; i++){
			var pParam = encodeURIComponent(pForm.elements[i].name);
			pParam += '=';
			pParam += encodeURIComponent(pForm.elements[i].value);
			nParams.push(pParam);
		}
		return nParams.join('&');
	}
	
	function findObj(n, d) {
		var p,i,x;  
		if(!d) 
			d = document; 
			
		if((p = n.indexOf("?")) > 0 && parent.frames.length){
			d = parent.frames[n.substring(p+1)].document;
			n = n.substring(0,p);
		}
		
		if(!(x=d[n]) && d.all) 
			x = d.all[n]; 
		
		for (i=0; !x && i<d.forms.length; i++) 
			x = d.forms[i][n];
			
		for(i=0; !x && d.layers && i < d.layers.length; i++) 
			x = findObj(n,d.layers[i].document);
			
		if(!x && d.getElementById) 
			x = d.getElementById(n); 
	
		return x;
	}
	
	function RequireItem(Name,Msg) { 
		var obj=findObj(Name);
		if (obj.value=='')
			return '\n- ' + Msg;
		else
			return '';
	}
	
	function RequireEmail(Name, Msg){
		var obj=findObj(Name);
		if(obj.value!=''){
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
			if (filter.test(obj.value)) 
				return '';
			else
				return '\n- ' + Msg;
		}
		return '';
	}
	
	function send(){
		var pForm = $('form1');
		if( formError() ){
			new Request({
				url: '../_ajax/sendEmail.php',
				onSuccess: function(html) {
					alert('Thank you for your submit enquiry.');
					pForm.reset();
				}
			}).send(getValue(pForm));
		}
	}
	
	function formError(){
		var error = '';
		//error += RequireItem('fist_lastName', 'Name');
		error += RequireItem('email', 'E-Mail');
		error += RequireEmail('email', 'E-Mail format false');
		error += RequireItem('topic', 'Topic');
		error += RequireItem('message', 'Message');
		if(error != ""){
			alert('Please Re-Checked :' + error);
			return false;
		}
		return true;
	}
	
})();