
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 includeJS(jsPath){
  var script = document.createElement("script");
  script.setAttribute("type", "text/javascript");
  script.setAttribute("src", jsPath);
  document.getElementsByTagName("head")[0].appendChild(script);
}

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_df(compid,oppid,frmname,id,roleids)

  {   var users='',rolelimit='';
       if(compid=='null') compid="";
       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&l1id='+oppid+'&l1companyid='+compid+'&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_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_selecticdcode(frmname,id){
      txt=frmname+'.cf_'+id;
      cf_user_window = window.open(
		'/s_icdpicker.jsp?c1='+txt,
		'cf_icdcode', '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,catids)
{   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+'&catlimit='+catids,'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_mergefile(fieldid,entity,objectid)
{var file_window;
     file_window = window.open('/FileUpload/fp_mergefiles.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');
    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=930,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,leftText,typedText) {
 var str=field.value.replace(/\r\n/gi," ");
 if (max>=0 && field.value.length > max)
   field.value=field.value.substring(0,max);
 if (counter!=null){
    if(max>=0){
		counter.value=(max-str.length);
		if(leftText)counter.value+=" "+leftText;
		else counter.value+=" characters left";
    }else{
		counter.value=str.length;
		if(typedText)counter.value+=" "+typedText;
		else counter.value+=" characters typed";
	}
    }
}

function _WordLengthCheck(s,l) {
  WordsMonitor = 0;
  var f = false;
  var ts = new String();
  for(var vi = 0; vi < s.length; vi++) {
    vs = s.substr(vi,1);
    if((vs >= 'A' && vs <= 'Z') || (vs >= 'a' && vs <= 'z') || (vs >= '0' && vs <= '9')) {
        if(f == false)	{
            f = true;
            WordsMonitor++;
            if((l > 0) && (WordsMonitor > l)) {
                s = s.substring(0,ts.length);
                vi = s.length;
                WordsMonitor--;
            }
        }
    }
    else { f = false; }
    ts += vs;
  }
  return s;
}

function _wordleft(field,counter,max,wordsleftText,wordstypedText,errotMessage) {
 var str=field.value.replace(/\s/gi," ");
 var arr=str.split(" ");
 var count=0,maxpos=0;
 for (i=0; i < arr.length; i++) {
   if (arr[i].length>0)
     count++;
 }
 var wleft=eval(max-count);
 var popBubble=false;
 if (wleft<0&&max>=0) {
   popBubble=true;
   field.value=_WordLengthCheck(field.value,max);
   wleft=0;
 }
 if (counter!=null){
        if(max>=0){
			counter.value=wleft;
			if(wordsleftText)counter.value+=" "+wordsleftText;
			else counter.value+=" words left";
        }else{
			counter.value=count;
			if(wordstypedText)counter.value+=" "+wordstypedText;
			else counter.value+=" words typed";
		}
        var bubbleDiv=document.getElementById("bubble_"+field.id.substring(3));
        if(popBubble){
			if(errotMessage)alert(errotMessage+".");
			else alert("The information entered has exceeded the allowed word limit.");
		}/*{
            if(bubbleDiv)bubbleDiv.innerHTML=getBubble("Information entered exceeds allowed word limit.","#f9baba","#ffffff");
        }else if(bubbleDiv){bubbleDiv.innerHTML="";}*/
    }
}


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,withSpace)

{   var i;
    if (withSpace==null) withSpace=false;
    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)) {
          if (!withSpace)
            return false;
          else if (withSpace && !isWhitespace(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=='-' && i==0) || (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,"");
    if (num=="") return "";
    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)
{ var arr;
  if ((isWhitespace(s))&& (isEmptyOK)) return true;
  if ((isWhitespace(s))&& (!isEmptyOK)) return false;

  //bypass check
  if (isMatch(s, 'NNNN-NN-NN' ,isEmptyOK))
     arr=s.split("-");      
  else{
    if (formatstr=="yyyy-mm-dd")
      arr=s.split("-");
    else
      arr=s.split("/");
  }
  if(arr.length!=3) return false;
  var datestring=s;
  if(formatstr=="mm/dd/yyyy")datestring=arr[2]+"-"+arr[0]+"-"+arr[1];
  else if(formatstr=="dd/mm/yyyy")datestring=arr[2]+"-"+arr[1]+"-"+arr[0];
  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 isMatch(datestring, 'NNNN-NN-NN' ,isEmptyOK)&&isDate(arr[2],arr[0],arr[1]);
   if (formatstr=="dd/mm/yyyy")
  return isMatch(datestring, 'NNNN-NN-NN' ,isEmptyOK)&&isDate(arr[2],arr[1],arr[0]);
}

function ConvertDate(s,formatstr)
{
/*
  if (formatstr=="yyyy-mm-dd")  return s;
                        
  if (s.length==0) return "";
  var arr=s.split("-");

  if (arr.length!=3) return false;
  if (formatstr=="mm/dd/yyyy")
    return arr[1]+'/'+arr[2]+'/'+arr[0];
  if (formatstr=="dd/mm/yyyy")
    return arr[2]+'/'+arr[1]+'/'+arr[0];
*/
  return ssConvertDate(s,"yyyy-mm-dd",formatstr)
}
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 (!((c=='-' && i==0) || 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(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 odate=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));
            odate.setMilliseconds(odate.getMilliseconds()+number);
            break;

         // second
         case "s":
         case "ss":
         case "S":
         case "SS":
            //ndate = new Date(Date.parse(d) + (number*1000));
            odate.setSeconds(odate.getSeconds()+number);
            break;

         // minute
         case "n":
         case "mi":
         case "N":
         case "MI":
            //ndate = new Date(Date.parse(d) + (number*1000*60));
            odate.setMinutes(odate.getMinutes()+number);
            break;

         // hour
         case "h":
         case "hh":
         case "H":
         case "HH":
            //ndate = new Date(Date.parse(d) + (number*1000*60*60));
            odate.setHours(odate.getHours()+number);
            break;

         // day
         case "d":
         case "dd":
         case "D":
         case "DD":
            /*ndate = new Date(Date.parse(d) + (number*1000*60*60*24));
            if (odate.getFullYear()==ndate.getFullYear() && odate.getMonth()==ndate.getMonth() && odate.getDate()==ndate.getDate()) {
              ndate = new Date(Date.parse(ndate) + 1000*60*60);
            }*/
            odate.setDate(odate.getDate()+number);
            break;

         // week
         case "wk":
         case "WK":
         case "ww":
         case "WW":
            //ndate = new Date(Date.parse(d) + (number*1000*60*60*24*7));
            odate.setDate(odate.getDate()+number*7);
            break;

         // month
         case "m":
         case "M":
         case "mm":
         case "MM":
            //ndate = new Date(odate.getFullYear(),parseInt(odate.getMonth())+parseInt(number),odate.getDate(),odate.getHours(),odate.getMinutes(),odate.getSeconds());
            odate.setMonth(odate.getMonth()+number);
            break;

         // quarter
         case "q":
         case "Q":
         case "qq":
         case "QQ":
            //ndate = new Date(odate.getFullYear(),parseInt(odate.getMonth())+number*3,odate.getDate(),odate.getHours(),odate.getMinutes(),odate.getSeconds());
            odate.setMonth(odate.getMonth()+number*3);
            break;

         // year
         case "yy":
         case "YY":
         case "yyyy":
         case "YYYY":
            //ndate = new Date(parseInt(odate.getFullYear()*1)+parseInt(number),odate.getMonth(),odate.getDate(),odate.getHours(),odate.getMinutes(),odate.getSeconds());
            odate.setFullYear(odate.getFullYear()+number);
            break;
      }

    var y,intm,d,strm;
    //y=ndate.getFullYear()+'';
    //intm=ndate.getMonth()+1;
    //d=ndate.getDate()+'';

    y=odate.getFullYear()+'';
    intm=odate.getMonth()+1;
    d=odate.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=start,e=end;
  if (start.indexOf('-')<0)
    s=ConvertDateStr(s,format);
  if (end.indexOf('-')<0)
    e=ConvertDateStr(e,format);
  if (s=='' || e=='')
    return '';
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 'y': case 'Y': 
           number /= 365 ; // year to days
        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 _timediff(format,sdate,edate,shour,smin,ehour,emin)
{
 var s,e;
  if (sdate.indexOf('-')<0)
   {s=ConvertDateStr(sdate,format);
    e=ConvertDateStr(edate,format);
   }else
    {s=sdate;
     e=edate;}
  if (s=='' || e=='')
    return '';
  else
    return timediff(s ,e,shour,smin,ehour,emin);
}

function timediff(sdate,edate,shour,smin,ehour,emin) {
  var arrstart=sdate.split("-"); 
  var arrend=edate.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();
  var interval='H';
    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 ;
    }
  if (ehour.charAt(0)=='0')
    ehour=ehour.substring(1);
  if (emin.charAt(0)=='0')
    emin=emin.substring(1);
  if (shour.charAt(0)=='0')
    shour=shour.substring(1);
  if (smin.charAt(0)=='0')
    smin=smin.substring(1);

  var mindiff=parseInt(emin)-parseInt(smin);
  if (mindiff < 0) {
    mindiff=mindiff+60;
    ehour=parseInt(ehour)-1;
  }
  var hrdiff=Math.round(number)+parseInt(ehour)-parseInt(shour);
  var str="";
  if (mindiff<10) 
    mindiff="0"+mindiff;
  str=hrdiff+":"+mindiff;

  return str;
}

function getIEVersionNumber() {
    var ua = navigator.userAgent;
    var MSIEOffset = ua.indexOf("MSIE ");
    if (MSIEOffset == -1) {
        return 0;
    } else {
        return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset)));
    }
}
function ssCreateElement(type,name,id) {
  var browser=navigator.appName;
  var version=getIEVersionNumber();
  var newInput;
  if (browser=="Microsoft Internet Explorer" && version<9) {
    if (type=="select")
      newInput=document.createElement('<select name="'+name+'" id="'+id+'"></select>');
    else if (type=="tr")
      newInput=document.createElement('<tr name="'+name+'" id="'+id+'"></tr>');
    else if (type=="td")
      newInput=document.createElement('<td name="'+name+'" id="'+id+'"></td>');
    else if (type=="th")
      newInput=document.createElement('<th name="'+name+'" id="'+id+'"></th>');
    else if (type=="textarea")
      newInput=document.createElement('<textarea name="'+name+'" id="'+id+'"></textarea>');
    else
      newInput=document.createElement('<input type="'+type+'" name="'+name+'" id="'+id+'"/>');
  }
  else {
    if (type=="select")
      newInput=document.createElement('select');
    else if (type=="tr")
      newInput=document.createElement('tr');
    else if (type=="td")
      newInput=document.createElement('td');
    else if (type=="th")
      newInput=document.createElement('th');
    else if (type=="textarea")
      newInput=document.createElement('textarea');
    else {
      newInput=document.createElement('input');
      newInput.setAttribute("type",type);
    }
    newInput.setAttribute("name",name);
    newInput.setAttribute("id",id);
  }
  return newInput;
}
function ssSetComboOptions(el,optstr) {
  var optarr=optstr.split(";");
  var newOpt,arr;
  for (var i=0; i < optarr.length; i++) {
    if (optarr[i].indexOf("=")<0)
      newOpt=new Option(optarr[i],optarr[i]);
    else {
      arr=optarr[i].split("=");
      newOpt=new Option(arr[1],arr[0]);
    }
    el.options[el.options.length]=newOpt;
  }
}
function ssParseNum(value,emptyok) {
  if (value=="" && emptyok)
    return "";
  else if (value=="")
    return 0;
  else
    return parseFloat(value.replace(/\$|,|%/g,""));
}
function ssParseXMLValue(val,isatt) {
  if (val.indexOf("&")>-1)
    val=val.replace(/\&/g,"&amp;");
  if (val.indexOf(">")>-1)
    val=val.replace(/>/g,"&gt;");
  if (val.indexOf("<")>-1)
    val=val.replace(/</g,"&lt;");
  if (isatt && val.indexOf("\"")>-1)
    val=val.replace(/"/g,"&quot;");
  if (isatt && val.indexOf("'")>-1)
    val=val.replace(/'/g,"&apos;");
  return val;
}
function ssFormatCurrency(num) {
  num = num.toString().replace(/\$|\,/g,'');
  if (num=="") return "";
  if(isNaN(num))
    num = "0";
  sign = (num == (num = Math.abs(num)));
  num = Math.floor(num*100+0.50000000001);
  cents = num%100;
  num = Math.floor(num/100).toString();
  if(cents<10)
    cents = "0" + cents;
  for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
    num = num.substring(0,num.length-(4*i+3))+','+
  num.substring(num.length-(4*i+3));
  return (((sign)?'':'-') + '$' + num + '.' + cents);
}
function ssFormatPercent(num) {
  num = num.toString().replace(/\,|%/g,'');
  if (num=="") return "";
  if(isNaN(num))
    num = "0";
  return (num + '%');
}
function ssConvertDate(s,fromformat,toformat) {
  fromformat=fromformat.toLowerCase();
  if (toformat)
    toformat=toformat.toLowerCase();
  var arr;
  if (s.length==0) return "";
  if (fromformat=="yyyy-mm-dd")
    arr=s.split("-");
  else
    arr=s.split("/");

  var year,month,day,rstr;

  if (arr.length!=3) return false;
  if (fromformat=="yyyy-mm-dd") {
    year=arr[0];
    month=arr[1];
    day=arr[2];
  }
  else if (fromformat=="mm/dd/yyyy") {
    year=arr[2];
    month=arr[0];
    day=arr[1];
  }
  else if (fromformat=="dd/mm/yyyy") {
    year=arr[2];
    month=arr[1];
    day=arr[0];
  }
  if (toformat) {
    rstr=toformat.replace("yyyy",year);
    rstr=rstr.replace("mm",month);
    rstr=rstr.replace("dd",day);
    return rstr
  }
  else
    return year+"-"+month+"-"+day;
}

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);

if (div.style.visibility.length>0){
    div.style.visibility='visible';
    div.style.position='relative';   
}
else
    div.style.display='block';

if (_lastdiv.style.visibility.length>0){
    _lastdiv.style.visibility='hidden';
    _lastdiv.style.position='absolute';   
}
else
    _lastdiv.style.display='none';
    _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)
              { 
//alert(div.style.visibility);
if (div.style.visibility.length>0){
    div.style.visibility='visible';
    div.style.position='relative';
}
else
    div.style.display='block';

                //div.style.position='relative';
               //disabledivcontrols(div,false);
                 _lastioption=1+i;
                }
               else{

if (div.style.visibility.length>0){
    div.style.visibility='hidden';
    div.style.position='absolute';
}
else
    div.style.display='none';
           
               //disabledivcontrols(div,true);
               //div.style.position='absolute';
                }

       //     }
      }
