/*************************************************
	Name: fastapps_prelimForm_validate.js
	Purpose: validates forms/prelim_form.php
	Author: Barbara Hui
	Date: 2 January 2010
	ChangeLog:
	15 jan 2010	BLH		added maxWord validation for title, short description & long description.
	19 jan 2010 BLH		upped maxWord for short description & long description to 55 and 305, respectively
**************************************************/

function validate_fastapps_prelimForm() {
	$.validator.setDefaults({
		submitHandler: function() { 
			var revision = $("#revision").val();
			var awardtype = $('input[id=awardtype]:checked').val();
			var collab1_firstname = $("#collab1_firstname").val();
			var collab2_firstname = $("#collab2_firstname").val();
			var collab3_firstname = $("#collab3_firstname").val();
			var collab4_firstname = $("#collab4_firstname").val();
			var collab5_firstname = $("#collab5_firstname").val();
			var institution = $("#institution").val();
			var annual_operating_budget = $("#annual_operating_budget").val();
			var proj_title = $("#proj_title").val();
			var proj_brief_desc = $("#proj_brief_desc").val();
			var proj_long_desc = $("#proj_long_desc").val();
			var tag1 = $("#tag1").val();
			var tag2 = $("#tag2").val();
			var tag3 = $("#tag3").val();
			var tag4 = $("#tag4").val();
			var tag5 = $("#tag5").val();
			var req_budget = $("#req_budget").val();
			var signature = $("#signature").val();
			process_prelim_form(revision,awardtype,collab1_firstname,collab2_firstname,collab3_firstname,collab4_firstname,collab5_firstname,institution,annual_operating_budget,proj_title,proj_brief_desc,proj_long_desc,tag1,tag2,tag3,tag4,tag5,req_budget,signature);  
			
		}
	});
	
	//custom validator for checking requested budget meets limitations
	jQuery.validator.addMethod("req_budget_limit", function(value, element) { 
		var awardtypeChkd = $('input[id=awardtype]:checked').val();
		return this.optional(element) || 
			((awardtypeChkd == 'learninglab' && value >= 30000 && value <= 200000) || 
				(awardtypeChkd == 'gamechanger' && value >= 5000 && value <= 50000)); 
	}, $.format("Learning Labs awards are $30,000-$200,000; Game Changers $5,000-$50,000"));
	
	$().ready(function() {
		// validate signup form on keyup and submit
		$("#prelimForm").validate({
			rules: {
				awardtype: {
					required: true
				},
				//note: using collabN_firstname fields to store name & institution
				collab1_firstname: {
					required: false
				},
				collab2_firstname: {
					required: false
				},
				collab3_firstname: {
					required: false
				},
				collab4_firstname: {
					required: false
				},
				collab5_firstname: {
					required: false
				},
				institution: {
					required: function(element) {
						return $("#country").val() != 'United States';
					}
				},
				annual_operating_budget: {
					required: function(element) {
						return $("#country").val() != 'United States';
					},
					digits: true
				},
				proj_title: {
					required: true,
					maxWords: 16
				},
				proj_brief_desc: {
					required: true,
					maxWords: 55
				},
				proj_long_desc: {
					required: true,
					maxWords: 305
				},
				tag1: {
					required: false
				},
				req_budget: {
					required: true,
					digits: true,
					req_budget_limit: true
				},
				signature: {
					required: true,
					equalTo: "#fullname"
				}
			},
			messages: {
				awardtype: {
					required: "Please choose an award category."
				},
				annual_operating_budget: {
					digits: "Please enter digits only (no commas, periods, etc)."
				},
				proj_title: {
					maxWords: "You have exceeded the limit of 15 words."
				},
				proj_brief_desc: {
					maxWords: "You have exceeded the limit of 50 words."
				},
				proj_long_desc: {
					maxWords: "You have exceeded the limit of 300 words."
				},
				tag1: {
					required: "Please enter at least one tag in this field."
				},
				req_budget: {
					digits: "Please enter digits only (no commas, periods, etc)."
				},
				signature: {
					required: "An electronic signature is required.",
					equalTo: "Signature must match registered name."
				}
			}
		});
		
	});
}
