function openWindow(URL, winName, width, height) { 
	window.open(URL, winName, 'height=' + height + ',width=' + width + ',top = ' + (screen.availHeight - height) / 2 + ', left = ' + (screen.availWidth - width) / 2 + ', resizable=yes,status=no,toolbar=no,menubar=no,location=no, scrollbars=yes')
}
function goToPage(sURL) {
	if((document.body.modulename == 'CreatePO' || document.body.modulename == 'EditPO' || document.body.modulename == 'CreateEC' || document.body.modulename == 'EditEC') && isFormModified) {
		if (!confirm('You are about to leave the form and all the modification will be loss. Are you sure to continue ?')){
			return
		}
	}
	window.location = sURL
}
	

function isDate(strDate) {
	
	


	var rexNumber = /^\-?\d+$/;
    
	var intCentYear = 30;
	
	var arrDate = strDate.split('/');

	
	if (arrDate.length != 3) return false
	
	if (!arrDate[0]) return  false
	
	if (!rexNumber.exec(arrDate[0])) return false
	
	if (!arrDate[1]) return false
	
	if (!rexNumber.exec(arrDate[1])) false
	
	if (!arrDate[2]) return false
	
	if (!rexNumber.exec(arrDate[2])) return false

	

	var dt_date = new Date();
	
	dt_date.setDate(1);

	
	if (arrDate[0] < 1 || arrDate[0] > 12) return false
	
	dt_date.setMonth(arrDate[0]-1);
	 
	
	if (arrDate[2] < 100) arrDate[2] = Number(arrDate[2]) + (arrDate[2] < intCentYear ? 2000 : 1900);
	
	dt_date.setFullYear(arrDate[2]);

	
	var dt_numdays = new Date(arrDate[2], arrDate[0], 0);
	
	dt_date.setDate(arrDate[1]);
	
	if (dt_date.getMonth() != (arrDate[0]-1)) return false

	

	return true

}
function formatDateCustom(strDate){
				var dteDate
				dteDate = new Date(strDate)
				return (dteDate.getMonth() + 1 >= 10 ? '' : '0').toString() + (dteDate.getMonth() + 1).toString() + '/' +
					   (dteDate.getDate() >= 10 ? '' : '0').toString() + dteDate.getDate().toString() + '/' +
						dteDate.getFullYear().toString()
			}


function dateAdd(datepart, number, date) {
   var d = new Date(date);
   switch (datepart) {
      // millisecond
      case "ms":
         return new Date(Date.parse(d) + (number));

      // second
      case "s":
      case "ss":
         return new Date(Date.parse(d) + (number*1000));

      // minute
      case "n":
      case "mi":
         return new Date(Date.parse(d) + (number*1000*60));

      // hour
      case "hh":
         return new Date(Date.parse(d) + (number*1000*60*60));

      // day
      case "d":
      case "dd":
         return new Date(Date.parse(d) + (number*1000*60*60*24));

      // week
      case "wk":
      case "ww":
         return new Date(Date.parse(d) + (number*1000*60*60*24*7));

      // month
      case "m":
      case "mm":
         var i = 0;
         var maxcurr = daysInMonth(d.getMonth(), d.getFullYear());
         var mm = (d.getMonth() + number) % 12;
         if (mm < 0) mm += 12;
         var yy = d.getFullYear() + Math.floor((number + d.getMonth()) / 12);
         var maxnext = daysInMonth(mm, yy);
         if (maxnext < d.getDate()) {
            i = (maxnext - d.getDate());
         }
         if (d.getDate() == maxcurr) {
            i = (maxnext - maxcurr);
         }
         return new Date(
            d.getFullYear(),
            d.getMonth()+number,
            d.getDate()+i,
            d.getHours(),
            d.getMinutes(),
            d.getSeconds());

      // quarter
      case "q":
      case "qq":
         var i = 0;
         var maxcurr = daysInMonth(d.getMonth(), d.getFullYear());
         var mm = (d.getMonth() + number*3) % 12;
         if (mm < 0) mm += 12;
         var yy = d.getFullYear() + Math.floor((number*3 + d.getMonth()) / 12);
         var maxnext = daysInMonth(mm, yy);
         if (maxnext < d.getDate()) {
            i = (maxnext - d.getDate());
         }
         if (d.getDate() == maxcurr) {
            i = (maxnext - maxcurr);
         }
         return new Date(
            d.getFullYear(),
            d.getMonth()+number*3,
            d.getDate()+i,
            d.getHours(),
            d.getMinutes(),
            d.getSeconds());

      // year
      case "yy":
      case "yyyy":
         var i = 0;
         if (d.getMonth() == 1) {
            if (d.getDate() == 29) {
               if (!isLeapYear(d.getFullYear() + number)) {
                  i = -1;
               }
            }
            if (d.getDate() == 28) {
               if (!isLeapYear(d.getFullYear())) {
                  if (isLeapYear(d.getFullYear() + number)) {
                     i = 1;
                  }
               }
            }
         }
         return new Date(
            d.getFullYear()+number,
            d.getMonth(),
            d.getDate()+i,
            d.getHours(),
            d.getMinutes(),
            d.getSeconds());
   }
}

function ensureDate(oTextbox) {

	var CurrentDate
				
	CurrentDate = new Date()
				
	if (!isDate(oTextbox.value)) {
		oTextbox.value = formatDateCustom(CurrentDate.toString())
	}
	else {
		oTextbox.value = formatDateCustom(oTextbox.value)
	}
		
	
}



