//////////////////////////////////////////////////////////////////////////////////////
// validation v1.0
//
// Copyright (c) 2009, Alexander Blomen <info@ablomen.nl>			
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice, this
//   list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice, this
//   list of conditions and the following disclaimer in the documentation and/or 
//   other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
// POSSIBILITY OF SUCH DAMAGE.
//////////////////////////////////////////////////////////////////////////////////////

jQuery.fn.validate	=	function(){

	jQuery("input, textarea", this).each(function(){
		
		jQuery(this).focus(function(){
	
			if(jQuery(this).attr("value") == jQuery(this).attr("title")){
			
				jQuery(this).removeClass("error");
				jQuery(this).attr({"value": ""});
			
			}
			
		});
	
	});
	
	jQuery("select", this).each(function(){
	
		jQuery(this).focus(function(){
			
			jQuery(this).removeClass("error");
			
		});
	
	});
	
	jQuery(this).submit(function(){
	
		var valid	=	true;

		jQuery("input", this).each(function(){
			
			if(jQuery(this).attr("title")){
			
				if(jQuery(this).attr("type") == "checkbox" || jQuery(this).attr("type") == "radio"){
				
					if(!jQuery(this).is(":checked")){
	
						jQuery(this).addClass("error");
				
						valid	=	false;
				
					}
				
				}else{
				
					if(!jQuery(this).attr("value") | jQuery(this).attr("value") == jQuery(this).attr("title")){
	
						jQuery(this).attr({"value": jQuery(this).attr("title")});
						jQuery(this).addClass("error");
				
						valid	=	false;
				
					}
					
				}
				
			}
	
		});

		jQuery("textarea", this).each(function(){
	
			if(jQuery(this).attr("title")){
	
				if(!jQuery(this).attr("value") | jQuery(this).attr("value") == jQuery(this).attr("title")){
	
					jQuery(this).attr({"value": jQuery(this).attr("title")});
					jQuery(this).addClass("error");
				
					valid	=	false;
				
				}
				
			}
	
		});

		jQuery("select", this).each(function(){
	
			if(jQuery(this).attr("title")){
	
				if(!jQuery(this).attr("value") | jQuery(this).attr("value") == jQuery(this).attr("title")){
	
					jQuery(this).addClass("error");
				
					valid	=	false;
				
				}
				
			}
	
		});
		
		if(valid == false){
		
			window.scrollBy(0,-2000);
		
		}
	
		return valid;
		
	});

}
