 
 function create_news_query()
 { nf=attach('news_filter')
   s = "&news_filter="+nf.options[nf.selectedIndex].value
   p=attach('p')
   s = s + "&p="+p.value
   return s
 }

 function pcat_line(cat, parent, line, state)
 { this.cat = cat
   this.parent = parent
   this.line = line

   if (parent == 0)
    this.isopened = true
   else
    this.isopened = state
  }
  
 function hide_all_tree(o)
 { var t
   
   if (tree === 'undefined')
    tree = parent.tree

   fp = find_first_parent(o)
   for (t=0; t < tree.length; t++)
   { if (find_first_parent(t) != fp)
     { if (tree[t].parent != 0)
       { if (tree[t].isopened)
         { tree[t].isopened = false
         }
       }
     }
   }
   return true
 }
 
 function hide_show_tree_elem(o, f)
 { var t
   
   if (tree === 'undefined')
    tree = parent.tree
   for (t=o; t < tree.length; t++)
   { if (tree[t].parent == tree[o].cat)
     { switch(f)
       { case 'o': tree[t].isopened=true
                   break;
                   
         case 'c': tree[t].isopened=false
                   hide_show_tree_elem(t, 'c')
                   break;
                   
         default:
          if (tree[t].isopened)
          { tree[t].isopened=false
            hide_show_tree_elem(t, 'c')
          }
          else
          { tree[t].isopened=true
          }
          break;
       }
     }
   }
 }

 function find_cat(cat)
 { var k

   tree = parent.tree
   for (k=0; k < tree.length; k++)
    if (tree[k].cat == cat)
     return k+1
   return false
 }

 function find_last_cat(parent)
 { var k

   if (tree === 'undefined')
    tree = parent.tree
   lpar = 0
   for (k=0; k < tree.length; k++)
    if (tree[k].parent == parent)
     lpar=k
   return lpar
 }

 function find_first_parent(t)
 { if (tree === 'undefined')
    tree = parent.tree
   if (tree[t].parent == 0)
    return t
   else
    return find_first_parent(find_cat(tree[t].parent)-1)
   return false
 }

 function prep_on_tree_click(t)
 { hide_show_tree_elem(t, '')
   write_tree()
   prep_photo_sel(tree[t].cat)
  return true
 }

 function pcat_hover(o)
 { o.style.cursor='pointer'
   //alert ("Before "+o.className)
   switch(o.className)
   { case 'pcat_black':
      o.className='pcat_white'
      break
     case 'td_main_up':
     case 'td_main_down':
      o.className=o.className+'Hover'
      break;
   }
   //alert ("After "+o.className)
 }
 
 function pcat_out(o)
 { switch(o.className)
   { case 'pcat_white':
      o.className='pcat_black'
      break
     case 'td_main_upHover':
     case 'td_main_downHover':
      o.className=o.className.substr(0,o.className.length-5)
      break;
   }
 }
 
 function write_tree(cat_zero)
 { var s = "";
 
   if (tree === 'undefined')
    tree = parent.tree
   
   ev = "onmouseover=\"this.style.cursor='pointer';this.className='td_mainHover'\" onmouseout=\"this.className='td_main'\""
   eva = "onmouseover=\"pcat_hover(this)\" onmouseout=\"pcat_out(this)\""

   s = "<table width='100%' cellspacing='0' cellpadding='0'>\n"
   s1 = ""
   for (t=0; t < tree.length; t++)
   { if (tree[t].isopened)
     { if (tree[t].parent != cat_zero)
       { s = s + "<tr class='pcat_tr' onclick=\"hide_all_tree("+t+");prep_on_tree_click("+t+")\">\n"
         s = s + "<td "+eva+" id='td|"+tree[t].cat+"' name='td|"+tree[t].cat+"' align='left' class='pcat_black'\">\n"
         //s = s + "<span class='pcat_black' onmouseover=\"this.style.cursor='pointer';this.className='pcat_white'\" onmouseout=\"this.className='pcat_black'\">\n"
         s = s + tree[t].line
         //if (tree_info[t] > 0)
         // s = s + " (<b>"+tree_info[t]+"</b>)"
         s = s + "</td>\n"
         s = s + "<td align='right'>\n"
         s = s + "<img name='pm|"+tree[t].cat+"' id='pm|"+tree[t].cat+"' src='gfx/null.gif' width='9' height='9' atl=''>&nbsp;"
         s = s + "</td></tr>\n";
         s1 = s1 + "if (o=attach('pm|"+tree[t].parent+"'))\n"
         if (par=find_cat(tree[t].parent))
         { if (tree[par-1].parent)
           { s1 = s1 + "o.src='gfx/images/arrow_down.gif'\n"	//"o.src='gfx/minus_black.gif'\n"
             if (lpar=find_last_cat(tree[t].parent))
             {  s1 = s1 + "if (o=attach('td|"+tree[lpar].cat+"'))\n"
                s1 = s1 + "o.className='td_main_down'\n"
                s1 = s1 + "if (o=attach('td|"+tree[par-1].cat+"'))\n"
                s1 = s1 + "o.className='td_main_up'\n"
             }
           }
           else
            s1 = s1 + "o.src='gfx/images/arrow_down.gif'\n"	//"o.src='gfx/minus_white.gif'\n"
         }
       }
       else
       { s = s + "<tr onclick=\"hide_all_tree("+t+");prep_on_tree_click("+t+")\">\n"
         //s = s + "<td class='td_main' align='right'>\n"
         //s = s + "<img name='pm|"+tree[t].cat+"' id='pm|"+tree[t].cat+"' src='gfx/images/arrow_02.gif'></td>\n"
         s = s + "<td "+ev+" id='td|"+tree[t].cat+"' align='left' class='td_main'>"
         s = s + tree[t].line
         //if (tree_info[t] > 0)
         // s = s + " (<b>"+tree_info[t]+"</b>)"
         s = s + "</td>\n"
         s = s + "<td class='td_main' align='right'>\n"
         s = s + "<img name='pm|"+tree[t].cat+"' id='pm|"+tree[t].cat+"' src='gfx/null.gif' width='9' height='9' atl=''></td>\n"
         s = s + "</tr>\n";
       }
     }
     else
     { if (tree[t].parent != cat_zero)
       { s1 = s1 + "if (o=attach('pm|"+tree[t].parent+"'))\n"
         if (par=find_cat(tree[t].parent))
         { if (tree[par-1].parent)
           { s1 = s1 + "o.src='gfx/images/arrow_right.gif'\n"	//"o.src='gfx/plus_black.gif'\n"
             s1 = s1 + "if (o=attach('td|"+tree[t].parent+"'))\n"
             s1 = s1 + "o.className='pcat_black'\n"
           }
           else
           { s1 = s1 + "o.src='gfx/images/arrow_right.gif'\n"	//"o.src='gfx/plus_white.gif'\n"
             s1 = s1 + "if (o=attach('td|"+tree[t].parent+"'))\n"
             s1 = s1 + "o.className='td_main'\n"
           }
           //s1 = s1 + "if (o=attach('td|"+tree[t].parent+"'))\n"
           //s1 = s1 + "o.className='td_main'\n"
         }
       }
       else
       { 
       }
     }
   }
   s = s + "</table>\n"
   a = attach('test')
   show_obj('test')
   a.innerHTML = s
   eval(s1)
 }

 function change_gallery_image(key,img_fn,w)
 { document.getElementById('gallery_img_'+key).src=img_fn
   if (o=window['gallery_img_cmt_'+key])
   { c=document.getElementById('gallery_img_'+key+'_cmt')
     c.innerHTML=''
     if (o[w] !== undefined)
     { c.innerHTML = eval('gallery_img_cmt_'+key+'['+w+']')
     }
   }
 }
 
 function change_gallery_image(key,img_fn,w)
 { document.getElementById('gallery_img_'+key).src=img_fn
   if (o=window['gallery_img_cmt_'+key])
   { c=document.getElementById('gallery_img_'+key+'_cmt')
     c.innerHTML=''
     if (o[w] !== undefined)
     { c.innerHTML = eval('gallery_img_cmt_'+key+'['+w+']')
     }
   }
 }
 
 function change_first_gallery_image(img_fn, w)
 { imgs = document.getElementsByTagName("img");
   for (var i = 0; i < imgs.length; i++)
   { if (p=imgs[i].id.indexOf("gallery_img_") != -1)
     { imgs[i].src=img_fn;
       auxc = imgs[i].id.split("_")
       if (o=window['gallery_img_cmt_'+auxc[2]])
       { c=document.getElementById(imgs[i].id+'_cmt')
         c.innerHTML=""
         if (o[w] !== undefined)
         { c.innerHTML = eval('gallery_img_cmt_'+auxc[2]+'['+w+']')
         }
       }
       break;
     }
   }
 }