if (window.edheight)
edheight();
if (window._cusfunc)
_cusfunc('cf_'+fieldid);
}
function _openpageview(fieldid,objectid,opennew)
{var url='/s_viewpagefield.jsp?fieldid='+fieldid+'&codedid='+objectid;
  //if(opennew==1)  {
 web_window = window.open(url,'_blank', 'menubar=yes,location=no,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 _openjsheet(token)
{var url='/jquery/sheet/sheet.jsp?token='+token;
   sh_window = window.open(url,'sh_window', 'menubar=yes,location=no,scrollbars=yes,width=800,height=600,status=no,resizable=yes,top=0,left=0,dependent=yes,alwaysRaised=yes');
   sh_window.opener = window;
   sh_window.focus();
}


function _openxmlpage(fieldid,objectid,opennew,mode)
{if (mode==null) mode="0";
 var url='/s_viewxmlpage.jsp?fieldid='+fieldid+'&codedid='+objectid+'&mode='+mode;
   xml_window = window.open(url,'_blank', 'menubar=yes,location=no,scrollbars=yes,width=800,height=600,status=no,resizable=yes,top=0,left=0,dependent=yes,alwaysRaised=yes');
   xml_window.opener = window;
   xml_window.focus();
}
function _openmsword(fieldid,objectid,opennew)
{var url='/s_msword.jsp?fieldid='+fieldid+'&codedid='+objectid;
 web_window = window.open(url,'_blank', 'location=no,menubar=no,scrollbars=no,width=300,height=150,status=no,resizable=no,top=0,left=0,dependent=yes,alwaysRaised=yes');
   web_window.opener = window;
   web_window.focus();


}
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,location=no,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(format,s){
  if (s.indexOf("-")<0)
    s=ConvertDateStr(s,format);
  return calage(s);
}
function calage(s){
  var start=s;
  if (start=="")
    return "";
  else if (start.indexOf("-")<0) {
    alert("Date format incorrect for calculating the age.");
    return -1;
  }
  arr=start.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&srcfield="+sourcename.name+"&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 _triggerwf(objectid,wfid,objecttype)
{ var typestr="";
  if (objecttype!=null)
    typestr="&objecttype="+objecttype;
  c_makeRequest('/Ajax/aj_leveloneaction.jsp?oppid='+objectid+'&wfid='+wfid+typestr);
}


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;
  if (cdate=='') return '';
  for (var i=0;count<d && i<d*3;i++){
    cdate=dateadd(cdate,'D',1);
    if(!isHoliday(cdate))
      count++;
  }
  return cdate;
 }
function _diffbusdays(format,start,end)
{ var count=0,s,e,cdate;
  if (start.indexOf('-')<0) {
   s=ConvertDateStr(start,format);
   e=ConvertDateStr(end,format);
  }
  else {
   s=start;
   e=end;
  }
  cdate=s;
  if (s=='' || e=='') return '';
  if (s==e) return 0;
  else if (s>e) {
    cdate=e;
    for (var i=0;cdate<s && i<100000;i++){
      cdate=dateadd(cdate,'D',1);
      if(!isHoliday(cdate))
        count++;
    }
    count=count*-1;
  }
  else if (s<e) {
    cdate=s;
    for (var i=0;cdate<e && i<100000;i++){
      cdate=dateadd(cdate,'D',1);
      if(!isHoliday(cdate))
        count++;
    }
  }
  return count;
}
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-05-19,2008-07-01,2008-08-04,2008-09-01,2008-10-13,2008-12-25,2008-12-26,2009-01-01,2009-02-16,2009-04-10,2009-05-18,2009-07-01,2009-08-03,2009-09-07,2009-10-12,2009-12-25,2009-12-26,2010-01-01,2010-04-02,2010-05-24,2010-07-01,2010-08-02,2010-09-06,2010-10-11,2010-12-27,2010-12-28,2011-01-01,2011-02-21,2011-04-22,2011-05-23,2011-07-01,2011-08-01,2011-09-05,2011-10-10,2011-12-25,2011-12-26,2012-01-01,2012-02-22,2012-04-06,2012-05-21,2012-07-01,2012-08-06,2012-09-03,2012-10-08,2012-12-25,2012-12-26,2013-01-01,2013-02-18,2013-03-29,2013-05-20,2013-07-01,2013-08-05,2013-09-02,2013-10-07,2013-12-25,2013-12-26,"; 
 if (typeof ssvar_holidays!="undefined"&&ssvar_holidays!=null&&ssvar_holidays!="")cdnlist=ssvar_holidays;
 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();

}
function _openwin(url,para)
{   url=url.replace(/\s/g,'+');
   if (para=='')
    para='menubar=no,location=nu,scrollbars=no,width=400,height=200,status=no,resizable=yes,top=100,left=100,dependent=yes,alwaysRaised=yes';
   new_window = window.open(url,'new_win', para);
   new_window.opener = window;
   new_window.focus();

}
function isalltabread(checked,required)
{ var arr=required.split(",");

  for (var i=0;i<arr.length;i++)
   if(arr[i]!=''){
      if(checked.indexOf(","+arr[i]+",")<0)
                                  return false;}

  return true;
 
}

function _lkupnaic(frm,ctl,regionname)
{ var id='0',txt='',value=ctl.value,region=1;
  if(value!=''&&value.indexOf('-')>0)
  {id=value.substring(0,value.indexOf('-'));
   txt=value.substring(value.indexOf('-')+1);
  }
  if (regionname.toLowerCase()=='cdn' ||regionname.toLowerCase()=='cdne')
   region=2;
  else if (regionname.toLowerCase()=='cdnf')
   region=3;
   naic_window = window.open('/naic/nc_lookup.jsp?iscus=1&region='+region+'&id='+id+'&txt='+txt+'&frm='+frm.name+'&ctl='+ctl.name,'naic_win', 'menubar=no,scrollbars=yes,width=600,height=450,status=no,resizable=yes,dependent=yes,alwaysRaised=yes');
   naic_window.opener = window;
   naic_window.focus();
}
function _showhideheaderonload(id,condition){
	_showhideheader(id,condition,true);
}
/*
function _disabledivcontrols(id)
{ var div=document.getElementById(id);
  if(div!=null)
     disabledivcontrols(div,true);
}
function disabledivcontrols(div,truefalse)
{ var nodes=div.childNodes;
 for(var i=0;i<nodes.length;i++)
  { if(nodes[i].nodeName=='SELECT'||nodes[i].nodeName=='CHECKBOX'||nodes[i].nodeName=='INPUT')
   {nodes[i].disabled=truefalse;
   
  }
   if (nodes[i].childNodes.length>0)
       disabledivcontrols(nodes[i],truefalse);
  }

}
*/
function _showhideheader(id,condition,bypassedheight)
{ var headdiv=document.getElementById('p_dv_'+id);
 
    if(headdiv!=null)
      {if(condition)
        {//headdiv.style.visibility="visible"; 
         //headdiv.style.position="relative";
         headdiv.style.display="block"; 
 
        }
       else{
        //headdiv.style.visibility="hidden"; 
        //headdiv.style.position="absolute";
        headdiv.style.display="none"; 
 
         }
      }
  headdiv=document.getElementById('titlediv_'+id);
   if(headdiv!=null)
      {if(condition)
        {//headdiv.style.visibility="visible"; 
        //headdiv.style.position="relative";
         headdiv.style.display="block"; 
        }
       else{
        //headdiv.style.visibility="hidden"; 
        //headdiv.style.position="absolute";
        headdiv.style.display="none"; 
         }
      }
headdiv=document.getElementById('p_tr_'+id);
   if(headdiv!=null)
      {if(condition){
          headdiv.style.display="block"; 
//headdiv.style.visibility="visible"; 
headdiv.style.height="22px";
       }else{
//headdiv.style.visibility="hidden"; 
headdiv.style.height="0px"; 

        headdiv.style.display="none"; }
         
      }
  if (window.edheight&&!bypassedheight) edheight();
}
function _showhideheadercheckbox(id,ctl,showlist)
{ showlist=";"+showlist+";";
 var pass=false;
  if(showlist.indexOf(";"+ctl.value+";")>-1)
     {if (ctl.form.elements[ctl.name].length==null)
       pass=ctl.checked;
      else{
       for (var i=0;i<ctl.form.elements[ctl.name].length;i++)
               if(ctl.form.elements[ctl.name][i].checked&&showlist.indexOf(";"+ctl.form.elements[ctl.name][i].value+";")>-1)
           {pass=true;continue;}
       }
      _showhideheader(id,pass);
     }


}
function _showhideheadercheckboxByStr(id,ans,showlist)
{ var pass=false;
  var tk=ans.split(/\;/);
 for (var i=0;i<tk.length;i++)
  { showlist=";"+showlist+";";
    if(showlist.indexOf(";"+tk[i]+";")>-1)
           {pass=true;continue;}
   }
   _showhideheader(id,pass);
}

function hidesave()
{
 var saveinprogress=top.document.getElementById("saveinprogress");
 if(saveinprogress!=null)
    saveinprogress.style.display="none"; 
 var sip=top.document.getElementById("sip");
 if(sip!=null)
    top.document.getElementById("sip").src="/images/blank.gif";
}

function showsave(msg)
{var saveinprogress=top.document.getElementById("saveinprogress")
 var sip=top.document.getElementById("sip");
 if(saveinprogress!=null){
    saveinprogress.style.display="block"; 
    sip.src="/images/saveinprogress.gif";
 if (msg!=null)
    top.document.getElementById("smsg").innerHTML=msg;
 else
    top.document.getElementById("smsg").innerHTML="Save in Progress";
}
}

function onlyonechecked(ctl)
 { if(ctl.checked)
   { var arr=ctl.form.elements[ctl.name];
    for (i=0;i<arr.length;i++)
        if(arr[i]!=ctl)
              arr[i].checked=false;
  }
 }

function hidesavedivifexists()
{ var div=top.document.getElementById("saveinprogress")
 if(div!=null)
   div.style.display="none"; 
 div=top.document.getElementById("sip")
 if(div!=null)
   div.src="/images/blank.gif";
}


function _undocheckout(fieldid,objectid)
{if(confirm('Pleae confirm undo file out.'))
  c_makeRequest('/Ajax/aj_objfields.jsp?action=undocheckout&objectid='+objectid+'&fieldid='+fieldid);
}

function getBubble(bubbleContent,backgroundColor,fontColor){
    return "<div class=\"xsnazzy\"><em style=\"color:"+backgroundColor+";border-bottom:12px solid "+backgroundColor+"\">&nbsp;</em><b class=\"xb1\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb2\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb3\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb4\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb5\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb6\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb7\" style=\"background:"+backgroundColor+"\"></b><div class=\"xboxcontent\" style=\"background:"+backgroundColor+";border:3px solid "+backgroundColor+"\"><p style=\"color:"+fontColor+"\">"+bubbleContent+"</p></div><b class=\"xb7\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb6\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb5\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb4\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb3\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb2\" style=\"background:"+backgroundColor+"\"></b><b class=\"xb1\" style=\"background:"+backgroundColor+"\"></b></div></div>";
}

try{
jQuery(document).ready(function() {


	jQuery("input:[type=text],textarea,select,input:[type=checkbox],input:[type=radio], input:[type=password]").focus(function () {
		jQuery(this).addClass("field-focus");	
	});
	jQuery("input:[type=text],textarea,select,input:[type=checkbox],input:[type=radio], input:[type=password]").blur(function () {
		jQuery(this).removeClass("field-focus");
	});

});
}catch (err){}
