window.addEvent('domready', function(){

     var responseT = new Fx.Tween('response', {duration:2500, transition:Fx.Transitions.Sine.easeOut});
          
     $('sub').addEvent( 'click', function(e){
           $('response').setStyle('display','block');
        new Event(e).stop();
        var log = $('log_res').empty().addClass('ajax-loading');       
        
        //validate form
        var error = '';
        var name = $('name').get('value');
        var email = $('email').get('value');
        var contact_number = $('contact_number').get('value');
        var message = $('message').get('value');
        
        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(contact_number.length<3)
         error = error+'Contact number field must has a valid value!<br />';
        
        if(message=='Message' || message.length<10)
         error = error+'Message needs to be atleast 10 characters long!<br />';

        if(error=='')
        {
            
        try{
          var f = $('contactForm');
          f.set('send', {
                method: 'post',
                onSuccess: function(responseText, responseXML) {
                      responseT.start('background-color', '#F9F260', '#FFFFFF');
                         $('response').morph({color: '#000000'});
                        $('response').setStyle('margin-top','11px');
                        $('log_res').removeClass('ajax-loading');
						$('log_res').setStyles({color: '#000000'});
                        //responseText=responseText;+"<div class=bullet><ul><li><a href='http://grape-things.airving.myzen.co.uk/contact2'>Back to Contact us page</a></li>  </ul></div>";
                        $('log_res').set('html', responseText);
                },
                onFailure: function(headerName, value) {
                        responseT.start('background-color', '#F9F260', '#FFFFFF');
                       $('response').morph({color: '#FF0000'});
                       $('response').setStyle('margin-top','11px');
                        $('log_res').removeClass('ajax-loading');
                        $('log_res').set('html', responseText);
                }


          });
  
         f.send(f.action);
         
         //hide the main form
         var myFx = new Fx.Slide('contact_form').slideOut();
                   
        }catch(err){
          //var f = this.getParent().getParent().getParent().getParent();
          var txt = "Error : " + err.description + "\n\n";
          alert(txt);
        }                 
         
       }else{
            responseT.start('background-color', '#F9F260', '#FFFFFF');
            $('response').setStyle('margin-top','5px');
            $('response').morph({color: '#FF0000'});
            $('log_res').removeClass('ajax-loading');
            $('log_res').setStyles({color: '#FF0000'});
            $('log_res').set('html', error);            
             
      }

     });

      //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;
      } //

});
