window.addEvent('domready', function(){
   var responseT = new Fx.Tween('response', {duration: 2500, transition: Fx.Transitions.Sine.easeOut});

$('contactForm').addEvent('submit', function(e) {

new Event(e).stop(); 
var log = $('log_res').empty().addClass('ajax-loading');
       
//hide the main form
var myFx = new Fx.Slide('contact_form_con').hide();

//validate form
var error = '';
var name = $('name').get('value');
name= Trim(name);

var img_capt=$('security_code').get('value');
img_capt= Trim(img_capt);

var email = $('contact_email').get('value');
email = Trim(email);

var message = $('message').get('value');
message = Trim(message);

if(name=='Name' || name.length<3)
 error = 'Name field must has a valid value!<br />';

if(isEmailAddress(email)==false)
  error = error+'Email address is not valid!<br />';

if(message=='Message' || message.length<10)
 error = error+'Message needs to be atleast 10 characters long!<br />';

if(img_capt=='Put Image Code Here' || img_capt=='')
 error = error+ 'Please input Image Code!<br />';

if(error=='')
{

//    $('contact_form_con').set('html', '');
        this.set('send', {
                method: 'post',
                onSuccess: function(responseText, responseXML) {
                      responseT.start('background-color', '#F9F260', '#FFFFFF');
                      if(responseText=="capt_error"){
                      error = "Sorry Image Code didn't match!<br />";
                       myFx.show();
                      $('log_res').set('html', error);
                    $('log_res').erase('class');
                     }
                     else
                     {
                     $('contact_form_con').set('html', '');
                       
                       $('response').morph({color: '#000000'});
                        $('log_res').removeClass('ajax-loading');
                        $('log_res').set('html', responseText);
                   }
                },
                onFailure: function(headerName, value) {
                        responseT.start('background-color', '#F9F260', '#FFFFFF');
                       $('response').morph({color: '#FF0000'});
                        $('log_res').removeClass('ajax-loading');
                        $('log_res').set('html', responseText);
                }


        });


       this.send(this.action); 
}else{
 error = error+"\n<br />";
     responseT.start('background-color', '#F9F260', '#FFFFFF');
    $('response').morph({color: '#FF0000'});
       $('log_res').removeClass('ajax-loading');
       $('log_res').set('html', error);
       myFx.show(); 
}

 });

//trim the value
function Trim(s) 
{

  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
  {
    s = s.substring(1,s.length);
  }
  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
  {
    s = s.substring(0,s.length-1);
  }
  return s;
}

//do email address validation
function isEmailAddress(email)
	{
	  var result = false
	  var theStr = new String(email)
	  var index = theStr.indexOf("@");
	  if (index > 0)
		  {
		    var pindex = theStr.indexOf(".",index);
	    	if ((pindex > index+1) && (theStr.length > pindex+1))
			result = true;
		  }
		  return result;
} //

});
