


DOM = (document.getElementById) ? 1:0;
NS4 = (document.layers) ? 1 : 0;
IE = (document.all) ? 1 : 0;
browserOK = (NS4 || IE || DOM) ? 1 : 0;
ArrowNone = "images/triRight.gif";
ArrowBlock = "images/triDown.gif";

if (browserOK) {
    with (document) {
        write("<STYLE TYPE='text/css'>");
        if (NS4) {
       /*
            write(".parent {position:absolute; visibility:visible;}");
            write(".child {position:absolute; visibility:visible;}");
            write(".regular {position:absolute; visibility:visible;}")
         */
        }
        else {
            write(".child {display:none}")
        }
        write("</STYLE>");
    }
}


function getIndex(el) {

    ind = null;
    for (i=0; i<document.layers.length; i++) {
        whichEl = document.layers[i];
        if (whichEl.id == el) {
            ind = i;
            break;
        }
    }
    //alert(document.layers[0].id + " " + ind);
    return ind;
}

function arrange() {
    nextY = document.layers[firstInd].pageY + document.layers[firstInd].document.height;
    for (i=firstInd+1; i<document.layers.length; i++) {
        whichEl = document.layers[i];
        if (whichEl.visibility != "hide") {
            whichEl.pageY = nextY;
            nextY += whichEl.document.height;
        }
    }
}

function initIt(){
expanded=true;
ToggleAll();
}
/*
    if (!browserOK) return;
    if (NS4) {
        for (i=0; i<document.layers.length; i++) {
            whichEl = document.layers[i];
            if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
        }
        arrange();
    }
    else {
        divColl = (IE) ? document.all.tags("DIV") : document.getElementsByTagName("DIV") ;
        for (i=0; i<divColl.length; i++) {
            whichEl = divColl(i);
            if (whichEl.className == "child") whichEl.style.display = "none";
        }
    }
}

*/

   
function ToggleThis(elList) {
if (!browserOK) return;
    Toggle(elList,2);
}
    
function ToggleAll() {
  if (!browserOK) return;
    Toggle(partArray,expanded);
    allArrows = new Array();
    allArrows[0] = "TOPimEx";
    allArrows[1] = "BOTimEx";
    for(i=0;i<allArrows.length;i++) {
    var ImagesToToggle =[];
    imName=allArrows[i];
    ImagesToToggle[0] = (DOM) ? document.getElementById(imName) :(IE) ? document.all(imName) : document.layers[imName];
  for(var j=0; j<ImagesToToggle.length; j++) {
    var theImage = ImagesToToggle[j]; 
    if(!theImage) continue;
     if(DOM||IE) {
      theImage.src = (!expanded) ? ArrowBlock : ArrowNone;
     }
    }
 }
   expanded = !expanded;
 return true;
}
   
   
function Toggle(elList,visibility) {
      if(!browserOK) return true;

         for(var i=0; i<elList.length; i++) {
         var ElementsToToggle = [];
         var ImagesToToggle =[];
         var divName = elList[i]+"Child";
         var imName = elList[i] + "imEx";
      
  ElementsToToggle[0] = (DOM) ? document.getElementById(divName) :(IE) ? document.all(divName) : document.layers[divName];
 ImagesToToggle[0] = (DOM) ? document.getElementById(imName) :(IE) ? document.all(imName) : document.layers[imName];
      
         for(var j=0; j<ElementsToToggle.length; j++) {
            var theElement = ElementsToToggle[j];
            var theImage = ImagesToToggle[j]; 
            
            if(!theElement) continue;
           if(!theImage) continue;
             if(DOM||IE) {
                invisible = (visibility>1) ? (theElement.style.display != "block" ) : (visibility != 1);
               theElement.style.display = invisible ? "block" : "none";
                theImage.src = (invisible) ? ArrowBlock : ArrowNone;
            } else if (NS4) {
            
              invisible = (visibility>1) ? (theElement.visibility != "show" ) : (visibility != 1);
               theElement.visibility = invisible ? "show" : "hide";
               theImage.src = (invisible) ? ArrowBlock : ArrowNone;
               alert("here");
              }
         }
      }
      return true;
}
   
   
  
   


onload = initIt;

//Load Barrister Array

function AddBarrister(pars) {
Barrister[barct] = new bdef(pars);
barct++;
}

