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

     $(document.body).getElements('input[type=text],textarea').addEvents({

                                        'focus' : function(){
                                                if (this.get('value') == this.defaultValue)
                                                {
                                                        this.set('value', '');
                                                }
                                        },
                                        'blur' : function(){
                                                if (this.get('value') == '')
                                                {
                                                        this.set('value', (this.defaultValue));
                                                }
                                        }
     }); 

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

new Event(e).stop(); 
var log = $('log_res').empty().addClass('ajax-loading');

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

var email = $('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(error=='')
{
 //hide the main form
var myFx = new Fx.Slide('contact_form').hide();

       this.set('send', {
                method: 'post',
                onSuccess: function(responseText, responseXML) {
                      responseT.start('background-color', '#F9F260', '#FFFFFF');
                        $('response').morph({color: '#666666'});
                        $('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{
     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;
} //

});