function IsDate(dateStr) {
    return MY.IsDate(dateStr)
}

function IsNumeric(sText){   
    return MY.IsNumeric(sText)
}

function dateAdd(p_Interval, p_Number, p_Date){
    return MY.dateAdd(p_Interval, p_Number, p_Date)
}

function dayDiff(dt1,dt2){    
    return   Math.floor((dt2 - dt1) / 86400000);
}

function datePart(p_Interval, p_Date){
    return MY.datePart(p_Interval, p_Date)
}

var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height,scr,rsz)
{
if(popUpWin)
{
    if(!popUpWin.closed) popUpWin.close();
}
popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+scr+',resizable='+rsz+',copyhistory=no,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}

function IsEmailValid(checkThisEmail)	{
    var myEMailIsValid = true;
    var myAtSymbolAt = checkThisEmail.indexOf('@');
    var myLastDotAt = checkThisEmail.lastIndexOf('.');
    var mySpaceAt = checkThisEmail.indexOf(' ');
    var myLength = checkThisEmail.length;

    if (myAtSymbolAt < 1 ) 
     {myEMailIsValid = false}

    if (myLastDotAt < myAtSymbolAt) 
     {myEMailIsValid = false}

    if (myLength - myLastDotAt <= 2) 
     {myEMailIsValid = false}

    if (mySpaceAt != -1) 
     {myEMailIsValid = false}
     
    return myEMailIsValid
}

//calendar user control'unun shared scripts
var extracallscript='';
function CalendarObj_Click(objId,objCal,objHRef,callscr){    
    var textObj=MM_findObj(objId);
    extracallscript=callscr;
	objCal.setReturnFunction("CalendarObj_RetFunc");
	objCal.select(objHRef.id,'dd/MM/yyyy',textObj);
}

function CalendarObj_RetFunc(objHRef,objId,y,m,d){
    var xDay=new String(d);
	var xMon=new String(m);
	if (xDay<10){
        xDay='0' + xDay;
    }
    if (xMon<10){
        xMon='0' + xMon;
    }		    
    //alert(xDay + '/' + xMon + '/' + y);
    MM_findObj(objId).value=xDay + '/' + xMon + '/' + y;    
	if(extracallscript!='') {	    
	    eval(extracallscript);
	}
    
}

function CalendarObj_Value(objId)    {    
    if(MM_findObj(objId+'_chkDate') && MM_findObj(objId+'_chkDate').checked==false) {        
        return '01/01/1900'
    }
    return MM_findObj(objId+'_txtDate').value; 
}

function CalendarObj_ValueSet(objId,value)    {            
	var xDay = datePart('d',value);
	var xMon = datePart('m',value);	
	if (xDay<10){
        xDay='0' + xDay;
    }
    if (xMon<10){
        xMon='0' + xMon;
    }        
    MM_findObj(objId+'_txtDate').value=xDay + '/'+ xMon + '/'+ datePart('yyyy',value)    
}

function CalendarObj_DateValue(objId)    {
    var dtStr=CalendarObj_Value(objId);
    return ConvertStrToDate(dtStr)
}

// dd/mm/yyyy
function ConvertStrToDate(argDateStr) {
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = argDateStr.match(datePat); // is the format ok?	
	day = matchArray[1];
	month = matchArray[3];
	year = matchArray[5];
	
    return new Date(month + '/'+ day + '/'+ year) ;

}

function emptycombo(cmb)   {
	//Clears the state combo box contents.
	for (var count = cmb.options.length-1; count >-1; count--)
	{
		cmb.options[count] = null;
	}
}

Number.prototype.formatMoney = function(c, d, t){
	var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
	return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

function ObjectPositionLeft(obj) {
    var curleft = 0;      
      if (obj.offsetParent) {
            do {
                  curleft += obj.offsetLeft;     
            } while (obj = obj.offsetParent);
      }
      return curleft;
}

function ObjectPositionTop(obj) {    
      var curtop = 0;
      if (obj.offsetParent) {
            do {                  
                  curtop += obj.offsetTop;
            } while (obj = obj.offsetParent);
      }
      return curtop;
}

function cmb_getseltext(cmb)   {
	//Clears the state combo box contents.
	for (var count = 0; count<cmb.options.length; count++)
	{
		if(cmb.options[count].selected) return cmb.options[count].text
	}
	return null
}

function disableAnchor(obj, disable){
  if(disable){
    var href = obj.getAttribute("href");
    if(href && href != "" && href != null){
       obj.setAttribute('href_bak', href);
    }
    obj.removeAttribute('href');    
  }
  else{
    if(obj.attributes['href_bak']) obj.setAttribute('href', obj.attributes['href_bak'].nodeValue);    
  }
}