function __im_date_us(el,key){
	var code = key.code;
	var enter = 13;
	var backspace = 8;
	var tab = 9;
	var numpad_0 = 96;
	var numpad_1 = 97;
	var numpad_2 = 98;
	var numpad_3 = 99;
	var numpad_4 = 100;
	var numpad_5 = 101;
	var numpad_6 = 102;
	var numpad_7 = 103;
	var numpad_8 = 104;
	var numpad_9 = 105;
	var numpad_period = 110;
	var number_0 = 48;
	var number_1 = 49;
	var number_2 = 50;
	var number_3 = 51;
	var number_4 = 52;
	var number_5 = 53;
	var number_6 = 54;
	var number_7 = 55;
	var number_8 = 56;
	var number_9 = 57;
	var left = 37;
	var right = 39;
	var up = 38;
	var down = 40;
	var pgup = 33;
	var pgdown = 34;
	var home = 36;
	var del = 46;
	var period = 190;
	var end = 35;
	var rv = true;
   if ((code >= numpad_0 && code <= numpad_9) || (code >= number_0 && code <= number_9) || code == enter || code == backspace || code == tab || code == left || code == right || code == up || code == down || code == pgup || code == pgdown || code == home || code == del && !key.shiftKey){
      if ((code >= numpad_0 && code <= numpad_9) || (code >= number_0 && code <= number_9)){
         var len = el.value.length;
         if (len == 0 && ((code >= numpad_2 && code <= numpad_9) || (code >= number_2 && code <= number_9)))rv = false;
         if (len == 1){
            if (el.value == 0 && (code == numpad_0 || code == number_0))rv = false;
            if (el.value == 1 && ((code >= numpad_3 && code <= numpad_9) || (code >= number_3 && code <= number_9)))rv = false;
         };
         if (len == 2 || len == 3){
            if (el.value.charAt(0)+el.value.charAt(1) == 2 && ((code >= numpad_3 && code <= numpad_9) || (code >= number_3 && code <= number_9)))rv = false;
            if (el.value.charAt(0)+el.value.charAt(1) != 2 && ((code >= numpad_4 && code <= numpad_9) || (code >= number_4 && code <= number_9)))rv = false;
         };
         if (el.value.length == 2 || el.value.length == 5)el.value += "/";
      };
      if (code == backspace){
         if (el.value.length == 3 || el.value.length == 4 || el.value.length == 6 || el.value.length == 7)el.value = el.value.substring(0,el.value.length-1);
      };
      if (code == up || code == down){
         if (el.value.length == 0){
            var date = new Date();
            el.value = (date.getMonth()+1 <= 9 ? "0"+(date.getMonth()+1) : (date.getMonth()+1))+"/"+(date.getDate() <= 9 ? "0"+date.getDate() : date.getDate())+"/"+date.getFullYear();
         };
         if (el.value.length == 10){
            var date = new Date(el.value);
            if (code == up)date.setDate(date.getDate()+1);
            else date.setDate(date.getDate()-1);
            el.value = (date.getMonth()+1 <= 9 ? "0"+(date.getMonth()+1) : (date.getMonth()+1))+"/"+(date.getDate() <= 9 ? "0"+date.getDate() : date.getDate())+"/"+date.getFullYear();
         };
         rv = false;
      };
      if (code == pgup || code == pgdown){
         if (el.value.length == 0){
            var date = new Date();
            el.value = (date.getMonth()+1 <= 9 ? "0"+(date.getMonth()+1) : (date.getMonth()+1))+"/"+(date.getDate() <= 9 ? "0"+date.getDate() : date.getDate())+"/"+date.getFullYear();
         };
         if (el.value.length == 10){
            var date = new Date(el.value);
            if (code == pgup)date.setMonth(date.getMonth()+1);
            else date.setMonth(date.getMonth()-1);
            el.value = (date.getMonth()+1 <= 9 ? "0"+(date.getMonth()+1) : (date.getMonth()+1))+"/"+(date.getDate() <= 9 ? "0"+date.getDate() : date.getDate())+"/"+date.getFullYear();
         };
      };
      if (code == home){
         var date = new Date();
         el.value = (date.getMonth()+1 <= 9 ? "0"+(date.getMonth()+1) : (date.getMonth()+1))+"/"+(date.getDate() <= 9 ? "0"+date.getDate() : date.getDate())+"/"+date.getFullYear();
         rv = false;
      };
   }
   else rv = false;
	return rv;
};

function __im_date_us_init(e){
	e = (e == null ? window.event : e);
	Validate.inputmasks.add("date-us",__im_date_us);
};

if (navigator.userAgent.indexOf("MSIE") > -1)window.attachEvent("onload",__im_date_us_init);
else window.addEventListener("load",__im_date_us_init,false);
