function MM_preloadImages() { //v3.0
  	var d=document; 
  	if(d.images){ 
  		if(!d.MM_p) 
  			d.MM_p=new Array();
    
  		var i, j=d.MM_p.length, a=MM_preloadImages.arguments; 
  		for(i=0; i<a.length; i++)
  			if (a[i].indexOf("#")!=0){ 
  			 	d.MM_p[j]=new Image; 
  			 	d.MM_p[j++].src=a[i];
  			}
    }
}

function checkform(objDebtor, objDOB, objAmount) {
    var datefield = objDOB;
    var debtorfield = objDebtor;
    var amountfield = objAmount;
    var amountstring = amountfield.value;
    
    if (debtorfield.value == "") {
    	debtorfield.select();
    	alert("Please enter your debtor reference");
    	debtorfield.focus();
    	return false;
    }
  
    if (datefield.value == "") {
    	datefield.select();
    	alert("Please enter the date of birth of the account holder");
    	datefield.focus();
    	return false;
    }

    if (chkdate(objDOB) == false) {
        datefield.select();
        alert('The Date of Birth entered is invalid.  Please try again (format day/month/year)');
        datefield.focus();
        return false;
    }

    if (amountstring == "") {
    	amountfield.select();
    	alert("Please enter an amount to pay (minimum £1.00)");
    	amountfield.focus();
    	return false;
    }

    if(isNaN(amountstring)) {
    	amountfield.select();
    	alert("Please enter a valid amount (minimum £1.00)");
    	amountfield.focus();
    	return false;
    }
           
    if (amountstring.charAt(0) == ".") {
    	amountstring = "0" + amountstring;
    }
    
    if(parseFloat(amountstring) < 1)
    {
    	amountfield.select();
    	alert("The minimum payment is £1.00.  Please re-enter the amount you wish to pay");
    	amountfield.focus();
    	return false;
    }
     
    return true;
}

function chkdate(objName) {
    var strDate;
    var strDateArray;
    var strDay;
    var strMonth;
    var strYear;
    var intday;
    var intMonth;
    var intYear;
    var booFound = false;
    var datefield = objName;
    var strSeparatorArray = new Array("-"," ","/",".");
    var intElementNr;
    var err = 0;
    var strMonthArray = new Array(12);
	var d = new Date();
    var curr_year = d.getFullYear();
    var twodigityear = false;

    strMonthArray[0] = "Jan";    
	strMonthArray[1] = "Feb";    
	strMonthArray[2] = "Mar";   
    strMonthArray[3] = "Apr";    
	strMonthArray[4] = "May";    
	strMonthArray[5] = "Jun";    
	strMonthArray[6] = "Jul";    
	strMonthArray[7] = "Aug";    
	strMonthArray[8] = "Sep";    
	strMonthArray[9] = "Oct"; 	  
	strMonthArray[10] = "Nov";	  
	strMonthArray[11] = "Dec";    

	strDate = datefield.value;    

	if (strDate.length < 6 || strDate.length > 10) {        
		return false;    
	}    

	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {        
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
            strDateArray = strDate.split(strSeparatorArray[intElementNr]);
            if (strDateArray.length != 3) {
                err = 1;
                return false;
            }
            else {
                strDay = strDateArray[0];
                strMonth = strDateArray[1];
                strYear = strDateArray[2];
            }
            booFound = true;
       }
    }

    if (booFound == false) {
        if (strDate.length>5) {
            strDay = strDate.substr(0, 2);
            strMonth = strDate.substr(2, 2);
            strYear = strDate.substr(4);
        }
    }

    if (strYear.length > 4) {
   	  return false;
    }

    if (strYear.length == 2) {
        strYear = '20' + strYear;
        twodigityear = true;
    }

    intday = parseInt(strDay, 10);

    if (isNaN(intday)) {
        err = 2;
        return false;
    }
    intMonth = parseInt(strMonth, 10);
    if (isNaN(intMonth)) {
        for (i = 0;i<12;i++) {
            if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
                intMonth = i+1;
                strMonth = strMonthArray[i];
                i = 12;
           }
        }
        if (isNaN(intMonth)) {
            err = 3;
            return false;
        }
    }
    intYear = parseInt(strYear, 10);
   
    if (isNaN(intYear)) {
        err = 4;
        return false;
    }
    
// If year entered was rwo chars then would have added "20" to the beggining
// Future date is invalid so - 1000 if it is
    
	if (intYear > curr_year && twodigityear == true)
		intYear -= 100;

    if (intMonth>12 || intMonth<1) {
        err = 5;
        return false;
    }

    if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12)
    	&& (intday > 31 || intday < 1)) {

        err = 6;
        return false;
    }

    if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) 
    	&& (intday > 30 || intday < 1)) {

        err = 7;
        return false;
    }

    if (intMonth == 2) {
        if (intday < 1) {
            err = 8;
            return false;
        } 
        
		if (LeapYear(intYear) == true) {
            if (intday > 29) {
                err = 9;
                return false;
            }
        }
        else {
            if (intday > 28) {
                err = 10;
                return false;
            }
        }
    }

    datefield.value = intday + "/" + intMonth + "/" + intYear;
    return true;
}
    
function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) {
			return true; 
		}
	}    
	else
	{
		if ((intYear % 4) == 0) { 
			return true;
		}    
	}    
	return false;
}


