$(document).ready(function(){
      
	$(".error").hide();
	
	$("#send").click(function() {
		var e=true;
		$(".error").hide();
		
		if(!nameCheck($("#name").val())){
		    $(".error[for='name']").show();
		    e=false;
		}
		
		if(!emailCheck($("#email").val())){
		    $(".error[for='email']").show();
		    e=false;
		}
		
		if(!subjectCheck($("#subject").val())){
		    $(".error[for='subject']").show();
		    e=false;
		}
		
		if(!messageCheck($("#message").val())){
		    $(".error[for='message']").show();
		    e=false;
		}
		
		if(!e)
		    return false;
		
		var dataString = 'name=' + $("#name").val() + '&email=' + $("#email").val() + '&subject=' + $("#subject").val() + '&message=' + $("#message").val();
		
		$("#dialog").dialog({
			width:250,
			    height:100,
			    show:'clip',
			    hide:'clip',
			    modal: true, 
			    overlay: { 
			    opacity: 0.5, 
				background: "black"
				} 
		    }); 
		
		$("#dialog").html('<p>Your message is being processed.<br/><br/><img src="images/progressbar.gif"></p>');
		
		$.ajax({  
			type: "POST",  
			    url: "mail.php",  
			    data: dataString,  
			    success: function(msg){
			    setTimeout('$("#dialog").dialog("close")',2000);
			    if(msg)
				$("#dialog").html('<p>Your message has been sent successfully.</p>');
			    else
				$("#dialog").html('<p>Your message couldn\'t be sent. Please try again.</p>');
			},
			    failure: function(){
			    setTimeout('$("#dialog").dialog("close")',2000);
			    $("#dialog").html('<p>Your message couldn\'t be sent. Please try again.</p>');
			}
		    });
		
		return false;
	    });
	
    });

function nameCheck(str){
    if(str=="" || str==null)
	return false;
    return true;
}

function emailCheck(str){
    
    var at="@";
    var dot=".";
    var lat=str.indexOf(at);
    var lstr=str.length;
    var ldot=str.indexOf(dot);
    
    if (str.indexOf(at)==-1)
	return false;
    
    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	return false;
    
    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	return false;
    
    if (str.indexOf(at,(lat+1))!=-1)
	return false;
    
    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	return false;
    
    if (str.indexOf(dot,(lat+2))==-1)
	return false;
    
    if (str.indexOf(" ")!=-1)
	return false;
    
    return true;
    
}

function subjectCheck(str){
    if(str=="" || str==null)
	return false;
    return true;
}

function messageCheck(str){
    str = str.replace(/^\s+|\s+$/g, '')
	if(str=="" || str==null)
	    return false;
    return true;
}