function IsValidDate(date)
{
	var dateStr = new String(date);
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;

	var matchArray = dateStr.match(datePat);
	if (matchArray == null)
		return false;
			
	month = matchArray[1];
	day = matchArray[3];
	year = matchArray[4];
	
	if (month < 1 || month > 12)
		return false;
		
	if (day < 1 || day > 31)
		return false;
		
	if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31)
		return false;
		
	if (month == 2)
	{
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day == 29 && !isleap))
			return false;
	}
	return true;
}

function ValidateCaseSearch()
{
	var caseNum = document.getElementById('tbCaseNumber');
	
	if(caseNum == null)
		return false;
	
	var caseText = new String(caseNum.value);
	
	if(caseText.length > 0)
	{
		var caseNumPat = /^((\d{1,2})(-)([A-Za-z]{1,2})(-)(\d{1,6})(-\d{1,3})?)$/;
		var matchArray = caseText.match(caseNumPat);
		
		if(matchArray == null)
		{
			alert('Please Follow Search Guidelines\r\n\n * Case Number formats include:\r\n07-CR-9999\r\n07-CR-99999\r\n07-CR-9999-001\r\n07-CR-99999-001');
			caseNum.select();
			return false;
		}
		
		return true;
	}
	else
	{
		alert('Please Follow Search Guidelines\r\n\n * Case Number field is required.');
		caseNum.focus();
	}
		
	return false;
}

function ValidateComment()
{
	var comment = document.getElementById('tbComments');
	
	if(comment == null)
		return false;
	
	var commentText = new String(comment.value);
	
	if(commentText.length > 0)
	{
		return true;
	}
	else
	{
		alert('Please enter your comments.');
		comment.focus();
	}
		
	return false;
}

function ValidatePartySearch()
{
	var lastName = document.getElementById('tbLastName');
	var dateFrom = document.getElementById('tbEvFrom');
	var dateTo = document.getElementById('tbEvTo');
	var dateBirth = document.getElementById('tbBirthDate');
	//var ssn = document.getElementById('tbCountySSN');
	
	if(lastName == null || dateFrom == null || dateTo == null || dateBirth == null)
		return false;
		
	var lastNameText = new String(lastName.value);
	var dateFromText = new String(dateFrom.value);
	var dateToText = new String(dateTo.value);
	var dateBirthText = new String(dateBirth.value);
	//var ssnText = new String(ssn.value);
	
	var message = new String();
	
	//Validate Required Fields
	if(lastNameText.length == 0)
	{
		message = "Please Follow Search Guidelines\r\n\n * Last Name field is required.";
		lastName.focus();
	}
	
	//Validate SSN
	/*
	if(ssnText.length > 0)
	{
		var ssnPat = /^((\d{3})(-)?(\d{2})(-)?(\d{4}))$/;
		var matchArray = ssnText.match(ssnPat);
		
		if(matchArray == null)
		{
			if(message.length > 0)
				message = message + "\r\n * SSN field is invalid.";
			else
				message = "Please Follow Search Guidelines\r\n\n * SSN field is invalid.";
			ssn.select();
		}
	}
	*/
	
	//Validate Date Fields
	if(dateFromText.length > 0 && dateToText.length > 0)
	{
			if(IsValidDate(dateFromText) && IsValidDate(dateToText))
			{
				var d_from = new Date(dateFromText);
				var d_to = new Date(dateToText);
				
				if(d_to < d_from)
				{
					if(message.length > 0)
						message = message + "\r\n * Date range is invalid.";
					else
						message = "Please Follow Search Guidelines\r\n\n * Date range format is mm/dd/yyyy.";
					dateTo.select();
				}
			}
	}
	else
	{
		if(dateFromText.length > 0)
		{
			if(!IsValidDate(dateFromText))
			{
				if(message.length > 0)
					message = message + "\r\n * Date From field is invalid.";
				else
					message = "Please Follow Search Guidelines\r\n\n * Date From format is mm/dd/yyyy.";
				dateFrom.select();
			}
		}
		if(dateToText.length > 0)
		{
			if(!IsValidDate(dateToText))
			{
				if(message.length > 0)
					message = message + "\r\n * Date To field is invalid.";
				else
					message = "Please Follow Search Guidelines\r\n\n * Date To format is mm/dd/yyyy.";
				dateTo.select();
			}
		}
	}
	if(dateBirthText.length > 0)
	{
		if(!IsValidDate(dateBirthText))
		{
			if(message.length > 0)
				message = message + "\r\n * Birth Date field is invalid.";
			else
				message = "Please Follow Search Guidelines\r\n\n * Birth Date format is mm/dd/yyyy.";
			dateBirth.select();
		}
	}
	
	if(message.length > 0)
	{
		alert(message);
		return false;
	}
	
	return true;
}

function onEnterKey(e)
{
	var key = 'Hello';
	
	if(e.which)
		key = e.which
	else if(event.keyCode)
		key = event.keyCode
		
	//ESC Key Press
	if(key == 27)
	{
		document.getElementById('ddlCaseCounty').value = '0011';
		document.getElementById('ddlCaseDivision').value = 'DI';
		document.getElementById('tbCaseNumber').value = '';
		
		document.getElementById('ddlCounty').value = '0011';
		document.getElementById('ddlDivision').value = 'All';
		document.getElementById('ddlCase').value = '5';
		document.getElementById('ddlParty').value = '2';
		document.getElementById('tbLastName').value = '';
		document.getElementById('tbFirstName').value = '';
		//document.getElementById('tbCountySSN').value = '';
		document.getElementById('tbCountyDLN').value = '';
		document.getElementById('tbEvFrom').value = '';
		document.getElementById('tbEvTo').value = '';
		document.getElementById('tbBirthDate').value = '';
		
		document.getElementById('lbl_error').value = '';
		
		return false;
	}
}

function onKeyPress(e, id)
{
	if(e.which)
	{
		if(e.which == 13)
		{
			e.returnValue = false;
			e.preventDefault();
			e.stopPropagation();
			document.getElementById(id).click();
			
		}
	}
	else if(event.keyCode)
	{
		if(event.keyCode == 13)
		{
			event.cancelBubble = true; 
			event.returnValue = false;
			event.cancel = true;
			document.getElementById(id).click(); 
		}
	}
}

function KeyPressPostBack(e, defaultButtonUniqueID) {
    var keynum;

    if (window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if (e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }

    if (keynum == 13) {
        __doPostBack(defaultButtonUniqueID, '');

        return false;
    }

    return true;
}