//// Onload Events

var onload_events = new Array();

function set_onload(f)
{
	var i = onload_events.length;
	onload_events[i] = f;
}

function do_onload()
{
	if(onload_events.length == 0) return;

	for(var i=0; i<onload_events.length; i++)
	{
		eval(onload_events[i] + "()");
	}
}

onload=do_onload;

//// Return an Elements Position;

function find_pos(obj)
{
	var cur_left = cur_top = 0;

	if(obj.offsetParent)
	{
		cur_left = obj.offsetLeft;
		cur_top = obj.offsetTop;

		//alert(obj.nodeName);
		//alert(cur_top);

		while (obj = obj.offsetParent)
		{
			cur_left += obj.offsetLeft;
			cur_top += obj.offsetTop;
		}
	}
	return [cur_left,cur_top];
}

//// Get A CSS Value

function get_style(el,el_css)
{
	var css_value = el.style[el_css];

	if(!css_value) // If it's not an inline style
	{
		if(el.currentStyle)
		{
			css_value = el.currentStyle[el_css];
		}
		else if(window.getComputedStyle)
		{
			css_value = document.defaultView.getComputedStyle(el,null).getPropertyValue(el_css);
		}
		else
		{
			css_value = null;
		}
	}

	return css_value;
}

function article_height()
{
	var content = document.getElementById("p-content");
	var narrow = document.getElementById("c-narrow");

	//alert(content.offsetHeight);

	if(!narrow) return;

	if(narrow.offsetHeight > content.offsetHeight)
	{
		content.style.height = narrow.offsetHeight + "px";
	}
}

///// Form Functions

function trim(s)
{
	return s.replace(/^\s+|\s+$/g, '');
}

function valid_email(ea)
{
	var email_reg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp(email_reg);
	return regex.test(ea);
  }

function validate(f,el,captcha)
{
	var address = trim(document.getElementById(el).value);
	var valid = (valid_email(address)) ? 1 : 0;

	if(!valid)
	{
		alert("\"" + address + "\" is not a email address.\n\nYou're gonna need to enter a valid email address to sign-up.");
		f.focus();
		f[el].select();
		return false;
	}
	else return true;
}


function form_focus()
{
	var f = document.forms[0];
	
	if(f == null)
		return;

	for(var i=0; i<f.elements.length; i++)
	{
		if(f.elements[i].type.indexOf("text") > -1 && f.elements[i].disabled != true)
		{
			f.elements[i].focus();
			break;
		}
	}
}

function toggle_search(obj,action)
{
	var input = obj;
	var default_text = "Newsletter sign-up";

	if(action)
	{
		if(input.value == default_text)
		{
			input.value = "";
			//input.style.color = "#30302f";
		}
	}
	else
	{
		if(input.value == "")
		{
			input.value = default_text;
			//input.style.color = "#bbb";
		}
	}
}

// Featured Photograph

function set_photograph()
{
	var photo = document.getElementById("slideshow");
	var photos = get_photographs();

	// Set the photograph
	var r_number = Math.floor(Math.random() * photos.length);
	var	image_src = escape(photos[r_number]);
	photo.style.backgroundImage = "url(" + image_src + ")";

/*
	// Create the caption
	var caption = document.createElement("div");
	caption.id = "p-text";

	//var caption_text = document.createTextNode(photos[r_number].replace(/-/g," ").split(".")[0]);
	var new_text = photos[r_number].replace(/-/g," ");
	var caption_text = document.createTextNode(new_text.substr(0,new_text.lastIndexOf(".")));
	caption.appendChild(caption_text);
	container.appendChild(caption);
*/
}
