// Copyright Joris Landman 2008-2010, http://jorislandman.com. All rights reserved.

/* ! Objects *//*
================================================================================================================================ */

/* Get Object
-------------------------------------------------------------------------------------------------------------------------------- */
function JL_get_object(my_object_name) { // return cross browser object
	if (document.getElementById) {
		this.object = document.getElementById(my_object_name);
		this.style = document.getElementById(my_object_name).style;
	} else if (document.all) {
		this.object = document.all[my_object_name];
		this.style = document.all[my_object_name].style;
	} else if (document.layers) {
		this.object = document.layers[my_object_name];
		this.style = document.layers[my_object_name];
	} else {
		return false;
	}
}

/* Get Object Property
-------------------------------------------------------------------------------------------------------------------------------- */
function JL_get_object_property(my_object_name, my_property) {
	var my_object = new JL_get_object(my_object_name);
	return my_object.object[my_property];
}

/* Get Style Property
-------------------------------------------------------------------------------------------------------------------------------- */
function JL_get_style_property(my_object_name, my_property) {
	var my_object = new JL_get_object(my_object_name);
	return my_object.style[my_property];
}

/* Set Object Property
-------------------------------------------------------------------------------------------------------------------------------- */
function JL_set_object_property(my_object_name, my_property, my_value) {
	var my_object = new JL_get_object(my_object_name);
	my_object.object[my_property] = my_value;
}

/* Set Style Property
-------------------------------------------------------------------------------------------------------------------------------- */
function JL_set_style_property(my_object_name, my_property, my_value) {
	var my_object = new JL_get_object(my_object_name);
	my_object.style[my_property] = my_value;
}


/* ! On Load *//*
================================================================================================================================ */

/* Fix to Make Links with rel="external" Open in New Window
-------------------------------------------------------------------------------------------------------------------------------- */
function JL_open_external_links_in_new_window() {
	if (!document.getElementsByTagName) return;
	var my_anchors = document.getElementsByTagName('a');
	for (var n = 0; n < my_anchors.length; n++) {
		var my_anchor = my_anchors[n];
		if (my_anchor.getAttribute('href') && my_anchor.getAttribute('rel') && my_anchor.getAttribute('rel').match('external')) my_anchor.target = '_blank';
	}
	my_anchors = null; // unset
}


/* ! Other *//*
================================================================================================================================ */

/* Stylesheet
-------------------------------------------------------------------------------------------------------------------------------- */
function JL_load_stylesheet(my_uri) {
	// #note, load new stylesheet
	var my_element = document.createElement('link');
	my_element.setAttribute('rel', 'stylesheet');
	my_element.setAttribute('href', my_uri);
	my_element.setAttribute('type', 'text/css');
	my_element.setAttribute('media', 'all');
	my_element.setAttribute('charset', 'UTF-8');
	document.getElementsByTagName('head')[0].appendChild(my_element);
}


/* ! On Load *//*
================================================================================================================================ */

/* On Load Capsule Function
-------------------------------------------------------------------------------------------------------------------------------- */
function JL_on_load() {
	// #note, if JL_open_external_links_in_new_window is activated on load, external links are opened in a new window
	JL_open_external_links_in_new_window();
}
window.onload = JL_on_load;