function bdef(pars) {
par = pars.split(",");
this.code = par[0];
this.name = par[1];
this.othernames = par[2];
this.webpage = par[3];
this.photo = par[4];
this.email = par[5];
}

function AddPracticeType(pars) {
Prac[parct] = new pdef(pars);
parct++;
}

function pdef(pars) {
par = pars.split(",");
this.code = par[0];
this.name = par[1];
}

function AddJoin(pars) {
Join[jct]= new jdef(pars);
jct++;
}

function jdef(pars) {
par = pars.split(",");
this.bcode = par[0];
this.pcode = par[1];
}



pracheader = "<hr size=1><BR>\n";
pracheader += "<DIV ID=\"el_PART_Parent\" CLASS=\"parent\"></DIV>\n";
pracheader += "<table><tr><td width=20 valign=top><A HREF=\"#\" onClick=\"ToggleThis(['el_PART_']); return false\">\n";
pracheader += "<IMG ID=\"el_PART_imEx\" SRC=\"images/triRight.gif\" WIDTH=16 HEIGHT=16 BORDER=0 ALT=\"Expand/Collapse Item\"></A>&nbsp;\n";
pracheader += "</td><td><FONT COLOR=\"#003333\">PARENTTEXT</FONT></td></tr></table>\n";
pracheader += "<DIV ID=\"el_PART_Child\" CLASS=\"child\">\n";
pracheader += "<table>\n";

barheader=pracheader;

footer = "</table>\n</DIV>\n";


barristerStr = "<tr><td width=20></td><td><A onMouseOver=\"window.status='BNAME';\" HREF=\"barristers/BPAGE\" >BNAME</A></td></tr>\n";
practiceStr = "<tr><td width=20></td><td>PRACTICETYPE</td></tr>\n";




function byPracticeType(){
col1=true;
for(p=0;p<parct;p++) {
tip=(col1) ? "<tr><td valign=top>" : "<td valign=top>";
tail=(col1) ? "</td>" : "</td></tr>";
partArray[p] = "el_"+p+"_";
pcode = Prac[p].code;
ptype = Prac[p].name;

thisheader = tip + pracheader;
thisheader = thisheader.replace(/PART/g,p);
thisheader = thisheader.replace(/PARENTTEXT/g,ptype);
document.write(thisheader);

for (j=0;j<jct;j++) {
if (Join[j].pcode == pcode) {
bcode = Join[j].bcode;

bname = Barrister[bcode].name;
oname = Barrister[bcode].othernames;
bpage = Barrister[bcode].webpage;

thisstr = barristerStr;
thisstr = thisstr.replace(/BPAGE/g, bpage);
thisstr = thisstr.replace(/BNAME/g, bname+", "+oname);

document.write(thisstr);
}
}
document.write(footer+tail);
col1 = !col1;
}
}


function byBarrister(){
col1=true;
for (b=0;b<barct;b++) {
tip=(col1) ? "<tr><td valign=top>" : "<td valign=top>";
tail=(col1) ? "</td>" : "</td></tr>";
partArray[b] = "el_"+b+"_";
bcode = Barrister[b].code
bname = Barrister[b].name;
oname = Barrister[b].othernames;
bpage = Barrister[b].webpage;
bphoto= Barrister[b].photo;

thisheader = tip+barheader;
thisheader = thisheader.replace(/PART/g,b);
if(DOM||IE)thisbarrister = "<A onMouseOver=\"window.status=\'" + bname+", "+oname+ "';\" HREF=\"barristers/" + bpage + "\">"+bname +", "+oname+"<BR><img src=\"images/" + bphoto +"\" border=0 width=100></A>";
if(NS4)thisbarrister = "<A onMouseOver=\"window.status='" + bname + ", " + oname + "';\" HREF=\"barristers/" + bpage + "\">" + bname+", "+oname +"</A>";
thisheader = thisheader.replace(/PARENTTEXT/g,thisbarrister);

document.write(thisheader);
for (j=0;j<jct;j++) {
if (Join[j].bcode == bcode) {
pcode = Join[j].pcode;
ptype = Prac[pcode].name;

thisstr = practiceStr.replace(/PRACTICETYPE/g,ptype);
document.write(thisstr);
}
}
document.write(footer+tail);
col1 = !col1;
}
}

