function _toggle(el, evt){
    if(el.hasClassName('hide')){
        _show(el);
    }else{
    	_hide(el);
    }
}
function _show(el){
    el.removeClassName('hide');
}
function _hide(el){
    el.addClassName('hide');
}
function clipboard_copy(text2copy) {
  if(text2copy == ''){
      alert('Whoops! Looks like the embed code is missing.'+"\n"+'Please report this as a dead link using the button below.');
      return false;
  }
  if (window.clipboardData) {
    window.clipboardData.setData("Text",text2copy);
  } else {
    var flashcopier = 'flashcopier';
    if(!document.getElementById(flashcopier)) {
      var divholder = document.createElement('div');
      divholder.id = flashcopier;
      document.body.appendChild(divholder);
    }
    document.getElementById(flashcopier).innerHTML = '';
    var divinfo = '<embed src="_base/swf/_clipboard.swf" FlashVars="clipboard='+escape(text2copy)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    document.getElementById(flashcopier).innerHTML = divinfo;
  }
}
function initDropDowns(){
    var dropDownTriggers = $$('.dropdown_');//hoverable element containing dropdown ul
    dropDownTriggers.each(function(el){
        var myDropDown = el.getElementsBySelector('ul')[0];
        Event.observe(el, 'mouseover', function(evt){
            Event.element(evt).addClassName('active');
            myDropDown.addClassName('active');
        });
        Event.observe(el, 'mouseout', function(evt){
            Event.element(evt).removeClassName('active');
            myDropDown.removeClassName('active');
            
        });
    });
}
function initTopSearch(){
    if($('frmsearch')){
        var mySearchForm = $('frmsearch');
        var mySearchBox = $('frmsearch_search');
        var mySearchLabel = $('frmsearch_label');
        var myArea = $('frmsearch_area');
        var mySearchTriggers = mySearchForm.getElementsBySelector('.frmsearch_submitter');
        mySearchTriggers.each(function(el){
            el.observe('click', function(evt){
                if(el.rel == 'advanced'){
                    el.href+=mySearchBox.value;
                    window.location.href=el.href;
                }else{
                    el.href="#";
                    mySearchLabel.innerHTML = mySearchLabel.innerHTML.gsub(myArea.value, el.rel);
                    myArea.value = el.rel;
                    el.up('ul').getElementsBySelector('li a').each(function(e){
                        e.removeClassName('active');
                    });
                    el.addClassName('active');
                    return false;
                }
            });
        });
        if(mySearchBox){
            // if(mySearchBox.value!='') mySearchLabel.addClassName('structural');
            mySearchBox.observe('focus', function(){
                mySearchLabel.addClassName('structural');
            });
            mySearchBox.observe('blur', function(){
                if(mySearchBox.value=='')
                    mySearchLabel.removeClassName('structural');
            });
        }
        //activate hover state
        var btn = mySearchForm.getElementsBySelector('li.submit input')[0];
        var dropdown = mySearchForm.getElementsBySelector('.searchdrop img')[0];
        var searchbg = mySearchForm.getElementsBySelector('li.first')[0];
        var on = '_on.png';
        var off = '.png';
        btn.observe('mouseover', function(){
            btn.src = btn.src.gsub(off, on);
            dropdown.src = dropdown.src.gsub(off, on);
            searchbg.addClassName('on');
        });
        btn.observe('mouseout', function(){
            btn.src = btn.src.gsub(on, off);
            dropdown.src = dropdown.src.gsub(on, off);
            searchbg.removeClassName('on');
        })
    }
}
function initHomeSearch(){
    if($('home').getElementsBySelector('form#search')[0]){
        var btn = $('home').getElementsBySelector('form#search li.submit input')[0];
        btn.observe('mouseover', function(){
            btn.src = btn.src.gsub('.png', '_on.png');
        });
        btn.observe('mouseout', function(){
            btn.src = btn.src.gsub('_on.png', '.png');
        })
    }
}
function initAltDropdowns(cname){
    var els = $$('.'+cname);
    if(els.length){
        els[1].addClassName('hide');
        els[0].observe('mouseover', function(evt){
            _show(els[1], evt);
        });
        els[0].observe('mouseout', function(evt){
            _hide(els[1], evt);
        });
        els[1].observe('mouseover', function(evt){
            _show(els[1], evt);
        });
        els[1].observe('mouseout', function(evt){
            _hide(els[1], evt);
        });
    }
}
function initCustomize(){
    if($('toggle_customize')){
    	$('toggle_customize').observe('click', function(evt){
    		_toggle($('customize'), evt);
    		return false;
    	});
    	$('cancel_customize').observe('click', function(evt){
    	    _hide($('customize'), evt);
    	    return false;
    	});
        $$('.show_customize').each(function(el){
            el.observe('click', function(evt){
                _show($('customize'), evt);
            });
        });
    }
}
function initFlashFeature(){
    if($('toggle_flash')){
        var el = $('toggle_flash');
        el.observe('click', function(evt){
            if(el.hasClassName('open')){
                el.removeClassName('open');
                el.addClassName('close');
            }else{
                el.removeClassName('close');
                el.addClassName('open');
            }
            _toggle(el);
        });
    }
}

//initialization
Event.observe(window, 'load', function(){
    //focus username field on login page
    initAltDropdowns('add_to');
    initAltDropdowns('select_rss');
    initAltDropdowns('searchdrop');
    // initHomeSearch();
    initDropDowns();
    initTopSearch();
    initCustomize();
    initFlashFeature();
    if($('login_user')!=null){
        $('login_user').focus();
    }
}, false);
