/*
for (ic=0;ic<c.length;++ic) {c[ic]=c[ic].split(',');}
for (iv=0;iv<v.length;++iv) {v[iv]=v[iv].split('|');}
*/

function getNum_critAndCrit_list(i) {
  num_crit=0; crit_list="";
  for (vj=6;vj<50;++vj) {
    if (c[i][vj]>0) {
      for (iv=1;iv<v.length;++iv) {
        if (vj-5==Number(v[iv][0])) {
          ++num_crit;
          crit_list+=v[iv][1]+'; ';
        }
      }
    }
  }
}


function hexify(astr) {
  astr=replaceString(' ','+',astr);
  astr=replaceString(':','%3A',astr);
  astr=replaceString(';','%3B',astr);
  astr=replaceString('"','%22',astr);
  astr=replaceString("'","%27",astr);
  astr=replaceString("&","%26",astr);
  astr=replaceString("@","%40",astr);
  astr=replaceString("|","%7C",astr);
  return astr;
}

function unspace(astr) {
  astr=replaceString('+',' ',astr);
  astr=replaceString('%26','&',astr);
  astr=replaceString('%7C','|',astr);
  return astr;
}


function requote(val) {
  val=replaceString('%22','"',val);
  val=replaceString("%27","'",val);
  return val;
}

function colOf(name) {
   icol=-1;jcol=0;
   while ((icol==-1)&&(jcol<c[0].length)) {
     if (c[0][jcol].indexOf(name)==0) {icol=jcol;}
     ++jcol;
   }
   return icol;
}

function subcolOf(j,name) {
   icol=-1;jcol=0;
   while ((icol==-1)&&(jcol<c[1][j][0].length)) {
     if (c[1][j][0][jcol].indexOf(name)==0) {icol=jcol;}
     ++jcol;
   }
   return icol;
}

function subvalOf(ic,fname,irec,subname) {
   iscol=-1;jscol=0;
   j=colOf(fname);
   while ((iscol==-1)&&(jscol<c[1][j][0].length)) {
     if (c[1][j][0][jscol].indexOf(subname)==0) {iscol=jscol;}
     ++jscol;
//alert(c[1][j][0].length+' '+c[1][j][0]+' '+j+' '+iscol+' '+jscol);
   }
   return c[ic][j][irec][iscol];
}

function replaceString(oldS,newS,fullS) {
  if (oldS>=" ") {
    for (var ik=0; ik<fullS.length; ik++) {
      if (fullS>=" ") {
        if (fullS.substring(ik,ik+oldS.length) == oldS) {
          fullS = fullS.substring(0,ik)+newS+fullS.substring(ik+oldS.length,fullS.length);
        }
      }
    }
    return fullS;
  }
}

function unhex(val) {
  val=replaceString('%25','%',val);
  val=replaceString('%20',' ',val);
  val=replaceString('+',' ',val);
  val=replaceString('%3A',':',val);
  val=replaceString('%3B',';',val);
  val=replaceString('%22','"',val);
  val=replaceString("%27","'",val);
  val=replaceString('%26','&',val);
  val=replaceString('%0D%0A','<br>',val);
  val=replaceString('%7C','|',val);
  val=replaceString('%40','@',val);
  return val;
}

function searchc(fields,forstring) {
  sfieldlist=fields.split('|');
//document.write(fields,forstring,sfieldlist,sfieldlist.length,c.length,sfieldlist[0].toLowerCase(),forstring.toLowerCase());
  for (j=1;j<c.length;++j) {
//document.write(j);
    keep=0;
    for (i=0;i<sfieldlist.length;++i) {
//document.write(j,i,c[j][colOf(sfieldlist[i])],lowercase(c[j][colOf(sfieldlist[i])]));
      if ((c[j][colOf('use')]=='1')&& (c[i][colOf(user)]>' ') &&
        (c[j][colOf(sfieldlist[i])].toLowerCase().indexOf(forstring.toLowerCase())>-1)) {keep=1;}
    }
    if (keep==1) {tnlist[tnlist.length]=j;}
  }
//  tnnumperpage=0;
}

function tab(ispaces) {
  nbsp="";
  for (itab=0;itab<ispaces;++itab) {nbsp+="&nbsp;";}
  return nbsp;
}

function indent(val) {
  val=replaceString('<br>','<br>'+tab(5),val);
  return val;
}


function getqs() {
  qs=window.location.search;
  pathparts=document.URL.split('?');
  if (qs.length>1) {

    qs=unhex(qs.substring(1,qs.length));
    qsargs=qs.split("&");
    for (i=0;i<qsargs.length;++i) {qsargs[i]=qsargs[i].split("=");}
  }
}

function qsOf(avar) {
//document.write(qsargs[0][0]+qsargs[0][1]+'<br>');
  aval="";
  for (i=0;i<qsargs.length;++i) {if (qsargs[i][0]==avar) {aval=qsargs[i][1];}}
  return aval;
}


months=new Array('January','February','March','April','May','June','July','August','September','October','November','December');

function dateOf(YYMMDD) {
  ida=Number(YYMMDD.substring(4,6));
  return ida;
}