function BarristerSelector(prefix) {
document.write('<form name="bs">');
cstr = (document.layers) ? "" : "class=\"formbit\"";
document.write('<Select name="bselect" onChange="document.location=bs.bselect[bs.bselect.selectedIndex].value;" '+cstr+'>');
document.write('<option selected value="#">Quick Find</option>');
for(b=0; b<barct; b++) {
bname = Barrister[b].name;
oname = Barrister[b].othernames;
bpage = Barrister[b].webpage;
document.write('<option value="' + prefix +'/' + bpage + '">' +  bname+ ', '+oname +'</option>\n');
}
document.write(' </select>');
 document.write('</form>');

}

var Barrister = new Array();
barct = 0;
var Prac = new Array();
parct=0;
var Join = new Array();
jct=0;
var partArray = new Array();
divct=0;

AddBarrister("0,Dr. Berwick,John Patrick,Berwick_JP.html,Berwick_JP.jpg,sramsay@chambers.net.au");
AddBarrister("1,Dr. Birch SC,Christopher John,Birch_CJ.html,Birch_CJ.jpg,cbirch@chambers.net.au");
AddBarrister("2,Mr. Biscoe,Craig,Biscoe_C.html,Biscoe_C.jpg,craigbiscoe@chambers.net.au");
AddBarrister("3,Ms. Butler,Narelle,Butler_N.html,Butler_N.jpg,butler@narellebutler.com.au");
AddBarrister("4,Mrs. Cotter-Moroz,Andrea Athena,Cotter-Moroz_AA.html,Cotter-Moroz_AA.jpg,andrea@cotter-moroz.com");
AddBarrister("5,Mr. Gowenlock,Robert Kenneth Keith,Gowenlock_RK.html,Gowenlock_RK.jpg,sramsay@chambers.net.au");
AddBarrister("6,Gruzman,Jeremy Lachlan,Gruzman_JL.html,Gruzman_JL.jpg,jgruzman@chambers.net.au");
AddBarrister("7,Mr. Haines QC,David,Haines_D.html,Haines_D.jpg,dhaines@edmundbartonchambers.com.au");
AddBarrister("8,Mr. Heathcote,Gregory Robert,Heathcote_GR.html,Heathcote_GR.jpg,gheathcote@chambers.net.au");
AddBarrister("9,Mr. Hunt,Robert William,Hunt_RW.html,Hunt_RW.jpg,robhunt@bigpond.net.au");
AddBarrister("10,Mr. Laing,Norman C.,Laing_NC.html,Laing_NC.jpg,laing@chambers.net.au");
AddBarrister("11,Mrs. Leotta,Kerrie Evelyn,Leotta_KE.html,Leotta_KE.jpg,k.leotta@chambers.net.au");
AddBarrister("12,Mr. Loofs,Jean- Jacques,Loofs_JJ.html,Loofs_JJ.jpg,jloofs@chambers.net.au");
AddBarrister("13,Ms. Olsson SC,Elizabeth Margaret,Olsson_EM.html,Olsson_EM.jpg,lizolsson@chambers.net.au");
AddBarrister("14,Mr. Pierce,Kevin John,Pierce_KJ.html,Pierce_KJ.jpg,kpierce@chambers.net.au");
AddBarrister("15,Mr. Radojev,Alex,Radojev_A.html,Radojev_A.jpg,aradojev@chambers.net.au");
AddBarrister("16,Mr. Walsh QC,Stephen,Walsh_S.html,Walsh_S.jpg,swalsh@edmundbartonchambers.com.au");
AddBarrister("17,Miss Walsh,Sophie Alexandra,Walsh_SA.html,Walsh_SA.jpg,swalsh@chambers.net.au");
AddBarrister("18,Mr. Walsh,Martin John,Walsh_MJ.html,Walsh_MJ.jpg,mwalsh@chambers.net.au");
AddBarrister("19,Mr. Zikmann,Robert Vaughan,Zikmann_RV.html,Zikmann_RV.jpg,zikmail@bigpond.com");

