uploaderClass = {
	shown: false
}

Bobo = {
	getHTML: function(){
		var xmlHttp;
		try
		  {
		  // Firefox, Opera 8.0+, Safari
		  xmlHttp=new XMLHttpRequest();
		  }
		catch (e)
	  	{	
			  // Internet Explorer
		  try
		    {
		    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	    	}
		  catch (e)
		    {
		    try
		      {
		      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		      }
	    	catch (e)
		      {
		      alert("Your browser does not support AJAX!");
		      return false;
		      }
		   }
	  }
	  return xmlHttp;
	},
	
	goHome: function(){
		var xmlHttp = Bobo.getHTML();
		if (xmlHttp == null) return false;
		xmlHttp.onreadystatechange=function()
	    {
	    if(xmlHttp.readyState==4)
	      {
	      document.getElementById("content").innerHTML=xmlHttp.responseText;
	      }
	    }
	    xmlHttp.open("POST","index.php?mini=true",true);
		xmlHttp.send(null);
	},
	
	checkPassword: function(name,td,error){
		var iName = document.getElementById(name).value;
		if (iName != null && iName == ""){
			document.getElementById(td).innerHTML="Enter a valid password";
		}else{
			document.getElementById(td).innerHTML="";
		}
	},
	
	checkPasswords: function(){
		var pass1 = document.getElementById("pass1").value;
		var pass2 = document.getElementById("pass2").value;
		if (pass1 != pass2){
			document.getElementById("tdpass2").innerHTML = "Your passwords do not match";
			return false;
		}
		return true;
	},
	
	checkField: function(name,td,error){
		var iName = document.getElementById(name).value;
		if (iName != null && iName == ""){
			document.getElementById(td).innerHTML=error;
			return false;
		}else{
			document.getElementById(td).innerHTML="";
			return true;
		}
	},
	
	showLogin: function(){
		var xmlHttp = Bobo.getHTML();
		if (xmlHttp == null) return false;
		xmlHttp.onreadystatechange=function()
	    {
	    if(xmlHttp.readyState==4)
	      {
	      document.getElementById("content").innerHTML=xmlHttp.responseText;
	      }
	    }
	    xmlHttp.open("POST","login.php",true);
		xmlHttp.send(null);
	},
	
	showRegister: function(){
		var xmlHttp = Bobo.getHTML();
		if (xmlHttp == null) return false;
		xmlHttp.onreadystatechange=function()
	    {
	    if(xmlHttp.readyState==4)
	      {
	      document.getElementById("content").innerHTML=xmlHttp.responseText;
	      }
	    }
	    xmlHttp.open("POST","showRegister.php",true);
		xmlHttp.send(null);
	},
	
	setRemember: function(){
		var logged = document.getElementById("remember").checked;
		if (logged){
			document.getElementById("rememberMe").value = "true";
		}else{
			document.getElementById("rememberMe").value = "false";
		}
	},
	
	validateRegister: function(){
		var noErrors = true;
		if (!checkField("fname","tdfname","Enter your first name correctly")) noErrors = false;
		if (!checkField("lname","tdlname","Enter your last name correctly")) noErrors = false;
		if (!checkField("email","tdemail","Enter your email address correctly")) noErrors = false;
		if (!checkField("username","tdusername","Enter your desired username")) noErrors = false;
		if (!checkField("pass1","tdpass1","Enter your desired password")) noErrors = false;
		if (!checkField("pass2","tdpass2","Enter your desired password again")) noErrors = false;
		if (!checkPasswords()) noErrors = false;
		return noErrors;
	},
	
	loadBiggerPicture: function(str,comment){
		document.getElementById("picture").innerHTML = 
		"<p>Click on the bigger picture to view its full size</p>" +
		"<table><tr><td><a href="+str+" target='_blank'><img src="+str+" width='400' height='300'></a></td><td>"+comment+"</td></tr></table>";
	},
	
	avatarNotFound: function(str){
		document.getElementById(str).src="imgNotFound.png";
	},
	
	doSearch: function(){
		var xmlHttp = Bobo.getHTML();
		document.getElementById("action").disabled = true;
		if (xmlHttp == null) return false;
		
		xmlHttp.onreadystatechange=function()
	    {
	    if(xmlHttp.readyState==4)
	      {
alert("why does this work but not on fakechan!!!");
	      document.getElementById("searchResults").innerHTML=xmlHttp.responseText;
	      document.getElementById("action").disabled = false;
	      }
	    }
	    
	    var url = "search.php?searching=true";
	    var searchString = document.getElementById("searchString").value;
	    if (searchString != null && searchString != ""){
	    	url = url + "&searchString=" + searchString;
	    }
	    var exact = document.getElementById("exact").checked;
    	if (exact != null){
	    	url = url + "&exact=" + exact;
	    }
	    
	    xmlHttp.open("POST",url,true);
		xmlHttp.send(null);
	},
	
	switchUploader: function(){
		if (uploaderClass.shown){
			Bobo.cancelUploader();
		}else{
			Bobo.uploader();
		}
	},
	
	uploader: function(){
		var xmlHttp = Bobo.getHTML();
		if (xmlHttp == null) {
			return false;
		}
			
		xmlHttp.onreadystatechange=function()
	    {
	    if(xmlHttp.readyState==4)
	      {
	      document.getElementById("uploader").innerHTML=xmlHttp.responseText;
	      }
	    }
	    
	    var url = "uploader.php";
	    xmlHttp.open("POST",url,true);
		xmlHttp.send(null);
		uploaderClass.shown = true;
		document.getElementById("navSwitchIcon").src="navCollapse.png";
	},
	
	cancelUploader: function(){
		document.getElementById("uploader").innerHTML="";
		uploaderClass.shown = false;
		document.getElementById("navSwitchIcon").src="navExpand.png";
	},
	
	closeInfo: function(){
		document.getElementById("info").innerHTML="";
	},
	
	setAvatar: function(imageName){
		var xmlHttp = Bobo.getHTML();
		if (xmlHttp == null) {
			return false;
		}
	
		xmlHttp.onreadystatechange=function()
	    {
	    if(xmlHttp.readyState==4)
	      {
	      document.getElementById("info").innerHTML=xmlHttp.responseText;
	      }
	    }
	
		var url = "setAvatar.php?avatar=" + imageName;
	    xmlHttp.open("POST",url,true);
		xmlHttp.send(null);
	}
}
