
// $Id: epilepsy-current.js,v 1.1.1.1 2008/03/21 22:11:55 chad Exp $


/*
	Epilepsy.js

	Universal helper functions
*/



/*
	OVERRIDE - yui panel config close function to style
*/
YAHOO.widget.Panel.prototype.configClose = function(type, args, obj) {
	var val = args[0];

	var doHide = function(e, obj) {
		obj.hide();
	};

	if (val) {
		if (! this.close) {
			this.close = document.createElement("span");
			YAHOO.util.Dom.addClass(this.close, "container-close");
			this.close.innerHTML = "Close";
			this.innerElement.appendChild(this.close);
			YAHOO.util.Event.addListener(this.close, "click", doHide, this);
		} else {
			this.close.style.display = "block";
		}
	} else {
		if (this.close) {
			this.close.style.display = "none";
		}
	}
};




/*
	function togglePreview
	- for use in indexEntry previews; uses JQUERY
*/
if (Drupal.jsEnabled) {
	$(document).ready(function() {
		$('a.toggle_preview').click(function() {
			togglePreview(this);
			return false;
		});

		function togglePreview(togitem) {
			var itemId = togitem.id;

			if ($('div#prev_'+itemId+":hidden").length) {
				$('div#prev_'+itemId).fadeIn('fast');
				$('#'+itemId).prepend('Close ').removeClass('toggle_plus').addClass('toggle_minus');
				$.event.trigger('opened', $('div#prev_'+itemId));
				return false;
			} else {
				label = $('#'+itemId).text().replace('Close','').replace('&nbsp;','').replace(' ','');
				$('div#prev_'+itemId).fadeOut('fast');
				$('#'+itemId).empty().append(label).removeClass('toggle_minus').addClass('toggle_plus');
				$.event.trigger('closed', $('div#prev_'+itemId));
				return false;
			}

		}
	});
}

/* FUNCS FOR THE EPI_CHAT MODULE */
var epi_chat_float = null;
var url = "https://my.epilepsy.com/ext/addonchat/chat_pop.php";

function linkFloatit (url, uname, scram) {
		uri = url + "?uname=" + uname + "&scram=" + scram;
		epi_chat_float=window.open(uri,'chat_float','height=450,width=750');
}

function floatIt (url, uname, scram) {

	if (epi_chat_float) {
		epi_chat_float.focus();
		setchatBtn('reload', 'floatChat', uname, scram);
	} else {
		uri = url + "?uname=" + uname + "&scram=" + scram;
		epi_chat_float=window.open(uri,'chat_float','height=450,width=750');
		document.getElementById('chatRoom').innerHTML = 'Chat module is floated.<br />Please close the floated window and click "Reload Chat Module" below.';
		setchatBtn(url, 'reload', 'floatChat', uname, scram);
	}
}

function loadIt (url, id, uname, scram) {

	if (epi_chat_float) {
		document.getElementById('chatRoom').innerHTML = 'Chat module is floated.<br />Please close the floated window and click "Reload Chat Module" below.';
	} else {
		var applet = '<applet code="Client.class" codebase="http://client4.addonchat.com/current/" alt="Epilepsy Chatrooms" width="600" height="425" MAYSCRIPT archive="scclient_en.zip"><param name="room" value="204044"><param name="username" value="'+ uname +'"><param name="password" value="'+ scram +'"><param name="autologin" value="yes"></applet>';

		document.getElementById(id).innerHTML = applet;
		setchatBtn(url, 'float', 'floatChat', uname, scram);
	}
}

function showChat(uname, scram) {

	var applet = '<applet code="Client.class" codebase="http://client4.addonchat.com/current/" alt="Epilepsy Chatrooms" width="600" height="425" MAYSCRIPT archive="scclient_en.zip"><param name="room" value="204044"><param name="username" value="'+ uname +'"><param name="password" value="'+ scram +'"><param name="autologin" value="yes"></applet>';

	document.write(applet);

}

function setchatBtn (url, state, id, uname, scram) {
	if (state == "reload") {
		document.getElementById(id).innerHTML = '<a href="javascript: loadIt(\''+url+'\', \'chatRoom\', \''+uname+'\', \''+scram+'\');" class="button">Reload Chat Module</a>';
	} else if (state == "float") {
		document.getElementById(id).innerHTML = '<a href="javascript: floatIt(\''+url+'\', \''+uname+'\', \''+scram+'\');" class="button">Float Chat Module</a>';
	} else {
		document.getElementById(id).innerHTML = '';
	}
}



/*	SUCKERFISH DROPDOWNS IE FIX	*/