AddPracticeType("0,Administrative");
AddPracticeType("1,Administrative Law");
AddPracticeType("2,Alternative Dispute Resolution");
AddPracticeType("3,Appellate");
AddPracticeType("4,Banking");
AddPracticeType("5,Bankruptcy/Insolvency");
AddPracticeType("6,Building and Construction");
AddPracticeType("7,Civil & Human Rights/Discrimination");
AddPracticeType("8,Civil & Human Rights/Discrimination.");
AddPracticeType("9,Commercial");
AddPracticeType("10,Common Law");
AddPracticeType("11,Constitutional");
AddPracticeType("12,Contracts");
AddPracticeType("13,Criminal");
AddPracticeType("14,Defamation");
AddPracticeType("15,Equity");
AddPracticeType("16,Family Law");
AddPracticeType("17,Industrial/Employment");
AddPracticeType("18,Insolvency");
AddPracticeType("19,Insurance");
AddPracticeType("20,Intellectual Property");
AddPracticeType("21,International");
AddPracticeType("22,Local Courts");
AddPracticeType("23,Local Government/Environmental Law");
AddPracticeType("24,Medical Negligence");
AddPracticeType("25,Personal Injury");
AddPracticeType("26,Professional Negligence");
AddPracticeType("27,Professional Negligence.");
AddPracticeType("28,Property");
AddPracticeType("29,Succession Law");
AddPracticeType("30,Superannuation");
AddPracticeType("31,Tax");
AddPracticeType("32,Trade Practices and Competition");
AddPracticeType("33,Wills and Probate");

AddJoin("1,0");
AddJoin("3,0");
AddJoin("12,0");
AddJoin("16,0");
AddJoin("4,1");
AddJoin("3,2");
AddJoin("4,2");
AddJoin("9,2");
AddJoin("11,2");
AddJoin("14,2");
AddJoin("18,2");
AddJoin("19,2");
AddJoin("9,3");
AddJoin("12,3");
AddJoin("14,3");
AddJoin("17,3");
AddJoin("14,4");
AddJoin("5,5");
AddJoin("11,5");
AddJoin("12,5");
AddJoin("14,5");
AddJoin("6,6");
AddJoin("9,6");
AddJoin("11,6");
AddJoin("12,6");
AddJoin("13,6");
AddJoin("14,6");
AddJoin("15,6");
AddJoin("17,6");
AddJoin("18,6");
AddJoin("19,6");
AddJoin("1,7");
AddJoin("4,7");
AddJoin("12,7");
AddJoin("3,8");
AddJoin("0,9");
AddJoin("1,9");
AddJoin("3,9");
AddJoin("6,9");
AddJoin("9,9");
AddJoin("12,9");
AddJoin("15,9");
AddJoin("16,9");
AddJoin("17,9");
AddJoin("18,9");
AddJoin("14,10");
AddJoin("1,11");
AddJoin("3,12");
AddJoin("9,12");
AddJoin("0,13");
AddJoin("8,13");
AddJoin("14,13");
AddJoin("15,13");
AddJoin("17,13");
AddJoin("0,14");
AddJoin("1,15");
AddJoin("3,15");
AddJoin("5,15");
AddJoin("9,15");
AddJoin("11,15");
AddJoin("12,15");
AddJoin("14,15");
AddJoin("15,15");
AddJoin("3,16");
AddJoin("4,16");
AddJoin("7,16");
AddJoin("11,16");
AddJoin("0,17");
AddJoin("4,17");
AddJoin("14,17");
AddJoin("6,18");
AddJoin("1,19");
AddJoin("5,19");
AddJoin("6,19");
AddJoin("9,19");
AddJoin("12,19");
AddJoin("14,19");
AddJoin("16,19");
AddJoin("17,19");
AddJoin("1,20");
AddJoin("14,20");
AddJoin("9,21");
AddJoin("15,21");
AddJoin("3,22");
AddJoin("17,22");
AddJoin("5,23");
AddJoin("11,23");
AddJoin("5,24");
AddJoin("17,24");
AddJoin("5,25");
AddJoin("5,26");
AddJoin("9,26");
AddJoin("11,26");
AddJoin("12,26");
AddJoin("13,26");
AddJoin("17,26");
AddJoin("4,27");
AddJoin("1,28");
AddJoin("3,28");
AddJoin("5,28");
AddJoin("6,28");
AddJoin("9,28");
AddJoin("12,28");
AddJoin("14,28");
AddJoin("7,29");
AddJoin("3,30");
AddJoin("3,31");
AddJoin("1,32");
AddJoin("9,32");
AddJoin("11,32");
AddJoin("12,32");
AddJoin("14,32");
AddJoin("15,32");
AddJoin("1,33");
AddJoin("3,33");
AddJoin("5,33");
AddJoin("12,33");
AddJoin("14,33");

