$(document).ready(function() {
	
	$('.ajaxDisabled').hide();
	$('.ajaxEnabled').show();
	
	var newsContainerID;
	
	$('.readNewsLink').live('click', function(){
		var id = $(this).attr('name');
		
		newsContainerID = id;
		$.ajax({
			type: "GET",
			url: forUrl('/ajax/getFullNewsContent.php'),
			data: "id="+id,
			dataType: 'xml',
			success: addNewsBody,
			error: badData
		});
		return false;
	});
	
	function addNewsBody(data, status){
		$('#news'+newsContainerID).empty();
		var news = data.getElementsByTagName("news");
		var body = news[0].getElementsByTagName("body")[0].childNodes[0].nodeValue;
		var inputString = '<div>'+nl2br(body)+'</div><a href="#" name="'+newsContainerID+'" class="ajaxEnabled lessNewsLink">Hide</a>';
		$('#news'+newsContainerID).append(inputString);
	}
	
	$('.lessNewsLink').live('click', function(){
		var id = $(this).attr('name');
		var body = $(this).prev().html();
		$('#news'+id).empty();
		$('#news'+id).append('<div>'+nl2br(body.substring(0, 221))+'...</div><a href="#" name="'+id+'" class="ajaxEnabled readNewsLink">Read More</a>');
		return false;
	});
	
	$('.newsBoxLink').live('click', function(){
		var id = $(this).attr('name');
		var type = $('#newsType').text();
		
		//alert('id: '+id+', type: '+type);
		
		$('#newsContentContainer').empty();
		$('#newsContentContainer').append('<div id="newsContainer" class="rounded"><div id="newsLoader"><img id="newsLoaderImg" src="'+forUrl('/img/news_loader.gif')+'" alt="loading" /></div></div>');
		$.ajax({
			type: "GET",
			url: forUrl('/ajax/fetchNews.php'),
			data: "id="+id+"&type="+type,
			dataType: 'xml',
			success: procNews,
			error: badData
		});
		return false;
	});
	
	function procNews(data, status){
		//alert(data.getElementsByTagName("news")[0].getElementsByTagName("body")[0].childNodes[0].nodeValue);
		var news = data.getElementsByTagName("news");
		var inputString = '<div class="newsBtnContainer clearFix">';
		
		if(news[0].getElementsByTagName("prev").length > 0){
			var prev = news[0].getElementsByTagName("prev")[0].childNodes[0].nodeValue;
			inputString = inputString + '<a id="prevNewsLink" class="newsBoxLink roundedButton" href="'+prev+'" name="'+prev+'">Prev</a>';
		}
		if(news[0].getElementsByTagName("next").length > 0){
			var next = news[0].getElementsByTagName("next")[0].childNodes[0].nodeValue;
			inputString = inputString + '<a id="nextNewsLink" class="newsBoxLink roundedButton" href="'+next+'" name="'+next+'">Next</a>';
		}
		inputString = inputString + '</div>';
		inputString = inputString + '<div class="newsContainer rounded">';
		var id = news[0].getElementsByTagName("id")[0].childNodes[0].nodeValue;
		var created = news[0].getElementsByTagName("created")[0].childNodes[0].nodeValue;
		var title = news[0].getElementsByTagName("title")[0].childNodes[0].nodeValue;
		var body = news[0].getElementsByTagName("body")[0].childNodes[0].nodeValue;
		inputString = inputString + '<h3>'+title+'</h3><p class="newsBoxDate">'+created+'</p>';
		inputString = inputString + '<div id="news'+id+'" class="newsContent rounded';
		if(body.length > 220){
			inputString = inputString + ' tallNewsContainer"><div>'+nl2br(body.substring(0, 221))+'...</div><a href="#" name="'+id+'" class="ajaxEnabled readNewsLink">Read More</a>';
		}
		else{
			inputString = inputString + '"><div>'+nl2br(body)+'</div>';
		}
		inputString = inputString + '</div></div>';
		$('#newsContentContainer').empty();
		$('#newsContentContainer').append(inputString);
		//Cufon.refresh();
	}
	
	function badData(xmlHttpRequest, textStatus, errorThrown){
		if(xmlHttpRequest.readyState == 0 || xmlHttpRequest.status == 0) {
			return;  // it's not really an error
		}
		else{
			alert('There was a problem retrieving news from the database - error code 3');
			//alert(xhr.status);                 //Eg: 404, 500
			//alert(xhr.responseText);		   //like view source of the error page	
		}
	}
	
	function forUrl(url) {
		return $('base').attr('href')+url.substr(1);
	}
	
        function nl2br(str) { return str.replace(/\n/g, '<br />'); }
});