function monthOf(YYMMDD) {
  imo=Number(YYMMDD.substring(2,4)-1);
  return months[imo];
}

function yearOf(YYMMDD) {
  return "20"+YYMMDD.substring(0,2);
}

function alertEmpty() {
  alert('Please enter a word, phrase, or partial word to search.');
}

function searchc(fields,forstring) {
  sfieldlist=fields.split(',');
  wrote=0;
  for (j=1;j<c.length;++j) {
    keep=0;
    for (i=0;i<sfieldlist.length;++i) {
      if (c[j][colOf(sfieldlist[i])].toLowerCase().indexOf(forstring.toLowerCase())>-1){
        if ((c[j][colOf(sfieldlist[i])].toLowerCase().indexOf(forstring.toLowerCase())==0)||(c[j][colOf(sfieldlist[i])].charAt(c[j][colOf(sfieldlist[i])].toLowerCase().indexOf(forstring.toLowerCase())-1)==' ')) {
          keep=1;
        }
      }
    }
    if (keep==1) {show1(j);++wrote;}
  }
    if (wrote==0){document.write('<center><b><font face="Arial">Sorry, no results for: <i>'+forstring+'</i></font></b></center>');}
}

function showresults() {
  searchc(fields,search);
}

function YYMMDD() {
  now=new Date();
  YY=String(Math.floor(now.getFullYear() % 100));if (YY.length<2){YY='0'+YY;}
  MM=String((1+now.getMonth()) % 12); if (MM=="0") {MM="12";};if (MM.length<2){MM='0'+MM;}
  DD=String(now.getDate());if (DD.length<2){DD='0'+DD;}
  YYMMDD=String(YY)+String(MM)+String(DD);
  return YYMMDD;
}

function YYMMDDof(ddmmyyyy) {
  dparts=ddmmyyyy.split('/');
  yymmdd=dparts[2].substr(0,2)+dparts[1]+dparts[0];
  return yymmdd;
}

function DD_Month_YYYYof(ddmmyyyy) {
  dparts=ddmmyyyy.split('/');
  ddmonthyyyyy=dparts[0]+' '+months[Number(dparts[1])]+' '+dparts[2];
  return ddmonthyyyy;
}

function currentIC(aday) {
  dsort=new Array();idsort=-1
  for (i=1;i<c.length;++i) {dsort[++idsort]=c[i][colOf('YYMMDD')]+'|'+i;}
  dsort.sort();

//  aday=YYMMDD();
  pick=1;
  idsort=0;
  while (idsort<dsort.length) {
    dsorts=dsort[idsort].split('|');
    if (today>=dsorts[0]) {pick=dsorts[1];}
    ++idsort;
  }
  return pick;
}

function newqs() {
  newq="?";
  newq+="file="+file;
  newq+="&delimiter="+delimiter;
  newq+="&template="+template;
  newq+="&ssi="+ssi;
  newq+="&fields="+fields;
  newq+="&search="+search;
  return newq;
}

function gonext(infound) {
  path2go=path2cgi+oldqs;
  document.location=path2go+'&nextstart='+infound;
}

function makebacknext(isback,isspace,ismore){
  numleft=Number(numfound)-Number(lastseen);
  backto=Number(startat)-Number(forcount);
  if (Number(startat)>1) {document.write('<a href="javascript:gonext('+backto+');">'+isback+'</a>');}
  if ((Number(startat)>1)||(Number(numleft)>0)) {document.write(isspace);}
  if (Number(numleft)>0) {document.write('<a href="javascript:gonext('+nextstart+');">'+ismore+'</a>');}
}

function listnames(achar){
  if (c.length>1) {
    if (c[1][colOf('name')].substring(0,1).toLowerCase()==achar) {
      document.write('<a href="javascript:go2name(1);">');
      document.write(unhex(c[1][colOf('name')])+', '+c[1][colOf('town')]+'</a><br>');
    }
    for (iic=2;iic<c.length;++iic) {
      if ((c[iic][colOf('name')].substring(0,1).toLowerCase()==achar)&&(c[iic][colOf('name')]!=c[iic-1][colOf('name')])) {
        document.write('<a href="javascript:go2name('+iic+');">');
        document.write(unhex(c[iic][colOf('name')])+', '+c[iic][colOf('town')]+'</a><br>');
      }
    }
  } else {document.write('<center><b><font face="Arial">Sorry, no results for: <i>'+achar+'</i></font></b></center>');}
}

function go2name(iic) {
  if (iic>=0) {fields='name'; search=hexify(c[iic][colOf('name')]);recall();}
}

function recall() {
  document.location=path2cgi+newqs();
}

function go2verification() {template='bmp/edit042/verification.html';fields=hexify(oldfields);search='%26%26';recall();}


function linkAZ(ichar){
  achar=String.fromCharCode("a".charCodeAt(0)-1+ichar);
  fields='name';search=achar;recall();
}

function listAZ() {
  document.write('Restaurants A-Z: ');
  for (ichar=1;ichar<=26;++ichar) {
    document.write('<a href="javascript:linkAZ('+ichar+');">'+String.fromCharCode("a".charCodeAt(0)-1+ichar)+'</a> ');
  }
}

function initcall() {fields='itemID';search='1111';recall();}
