/******************************************************************
These are simply some useful functions used throughout the site.
*******************************************************************/

var formElements = {
	ajaxUrl: "getnews.php",
	makeSnapBack: function(elements){
		// now lets loop through all the form elements we just got
		for(i=0;i!=elements.length;i++){
			// lets observe each element, waiting for one to be clicked on
			Event.observe(elements[i], "focus",function(action){
				// pull out the DOM element from the action
				element = Event.element(action);
				if(elements.indexOf(element.id) == -1){
					element.value = "";
					element.style.color = "#171717";
					elements.push(element.id);
				}
			});
		}
	}
}



Event.observe(window, 'load',function(){
	formElements.makeSnapBack($$(".snapback"));
	if($('ticker_ticker')){
		getNews();
	}
})

function getNews(){
	query = "get=true";
	var myajax = new Ajax.Request(formElements.ajaxUrl, {method: "post", postBody: query, onComplete: function(ajaxObject){
		var json_object = eval("(" + ajaxObject.responseText + ")");
		workWithNews(json_object);
	}})
}

function workWithNews(json_object){
	if(objectLength(json_object) >= 1){
		for(i in json_object){
			setTimeout(function(){
				$("ticker_ticker").innerHTML = "<a href='" + eval("json_object." + i + ".url") + "'>" + eval("json_object." + i + ".news_flash") + "</a>";
				delete json_object[i];
				workWithNews(json_object); 
			},5000);
			break;
		}
	}else{
		getNews();
	}
}

function isObject(obj){
	if(obj.constructor.toString().indexOf("Object") == -1){
		return false;
	}else{
		return true;
	}
}
function objectLength(object){
	var x = 0;
	for(i in object){
		x++;
	}
	return x;
}
