function checkDate(thisForm, thisName) {
    var valDay = thisForm.elements[thisName+'D'].selectedIndex;
    var valMonth = thisForm.elements[thisName+'M'].selectedIndex-1;     // m = 0..11
    var valYear = thisForm.elements[thisName+'Y'].options[thisForm.elements[thisName+'Y'].selectedIndex].value;
    //alert(valDay + '  ' + valMonth + ' ' + valYear);
    //return;
    //var valYear = thisForm.elements[thisName+'Y'].selectedIndex+1;
    if((valDay>0) && (valMonth>=0) && (valYear>0)){
    
        var intOffset = 0;
        var tryDate = new Date(valYear, valMonth, valDay);
        while(tryDate.getMonth() != valMonth) {
            valDay--;
            var tryDate = new Date(valYear, valMonth, valDay);
        }
        if(valDay!=thisForm.elements[thisName+'D'].selectedIndex) {
            alert('Sorry, The Month You Selected\nDoes Not Have That Many Days!');
            thisForm.elements[thisName+'D'].selectedIndex = valDay;
        }
    }
}

function matchPassword(strPassword1,strPassword2){
     if (!(strPassword1.value==strPassword2.value)){
         alert("Passwords do not match!");
         return false;
     }
     return true;
}


function validate(thisForm) {
    var strError = '';
    var msg = "\n\nInvalid Password!\nYour password must:\n" +
    "-Use at least four charactors (upper and lower case)\n\n";
    for (j=0; j < thisForm.elements.length;j++) {
        var currentElement = thisForm.elements[j];
        if (currentElement.className == 'mandatory') {
            //alert(currentElement.type);
            switch (currentElement.type) {
            case 'text':
                //pass through
            case 'textarea':
                //currentElement.value = currentElement.value.replace(/^\W+/,'');
                // Remove leading spaces
                currentElement.value = currentElement.value.replace(/^\s+/g,'');
                // Remove trailing spaces
                currentElement.value = currentElement.value.replace(/\s+$/g,'');
                currentElement.value.length == 0? strError = strError + '     Field ' + currentElement.id +' Is Empty\n': doNothing()
                break;
            case 'password':
                if (!(currentElement.value.length > 5)){
                    strError = strError + '     Field ' + currentElement.id + ': ' + msg;
                }
                //checkPassword(currentElement.value) == -1? strError = strError + msg + currentElement.id: doNothing()
                break;
            case 'select-one':
                !currentElement.selectedIndex||currentElement.selectedIndex == 0? strError = strError + '     No ' + currentElement.id +' Selected\n': doNothing()
                break;
            case 'select-multiple':
                currentElement.selectedIndex == -1? strError = strError + '     No ' + currentElement.id +' Selected\n': doNothing()
                break;
            }
        }//end if
    }// end for
    if (strError.length == 0) {
        thisForm.submit();
    }else{
        alert('These fields must be corrected:\n' + strError);
        return false;
    }
}// end validate

function doNothing() {
}

////////////////////////// PASSWORD Functions///////////////////////////////////
function getNewPassword(){

	var NUM_LETTERS = 26;
	var NUM_DIGITS = 9;
	var NUM_GOOFY = 7;
	var NUM_PASSWORD = 8;
	var iUpper;
	var iDigit;
	var iSpecial;
	var strLowercase = "abcdefghijklmnopqrstuvwxyz";
	var strUppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var strDigit =  "123456789";
	var strSpecial =  "!@#%-*?";
	var intPosition;
	var iRand;
	var strPassword = "";

	//randomly pick a character position for a uppercase letter
	iUpper = Math.floor(Math.random() * NUM_PASSWORD);
	//randomly pick a [different] character position for a digit
	do{
		iDigit = Math.floor(Math.random() * NUM_PASSWORD);
	} while (iDigit == iUpper);

	//randomly pick a [still different] character position for a special character
	do{
		iSpecial = Math.floor(Math.random() * NUM_PASSWORD);

	} while ((iSpecial == iUpper) || (iSpecial == iDigit));


	//first fill up password with random lowercase letters
	for (intPosition = 0; intPosition < NUM_PASSWORD; intPosition++){
		//This was a switch but it barfed in NS4.8 so I made it  an if..else
		if (intPosition==iUpper){
			iRand = Math.floor(Math.random() * NUM_LETTERS);
			strPassword = strPassword + strUppercase.charAt(iRand);
		}else if(intPosition==iDigit){
			iRand = Math.floor(Math.random() * NUM_DIGITS);
			strPassword = strPassword + strDigit.charAt(iRand);
		}else if(intPosition==iSpecial){
			iRand = Math.floor(Math.random() * NUM_GOOFY);
			strPassword = strPassword + strSpecial.charAt(iRand);
		}else{
			iRand = Math.floor(Math.random() * NUM_LETTERS);
			strPassword = strPassword + strLowercase.charAt(iRand);
		}

	}

	alert('Your new password is \"' + strPassword + '\", please remember it.');
	return (strPassword);

}

