/* Rohit's Realm - Web
 * Copyright (c) 2006, Rohit Nafday.  All Rights Reserved.
 * 
 * This is free software, distributed under the terms of a BSD-style license.
 * For details, see http://www.rohitsrealm.com/terms/#software
 *
 * $Id: global.js 318 2008-08-13 23:50:16Z rohit $
 */

include_dom('stdlib.js');
include_dom('xmlhttp.js');
include_dom('quote.js');

add_event(window, 'load', init);

function init() {
//   g2_latest();
   init_menu();
   init_comments();

   if(document.location.toString().match("/dm/")) {
      include_ajaxslt();
      include_dom('dm/admin.js');
   }

   if($('comments')) {
      include_ajaxslt();
      include_dom('dm/comment.js');
   }

   if($('main') && $('main').scrollHeight < 800) {
      hide('album-menu');
      hide('friend-menu');
      hide('others-menu');

      if($('main').scrollHeight < 500) {
	 hide('hosted-menu');
      }
   }
}

function init_menu() {
   var menuHdrs = $('menu').getElementsByTagName('h1');

   for(var i = 0; i < menuHdrs.length; i++) {
      menuHdrs[i].onclick = toggle_menu;
   }
}

function init_comments() {
   var spans = document.getElementsByClassName('num-comments');

   for(var i = 0; i < spans.length; i++) {
      var id = spans[i].id.replace("comments-", '');
      dm_comment_num(id);
   }
}

function init_feeds() {
   var icons = $('subscribe-menu').getElementsByTagName('img');
   var links = document.getElementsByClassName('close-link');

   for(var i = 0; i < icons.length; i++) {
      icons[i].onmouseover = show_feed_buttons;
   }

   for(var i = 0; i < links.length; i++) {
      links[i].onclick = hide_feed_buttons;
   }
}

function add_event(obj, type, fn) {
   if(obj.addEventListener) {
      obj.addEventListener(type, fn, false);
      return true;
   } else if(obj.attachEvent) {
      var r = obj.attachEvent("on" + type, fn);
      return r;
   } else {
      return false;
   }
}

function include_dom(script) {
   var head = document.getElementsByTagName('head');
   var js   = document.createElement('script');

   js.setAttribute('language', 'javascript');
   js.setAttribute('src', '/scripts/' + script);
   js.setAttribute('type', 'text/javascript');
   head[0].appendChild(js);
   return true;
}

function show(id) {
   $(id).style.display = 'block';
}

function hide(id) {
   $(id).style.display = 'none';
}

function toggle_menu() {
   var id = this.id.replace(/-header/, '-menu');
   new Effect.toggle(id, 'appear');
}

function show_feed_buttons() {
   var id = this.id.replace(/-icon/, '-buttons');
   new Effect.Appear(id);
}

function hide_feed_buttons() {
   var id = this.id.replace(/-close/, '');
   new Effect.Fade(id);
}

function g2_latest() {
   var url = '/g2/latest/';
   var r   = new Ajax.Updater('album-menu', url, { method: 'get' });
}

function include_ajaxslt() {
   include_dom('vendor/ajaxslt/misc.js');
   include_dom('vendor/ajaxslt/dom.js');
   include_dom('vendor/ajaxslt/xpath.js');
   include_dom('vendor/ajaxslt/xslt.js');
   dm_xsl_request();
}
