var server_get={};

var menu_timeout=100;

function get_(array,key,default_)
{
 if(default_===undefined)
  default_=null;
  
 if(array[key]===undefined)
  return default_;
  
 return array[key];
}

function initialize(node)
{
 $('a img',node).each
 (
  function()
  {
   var me=$(this);
   
   me.css('padding','1');
   me.css('border','1px solid transparent');
  }
 );

 //img

 $('a img',node).hover
 (
  function()
  {
   var me=$(this);
   
   me.parent().css('background-color','transparent');
   me.css('border','1px solid red');
  },
  function()
  {
   var me=$(this);
   
   me.css('border','1px solid transparent');
  }   
 );

 //menu

 $('.menu .item,.menu .title',node).hover
 (
  function()
  {
   $(this).data('over',true);
  },
  function()
  {
   $(this).data('over',false);
  }
 );

 $('.menu .title',node).hover
 (
  function()
  {
   var item=$(this).parent().find('.item');
   
   item.show();
  },
  function()
  {
   var title=$(this);    
   var item=$(this).parent().find('.item');    
   var id=window.setTimeout('on_leave_menu(\''+title.auto_id()+'\',\''+item.auto_id()+'\')',menu_timeout);

   item.data('timer',id);
  }
 );
}

function on_leave_menu(id_title,id_item)
{
 var title=$('#'+id_title); 
 var item=$('#'+id_item); 
 var timer=item.data('timer');
 
 window.clearTimeout(timer);
 
 if(title.data('over')||item.data('over'))
 { 
  var id=window.setTimeout('on_leave_menu(\''+id_title+'\',\''+id_item+'\')',menu_timeout);
    
  item.data('timer',id);
 }
 else
 {
  item.hide();
 }
}

$(document).ready
(
 function()
 {
  //server_get
  
  var a=document.createElement('a');
  
  a.href=window.location;

  var arguments=a.search.replace(/^\?/,'').split('&');
  var length=arguments.length;
  var string;
  var i;
  
  for(i=0;i<length;i++)
  {
   if(!arguments[i])
   {
    continue;
   }
   
   string=arguments[i].split('=');
   
   server_get[string[0]]=string[1];
  }
  
  //auto id
  
  $.fn.auto_id=function()
  { 
   var id=$(this).attr('id');
   
   if(id===undefined)
   {
    i=1;
    id='id_'+i;
    
    while($('#'+id).length>0)
    {
     i++;
     
     id='id_'+i;
    }
        
    $(this).attr('id',id);
   }
   
   return id;
  }
  
  $.fn.hidden=function()
  {
   if(this.css('display')==='none')
    return true;
   
   return false;
  }
  
  //max height
  
  $.fn.max_height=function()
  {
   var height=0;
   var item;
   var hidden;
   
   for(var i=0;i<this.length;i++)
   {
    item=$(this.get(i)); 
    hidden=item.hidden();
    
    if(hidden)
     item.show();
    
    if(item.outerHeight()>height)
     height=item.outerHeight();
     
    if(hidden)
     item.hide();
   }
   
   return height;
  }
  
  //initialize

  $.fn.initialize=function()
  {
   initialize(this);
  }
  
  $('body').initialize();
 }
);

