
/**
 * Add custome validtor routines
 **/
if(jQuery.validator){
	/**
	 * Valid Date
	 * Checks that we have a valid dd/mm/yyy
	 */
	jQuery.validator.addMethod("validDate", function(value) { 
	  return /^(?=\d)(?:(?!(?:(?:0?[5-9]|1[0-4])(?:\.|-|\/)10(?:\.|-|\/)(?:1582))|(?:(?:0?[3-9]|1[0-3])(?:\.|-|\/)0?9(?:\.|-|\/)(?:1752)))(31(?!(?:\.|-|\/)(?:0?[2469]|11))|30(?!(?:\.|-|\/)0?2)|(?:29(?:(?!(?:\.|-|\/)0?2(?:\.|-|\/))|(?=\D0?2\D(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]|[13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|2[0-8]|1\d|0?[1-9])([-.\/])(1[012]|(?:0?[1-9]))\2((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?:$|(?=\x20\d)\x20)))\d{4}(?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})?$/.test(value); 
	}, "Please specify correct date. (dd/mm/yyyy)");
	
	
	
	jQuery.validator.addMethod(
		"posInt",
		function(value,element) { 
              //Spit the date
	        var validNumber = /^\d+$/.test(value);
             
              //Return it
              return this.optional(element) || validNumber;
        },
        "Enter a whole number.");
	
	
	
	
	jQuery.validator.addMethod(
		"RequiredDays",
	 	function(value,element,params) { 
  			//Spit the date
			var splDate = value.split('/');
		  	var dd = parseInt(splDate[0],10); 
            var mm = parseInt(splDate[1],10); 
            var yyyy = parseInt(splDate[2],10); 
			 
	  		//Return it
	  		return this.optional(element) || Math.abs(( new Date() - new Date(yyyy,mm-1,dd))/(24*60*60*1000)) >=  params;
		},
		"Please enter a date that is at least {0} days from today.");
        
        
    /**
    * Checks for a Valid Phone Number
    */
     jQuery.validator.addMethod(
        "validPhoneNumber",
         function(value,element) { 
              //Spit the date
              var validNumber = /^\d{10}$/.test(value);
             
              //Return it
              return this.optional(element) || validNumber;
        },
        "Please enter a valid phone number.<br>Must be 10 Digits, incl area code.");
      
      /**
    * Checks for a Valid Phone Number
    */
     jQuery.validator.addMethod(
        "validPostCode",
         function(value,element) { 
              //Spit the date
              var validNumber = /^\d{4}/.test(value);
             
              //Return it
              return this.optional(element) || validNumber;
        },
        "Please enter a valid postcode.");
        
        
    /*
     * Checks for valid currency without dollar sign
     */
     jQuery.validator.addMethod(
        "validCurrency",
         function(value,element) { 
              //Spit the date
              var validCurrency = /^\d+(\.\d{2})?$/.test(value);
             
              //Return it
              return this.optional(element) || validCurrency;
        },
        "Please enter a valid currency without the $.");    
}

/***
 * Shows the impromput delete
 * @param {Object} ItemDesc Descripion of the item to be delted for some customisation.
 */
function confirmDelete(ItemDesc){
	
	//Format the item desc
	ItemDesc = ItemDesc == null ? "" : " "+ItemDesc;
	
	var promptTxt = "<h3>Confirm Delete</h3><p>Are you sure you wish to delete this"+	ItemDesc+"."
	var result = $.prompt(promptTxt,{
		buttons: {
			Yes: true,
			No: false
		}
	}); 
	return result;
}


/**
    * Window Scrolling
  **/
function scrollWinTo(jqItem){
$('html, body').animate({
scrollTop: jqItem.offset().top
}, 2000);
}