function check() { 
	var maintenanceamt = top.document.maintenance_form.amt.value;
	var paymode = top.document.maintenance_form.mode.value;
	var server = top.document.maintenance_form.server.value;
	var desktop = top.document.maintenance_form.desktop.value;

	if(maintenanceamt=="" || isNaN(parseFloat(maintenanceamt)) || maintenanceamt==0) { 
		alert("Please enter a valid maintenance type.");
		top.document.maintenance_form.amt.value="";
		top.document.maintenance_form.amt.focus();
		return false; 
	} else if(paymode=="" || isNaN(parseFloat(paymode)) || paymode==0) {
		alert("Please enter a valid payment mode.");
		top.document.maintenance_form.mode.value="";
		top.document.maintenance_form.mode.focus();
		return false; 
	} else if(server=="" || isNaN(parseFloat(server)) ) {
		alert("Please enter the number of server you have.");
		top.document.maintenance_form.server.value="";
		top.document.maintenance_form.server.focus();
		return false;
	} else if(desktop=="" || isNaN(parseFloat(desktop)) || desktop==0 ) {
		alert("Please enter the number of desktop and laptop.");
		top.document.maintenance_form.desktop.value="";
		top.document.maintenance_form.desktop.focus();
		return false;
	} else {
		show(); 
	}
}

function clearScreen() { 
	top.document.maintenance_form.amt.value="";
	top.document.maintenance_form.mode.value="";
	top.document.maintenance_form.server.value="";
	top.document.maintenance_form.desktop.value="";
	top.document.getElementById("pmt").innerHTML="";
	top.document.getElementById("det").innerHTML="";
}

function fixVal(value,numberOfCharacters,numberOfDecimals,padCharacter) { 
	var i, stringObject, stringLength, numberToPad;            // define local variables

	value=value*Math.pow(10,numberOfDecimals);                 // shift decimal point numberOfDecimals places
	value=Math.round(value);                                   //  to the right and round to nearest integer

	stringObject=new String(value);                            // convert numeric value to a String object
	stringLength=stringObject.length;                          // get length of string
	while(stringLength<numberOfDecimals) {                     // pad with leading zeroes if necessary
		stringObject="0"+stringObject;                     // add a leading zero
		stringLength=stringLength+1;                       //  and increment stringLength variable
	}

	if(numberOfDecimals>0) {			           // now insert a decimal point
		stringObject=stringObject.substring(0,stringLength-numberOfDecimals)+"."+
		stringObject.substring(stringLength-numberOfDecimals,stringLength);
	}

	if (stringObject.length<numberOfCharacters && numberOfCharacters>0) {
		numberToPad=numberOfCharacters-stringObject.length;      // number of leading characters to pad
		for (i=0; i<numberToPad; i=i+1) {
			stringObject=padCharacter+stringObject;
		}
	}

	return stringObject;                                       // return the string object
}

function paymethod(value) {
	var stringobject;	

	if (value==4) {
		stringobject="Quarterly"
	} else if(value==2) {
		stringobject="Half Yearly"
	} else if(value==1) {
		stringobject="Yearly"
	}
	return stringobject;
} 


function show() {
	var type=parseFloat(top.document.maintenance_form.amt.value);
	var numpay=parseInt(top.document.maintenance_form.mode.value);
	var server=parseFloat(top.document.maintenance_form.server.value);
	var desktop=parseFloat(top.document.maintenance_form.desktop.value);
 
	var equipment=server+desktop;
	var amount=type*equipment*12;
	var GST=amount*0.07;
	var payment=(amount+GST)/numpay;
	var paywogst=amount/numpay;
	var total=payment*numpay;

	var output = "";
	var detail = "";

	output += "<table align='center' style='width:90%;margin:10px'> \
			<tr><td>Maintenance amount:</td><td align='right'>S$"+amount+"</td></tr><tr><td>Number of payments:</td> \
			<td align='right'>"+numpay+"</td></tr><tr><td>GST Tax @ 7%:</td> \
			<td align='right'>S$"+fixVal(GST,0,2,' ')+"</td></tr><tr><td>Payment:</td> \
			<td align='right'>S$"+fixVal(payment,0,2,' ')+"</td></tr><tr><td>Total Paid:</td> \
			<td align='right'>S$"+fixVal(total,0,2,' ')+"</td></tr></table>"; 

	detail += "<table border='0' align='center' cellpadding='5' cellspacing='0' width='97%' style='font-family:courier;font-size:12px'> \
			<tr><td align='center' valign='bottom' bgcolor='white'><b>Pmt</b></td><td align='right' valign='bottom' bgcolor='white'><b>Amount</b></td> \
			<td align='right' valign='bottom' bgcolor='white'><b>GST Tax</b></td><td align='right' valign='bottom' bgcolor='white'><b>Mode</b></td> \
			<td align='right' valign='bottom' bgcolor='white'><b>Balance</b></td></tr><tr><td align='center' bgcolor='white'>0</td> \
			<td align='center' bgcolor='white'>&nbsp;</td><td align='center' bgcolor='white'>&nbsp;</td><td align='center' bgcolor='white'>&nbsp;</td> \
			<td align='right' bgcolor='white'>"+fixVal(total,0,2,' ')+"</td></tr>";

	newPrincipal=total;
	



	var i = 1;
	while (i <= numpay) {
		newGST=GST/numpay;
		newPrincipal=newPrincipal-payment;
				


		detail += "<tr><td align='center'>"+i+"</td><td align='right' bgcolor='white'>"+fixVal(paywogst,0,2,' ')+"</td> \
				<td align='right' bgcolor='white'>"+fixVal(newGST,0,2,' ')+"</td> \
				<td align='right' bgcolor='white'>"+paymethod(numpay)+"</td> \
				<td align='right' bgcolor='white'>"+fixVal(newPrincipal,0,2,' ')+"</td></tr>";

		i++;
	}

	detail += "</table>";

	document.getElementById("pmt").innerHTML = output;
	document.getElementById("det").innerHTML = detail;
}
