var isNS4, isNS6, isIE4, isIE5;
isNS4 = (document.layers) ? true : false;
isIE4 = (document.all && !document.getElementById) ? true : false;
isIE5 = (document.all && document.getElementById) ? true : false;
isNS6 = (!document.all && document.getElementById) ? true : false;

var FName = new Array();
var FType = new Array();
var FOperator = new Array();
var FContent = new Array();
var FCase = new Array();
var FAction = new Array();
var FFolder = new Array();

var Name, Type, Operator, Content, ContentCase, Folder, Action1, Action2, frmAction;

var months = new makeArray('January','February','March','April','May','June','July','August','September','October','November','December');
var date = new Date();
var day  = date.getDate();
var month = date.getMonth() + 1;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;

function makeArray() {
 for (i = 0; i<makeArray.arguments.length; i++)
  this[i + 1] = makeArray.arguments[i];
}

function MM_swapImgRestore() { //v3.0
 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document;
 if(d.images){
  if(!d.MM_p) d.MM_p=new Array();
  var i, j=d.MM_p.length, a=MM_preloadImages.arguments, imagepath=a[0]; 
  for(i=1; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=imagepath+a[i];}}
}

function MM_findObj(n, d) { //v4.01
 var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
  d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
 if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
 for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
 if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function CheckSelected(val, str1, str2, str3, str4, str5){
 for (var i = 0; i < document.BFWE.elements.length; i++){
  var e = document.BFWE.elements[i];
  if( (str1!='' && e.name == str1) || (str2!='' && (e.name.indexOf(str2)>=0)) || (str3!='' && (e.name.indexOf(str3)>=0)) || (str4!='' && (e.name.indexOf(str4)>=0)) || (str5!='' && (e.name.indexOf(str5)>=0))) e.checked = val;
 }
}

function EvalSelected(obj){
 var val = obj.checked;
 if(obj.name=="SelectAll"){ // && val!=false
  CheckSelected(val, 'SelectAll','WebMail-SelectedNdx-','WebMail-AddDelete','WebMail-GrpAddDelete','WebMail-Delete_');
 }
 else if(val!=true){
  CheckSelected(val, 'SelectAll','');
 }
 else if(val==true){
  var tmp = true;
  for (var i = 0; i < document.BFWE.elements.length; i++){
   var e = document.BFWE.elements[i];
   if(((e.name.indexOf("WebMail-SelectedNdx-")>=0) || (e.name.indexOf("WebMail-AddDelete")>=0) || (e.name.indexOf("WebMail-GrpAddDelete")>=0)) && e.checked==false)
    tmp = false;
  }
  if(tmp==true){
   CheckSelected(val, 'SelectAll','');
  }
 }
}

function checkEmptyFields(obj){
 var strtxt ='';
 var tmpFocus = true;
 var tmp;
 for (var i = 1; i < obj.elements.length; i++){
  var e = obj.elements[i];
  for (var x=0;x < arguments.length; x++){
   if( (e.id.indexOf(arguments[x])>=0) && e.value==''){
    strtxt = strtxt + 'Kindly input a value for ' + arguments[x] +'.\n';
    if(tmpFocus){ tmp=e; tmpFocus = false;}
   }
  }
 }
 if(strtxt!=''){
  alert(strtxt);
  tmp.focus();
  return false;
 }
 return true;
}

function textCounter(field, maxlimit) {
 if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit);
}

function GetFormDate(obj, tmpDate){
 var strtxt, MM, DD, YY; 
 for (var i = 1; i < obj.elements.length; i++){
  var e = obj.elements[i];
  if( (e.id.indexOf(tmpDate)>=0)){
   if(e.id.indexOf('Month')>=0) MM = e.value;
   else if(e.id.indexOf('Date')>=0) DD = e.value;
   else if(e.id.indexOf('Year')>=0){
   	YY = e.value;
	if(e.value.length<=1) {
     alert(tmpDate + ' Year must be in YY format');
     return false;
    }
   }
  }
 }
 return MM +'-'+ DD +'-'+ YY;
}

function CheckAutoReply(obj, dates){
 var chk=true, PFrom='', PTo='';
 if(chk=checkEmptyFields(obj,'From Year', 'To Year')){
  if(PFrom=GetFormDate(obj, 'From')){
   if(!(PTo=GetFormDate(obj, 'To'))) chk=false;
  }
  else chk=false;
 }
 if(chk){
  dates[0]=PFrom;
  dates[1]=PTo;
 }
 return chk;
}

function CheckAddressBook(val){
 if(checkEmptyFields(document.myform, 'Nickname', 'Email Address')){
  if(val==1)
   document.myform.LastScreen.value='saveandadd';
  document.myform.submit();
 }
}

function getObject(obj, type, id, occur){
 for (var i = 0; i < obj.elements.length; i++){
  var e = obj.elements[i];
  if(((type==1) && (e.id.indexOf(id)>=0)) || ((type==0) && (e.name.indexOf(id)>=0)))
   if(occur<=1) return e;
   else occur = occur-1;
 }
}

function getFilterObj(){
 var type= (isNS4) ? 0:1;
 Name = getObject(document.BFWE,type,"FilterName",1);
 Type = getObject(document.BFWE,type,"FilterType",1);
 Operator = getObject(document.BFWE,type,"FilterOperator",1);
 Content = getObject(document.BFWE,type,"FilterContent",1);
 Folder = getObject(document.BFWE,type,"FilterFolder",1);
 ContentCase = getObject(document.BFWE,type,"FilterCase",1);
 if(isNS4){
  Action1 = getObject(document.BFWE,type,"FilterAction",1);
  Action2 = getObject(document.BFWE,type,"FilterAction",2);
 }
 else{
  Action1 = getObject(document.BFWE,type,"FilterAction1",1);
  Action2 = getObject(document.BFWE,type,"FilterAction2",1);
 }
 frmAction = getObject(document.BFWE,type,"frmAction",1);
}

