function popup(mylink, windowname, hw)
{
   if (! window.focus)return true;
      var href;
   if (typeof(mylink) == 'string')
      href=mylink;
   else
      href=mylink.href;
   window.open(href, windowname, hw);
   return false;
}

function getXMLHttpRequest() {
	var ajaxRequest;

   try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}

	return ajaxRequest;
}

function xsubmit(actions,place){
	var ajaxRequest = getXMLHttpRequest();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById(place);
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	var queryString = "";
	var file = "http://www.kuoushi.com/index.php";

	switch(actions) {
     case "event":
       var id = document.getElementById('id').value;
       var del = "false";
       if(id == "add") {
         file = file + "/schedule/add";
         id = null;
       }
       else {
         file = file + "/schedule/edit/";
         del = document.getElementById('delete').checked;
       }
       var desc = escape(document.getElementById('description').value);
       var date_start = document.getElementById('year').value + "-" + document.getElementById('month').value + "-" + document.getElementById('day').value + " " + document.getElementById('hour').value + ":" + document.getElementById('min').value + ":00";
       var len = document.getElementById('lenhour').value + ":" + document.getElementById('lenmin').value;
	    queryString = "&desc=" + desc;
       if(id != null) {
         queryString = queryString + "&id=" + id;
       }
       queryString = queryString + "&date_start=" + date_start + "&len=" + len + "&del=" + del;
       break;
     case "editstream":
       file = file + "/streams/edit/";
       var id = document.getElementById('id').value;
       var desc = escape(document.getElementById('description').value);
       var del = document.getElementById('delete').checked;
       var date_start = document.getElementById('year').value + "-" + document.getElementById('month').value + "-" + document.getElementById('day').value + " " + document.getElementById('hour').value + ":" + document.getElementById('min').value + ":00";
       var len = document.getElementById('lenhour').value + ":" + document.getElementById('lenmin').value;
       var embed_type = document.getElementById('embed_type').value;
       var embed_id = escape(document.getElementById('embed_id').value);
       var stype = document.getElementById('type').value;
       var gamelist = escape(document.getElementById('gamelist').value);
       queryString = "id=" + id + "&desc=" + desc + "&date_start=" + date_start + "&del=" + del + "&len=" + len + "&embed_type=" + embed_type + "&type=" + stype + "&embed_id=" + embed_id + "&games=" + gamelist;
       break;
     case "login":
       file = file + "/users/login";
       var user = escape(document.getElementById('user').value);
	    var pass = SHA256(document.getElementById('pass').value);
	    document.getElementById('pass').value = "";
	    queryString = "user=" + user + "&pass=" + pass;
	    break;
     case "register":
       file = file + "/users/register";
       var user = escape(document.getElementById('user').value);
	    var pass = SHA256(document.getElementById('pass').value);
	    var email = escape(document.getElementById('email').value).replace(/@/g,'%40');
	    document.getElementById('pass').value = "";
	    queryString = "user=" + user + "&pass=" + pass + "&email=" + email;
	    break;
 	  case "vote":
 	    file = file + "/polls/vote";
	    var pollid = document.getElementById('p').value;
	    var votes = document.getElementsByName('vote');
	    var vote = "";
	    for(var i=0;i<votes.length;i++){ if(votes[i].checked) { vote = votes[i].value; break; } }
	    if(vote == "") { vote = -1; }
	    queryString = "pollid=" + pollid + "&vote=" + vote;
	    break;
	  case "postmessage":
	    file = file + "/forums/postmessage";
	    var user    = escape(document.getElementById('user').value);
	    var message = escape(document.getElementById('message').value).replace(/@/g,'%40');
	    var thread  = document.getElementById('thread').value;
	    queryString = "thread=" + thread + "&user=" + user + "&message=" + message;
	    break;
	  case "postthread":
       file = file + "/forums/postthread";
       var thread_title = escape(document.getElementById('thread_title').value);
       var message = escape(document.getElementById('message').value);
       var forum   = document.getElementById('forum').value;
       var sticky  = document.getElementById('sticky').checked;
       var poll    = document.getElementById('poll_check').value;
       queryString = "title=" + thread_title + "&message=" + message + "&forum=" + forum + "&sticky=" + sticky + "&poll=" + poll;
       if(poll) {
         var question = escape(document.getElementById('question').value);
         var closedate = document.getElementById('closedate').value;
         var optionarray = document.getElementsByName('poll_options');
	      var optionlist = "";
	      for(var i=0;i<optionarray.length;i++){ if(optionarray[i].value != "") { optionlist = optionlist+ "___" + escape(optionarray[i].value); } }
	      queryString = queryString + "&question=" + question + "&options=" + escape(optionlist) + "&closedate=" + closedate;
       }
	    break;
	  case "editpost":
	    file = file + "/forums/editpost";
       var message = escape(document.getElementById('message').value);
       var id      = document.getElementById('id').value;
       queryString = "id=" + id + "&message=" + message;
       break;
      case "edituser":
        file = file + "/users/edituser";
        var bio         = escape(document.getElementById('bio').value);
        var email       = escape(document.getElementById('email').value);
        var tpp         = document.getElementById('threads_per_page').value;
        var ppp         = document.getElementById('posts_per_page').value;
        var time_offset = document.getElementById('time_offset').value;
        queryString = "bio=" + bio + "&email=" + email + "&threads_per_page=" + tpp + "&posts_per_page=" + ppp + "&time_offset=" + time_offset;
        break;
	  default:
       return false;
	}

	ajaxRequest.open("POST", file, true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.send(queryString);
}

function filterGame(id,game) {
	var ajaxRequest = getXMLHttpRequest();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById("bottom");
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}

	if(game != "Filter by:")
   {
     var queryString = "game="+escape(game);

     ajaxRequest.open("POST", "http://www.kuoushi.com/index.php/home/streams/"+id+"/all", true);
     ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
     ajaxRequest.send(queryString);
   }

	return false;
}



function addNew(title) {
	var ajaxRequest = getXMLHttpRequest();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById("gamediv");
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}

	if(title == "addnew") {
	   ajaxRequest.open("POST", "forms.php?form=newgame", true);
      ajaxRequest.send(null);
	}
	else {
	   ajaxRequest.open("POST", "forms.php?form=nonewgame", true);
      ajaxRequest.send(null);
	}
	return false;
}

function setStreamer(streamer,n) {
	var ajaxRequest = getXMLHttpRequest();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById("calendar");
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}

   ajaxRequest.open("POST", "histcal.php?s="+streamer+"&n="+n, true);
   ajaxRequest.send(null);

	return false;
}

function toggleBox(check) {
   check.value = check.checked;
   var fields = document.postthread;
   for(var i=0;i<fields.poll_options.length;i++)
   {
     fields.poll_options[i].disabled = !check.checked;
   }
   fields.closedate.disabled = !check.checked;
   fields.question.disabled  = !check.checked;
	return false;
}

function showtext(id) {
  document.getElementById(id).style.display = 'inline';
}

function hidetext(id) {
  document.getElementById(id).style.display = 'none';
}
