// JavaScript Document
var widget;
var widget_content;
var widget_bar;
var widget_initiated = false;
var load_error = false;
var widget_contents = new Array(0, 0);

try {
	if (!(widget_style && (typeof(widget_style) == 'string'))) var widget_style = '/styles/widget.css';
	document.write('<link rel="stylesheet" href="' + widget_style + '" type="text/css">');
	document.write('<script type="text/javascript" src="/scripts/drag.js"> </script>');
} catch(e) {
	load_error = true;
}

function load_widget(view_obj) {
	if (!lang_arr) return false;
	if (!show_widget()) return false;
	if (!get_widget_contents(view_obj)) {
		//hide_widget();
		return false;
	}
	return true;
}

function set_widget_contents() {
	if (!(widget_contents.length == 2) || !widget_content) return false;
	switch (widget_contents[0]) {
		case 'XML':
			if (!(widget_contents[1].length > 0)) return false;
			try {
				widget_content.innerHTML = widget_contents[1];
			} catch(e) {
				return false;
			}
			break;
		case 'DOM':
			if (widget_contents[1].length < 1) return false;
			try {
				for (var count = 0; count < widget_contents[1].length; count++) {
					widget_content.appendChild(widget_contents[1][count]);
				}
			} catch(e) {
				return false;
			}
			break;
	}
	return true;
}

function show_widget() {
	if (!lang_arr || load_error) return false;
	if (!widget_initiated) {
		try {
			init_widget();
		} catch(e) {
			return false;
		}
	}
	if (!widget) {
		return false;
	}
	widget.style.visibility = 'visible';
	if (window.location) {
		var loco = '' + window.location;
		try {
			if (loco.indexOf('#widget_bar_link') >= 0) return true;
			else if (loco.indexOf('#') >= 0) {
				var close_link = document.getElementById('widget_bar_link');
				if ((typeof(close_link) == 'object') && (close_link['href'])) {
					close_link.href = loco.substring(loco.indexOf('#'));
				}
				loco = loco.substring(0, (loco.indexOf('#')));
			}
			window.location = loco + '#widget_bar_link';
		} catch(e) { }
	}
	return true;
}

function hide_widget() {
	if (!lang_arr || load_error || !widget_initiated || !widget) return false;
	widget.style.visibility = 'hidden';
	return true;
}

function init_widget() { // append the widget tags
	widget = document.getElementById('widget');
	if (!widget) {
		try {
			widget = new Object();
			widget.wrap = document.createElement('div');
			widget.bar = document.createElement('div');
			widget.content = document.createElement('div');
			widget.wrap.setAttribute('id', 'widget');
			widget.bar.setAttribute('id', 'widget_bar');
			widget.content.setAttribute('id', 'widget_content');
			widget.wrap.appendChild(widget.bar);
			widget.wrap.appendChild(widget.content);
			document.body.appendChild(widget.wrap);
		} catch(e) {
			try {
				document.write('<div id="widget" class="mh_size_100"><div id="widget_bar"></div><div id="widget_content"></div></div>');
			} catch(e) { return false; }
		}
	}
	widget = document.getElementById('widget');
	widget_content = document.getElementById('widget_content');
	widget_bar = document.getElementById('widget_bar');
	if (!write_widget_bar()) return false;
	widget_initiated = true; 
	return true;
}

function write_widget_bar() {
	/*widget_bar setup: 
		<div id="widget_bar">
			-------------->
			<span id="widget_bar_title">_BAR-TITLE_</span>
			<a href="#widget_link" title="_LINK-TITLE_" name="widget_link" onclick="hide_widget();">
				<span>_LINK-TITLE_</span>
			</a>
			<--------------
		</div>
	*/
	if (!widget || !widget_bar || !lang_arr) return false;
	try { //DOM XML
		var close_link;
		var link_title;
		var bar_title;
		close_link = document.createElement('a');
		close_link.setAttribute('href', '#widget_link');
		close_link.setAttribute('name', 'widget_link');
		close_link.setAttribute('id', 'widget_bar_link');
		//close_link.setAttribute('onclick', 'hide_widget();');
		close_link.onclick = function() { return hide_widget(); }; //IE6 bugfix
		close_link.setAttribute('title', lang_arr[1]);
		link_title = document.createElement('span');
		bar_title = document.createElement('span');
		bar_title.setAttribute('id', 'widget_bar_title');
		if (!bar_title || !link_title) return false;
		link_title.appendChild(document.createTextNode(lang_arr[1]));
		bar_title.appendChild(document.createTextNode(lang_arr[0]));
		if (!close_link || !link_title || !bar_title) return false;
		close_link.appendChild(link_title);
		widget_bar.appendChild(bar_title);
		widget_bar.appendChild(close_link);
	} catch (e) { // (IE), Opera < 9
		try {
			widget_bar.innerHTML = '<span id="widget_bar_title">'+lang_arr[0]+'</span><a href="#widget_link" title="'+lang_arr[1]+'" name="widget_link" onclick="hide_widget();"><span>'+lang_arr[1]+'</span></a>';
		} catch (e) {
			return false;
		}
	}
	bar_title.onmousedown = function () { init_drag(widget); };
	return true;
}


