var forum = '';
var editor;
var posttitle = '';
var posttext = '';
var forumNum = 1;
var forumName = '';
var startviewpage = 0;
var pagenum = 1;
var totalposts = 0;
var navString = '';
var currentPage = 0;
var submitTask = '';
var replyTitle = '';
var replyNum = 0;
var currentViewedPostNum = 0;
var currentViewedPostName = 0;
var loginmessage = '';
var videostrip = "";
var xmlData = "";
var videoindex = 1;
var videosearch = "";

function callPHP(url, parameters, divname) {

	//document.getElementById('bnavigation').innerHTML = '<img src="./images/working.gif" alt="working" align="center" />';
	var http_request = false;
	if (window.XMLHttpRequest) { 
        	http_request = new XMLHttpRequest();
       		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Error! Please reload page.');
		return false;
	}
      
	http_request.open('POST', url, true);
	http_request.onreadystatechange = function() {
	
		if (http_request.readyState == 4)
		{
			if(http_request.status == 200) {
				var response = http_request.responseText;
				
				if(url == 'submitpost.php') {
					if(response.substring(2) == 'postsuccessful')
						listPosts('0','last_post_date',forumNum, forumName);
					else if(response.substring(2) == 'replysuccessful')
						viewPost(currentViewedPostNum, currentViewedPostName);
						
				} else if(url == 'checkauth.php') {
					if(response == 'false')
						showLogin();
					else
						loadEditor();
				
				} else if(url == 'pullvideos.php') {
					
					xmlData = response;
					parseXML();
				
				}else {
					document.getElementById(divname).innerHTML = response;
				}
			} else
				document.getElementById(divname).innerHTML = 'An error has occured!';
		}
	}
	
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
	
	//document.getElementById('bnavigation').innerHTML = '';
}

function listForums() {

	checkAuth();
	document.getElementById('vcontent').style.display = 'none';
	document.getElementById('search').style.display = 'none';
	document.getElementById('content').style.display = 'block';
	var loadcontent = new callPHP('listforums.php', '', 'content');
	document.getElementById('navigation').innerHTML = 'Home';
	document.getElementById('editor').style.display = 'none';
	document.getElementById('editorcontents').style.display = 'none';
	document.getElementById('contents').style.display = 'none';
	document.getElementById('bnavigation').innerHTML = '';
}

function totalPosts() {

	totalposts = new callPHP('totalposts.php', '', 'content');
}

function listPosts(page,sortby,num,name) {

	currentPage=page;
	forumNum=num;
	forumName=name;
	document.getElementById('navigation').innerHTML = '<a href="javascript:listForums()" class="links">Home</a> >> ' + forumName + '&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href="javascript:postThread()" class="links">Post New Discussion</a>';
	document.getElementById('trans').style.display = 'none';
	document.getElementById('title').style.display = 'none';
	document.getElementById('editor').style.display = 'none';
	document.getElementById('editorcontents').style.display = 'none';
	document.getElementById('contents').style.display = 'none';
	var poststr = "forumnum=" + encodeURI(forumNum) + "&forumname=" + encodeURI(forumName) +
	"&viewpage=" + encodeURI(page) + "&sortby=" + encodeURI(sortby);
	var listPosts1 = new callPHP('listposts.php', poststr, 'content');
	var bnavigation1 = new callPHP('bnavigation.php', poststr, 'bnavigation');
}

function viewPost(postNum, postTitle) {

	currentViewedPostNum = postNum;
	currentViewedPostName = postNum;
	quickViewPostOff();
	var poststr = "postnum=" + encodeURI(currentViewedPostNum);
	var viewPost1 = new callPHP('viewpost.php', poststr, 'content');
	document.getElementById('navigation').innerHTML = '<a href="javascript:listForums()" class="links">Home</a> >> <a href="javascript:listPosts(\'0\',\'last_post_date\',\''+forumNum+'\',\''+forumName+'\')">'+forumName+'</a>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href="javascript:composeReply(\''+postNum+'\', \''+postTitle+'\')">Reply</a>';
	document.getElementById('trans').style.display = 'none';
	document.getElementById('editor').style.display = 'none';
	document.getElementById('editorcontents').style.display = 'none';
	document.getElementById('contents').style.display = 'none';
	document.getElementById('bnavigation').innerHTML = '<a href="javascript:listPosts(\''+currentPage+'\',\'last_post_date\',\''+forumNum+'\',\''+forumName+'\')"><< Back</a>';
}

function composeReply(repliedto, posttitle) {
	
	submitTask = 'reply';
	replyNum = repliedto;
	replyTitle = posttitle;
	requireAuth();
}

function postThread() {
	
	submitTask = 'discussion';
	requireAuth();
}

function cancelPost() {

	document.getElementById('title').innerHTML = '';
	document.getElementById('contents').innerHTML = '';
	document.getElementById('trans').style.display = 'none';
	document.getElementById('title').style.display = 'none';
	document.getElementById('editor').style.display = 'none';
	document.getElementById('editorcontents').style.display = 'none';
	document.getElementById('contents').style.display = 'none';
	editor.destroy();
	editor = null;
}

