var _POPUP_FEATURES = 'location=0,  statusbar=0,  menubar=0,  width=425,  height=344';

function raw_popup(url, target, features) {
  if (features == null) {
  features = _POPUP_FEATURES;
  }
  if (target == null) {
    target = '_blank';
  }
  var theWindow = window.open(url, target, features);
  theWindow.focus();
  return theWindow;
}

function link_popup(src, features) {
  	return raw_popup(src.getAttribute('href'), src.getAttribute('target') || '_blank', features);
}

function isFilled(field) {
	if (field.value.length < 1 || field.value == field.defaultValue) {
		return false;	
	} else {
			return true;
	}
}

function isEmail(field) {
	if (field.value.indexOf("@") == -1 || field.value.indexOf(".") == -1) {
		return false;	
	} else {
		return true;	
	}
}

function validateForm(whichform){
	for (var i=0; i<whichform.elements.length; i++){
		var element = whichform.elements[i];
		if (element.className.indexOf("required") != -1) {
			if (!isFilled(element)){
				//alert("Please fill in the "+element.name+" filed.");
				alert("Please fill in all fields.");
				return false;
			}
		}
		if (element.className.indexOf("email") != -1) {
			if (!isEmail(element)) {
				alert("Please enter a valid email address.");
				return false;
			}
		}
		if (element.className.indexOf("blankFLD") != -1) {
			if (isFilled(element)) {
				return false;
			}
		}
	}
	return true;
}

function prepareForms(){
	for (var i=0; i<document.forms.length; i++) {
		var thisform = document.forms[i];
		if (thisform != document.getElementById("cse-search-box")){
		//resetFields(thisform);

			thisform.onsubmit = function() {

				return validateForm(this);	
			}
		}
	}
}

// RSS Forum Feed

var RSSRequestObject = false; // XMLHttpRequest Object
var Backend = 'eventrss.php'; // Backend url
window.setInterval("update_timer()", 1200000); // update the data every 20 mins


if (window.XMLHttpRequest) // try to create XMLHttpRequest
	RSSRequestObject = new XMLHttpRequest();

if (window.ActiveXObject)	// if ActiveXObject use the Microsoft.XMLHTTP
	RSSRequestObject = new ActiveXObject("Microsoft.XMLHTTP");


/*
* onreadystatechange function
*/
function ReqChange() {

	// If data received correctly
	if (RSSRequestObject.readyState==4) {
	
		// if data is valid
		if (RSSRequestObject.responseText.indexOf('invalid') == -1) 
		{ 	 
			// Parsing Feeds
			var node = RSSRequestObject.responseXML.documentElement; 
			 
			// Get the calendar title
			//var title = node.getElementsByTagName('title').item(0).firstChild.data;
			
			//content = '<div class="channeltitle">'+title+'</div>';
		      var content='<table id=tbl-forum cellspacing=2><tr><th colspan="3" class="headertitles">Recent Posts</th></tr>';
			   
			// Browse events
			var items = node.getElementsByTagName('recent-post');
			 
			if (items.length == 0) {
				content += '<tr><td colspan=3><div class=error>No events</div></td></tr></table>';
			} else {
				content += '';
				for (var n=0; n<items.length; n++)
				{
					var itemTitle = items[n].getElementsByTagName('subject').item(0).firstChild.data;
					var Summary = items[n].getElementsByTagName('body').item(0).firstChild.data;
					var itemLink = items[n].getElementsByTagName('topic').item(0).getElementsByTagName('link').item(0).firstChild.data;

					var itemBoard = items[n].getElementsByTagName('board').item(0).getElementsByTagName('name').item(0).firstChild.data;
					var itemBoardLink = items[n].getElementsByTagName('board').item(0).getElementsByTagName('link').item(0).firstChild.data;
					var itemAuthor = items[n].getElementsByTagName('poster').item(0).getElementsByTagName('name').item(0).firstChild.data;
					var itemAuthorLink = items[n].getElementsByTagName('poster').item(0).getElementsByTagName('link').item(0).firstChild.data;


					try 
					{ 
						var itemPubDate = items[n].getElementsByTagName('time').item(0).firstChild.data;
					} 
					catch (e) 
					{ 
						var itemPubDate = '';
					}
					content += '<tr>';
					content += '<td><strong><a href="'+itemLink+'">'+itemTitle+'</a></strong>'+Summary+'</td>';
					content += '<td class="fm-posted">Posted in <a href="'+itemBoardLink+'">' +itemBoard+ '</a></td>';
					content += '<td>' +itemPubDate+ ' by <a href="'+itemAuthorLink+'">' +itemAuthor+ '</a></td>';
					content += '</tr>';
				
				}
				
	
				content += '</table>';

}
			// Display the result
			
			document.getElementById("ajaxreader").innerHTML = content;

			// Tell the reader the everything is done
			document.getElementById("status").innerHTML = "Done.";
			
		}
		else {
			// Tell the reader that there was error requesting data
			document.getElementById("status").innerHTML = "<div class=error>Error requesting data.<div>";
		}
		
		HideShow('status');
	}
	
}

/*
* Main AJAX RSS reader request
*/
function RSSRequest() {

	// change the status to requesting data
	HideShow('status');
	document.getElementById("status").innerHTML = "Requesting data ...";
	
	// Prepare the request
	RSSRequestObject.open("GET", Backend , true);
	// Set the onreadystatechange function
	RSSRequestObject.onreadystatechange = ReqChange;
	// Send
	RSSRequestObject.send(null); 
}

/*
* Timer
*/
function update_timer() {
	RSSRequest();
}


function HideShow(id){
	var el = GetObject(id);
	if(el.style.display=="none")
	el.style.display='';
	else
	el.style.display='none';
}

function GetObject(id){
	var el = document.getElementById(id);
	return(el);
}



	
window.onload = function () {
	 prepareForms();
	
	if(document.getElementById("ajaxreader")){
		RSSRequest();		  
	}
}