function AddFilter(varPos,varName,varType,varOperator,varContent, varCase, varAction,varFolder){
 FName[varPos]=varName;
 FType[varPos]=varType;
 FOperator[varPos]=varOperator;
 FContent[varPos]=varContent;
 FCase[varPos]=varCase;
 FAction[varPos]=varAction;
 FFolder[varPos]=varFolder;
}

function LockedInput(val){
 Name.disabled = val;
 Type.disabled = val;
 Operator.disabled = val;
 Content.disabled = val;
 Action1.disabled = val;
 Action2.disabled = val;
 Folder.disabled = val;
 ContentCase.disabled = val;
 if(val==false && Action1.checked==true)
  Folder.disabled = !val;
 frmAction.disabled = val;
}

function ShowFilter(obj, val){
 var objNo = (isNS4) ? obj[obj.selectedIndex].value: obj.value;
 if(obj!='null' && obj.length>=1){
  if(objNo==""){
   objNo=0;
   obj[objNo].selected = true;
  }
  Name.value = FName[objNo];
  Content.value = FContent[objNo];
  
  ContentCase.checked = FCase[objNo];
  Type[FType[objNo]].selected = true;
  Operator[FOperator[objNo]].selected = true;
  if(FAction[objNo]==0) Action1.checked = true;
  else if(FAction[objNo]==1) Action2.checked = true;
  for(var x=0;(x<Folder.length) && (Folder[x].value!=FFolder[objNo]);x++);
  if(x==Folder.length) Folder[0].selected = true;
  else Folder[x].selected = true;
  frmAction.value = "Update";
  LockedInput(val);
 }
}

function ClearFilter(){
 Name.value = '';
 Type[0].selected = true;
 Operator[0].selected = true;
 Content.value = '';
 ContentCase.checked = false;
 Action1.checked = true;
 Folder.value = '';
 frmAction.value = "Create";
 LockedInput(false);
}

function DeleteFilter(obj){
 var objNo = (isNS4) ? obj[obj.selectedIndex].value: obj.value;
 if(objNo=="") alert("Nothing to delete");
 else{
  LockedInput(false);
  frmAction.value = "Delete";
  frmAction.click();
  //document.BFWE.submit();
 }
}

function CheckCboValue(obj,id1, id2, action, msg){
 var type=(isNS4)?0:1, varObjID=getObject(obj,type,id2,1);
 if(((isNS4) ? varObjID[varObjID.selectedIndex].value: varObjID.value)==''){
  alert(msg);
  return false;
 }
 else{
  return isSelected(obj,id1);
 }
}

function isSelected(obj,id){
 var tmp = false;
 for (var i = 0; i < obj.elements.length; i++){
  var e = obj.elements[i];
  if((e.name.indexOf(id)>=0) && e.checked==true) tmp = true;
 }
 if(!tmp) alert("Nothing is Selected");
 return tmp;
}

function ChangeColorTheme(colortheme){
 var type= (isNS4) ? 0:1;
 var obj=getObject(document.BFWE,type,"Theme"+colortheme,1);
 obj.checked=true;
}

function ShowHide(what){
 if (document.getElementById && document.createTextNode){
  var trig=document.getElementById(what + "Menu").style.display;
  var o=document.getElementById(what + "Option").firstChild;
  var tmpswap = strTitle01;
  strTitle01 = strTitle02;
  strTitle02 = tmpswap;
  if (trig=="" || trig=="block") trig="none";
  else if ( trig=="none") trig="block";
  o.nodeValue=o.nodeValue.replace(strTitle01,strTitle02);
  document.getElementById(what + "menu").style.display=trig;
 }
} 

strTitle01="[Show]";
strTitle02="[Hide]";
 
function DeleteMsgsFolder(url,Folder) {
 if (confirm("Do you really Delete all files under " + Folder +" folder?")) {
  location.href = url;
 }
}

function replace(string,text,by) {
 var strLength = string.length, txtLength = text.length;
 if ((strLength == 0) || (txtLength == 0)) return string;

 var i = string.indexOf(text);
 if ((!i) && (text != string.substring(0,txtLength))) return string;
 if (i == -1) return string;

 var newstr = string.substring(0,i) + by;

 if (i+txtLength < strLength)
  newstr += replace(string.substring(i+txtLength,strLength),text,by);

 return newstr;
}

function decode(str){
 if(str == ''){
  return str;
 }
 else {
  var txt= str;
  return unescape(txt);
 }
}

function ToHTML2(str){
 var txt = "%", newstr = "", substr = "", by="";
 var strLength = str.length, txtLength=3;
 var i,x=0,y=0;

 if(strLength==0) return str; 
 for(x=0; x<=strLength && !y ; x=i+txtLength){
  txtLength = 3;
  i = str.indexOf(txt,x);

  if ((!i) && (txt != str.substring(0,1))) y=1;
  if (i == -1) y=1;
  if(!y){
   substr = str.substring(x,i);
   by=str.substring(i,i+3);
   if((by=="%0A") || (by=="%0D")){
    by="";//"<br>";
    if("%0A%0D"==(str.substring(i,i+6))||"%0D%0A"==(str.substring(i,i+6))) txtLength=6;
   }
   else
    by=decode(by);
   newstr = newstr + substr + by;
  }
  else if(x<strLength){
   substr = str.substring(x,strLength);
   newstr = newstr + substr;
  }
 }
 return newstr;
}

function SubmitForm(HTMLBody,fName,formUrl){
 if(HTMLBody) submitHTMLBody();
 fName.action=formUrl;
 fName.target='_top';
 fName.submit();
}