startList = function() {
	if (document.all&&document.getElementById) {
		navs = ['main_nav', 'spec_nav', 'tlbx_one_nav'];
		for(j=0;j<navs.length;j++) {
			if(navRoot = document.getElementById(navs[j])) {
				for (i=0; i<navRoot.childNodes.length; i++) {
					node = navRoot.childNodes[i];
					if (node.nodeName=="LI") {
						node.onmouseover=function() {
							this.className+=" hover";
				//			$("#block_epi_groups_0").css("zIndex",-10);
						}
						node.onmouseout=function() {
							this.className=this.className.replace(" hover", "");
				//			$('#col_center').css("zIndex","auto");
						}
					}
				}
			}
		}
	}
}
window.onload=startList;


function toggleUserPreview(togitem) {
	var itemId = togitem.id;

	if ($('div#prev_'+itemId+':hidden').length) {
		$('div#prev_'+itemId).fadeIn('fast');
		$('#'+itemId).empty().append('Close Preview').parent().removeClass('toggle_plus').addClass('toggle_minus');
		return false;
	} else {
		$('div#prev_'+itemId).fadeOut('fast');
		$('#'+itemId).empty().append('Preview').parent().removeClass('toggle_minus').addClass('toggle_plus');
		return false;
	}

}

function make_trigger_function(is_dynamic_url, panel_dom_id, trigger_id, js_id, trigger_behavior) {
	if (is_dynamic_url) {
		return function(e) {
			YAHOO.util.Event.preventDefault(e);

			var upProfile = function (data) {
				var result = Drupal.parseJson(data);

				$('#' + panel_dom_id + '_content').fadeIn('fast').html(result['user']);

				$('a.toggle_userpreview').unbind('click').click(function() {
					toggleUserPreview(this);
					return false;
				});
			}

			var trigger = $('#' + trigger_id).attr('href');
			if (trigger != '') {
				$.ajax({
					url: trigger,
					async: true,
					dataType: 'html',
					success: upProfile
				});
/*				$(trigger).click(function(e) {
					var x = e.pageX;
					var y = e.pageY;
					alert (x + "," + y);
				});	*/
			}
      var p = document.getElementById(panel_dom_id); if (p.style.display == 'none') p.style.display = 'block';
			eval("d = YAHOO.epilepsy." + js_id + ';');
			d.cfg.setProperty('visible', _tb(trigger_behavior, d));
//			d.cfg.setProperty("xy", [x,y]);
		}
	} else {
		return function(e) { YAHOO.util.Event.preventDefault(e); var p = document.getElementById(panel_dom_id); if (p.style.display == 'none') p.style.display = 'block'; eval("d = YAHOO.epilepsy." + js_id + ';'); d.cfg.setProperty('visible', _tb(trigger_behavior, d) ); }
	}
}

function _tb(trigger_behavior, d) {
	switch(trigger_behavior) {
		case 'show':
			return true;
		break;

		case 'hide':
			return false;
		break;

		case 'toggle':
		default:
			return !d.cfg.getProperty("visible");
		break;
	}
}

function toggleitem(fset)
{
	x = document.getElementById(fset);
	if (x.style.display == 'block') x.style.display = 'none';
	else x.style.display = 'block';
}



/* panel support */

function epi_make_panel_init(js_id, panel_dom_id, attributes, trigger_id, trigger_js) {
	return function() {
		eval('YAHOO.epilepsy.' + js_id + ' = new YAHOO.widget.Panel("' + panel_dom_id + '", { ' + attributes + ' } );');
		eval('YAHOO.epilepsy.' + js_id + '.render();');
		eval('YAHOO.util.Event.addListener("' + trigger_id	+ '", "click", ' + trigger_js + ', YAHOO.epilepsy.' + js_id + ', true);');

		eval('YAHOO.epilepsy.' + js_id	+ '.showEvent.subscribe(function() { YAHOO.util.Dom.addClass("' + trigger_id + '", "lit"); }, YAHOO.epilepsy.' + js_id + ', true);');
		eval('YAHOO.epilepsy.' + js_id	+ '.hideEvent.subscribe(function() { YAHOO.util.Dom.removeClass("' + trigger_id + '", "lit"); }, YAHOO.epilepsy.' + js_id + ', true);');
	}
}


/* user panel support */
function epi_make_user_panel_init(js_id, dynamic_url, al) {
	trigger_id = js_id + '_toggle';
	panel_dom_id = js_id;

	attributes = 'context:["' + js_id + '_toggle", ' + al + '], width:"396px", visible:false, constraintoviewport:false, close:true, underlay:"none", effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}';
//	attributes = 'width:"396px", visible:false, constraintoviewport:false, close:true, underlay:"none", effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}';

	tf = "make_trigger_function('" + dynamic_url + "', '" + panel_dom_id + "', '" + trigger_id + "', '" + js_id + "', 'toggle')";

	return epi_make_panel_init(js_id, panel_dom_id, attributes, trigger_id, tf);
}



/* block collapse widgets */

if (Drupal.jsEnabled) {
	$(document).ready(function() {
		$('div.collapsible span.titletext a').click(function() {
			$(this).parent().parent().parent().toggleClass('expanded');
			return false;
		});
	});
}
