function start() {
	correctPNG('container');
	setFocus();
	loadContent();
}

function loadContent() {
	var pageName = 'news.php';
	
	var urlVars = getUrlVars();
	if (urlVars['pageId'] != null) pageName = urlVars['pageId'] + '.php';
	
	var urlVarString = getUrlVarString();
	if (urlVarString != null) pageName += '?' + urlVarString;
	
	ajaxpage(pageName,'content_body',urlVars);
}

function checkBaseUrl(baseURL) {
	if (top.location.href.indexOf(baseURL) < 0) top.location.href = baseURL;
}

function validateLogin() {
	var loginform = document.login_form;
	loginform.response.value = hex_md5(hex_md5(loginform.password.value) + ':' +  loginform.challenge.value);
	loginform.submitbutton.value = 'Please Wait...';
	loginform.submitbutton.disabled = true;
	loginform.password.value = '';
	loginform.challenge.value = '';
	return true;
}

function setFocus() {
	document.login_form.username.focus();
}

function ajaxpage(URL,containerId) {
	var opt = {
		evalScripts: true,
		onComplete: function(response) {
			hideProgressIndicator();
			correctPNG(containerId);
			googleTrackPageView(thisURL);
		},
		onSuccess: function(response) { 
		},
		onFailure: function(response) {
			alert('An unexpected error occurred. Please try again later');
		}
	};
	
	clearContainer(containerId);
	displayProgressIndicator(containerId);

	new Ajax.Updater(containerId, URL, opt);
}

function sendAjaxForm(thisForm, URL, containerId){
    var opt = {
        method:'post', 
        postBody: Form.serialize(thisForm),
		evalScripts: true,
		onComplete: function(response) {
			hideProgressIndicator();
			correctPNG(containerId);
			googleTrackPageView(thisURL);
		},
		onSuccess: function(response) { 
		},
		onFailure: function(response) {
			alert('An unexpected error occurred. Please try again later');
		}
    };
	
	clearContainer(containerId);
	displayProgressIndicator(containerId);

	new Ajax.Updater(containerId, URL, opt);
}

function clearContainer(containerId) {
	scroll(0,0);
	$(containerId).scrollTop = 0;
	$(containerId).innerHTML = '';
};

function displayProgressIndicator(containerId) {
	if ($('progressImage') != null) {
		parentTop = $(containerId).offsetTop;
		parentLeft = $(containerId).offsetLeft;
		parentWidth = $(containerId).offsetWidth;
		parentHeight = $(containerId).offsetHeight;
		elementWidth = $('progressImage').offsetWidth;
		elementHeight = $('progressImage').offsetHeight;
		//$('progressImage').style.top =  parentTop + (parentHeight / 2) - (elementHeight / 2);
		$('progressImage').style.left = parentLeft + (parentWidth / 2) - (elementWidth / 2) - 50;
		$('progressImage').show();
	}
};

function hideProgressIndicator() {
	if ($('progressImage') != null) {
		$('progressImage').hide();
	}
}

function new_freecap()
{	
	// loads new freeCap image
	if(document.getElementById)
	{
		// extract image name from image source (i.e. cut off ?randomness)
		thesrc = document.getElementById("freecap").src;
		thesrc = thesrc.substring(0,thesrc.lastIndexOf(".")+4);
		// add ?(random) to prevent browser/isp caching
		document.getElementById("freecap").src = thesrc+"?"+Math.round(Math.random()*100000);
	} else {
		alert("Sorry, cannot autoreload freeCap image\nSubmit the form and a new freeCap will be loaded");
	}
}

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

    for(var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
		//alert(hash[0] + '=' + hash[1]);
    }

    return vars;
}

function getUrlVarString() {
    var varString = window.location.href.slice(window.location.href.indexOf('?') + 1);
    return varString;
}

function googleTrackPageView(url) {
	if (typeof(_gat) == 'object') {
		try {
			var pageTracker = _gat._getTracker("UA-15764782-1");
			pageTracker._trackPageview(url);
		} catch(err) {};
	}
}