function submitPost() {

	if(submitTask == 'discussion') {
		posttitle = document.title.title.value;
		replyNum = 0;
	} else if(submitTask == 'reply') {
		posttitle = 'RE: '+ replyTitle;
	}
	
	if(!editor)
		return;
	
	posttext = editor.getData();
	editor.destroy();
	editor = null;
	
	document.getElementById('title').innerHTML = '';
	document.getElementById('editor').innerHTML = '';
	document.getElementById('contents').innerHTML = '';
	document.getElementById('editorcontents').innerHTML = '';
	document.getElementById('title').style.display = 'none';
	document.getElementById('editor').style.display = 'none';
	document.getElementById('editorcontents').style.display = 'none';
	document.getElementById('contents').style.display = 'none';
	
	var poststr = "posttitle=" + encodeURI(posttitle) + "&posttext=" + encodeURI(posttext) +
	"&forumnum=" + encodeURI(forumNum) + "&repliedto=" + encodeURI(replyNum);
		
	var submitPost1 = new callPHP('submitpost.php', poststr, 'content');
}

function createEditor() {

	if(editor)
		return;

	var html = document.getElementById('editorcontents').innerHTML;
	var config = {};
	editor = CKEDITOR.appendTo('editor', config, html);
}

function quickViewPost(postNum) {

	document.getElementById('quickviewpost').style.display = 'block';
	var poststr = "postnum=" + encodeURI(postNum)
	var quickViewPost1 = new callPHP('quickviewpost.php', poststr, 'quickviewpost');
}

function quickViewPostOff() {

	document.getElementById('editorcontents').innerHTML = '';
	document.getElementById('quickviewpost').style.display = 'none';
}

function showLogin() {

	document.getElementById('loginmessage').innerHTML = loginmessage;
	document.getElementById('trans').style.display = 'block';
	document.getElementById('login').style.display = 'block';
}

function checkAuth() {

	callPHP('auth.php', '', 'loginstatus1');
}

function cancelAuth() {

	loginmessage = ' ';
	document.getElementById('trans').style.display = 'none';
	document.getElementById('login').style.display = 'none';
}

function authUser() {
	
	var poststr = "username=" + encodeURI(document.rspslogin.username.value) +
                    "&password=" + encodeURI(document.rspslogin.password.value) + 
                    "&authserver=" + encodeURI(document.rspslogin.authserver.options[document.rspslogin.authserver.selectedIndex].value) +
                    "&authreq=" + encodeURI(document.rspslogin.authreq.value); 
	callPHP('auth.php', poststr,'loginstatus1');
	cancelAuth();
	document.rspslogin.username.value = '';
	document.rspslogin.password.value = '';
}

function authFB(obj) {
	
	callPHP('auth.php', '','loginstatus1');
	cancelAuth();
}

function logout() {
	
	callPHP('logout.php', '', 'loginstatus1');
	FB.Connect.logout();
}

function requireAuth() {
	
	loginmessage='You must login to post messages';
	callPHP('checkauth.php', '', 'requireAuth');
}

function killEditor() {

	editor.destroy();
	editor = null;
	document.getElementById('title').innerHTML = '';
	document.getElementById('editor').innerHTML = '';
	document.getElementById('contents').innerHTML = '';
	document.getElementById('editorcontents').innerHTML = '';
	document.getElementById('title').style.display = 'none';
	document.getElementById('editor').style.display = 'none';
	document.getElementById('editorcontents').style.display = 'none';
	document.getElementById('contents').style.display = 'none';
}

function loadEditor(task) {

	document.getElementById('trans').style.display = 'block';
	document.getElementById('title').style.display = 'block';
	
	if(submitTask == 'discussion') {
		document.getElementById('title').innerHTML = '</br><form id="title" name="title">Post Title: <input size=50 type="text" name="title" id="title" /></br>Post Text:</form>';
		replyto = 0;
	} else if(submitTask == 'reply') {
		document.getElementById('title').innerHTML = 'RE: '+replyTitle+'</br>Post Text:';
	}
	
	
	document.getElementById('editor').style.display = 'block';
	createEditor();
	document.getElementById('contents').style.display = 'block';
	document.getElementById('contents').innerHTML = '<input onclick="cancelPost();" type="button" value="Cancel Post" /><input onclick="submitPost();" type="button" value="Submit Post" />';
}

function manageAccount() {
	
	loginmessage='You must login to post messages';
	callPHP('checkauth.php', '', 'requireAuth');
}

function showForums() {

	document.getElementById('vcontent').style.display = 'none';
	document.getElementById('content').style.display = 'block';
}

function showVideos() {

	document.getElementById('content').style.display = 'none';
	document.getElementById('vcontent').style.display = 'block';
}

