var daysInMonth =new Array(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;


var ss_timers=new Array();
var ss_timer_started=false;


function ss_checktimers()
{ for (var i=0;i<ss_timers.length;i++)
       ss_timers[i].value=parseInt(ss_timers[i].value)+1;
   
}

function x_triggerctl(but,ctl)
{ 

  if (but.value=='Start')
     {x_addtrigger(ctl);
      but.value='Stop';
        if (!ss_timer_started)
             {setInterval("ss_checktimers()", 1000);
              ss_timer_started=true; 
               }
         } 
  else
    {x_removetrigger(ctl);
     but.value='Start';} 
}

function  x_addtrigger(ctl)
{ ss_timers.push(ctl);

}

function  x_removetrigger(ctl)
{ for (var i=0;i<ss_timers.length;i++)
     if (ss_timers[i].name==ctl.name)
          { ss_timers.splice(i,1);
             return;}
}

function parseint(s)
{return parseInt(s);
}

function parsefloat(s)
{return parseFloat(s);
}

function PARSEFLOAT(s)
{return parseFloat(s);
}


function _cf_selectuser(frmname,id,roleids)

  {   var users='',rolelimit='';
       if(roleids==null) roleids=""; 
       if(roleids.length>0)
             rolelimit="&rolelimit="+roleids;
      txt=frmname+'.cf_'+id;
      id=frmname+'.d_cf_'+id;
      cf_user_window = window.open(
		'/s_userpicker2.jsp?all=1&type=0&roleid='+roleids+'&userlist='+users+'&c1='+txt+'&c2='+id+rolelimit,
		'cf_edituser', 'menubar=no,scrollbars=yes,width=600,height=340,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes'
	);
   	cf_user_window.opener = window;
	cf_user_window.focus();

 }


function _cf_selectcomuser(frmname,id,roleids)

  {   var users='',rolelimit='';
       if(roleids==null) roleids=""; 
       if(roleids.length>0)
             rolelimit="&rolelimit="+roleids;
       
      txt=frmname+'.cf_'+id;
      id=frmname+'.d_cf_'+id;
      cf_user_window = window.open(
		'/s_userpicker2.jsp?comname=1&all=1&type=0&roleid='+roleids+'&userlist='+users+'&c1='+txt+'&c2='+id+rolelimit,
		'cf_edituser', 'menubar=no,scrollbars=yes,width=540,height=327,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes'
	);
   	cf_user_window.opener = window;
	cf_user_window.focus();

 }

function _cf_selectcompany(frmname,id)
{   var select_window;
      txt='cf_'+id;
      id='d_cf_'+id;
     select_window = window.open('/s_selectobject.jsp?type=30c&scope=0&ctltype=1&frm='+frmname+'&txt='+txt+'&id='+id,'selectobj', 'menubar=no,scrollbars=yes,width=550,height=300,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
     select_window.opener = window;
     select_window.focus();
}
function _cf_company(frmname,id)
{   var select_window;
      txt=id;
      id=id;
     select_window = window.open('/s_selectobject.jsp?type=30c&scope=0&searchscope=0&ctltype=1&frm='+frmname+'&txt='+txt+'&id='+id,'selectobj', 'menubar=no,scrollbars=yes,width=550,height=300,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
     select_window.opener = window;
     select_window.focus();
}
function x_uploadfile(fieldid,entity,objectid)
{var file_window;
    if(entity=='-1')
   file_window = window.open('/FileUpload/fp_folderattachment.jsp?uptype=1&fieldid='+fieldid+'&codedid='+objectid,'Selectfolder', 'menubar=no,scrollbars=yes,width=680,height=410,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
  else
   file_window= window.open('/s_fileattachment.jsp?fieldid='+fieldid+'&entity='+entity+'&codedid='+objectid,'Selectfolder', 'menubar=no,scrollbars=yes,width=500,height=480,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
  file_window.opener = window;
  file_window.focus();
 }
function x_deletefile(fieldid,entity,objectid)
{var file_window;
    //if(entity=='-1')
   //file_window = window.open('/FileUpload/fp_folderattachment.jsp?uptype=1&fieldid='+fieldid+'&codedid='+objectid,'Selectfolder', 'menubar=no,scrollbars=yes,width=680,height=410,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
  //else
   file_window= window.open('/s_fileattachment.jsp?fieldid='+fieldid+'&dele=1&autoclose=1&entity='+entity+'&codedid='+objectid,'Selectfolder', 'menubar=no,scrollbars=yes,width=500,height=480,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
  file_window.opener = window;
  file_window.focus();
 }
function x_editimgfile(fieldid,entity,objectid,qry)
{ var file_window = window.open('/pbrush/pb_edit.jsp?fieldid='+fieldid+'&entity='+entity+'&codedid='+objectid+'&'+qry,'EditImage', 'menubar=no,scrollbars=yes,width=800,height=600,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
  file_window.opener = window;
  file_window.focus();
 }
function x_uploadfolder(fieldid,objectid)
{ var file_window = window.open('/FileUpload/fp_folderattachment.jsp?uptype=0&fieldid='+fieldid+'&codedid='+objectid,'Selectfolder', 'menubar=no,scrollbars=yes,width=680,height=410,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
  file_window.opener = window;
  file_window.focus();
 }


function x_launchsignpad(fieldid,objectid)
{ file_window = window.open('/s_epad.jsp?fieldid='+fieldid+'&codedid='+objectid,'epad', 'menubar=no,scrollbars=yes,width=280,height=240,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
  file_window.opener = window;
  file_window.focus();
 }

function x_selectfolder(ctltext,ctlid)
 { folder_window = window.open('/s_folderpicker.jsp?form=default&txt='+ctltext+'&id='+ctlid,'Selectfolder', 'menubar=no,scrollbars=yes,width=600,height=350,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
   folder_window.opener = window;
   folder_window.focus();
  
 }

function _markdirty(id)
{var ctl=document.getElementById(id);
 if (ctl!=null)
    ctl.value=1;
}

function x_selectfolder(frmname,ctltext,ctlid)
 { if (frmname=='')
    frmname='default';
  folder_window = window.open('/s_folderpicker.jsp?form='+frmname+'&txt='+ctltext+'&id='+ctlid,'Selectfolder', 'menubar=no,scrollbars=yes,width=600,height=350,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes');
   folder_window.opener = window;
   folder_window.focus();
  
 }

function _charleft(field,counter,max) {
 if (field.value.length > max)
   field.value=field.value.substring(0,max);
 if (counter!=null)
   counter.value=(max-field.value.length)+" characters left";
}

function isContains (s,mask,isEmptyOK)
{   var arr;
    var count;
    if ((s.length==0)&& isEmptyOK) return true;
     if ((isWhitespace(s))&& (!isEmptyOK)) return false;
    arr=mask.split(',');
    count=arr.length;
    for (i=0;i<count;i++)
    {if (s.indexOf(arr[i])==-1)
      return false;
    }
    return true;  
}
function isOrContains (s,mask,isEmptyOK)
{   var arr;
    var count;
    if ((s.length==0)&& isEmptyOK) return true;
     if ((isWhitespace(s))&& (!isEmptyOK)) return false;
    arr=mask.split(',');
    count=arr.length;
    for (i=0;i<count;i++)
    {if (s.indexOf(arr[i])>-1)
      return true;
    }
    return false;  
}
function isMaxlength(s,l,isEmptyOK)
{ if ((isWhitespace(s))&& isEmptyOK) return true;
   if ((isWhitespace(s))&& (!isEmptyOK)) return false; 
  if (s.length>l)
   return false;
   else
   return true;
}
function isMinlength(s,l,isEmptyOK)
{ if ((isWhitespace(s))&& isEmptyOK) return true;
   if ((isWhitespace(s))&& (!isEmptyOK)) return false;
  if (s.length<l)
   return false;
   else
   return true;
}

function isAlphabetic (s,isEmptyOK)

{   var i;

   if ((isWhitespace(s))&& isEmptyOK) return true;
     if ((isWhitespace(s))&& (!isEmptyOK)) return false;
    for (i = 0; i < s.length; i++)
    {  var c = s.charAt(i);
        if (!isLetter(c))
        return false;
    }
    return true;
}

function isAlphanumeric (s,isEmptyOK)

{   var i;

    if ((isWhitespace(s))&& isEmptyOK) return true;
     if ((isWhitespace(s))&& (!isEmptyOK)) return false;
    for (i = 0; i < s.length; i++)
    {   var c = s.charAt(i);

        if (! (isLetter(c) || isDigit(c) ) )
        return false;
    }

    return true;
}


function isFloat (s,isEmptyOK)

{   var i;
    
   if ((isWhitespace(s))&& isEmptyOK) return true;
     if ((isWhitespace(s))&& (!isEmptyOK)) return false;

    if (s == '.') 
    {pass= false;
     return;}
     
    for (i = 0; i < s.length; i++)
    {   var c = s.charAt(i);

        if (!((c =='.') || (isDigit(c))) )
        return false;
    }
    return true;
}

function isPostal(str,countryid)
{    
  if (str=="") return true;

  if (countryid==10) {
    var postal=str.replace(/\s/g,"");
    if (postal.length==6 && isDigit(postal.charAt(1)) && isDigit(postal.charAt(3)) && isDigit(postal.charAt(5)) && isLetter(postal.charAt(0)) && isLetter(postal.charAt(2)) && isLetter(postal.charAt(4)))
      return true;
    return false;
  }
  else if (countryid==20) {
    if (str.length<5)
      return false
    else if (str.length==5 && isInteger(str))
      return true;
    else if (str.length>5) {
      var zip=str.replace(/\s|-/g,"");
      if (zip.length==9 && isInteger(zip))
        return true;
      else
        return false;
    }
    else 
      return false
  }
}

function convertPostal(str,countryid,type)
{
  var rstr=str,tmp=str.replace(/\s|-/g,"");
  if (isPostal(str,countryid)) {
    if (countryid==20 && tmp.length>5)
      rstr=tmp.substring(0,5)+"-"+tmp.substring(5);
    else if (countryid==20 && tmp.length==5)
      rstr=tmp;
    else if (countryid==10 && type==1)
      rstr=tmp;
    else if (countryid==10 && type==2)
      rstr=tmp.substring(0,3)+" "+tmp.substring(3,6);
  }
  return rstr.toUpperCase();
}

function isPhoneStr(str,format) 
{
  if (str=="")
    return true;
  var num=str.replace(/\s|x|-|\.|\(|\)/g,"");
  var fnum=format.replace(/\s|x|-|\.|\(|\)/g,"");
  if (!isInteger(num))
    return false;
  if (num.length!=fnum.length)
    return false;
  return true;
}
function convertPhoneStr(str,format)
{
  var rstr="";
  if (isPhoneStr(str,format)) {
    var num=str.replace(/\s|x|-|\.|\(|\)/g,"");
    for (var i=0; i < format.length; i++) {
      if (format.substring(i,i+1)=='X' || format.substring(i,i+1)=='#') {
        rstr+=num.charAt(0);
        num=num.substring(1);
      }
      else 
        rstr+=format.substring(i,i+1);
    }
  }
  else 
    rstr=str;
  return rstr;
}

function isDateStr(s,isEmptyOK,formatstr)
{ 
    //bypass check
        if (isMatch(s, 'NNNN-NN-NN' ,isEmptyOK))
            return true;
   var arr;
  if ((isWhitespace(s))&& (isEmptyOK)) return true;
    if ((isWhitespace(s))&& (!isEmptyOK)) return false;
  if (formatstr=="yyyy-mm-dd")
    arr=s.split("-");
   else
  arr=s.split("/");
 if (arr.length!=3) return false;

  for (i=0;i<3;i++)
     if(arr[i].charAt(0)=='0')
            arr[i]=arr[i].substring(1);

 
  if( (arr[2]+arr[0]+arr[1])=='00000') return true;
            
  if (formatstr=="yyyy-mm-dd")
  return isDate(arr[0],arr[1],arr[2]);
   if (formatstr=="mm/dd/yyyy")
  return isDate(arr[2],arr[0],arr[1]);
   if (formatstr=="dd/mm/yyyy")
  return isDate(arr[2],arr[1],arr[0]);
  
}
function ConvertDateStr(s,formatstr)
{
     if (isMatch(s, 'NNNN-NN-NN' ,true))  return s;
                        
   var arr;
  if (s.length==0) return "";
  if (formatstr=="yyyy-mm-dd")
    arr=s.split("-");
   else
  arr=s.split("/");

  if (arr.length!=3) return false;
  if (formatstr=="yyyy-mm-dd")
  return arr[0]+'-'+arr[1]+'-'+arr[2];
   if (formatstr=="mm/dd/yyyy")
  return arr[2]+'-'+arr[0]+'-'+arr[1];
   if (formatstr=="dd/mm/yyyy")
  return arr[2]+'-'+arr[1]+'-'+arr[0];
  
}
function isDay (s)
{    
    return isIntegerInRange (s, 1, 31);
}
function isMonth (s)
{  
    return isIntegerInRange (s, 1, 12);
}

function isYear (s)
{  
    return ((s.length == 2) || (s.length == 4));
}


function isIntegerInRange (s, a, b)
{  

    if (!isInteger(s, false)) return false;
    var num = parseInt (s);
    return ((num >= a) && (num <= b));
}


function isLetter (c)
{   return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) )
}

function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}


function isLetterOrDigit (c)
{   return (isLetter(c) || isDigit(c))
}
function isDate (year, month, day)
{   
    if (! (isYear(year, false) && isMonth(month, false) && isDay(day, false))) return false;

    var intYear = parseInt(year);
    var intMonth = parseInt(month);
    var intDay = parseInt(day);

   
    if (intDay > daysInMonth[intMonth]) return false; 

    if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;

    return true;
}
function daysInFebruary (year)
{   return (  ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 );
}
function isInteger (s)

{   var i;

     for (i = 0; i < s.length; i++)
    {  var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }
    return true;
}


function isMatch(mstr, pat,isEmptyOK)
{
  var idx=0;
  var chrAns='';
  var chrPat='';
 
 if ((isWhitespace(mstr))&& isEmptyOK) return true; 
  if ((isWhitespace(mstr))&& (!isEmptyOK)) return false;
 
 for (i = 0;i<pat.length;i++)
  
  {  
    if (i > mstr.length) 
      chrAns = " ";
    else
      chrAns = mstr.charAt(i);
     
       chrPat =pat.charAt(i);
       
      switch  (chrPat)
      {
        case 'L' :
            if (! isAlphabetic(chrAns))
              return false;
              break;
        case 'N':
            if (! isFloat(chrAns))
              return false;
              break;
        case 'A':
             if (! isAlphanumeric(chrAns))
              return false;
              break;
       case 'l' :
            if ((! isAlphabetic(chrAns)) && (chrAns != ' ')) 
              return false;
              break;
        case 'n' :
            if ((! isFloat(chrAns)) && (chrAns != ' '))
              return false;
              break;
        case 'a' :
             if ((! isAlphanumeric(chrAns)) && (chrAns !=' '))
              return false;
              break;
       default :
             if (chrPat != chrAns)
              return false;
              break;
       }
 }
   
    if (i < mstr.length )
       return false;
   return true; 
    
}


function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isWhitespace (s)

{   var i;

   if (isEmpty(s)) return true;

    for (i = 0; i < s.length; i++)
    {   if (s.charAt(i)!=' ') return false;
    }

    return true;
}
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function isEmail2(str,allowempty) {
  if(allowempty && str=='')
    return true;
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

/*
function dateadd(start, interval, number)
{ var arr=start.split("-"); 
 if(arr[0].charAt(0)=='0')
      arr[0]=arr[0].substr(1);
if(arr[1].charAt(0)=='0')
      arr[1]=arr[1].substr(1);
if(arr[2].charAt(0)=='0')
      arr[2]=arr[2].substr(1);


 var dat=new Date(parseInt(arr[0]),parseInt(arr[1])-1,parseInt(arr[2]));

  var buffer =dat.valueOf();

    switch (interval.charAt(0))
    { 
        case 'd': case 'D': 
            number *= 24 ; // days to hours

        case 'h': case 'H':
            number *= 60 ; // hours to minutes
      
        case 'n': case 'N':
            number *= 60 ; // minutes to seconds
      
        case 's': case 'S':
            number *= 1000 ; // seconds to milliseconds
            break ;
        
    }

    var newdate=new Date( buffer + number ) ;

    var y,intm,d,strm;
    y=newdate.getFullYear()+'';
    intm=newdate.getMonth()+1;
    d=newdate.getDate()+'';
    strm=intm+'';

   if (strm.length==1)
         strm='0'+ strm;	
   if (d.length==1)
         d='0'+ d;	

  return y+'-'+strm+'-'+d;

}
*/
function dateadd(date, datepart, number) {
      //var d = new Date(date);

  var arr=date.split("-"); 
  if(arr[0].charAt(0)=='0')
    arr[0]=arr[0].substr(1);
  if(arr[1].charAt(0)=='0')
    arr[1]=arr[1].substr(1);
  if(arr[2].charAt(0)=='0')
    arr[2]=arr[2].substr(1);

      var d=new Date(parseInt(arr[0]),parseInt(arr[1])-1,parseInt(arr[2]));
      var ndate;
      switch (datepart) {
         // millisecond
         case "ms":
         case "MS":
            ndate = new Date(Date.parse(d) + (number));
            break;

         // second
         case "s":
         case "ss":
         case "S":
         case "SS":
            ndate = new Date(Date.parse(d) + (number*1000));
            break;

         // minute
         case "n":
         case "mi":
         case "N":
         case "MI":
            ndate = new Date(Date.parse(d) + (number*1000*60));
            break;

         // hour
         case "h":
         case "hh":
         case "H":
         case "HH":
            ndate = new Date(Date.parse(d) + (number*1000*60*60));
            break;

         // day
         case "d":
         case "dd":
         case "D":
         case "DD":
            ndate = new Date(Date.parse(d) + (number*1000*60*60*24));
            if (d.getFullYear()==ndate.getFullYear() && d.getMonth()==ndate.getMonth() && d.getDate()==ndate.getDate()) {
              ndate = new Date(Date.parse(ndate) + 1000*60*60);
            }
            break;

         // week
         case "wk":
         case "WK":
         case "ww":
         case "WW":
            ndate = new Date(Date.parse(d) + (number*1000*60*60*24*7));
            break;

         // month
         case "m":
         case "M":
         case "mm":
         case "MM":
            ndate = new Date(d.getFullYear(),parseInt(d.getMonth())+parseInt(number),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());
            break;

         // quarter
         case "q":
         case "Q":
         case "qq":
         case "QQ":
            ndate = new Date(d.getFullYear(),parseInt(d.getMonth())+number*3,d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());
            break;

         // year
         case "yy":
         case "YY":
         case "yyyy":
         case "YYYY":
            ndate = new Date(parseInt(d.getFullYear()*1)+parseInt(number),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());
            break;
      }

    var y,intm,d,strm;
    y=ndate.getFullYear()+'';
    intm=ndate.getMonth()+1;
    d=ndate.getDate()+'';
    strm=intm+'';

   if (strm.length==1)
         strm='0'+ strm;	
   if (d.length==1)
         d='0'+ d;	

  return y+'-'+strm+'-'+d;
}


function isChkSelected(chkbox)
{
 if (chkbox.length==null)  
  return chkbox.checked;
 else
 { for (var i=0;i<chkbox.length;i++)
       if (chkbox[i].checked)
            return true; }
 return false;

}
function isFirstSelected(cmb)
{ return cmb.selectedIndex<1;
}

function isComboSelected(cmb)
{for (var i=0;i<cmb.options.length;i++)
       {if (cmb.options[i].selected)
            return true; }
 return false;

}

function _dateadd(format,start, interval, number)
{
 var s,e;
  if (start.indexOf('-')<0)
   s=ConvertDateStr(start,format);
  else
   s=start;
  
   
return dateadd(s ,interval,number);
}

function _datediff(format,start,end, interval)
{
 var s,e;
  if (start.indexOf('-')<0)
   {s=ConvertDateStr(start,format);
    e=ConvertDateStr(end,format);
   }else
    {s=start;
     e=end;}
   
return datediff(s ,e,interval);
}

function datediff(start,end, interval)
{ var arrstart=start.split("-"); 
  var arrend=end.split("-"); 
 if(arrstart[0].charAt(0)=='0')
      arrstart[0]=arrstart[0].substr(1);
if(arrstart[1].charAt(0)=='0')
      arrstart[1]=arrstart[1].substr(1);
if(arrstart[2].charAt(0)=='0')
      arrstart[2]=arrstart[2].substr(1);
if(arrend[0].charAt(0)=='0')
      arrend[0]=arrend[0].substr(1);
if(arrend[1].charAt(0)=='0')
      arrend[1]=arrend[1].substr(1);
if(arrend[2].charAt(0)=='0')
      arrend[2]=arrend[2].substr(1);


  var datstart=new Date(parseInt(arrstart[0]),parseInt(arrstart[1])-1,parseInt(arrstart[2]));
  var datend=new Date(parseInt(arrend[0]),parseInt(arrend[1])-1,parseInt(arrend[2]));
  var number =datend.valueOf()-datstart.valueOf();

    switch (interval.charAt(0))
    { 
        case 'd': case 'D': 
            number /= 24 ; // days to hours

        case 'h': case 'H':
            number /= 60 ; // hours to minutes
      
        case 'n': case 'N':
            number /= 60 ; // minutes to seconds
      
        case 's': case 'S':
            number /= 1000 ; // seconds to milliseconds
            break ;
        
    }
  

  return Math.round(number);

}

function _cf_expandiv(img,layid,height,url)
{ var steps=1;

  var lay=document.getElementById(layid);
  
  if (img.src.indexOf('/images/blue_plus.gif')>0)
  {img.src='/images/blue_minus.gif';
      lay.style.visibility="visible";
      lay.style.height=height+"px";
      lay.style.display="block";
      lay.style.width="100%";
      var fame=document.getElementById(layid.substr(2));    
      if (fame.src=='');
         {fame.src=url;
}
  }else
  {img.src='/images/blue_plus.gif';
    lay.style.display="none";
    lay.style.visibility="hidden";
  }
}


function _x_expandiv6(img,layid,height,fieldid,keyid)
{ 

  var lay=document.getElementById(layid);
  
  if (img.src.indexOf('/images/blue_plus.gif')>0)
  {img.src='/images/blue_minus.gif';
      lay.style.visibility="visible";
      lay.style.display="block";
      lay.style.position="relative";
     c_makeRequest('/Ajax/aj_objsettings.jsp?action=remove&objecttype=2&key='+keyid+'&value='+fieldid,null);
  }else
  {img.src='/images/blue_plus.gif';
    lay.style.visibility="hidden";
      lay.style.display="none";
    lay.style.position="absolute";
  c_makeRequest('/Ajax/aj_objsettings.jsp?action=add&objecttype=2&key='+keyid+'&value='+fieldid,null);
  }
  
}

function _x_expandiv5(img,layid,height,fieldid)
{ 

  var lay=document.getElementById(layid);
  
  if (img.src.indexOf('/images/blue_plus.gif')>0)
  {img.src='/images/blue_minus.gif';
      lay.style.visibility="visible";
      lay.style.display="block";
      lay.style.position="relative";
     c_makeRequest('/Ajax/aj_objsettings.jsp?action=remove&objecttype=2&key=TITLECLOSE&value='+fieldid,null);
  }else
  {img.src='/images/blue_plus.gif';
    lay.style.visibility="hidden";
      lay.style.display="none";
    lay.style.position="absolute";
  c_makeRequest('/Ajax/aj_objsettings.jsp?action=add&objecttype=2&key=TITLECLOSE&value='+fieldid,null);
  }
  
}
function _x_expandiv3(img,layid,height)
{ 

  var lay=document.getElementById(layid);
  
  if (img.src.indexOf('/images/blue_plus.gif')>0)
  {img.src='/images/blue_minus.gif';
      lay.style.visibility="visible";
      lay.style.display="block";
      lay.style.position="relative";
    
  }else
  {img.src='/images/blue_plus.gif';
    lay.style.visibility="hidden";
      lay.style.display="none";
    lay.style.position="absolute";
   }
  
}

function _x_expandiv(img,layid,height)
{ var steps=1;

  var lay=document.getElementById(layid);
  
  if (img.src.indexOf('/images/blue_plus.gif')>0)
  {img.src='/images/blue_minus.gif';
      lay.style.visibility="visible";
      lay.style.height=height+"px";
      
  }else
  {img.src='/images/blue_plus.gif';
    lay.style.visibility="hidden";

  }
}

var _lastioption=0;

function _dynfield(fieldid,cmb)
{/*var id="div_cf_"+fieldid+"_"+(1+cmb.selectedIndex);
 var _lastdiv=document.getElementById("div_cf_"+fieldid+"_"+_lastioption);
 var i;
 var div;
  if (_lastdiv!=null)
    {div=document.getElementById(id);
     div.style.visibility='visible';
     div.style.position='relative';
     _lastdiv.style.visibility='hidden';
     _lastdiv.style.position='absolute';
      _lastioption=1+cmb.selectedIndex;
        }
     else{*/
       for (i=0;i<cmb.options.length;i++)
            {id="div_cf_"+fieldid+"_"+(1+i);
              div=document.getElementById(id);

             if (i==cmb.selectedIndex)
              { div.style.visibility='visible';
                div.style.position='relative';
                 _lastioption=1+i;
                }
               else{
               div.style.visibility='hidden';
               div.style.position='absolute';}
       //     }
      }
}
function _openpageview(fieldid,objectid,opennew)
{var url='/s_viewpagefield.jsp?fieldid='+fieldid+'&codedid='+objectid;
  //if(opennew==1)  {
 web_window = window.open(url,'web_window', 'menubar=yes,scrollbars=yes,width=800,height=600,status=no,resizable=yes,top=0,left=0,dependent=yes,alwaysRaised=yes');
   web_window.opener = window;
   web_window.focus();

  //}else
  //localtion.href=url;

}
function _exopenpageview(fieldid,objectid,opennew)
{var url='/ex/ex_viewpagefield.jsp?fieldid='+fieldid+'&codedid='+objectid;
 web_window = window.open(url,'web_window', 'menubar=yes,scrollbars=yes,width=800,height=600,status=no,resizable=yes,top=0,left=0,dependent=yes,alwaysRaised=yes');
   web_window.opener = window;
   web_window.focus();


}
function makeDaysOfMonth(){
  var i = 0;
  this[i++] = 0; // dummy
  this[i++] = 31;
  this[i++] = 29;
  this[i++] = 31;
  this[i++] = 30;
  this[i++] = 31;
  this[i++] = 30;
  this[i++] = 31;
  this[i++] = 31;
  this[i++] = 30;
  this[i++] = 31;
  this[i++] = 30;
  this[i  ] = 31;
  this.length = i;
}

function now(format)
{ t    = new Date();	
  year = t.getFullYear();
  mon  = t.getMonth() + 1;
  day  = t.getDate();	
  var f= format;
  f=f.replace(/yyyy/,year);
  f=f.replace(/mm/,mon);
  f=f.replace(/dd/,day);
return f;
}
function calage(s){

  arr=s.split("-");
  var t, mon, day, year, DD, MM, YY, age;
  var MTB = new makeDaysOfMonth();

 if(arr[1].charAt(0)=='0') arr[1]=arr[1].substring(1);
if(arr[2].charAt(0)=='0') arr[2]=arr[2].substring(2);
  YY   = parseInt(arr[0]);	// year of birth (4 digits)
  MM   = parseInt(arr[1]);	// month of birth (1-12)
  DD   = parseInt(arr[2]);	// date of birth (1-31)

  if (MTB[MM] < DD || DD < 1) return -1;
  t    = new Date();	// get current date
  year = t.getFullYear();	// get year of current
  mon  = t.getMonth() + 1;	// get month of current
  day  = t.getDate();	// get date of current


  if (MM == 2 && DD == 29){	// check leap year
    if (!(((YY % 4 == 0) && (YY % 100 != 0)) || (YY % 400 == 0))){
      alert("The year " +YY+ " ends at 28th of "+MM+" month\nPlease check the date.");
      return -1;
    }
  }

  age = year - YY;
  if ((MM > mon) || (MM == mon && day < DD)) age --;

  return age;
}
function _getsourcedteails(sourceid,sourcename,target)
{
 var url="/Ajax/aj_query.jsp?action=wpv&sourcename="+sourcename.value.replace(/\s/g,'+')+"&sourceid="+sourceid.value+"&fieldid="+target.name.substring(3);
 c_makeRequest(url,target);
}

 function c_makeRequest(url,htmlcontrol) {
        var http_request = false;
       // _callback_control=htmlcontrol;
        if (window.XMLHttpRequest) { 
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/plain');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            return false;
        }
        http_request.onreadystatechange = function() { _populatecontent(http_request,htmlcontrol); };
        http_request.open('GET', url, true);
        http_request.send(null);

    }

 function _populatecontent(http_request,ctl) {
  if(ctl==null) return;
   var txt=http_request.responseText;
       if (txt.indexOf("::")>-1)
     ctl.value=txt.substring(txt.indexOf("::")+2);
  if(ctl.onchange)
     ctl.onchange();
    }


function _cf_ajax(frmctl)
{ var http_request = false;
  var objid=frmctl.options[frmctl.selectedIndex].value;
  if (objid=='') return ; 
  var url='/Ajax/aj_query.jsp?action=getobjcusfields&ctl='+frmctl.name+'&obj='+objid;
          if (window.XMLHttpRequest) { 
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/plain');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            return false;
        }
        http_request.onreadystatechange = function() { _triggercf_func(http_request); };
        http_request.open('GET', url, true);
        http_request.send(null);

}
var _ajax_args;
function  _triggercf_func(req)
{
     if (req.readyState == 4) {
           if (req.status == 200) {
              var mstr=req.responseText; 
              mstr=mstr.replace(':^::^:',':^: :^:');
              if(mstr.indexOf('OK::')>-1)
              {  mstr=mstr.substring(mstr.indexOf('OK::')+4);
                var arr=mstr.split(':^:');           
                var id,value,func=arr[0];
                _ajax_args= new Array();
                for (var i=1;i<arr.length;i++)
                  {var pos=arr[i].indexOf('-');
                    if(pos>0)
                    {id=arr[i].substring(0,pos);
                     value=arr[i].substring(pos+1);
                     _ajax_args[id]=value;
                    }}
                    eval(func+'(_ajax_args)');
              }
 
}}

}

function switchcolorbyid(id,cmb)
{ var code=cmb.value;
  if(code=='')
  code=getcombotext(cmb);
 var td=document.getElementById("cb_"+id);

 if(td!=null)
     td.bgColor=code;
}
 function getcombotext(cmb)
 {
  return cmb.options[cmb.selectedIndex].text;
 }
function _checkwf(objecttype,objectid)
{wf_window=window.open('/WFE2/wf_processmain.jsp?objecttype='+objecttype+'&objectid='+objectid,'wf_window','toolbar=0,width=750,height=550,directories=no,status=no,scrollbars=yes,resizable=no,menubar=no,alwaysRaised=no');
  wf_window.focus();
}
function _addbusdays(format,start,d)
{ var s,cdate,count=0,r=0; 
  if (start.indexOf('-')<0)
   s=ConvertDateStr(start,format);
  else
   s=start;
  cdate=s;
  for (var i=0;count<d && i<d*2;i++){
    cdate=dateadd(cdate,'D',1);
    if(!isHoliday(cdate)) {
      count++;
    }
  }

  return cdate;
 }

function isHoliday(start)
{var arr=start.split("-");
 if(arr[0].charAt(0)=='0')
      arr[0]=arr[0].substr(1);
 if(arr[1].charAt(0)=='0')
      arr[1]=arr[1].substr(1);
 if(arr[2].charAt(0)=='0')
      arr[2]=arr[2].substr(1);

 var cdnlist=",2007-04-06,2007-04-09,2007-05-21,2007-07-01,2007-09-03,2007-10-08,2007-11-11,2007-12-25,2007-12-26,2008-01-01,2008-02-18,2008-03-21,2008-03-24,2008-05-19,2008-07-01,2008-09-01,2008-10-13,2008-11-11,2008-12-25,2008-12-26,2009-01-01,2009-02-16,2009-04-10,2009-04-13,2009-05-18,2009-07-01,2009-09-07,2009-10-12,2009-11-11,2009-12-25,2009-12-26,"; 
 var dat=new Date(parseInt(arr[0]),parseInt(arr[1])-1,parseInt(arr[2]));
 var wd=dat.getDay(); 
 if (wd==0||wd==6)
  return true;
 else
  return cdnlist.indexOf(","+start+",")>-1;
}

function _show_rt(oapp,otype,mode,object)
{var  cs_window=window.open('/Apps/app_rthistory.jsp?mode='+mode+'&appid='+oapp+'&objectid='+object+'&otype='+otype,'cs_window','toolbar=0,width=600,height=400,directories=no,status=no,scrollbars=yes,resizable=yes,menubar=no,alwaysRaised=no');
    cs_window.focus();

}
function _show_objsyc(otype,object)
{var  cs_window=window.open('/Apps/exchange/ex_history.jsp?objectid='+object+'&objecttype='+otype,'cs_window','toolbar=0,width=600,height=400,directories=no,status=no,scrollbars=yes,resizable=yes,menubar=no,alwaysRaised=no');
    cs_window.focus();

}
function cf_map_win(url,elementid)
{ var ctl=document.getElementById('cf_'+elementid);
   if(ctl!=null){url+=ctl.value.replace(/\s/g,'+');
   map_window = window.open(url,'map_win', 'menubar=no,scrollbars=no,width=736,height=580,status=no,resizable=yes,top=100,left=100,dependent=yes,alwaysRaised=yes');
   map_select_window.opener = window;
   map_select_window.focus();}
}
function cf_websearch(type,elementid)
{var ctl=document.getElementById('cf_'+elementid);
   if(ctl!=null){
    var url='/websearch/websearch.html?type='+type+'&qry='+ctl.value.replace(/\s/g,'+');
    srh_window = window.open(url,'srh_win', 'menubar=no,scrollbars=no,width=800,height=580,status=no,resizable=yes,top=100,left=100,dependent=yes,alwaysRaised=yes');
    srh_window.opener = window;
    srh_window.focus();}

}
function cf_map_winBypara(url,para)
{ url+=para.replace(/\s/g,'+');
   map_window = window.open(url,'map_win', 'menubar=no,scrollbars=no,width=736,height=580,status=no,resizable=yes,top=100,left=100,dependent=yes,alwaysRaised=yes');
   map_select_window.opener = window;
   map_select_window.focus();
}
function cf_websearchBypara(type,para)
{    var url='/websearch/websearch.html?type='+type+'&qry='+para.replace(/\s/g,'+');
    srh_window = window.open(url,'srh_win', 'menubar=no,scrollbars=no,width=800,height=580,status=no,resizable=yes,top=100,left=100,dependent=yes,alwaysRaised=yes');
    srh_window.opener = window;
    srh_window.focus();

}