function masaSubur() {    
    var tglAkhir, tglTemp1, tglTemp1b, tglTemp2, tglTemp3, temp, i, j;
     var TDtgl1, TMtgl1, TTtgl1, TDtgl2, TMtgl2, TTtgl2;
 
     tglAkhir = new Date(document.forms[0].tglHaidakhir.value)
     tglTemp1 = Date.parse(tglAkhir);
     tglTemp1b = Date.parse(tglAkhir);
     
     
     tglTemp1 = (tglTemp1 + (86400000 * document.forms[0].siklusHaidPendek.value) - 1);  //get the next period 
     tglTemp1b = (tglTemp1b + (86400000 * document.forms[0].siklusHaidPanjang.value) - 1);  //get the next period 
     tglTemp1 = tglTemp1 -  (86400000 * 14);	//get the ovulation date
     tglTemp1b = tglTemp1b -  (86400000 * 14);	//get the ovulation date
     tglTemp2 = tglTemp1 -  (86400000 * 3);  //Start the fertility
     tglTemp3 = tglTemp1b +  (86400000 * 3); //end the fertility
     
     tglTemp2 = new Date(tglTemp2);  //start fertility (format it)
     TDtgl1 = tglTemp2.getDate();
     TMtgl1 = tglTemp2.getMonth();
     TMtgl1 = convertMonth(TMtgl1);
     TTtgl1 = tglTemp2.getYear();
     
     TTtgl1 += "";   //for netscape compatility
     if(TTtgl1.length != 4) { 
         TTtgl1 = nCompatibilty(TTtgl1);
     }

     tglTemp3 = new Date(tglTemp3);  //end fertilify (format it)
     TDtgl2 = tglTemp3.getDate();
     TMtgl2 = tglTemp3.getMonth();
     TMtgl2 = convertMonth(TMtgl2);
     TTtgl2 = tglTemp3.getYear();

     TTtgl2 += "";   //for netscape compatility
     if(TTtgl2.length != 4) { 
         TTtgl2 = nCompatibilty(TTtgl2);
     }

      if(document.forms[0].siklusHaidPendek.value=="") {      
        document.forms[0].siklusHaidPendek.focus();
        alert("Masukkan angka \nSiklus Menstruasi Terpendek");  
        return false;
    }

    if(isNaN(document.forms[0].siklusHaidPendek.value)) {       
        document.forms[0].awalSubur.value = "";
        document.forms[0].akhirSubur.value = "";
        document.forms[0].siklusHaidPendek.focus();
        alert("Masukkan angka, \nbukan huruf!");
      return false;
    }

      if(document.forms[0].siklusHaidPendek.value < 15) {      
        document.forms[0].awalSubur.value = "";
        document.forms[0].akhirSubur.value = "";
        document.forms[0].siklusHaidPendek.focus();
        alert("Angka Siklus Menstruasi Terpendek \ntidak boleh < 15");  
        return false;
    }

      if(document.forms[0].siklusHaidPanjang.value=="") {      
        document.forms[0].siklusHaidPanjang.focus();
        alert("Masukkan angka \nSiklus Menstruasi Terpanjang");  
        return false;
    }

    if(isNaN(document.forms[0].siklusHaidPanjang.value)) {       
        document.forms[0].awalSubur.value = "";
        document.forms[0].akhirSubur.value = "";
        document.forms[0].siklusHaidPanjang.focus();
        alert("Masukkan angka, \nbukan huruf!");
      return false;
    }
    
      if(document.forms[0].siklusHaidPanjang.value < 15) {      
        document.forms[0].awalSubur.value = "";
        document.forms[0].akhirSubur.value = "";
        document.forms[0].siklusHaidPanjang.focus();
        alert("Angka Siklus Menstruasi Terpanjang \ntidak boleh < 15");  
        return false;
    }

      if((document.forms[0].siklusHaidPendek.value) > (document.forms[0].siklusHaidPanjang.value)) {      
        document.forms[0].awalSubur.value = "";
        document.forms[0].akhirSubur.value = "";
        document.forms[0].siklusHaidPanjang.focus();
        alert("Angka Siklus Menstruasi Terpanjang \nharus lebih besar atau sama dengan \nSiklus Menstruasi Terpendek.");  
        return false;
    }

      if(((document.forms[0].siklusHaidPanjang.value) - (document.forms[0].siklusHaidPendek.value))>7) {      
        document.forms[0].awalSubur.value = "";
        document.forms[0].akhirSubur.value = "";
        document.forms[0].siklusHaidPanjang.focus();
        alert("Script tidak dapat digunakan, karena \nselisih Siklus Menstruasi Terpanjang \ndan Siklus Menstruasi Terpendek \nlebih dari 7 [tujuh] hari.");  
        return false;
    }

    tglAkhir = Date.parse(tglAkhir);    //validasi for valid tanggal terakhir mens
    if(!(tglAkhir)) {       
       document.forms[0].awalSubur.value = "";
       document.forms[0].akhirSubur.value = "";
       document.forms[0].tglHaidakhir.focus();
       alert("Masukkan tanggal Hari \nPertama Haid Terakhir");
       return false;
    }
    document.forms[0].awalSubur.value = TDtgl1 + " " + TMtgl1 + " " + TTtgl1;  
    document.forms[0].akhirSubur.value = TDtgl2 + " " + TMtgl2 + " " + TTtgl2;    
}

function nCompatibilty(PTTgl) {
    if(PTTgl.length == 3) {    
         PTTgl = PTTgl.substring(1,3);
         PTTgl = 20 + PTTgl;
    }
    if(PTTgl.length == 2) {    
         PTTgl = PTTgl.substring(1,2);
         PTTgl = 19 + PTTgl;
    }
    return PTTgl;
}

function convertMonth(PMTgl) {
   switch(PMTgl) {
        case 0 :PMTgl = "Januari"; break;
        case 1: PMTgl = "Februari"; break;
        case 2 :PMTgl = "Maret"; break;
        case 3: PMTgl = "April"; break;
        case 4 :PMTgl = "Mei"; break;
        case 5: PMTgl = "Juni"; break;
        case 6 :PMTgl = "Juli"; break;
        case 7: PMTgl = "Agustus"; break;
        case 8 :PMTgl = "September"; break;
        case 9: PMTgl = "Oktober"; break;
        case 10 :PMTgl = "November"; break;
        case 11: PMTgl = "Desember"; break;
    }   
    return PMTgl;
}



function trim(value) {
	badFirstChar=" -+=|[]$%^&*()!@#`~,.><?/\\;:{}_";
	for (i = 0; i < value.length; i ++) {	
		if (badFirstChar.indexOf(value.substring(i,i+1)) < 0) {
				break;
		}
	}
	for (j = value.length; j >= 0; j --) {
		if (value.substring(j-1,j) != " ") {
			break;
		}
	}
	if (i >= value.length)
		return "";
	else
	if (j < 0)
		return "";
	else
	if (j >= value.length-1)
		return value.substring(i,j+1);
	else
		return (value.substring(i,j) + '\n');
}