function filterNum(key) {
	// handle numeric keypad
	if (key > 95 && key < 106) { 
		key-=48;
	} 
	
	if (key >= 58) {
		return false;
	} else {
		return true;
	}
}

function showLoading() {
   $(".loading").fadeIn("fast");
}

function showLoading2(span) {
   $(span).next(".loading").fadeIn("fast");
}

function hideLoading() {
   $(".loading").fadeOut("fast");
}

function hideLoading2(span) {
   $(span).next(".loading").fadeOut("fast");
}

function deleteResume() {
   $("#doc_resume").val("")
}

function deleteDoc(id) {
   $("#"+id).val("")
}

function uploadSubmit(file, extension, field, span) {
   if (! (extension && /^(pdf|doc|docx)$/.test(extension))){
      alert('Only .pdf, .doc and .docx files may be attached.');

      $(field).val("");

      return false;
   } else if (file.length > 50) {
      alert('Filename must be less than 50 characters.');

      $(field).val("");
      
      return false;
   } else {
      $(span).hide();
      showLoading2(span);

      return true;
   }
}

function uploadComplete(file, response) {
   hideLoading(); 
   
   if (response != "ok") {
      alert(response);
   } else {
      $("#doc_resume").val(file); 
   }

   $("#spanResume").show();
}

function uploadComplete2(file, response, field, span) {
   hideLoading2(span); 
   
   if (response != "ok") {
      alert(response);
   } else {
      $(field).val(file); 
   }

   $(span).show();
}

$(document).ready(function() {
   var len;
   var i;

   // display datepickers
   var dates = new Array(
      "coming_avail_dt", "birth_dt", 
      "aircraft0_last_flown_dt", "aircraft1_last_flown_dt", "aircraft2_last_flown_dt", "aircraft3_last_flown_dt", 
      "aircraft0_rating_training_dt", "aircraft1_rating_training_dt", "aircraft2_rating_training_dt", "aircraft3_rating_training_dt", 
      "license0_expire_dt", "license1_expire_dt", 
      "valid0_expire_dt", "valid1_expire_dt", "valid2_expire_dt", "valid3_expire_dt", 
      "passport0_expire_dt", "passport0_visa0_expire_dt", "passport0_visa1_expire_dt", "passport0_visa2_expire_dt", "passport0_visa3_expire_dt", 
      "passport1_expire_dt", "passport1_visa0_expire_dt", "passport1_visa1_expire_dt", "passport1_visa2_expire_dt", "passport1_visa3_expire_dt", 
      "medical0_exam_dt", "medical1_exam_dt"   
   );

   len = dates.length;

   for (i = 0; i < len; i++) {
      $("#"+dates[i]).datepicker({dateFormat: 'yy-mm-dd'});
   }
/*
   // display upload
   new AjaxUpload("#btnResume", {
      data: {field: "doc_resume"},
      onComplete: function(file, response) { uploadComplete(file, response); }
   });
*/
   var docs = new Array(
      "doc_resume",
      "doc_license0", "doc_license1", 
      "doc_application0", "doc_application1", "doc_application2", "doc_application3", 
      "doc_passport0", "doc_passport1",
      "doc_passport0_visa0", "doc_passport0_visa1", "doc_passport0_visa2", "doc_passport0_visa3",
      "doc_passport1_visa0", "doc_passport1_visa1", "doc_passport1_visa2", "doc_passport1_visa3",
      "doc_medical0", "doc_medical1"
   );

   len = docs.length;

   for (i = 0; i < len; i++) {
      if ($("#"+docs[i]).length > 0) {
         new AjaxUpload("#btn"+docs[i], {
            data: {field: docs[i]},
            field: "#"+docs[i],
            span: "#span"+docs[i],
            onSubmit : function(file, extension, field, span) { return uploadSubmit(file, extension, field, span); },
            onComplete: function(file, response, field, span) { uploadComplete2(file, response, field, span); }
         });
      }
   }

   // other useful stuff
   $("#availability_id").change(function() {
      if ($("#availability_id").val() == 3) {
         $("#dateAvail").removeClass("hidden");
      } else {
         $("#dateAvail").addClass("hidden");
      }
   });

   $("#home_country_id").change(function() {
      $("#province").addClass("hidden");
      $("#state").addClass("hidden");
      $("#provinceState").addClass("hidden");

      if ($(this).val() == 36) {
         $("#province").removeClass("hidden");
      } else if ($(this).val() == 215) {
         $("#state").removeClass("hidden");
      } else {
         $("#provinceState").removeClass("hidden");
      }
   });
});
