var selCatSelIcon="/catalogue/images/categories.icon.selected.gif";
var selCatDesIcon="/catalogue/images/categories.icon.current.gif";
var selSitSelIcon="/catalogue/images/site.icon.selected.gif";
var selSitDesIcon="/catalogue/images/site.icon.gif";
var selImage0=new Image(), selImage1=new Image(), selImage2=new Image(), selImage3=new Image();
selCatSelIcon=selImage0.src=selCatSelIcon; selCatDesIcon=selImage1.src=selCatDesIcon;
selSitSelIcon=selImage2.src=selSitSelIcon; selSitDesIcon=selImage3.src=selSitDesIcon;
var selCatNumSelected=0, selSitNumSelected=0;

function selCatSelect(obj,sel){
 obj.selSelected=sel;
 selCatNumSelected+=sel ? 1 : -1;
 obj.src=sel ? selCatSelIcon : selCatDesIcon;
 obj.alt=sel ? selCatSelAlt : selCatDesAlt;
}
function selSitSelect(obj,sel){
 obj.selSelected=sel;
 selSitNumSelected+=sel ? 1 : -1;
 obj.src=sel ? selSitSelIcon : selSitDesIcon;
 obj.alt=sel ? selSitSelAlt : selSitDesAlt;
}
function selIsCat(obj){ return obj.name.indexOf("i")==0; }
function selIsSit(obj){ return obj.name.indexOf("s")==0; }
function selCatSelectAll(sel,lsa){
 if(sel && !lsa && selSitNumSelected) selSitSelectAll(false);
 var cur, i;
 for(i=0; i<document.images.length; i++)
  if(selIsCat(cur=document.images[i]))
   if(!cur.selSelected == sel)
    selCatSelect(cur,sel);
}
function selSitSelectAll(sel,lca){
 if(sel && !lca && (selCatNumSelected || selAlsoSelected())) selCatSelectAll(false);
 var cur, i;
 for(i=0; i<document.images.length; i++)
  if(selIsSit(cur=document.images[i]))
   if(!cur.selSelected == sel)
    selSitSelect(cur,sel);
}
function selSubmitSearcher(cmd){
 var str="", cur, i;
 for(i=0; i<document.images.length; i++)
  if(selIsSit(cur=document.images[i]) && cur.selSelected)
   str+=cur.name+";";
 document.forms.searcher.params.value=str;
 document.forms.searcher.command.value=cmd;
 document.forms.searcher.submit();
 hideAll();
}
function selRefresh() {
 if(selSitNumSelected) {
  selCatSelectAll(true,true);
  selCatSelectAll(false);
 } else {
   selSitSelectAll(true,true);
   selSitSelectAll(false);
 }
}
function selAlsoSelected(){
 for(var i=0; i<document.images.length; i++)
  if(document.images[i].name.indexOf("a") != -1)
   if(document.images[i].alt == selCatSelAlt) return true;
 return false;
}

function checkSubCategory(uid){
 if(selSitNumSelected) selSitSelectAll(false);
 var cur=document.images[""+uid];
 selCatSelect(cur,!cur.selSelected);
}
function checkSite(uid){
 if(selCatNumSelected || selAlsoSelected()) selCatSelectAll(false)
 var cur=document.images[""+uid];
 selSitSelect(cur,!cur.selSelected);
}
function toggleCatSelection(){
 selCatSelectAll(!selCatNumSelected)
}
function toggleSitesSelection(){
 selSitSelectAll(!selSitNumSelected)
}
function copy(){
 selSubmitSearcher("copy");
}
function paste(){
 selSubmitSearcher("paste");
}