function LoadVideoBar() {

	var videoBar;
	var options = {
	        largeResultSet : !true,
	        horizontal : true,
	        autoExecuteList : {
			cycleTime : GSvideoBar.CYCLE_TIME_MEDIUM,
			cycleMode : GSvideoBar.CYCLE_MODE_LINEAR,
			executeList : ["ytfeed:recently_featured","godzhell"]
		}
	      }

	videoBar = new GSvideoBar(document.getElementById("videoBar-bar"),
	GSvideoBar.PLAYER_ROOT_FLOATING,options);
}

function showLargeImage(ytid) {

	document.getElementById('videoplayer').innerHTML="<img src='http://i.ytimg.com/vi/"+ytid+"/hqdefault.jpg' height='360' width='480' />";
}

function hideLargeImage() {

	//document.getElementById('videoplayer').innerHTML="";
}

function playVideo(ytid) {

	document.getElementById('videoplayer').innerHTML="<object width=\"425\" height=\"355\"><param name=\"movie\" value=\"http://www.youtube.com/v/"+ytid+"?rel=1&color1=0x2b405b&color2=0x6b8ab6&border=1&fs=1&autoplay=1\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowScriptAccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/"+ytid+"?rel=1&color1=0x2b405b&color2=0x6b8ab6&border=1&fs=1&autoplay=1\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"425\" height=\"355\" allowfullscreen=\"true\"></embed></object>";

}

function showVideoStrip(search,index,name) {

	forumName=name;
	videosearch=search;
	videoindex=index;
	
	search=search.replace(/ /g,"*");
	
	document.getElementById('content').style.display = 'none';
	document.getElementById('vcontent').style.display = 'block';
	document.getElementById('navigation').innerHTML = '<a href="javascript:listForums()" class="links">Home</a> >> ' + forumName;
	
	var poststr = "search=" + encodeURI(search) + "&index=" + encodeURI(videoindex);
		
	callPHP('pullvideos.php', poststr, '');
}

function parseXML() {

	if (window.DOMParser) //other browsers
	{
		parser=new DOMParser();
		xmlDoc=parser.parseFromString(xmlData,"text/xml");
	}
	else // Internet Explorer
	{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(xmlData);
	}
	
	videostrip = "<table width=\"800px\" align=\"center\">";
	videostrip = videostrip+"<tr>";
	prev=0;
	next=0;
	prev=videoindex-5;
	next=videoindex+5;
	if(prev>0)
		videostrip = videostrip+"<td width=\"100px\" height=\"200px\" valign=\"middle\" align=\"center\"><a href=\"javascript:showVideoStrip(\'"+videosearch+"\',"+prev+",\'"+forumName+"\');\" class=\"links\">prev 5</a></td>";
	else
		videostrip = videostrip+"<td width=\"100px\" height=\"200px\" valign=\"top\"></td>";

	for(var i=0;i<5;i++) {

		vidtitle = xmlDoc.getElementsByTagName("media:title")[i].childNodes[0].nodeValue;
		viddate = xmlDoc.getElementsByTagName("yt:uploaded")[i].childNodes[0].nodeValue;
		vidid = xmlDoc.getElementsByTagName("yt:videoid")[i].childNodes[0].nodeValue;

		videostrip = videostrip+"<td width=\"120px\" height=\"200px\" valign=\"top\" class=\"videotitles\"><img src='http://i.ytimg.com/vi/"+vidid+"/default.jpg' height='90' width='120' onmouseover=\"showLargeImage('"+vidid+"');\" onmouseout=\"hideLargeImage();\" onclick=\"playVideo('"+vidid+"');\" /><br />"+vidtitle+"</td>";
	}

	videostrip = videostrip+"<td width=\"100px\" height=\"200px\" valign=\"middle\" align=\"center\"><a href=\"javascript:showVideoStrip(\'"+videosearch+"\',"+next+",\'"+forumName+"\');\" class=\"links\">next 5</a></td>";
	document.getElementById('videostrip').innerHTML=videostrip;
}

function searchWeb(searchterm) {

	document.getElementById('content').style.display = 'none';
	document.getElementById('vcontent').style.display = 'none';
	document.getElementById('search').style.display = 'block';
	
	var searchstring = "<form action=\"http://mmo4ums.com/search.php?\" id=\"csesearchbox\"><input type=\"hidden\" name=\"cx\" value=\"partner-pub-1966774596450659:8qoxg1-n2bn\" /><input type=\"hidden\" name=\"cof\" value=\"FORID:10\" /><input type=\"hidden\" name=\"ie\" value=\"ISO-8859-1\" /><input type=\"hidden\" name=\"q\" size=\"31\" value=\""+searchterm+"\" /></form><script type=\"text/javascript\" src=\"http://www.google.com/cse/brand?form=csesearchbox&amp;lang=en\"></script>";
		
	document.getElementById('searchform').innerHTML = searchstring;
	document.forms.csesearchbox.submit();
}

function doNothing() {

}
