// JavaScript Document

function GetXmlHttpObject(){
	if (window.XMLHttpRequest){
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	} else if (window.ActiveXObject){
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your browser does not support AJAX applets (XMLHTTP object unavailable), please try visiting this site with another browser!");
		return null;
	}
}

function loginTheUser() {
	$("Loginmsg").innerHTML="";
	//alert("loginuser started!");
	wronguser = false;
	wrongpass = false;
	//alert("wuser&wpass = false!");
	user = document.getElementById('username_fld').value;
	pass = document.getElementById('password_fld').value;
	//alert("got u n p values!");
	//LogObject=GetXmlHttpObject();
	LogObject = GetXmlHttpObject();
	if (LogObject!=null){	
		//alert("xmlhttp object is"+xmlhttp);
		loginurl="http://aether3d.com/_php/login-process.php";
		//loginurl+="?sid="+Math.random();
		var params = "username="+user+"&password="+pass;
		LogObject.open("POST", loginurl, true);
		/*Send the proper header information along with the request*/
		LogObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		LogObject.setRequestHeader("Content-length", params.length);
		LogObject.setRequestHeader("Connection", "close");
		LogObject.onreadystatechange=stateChanged;
		LogObject.send(params);
		//alert("sent xmlhttp request!");
		$('login-box').style.display='none';	
		$('logging-in-box').style.display='block';
	}
}
		
function stateChanged() {
	$("Loginmsg").style.display='block';
	//$("Loginmsg").innerHTML=xmlhttp.readyState;
	if (LogObject.readyState==4 && LogObject.status == 200){
		$("Loginmsg").innerHTML="";
		var logerror = false;
		var ajaxresponse = LogObject.responseText;
		//$("Loginmsg").innerHTML=ajaxresponse;
		//put code to check for correct login and hide unhide the corresponding IDs..
		//document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
		$('login-box').style.display='none';	
		$('logging-in-box').style.display='none';
		if (ajaxresponse == "dai"){
			document.getElementById("Loginmsg").innerHTML="Database innacessible please retry later. ("+ajaxresponse+")";
			logerror = true;
		}
		if (ajaxresponse == "dae"){
			document.getElementById("Loginmsg").innerHTML="Internal database error, please retry later. ("+ajaxresponse+")";
			logerror = true;
		}
		if (ajaxresponse == "qwe"){
			document.getElementById("Loginmsg").innerHTML="Database qwery error please retry later. ("+ajaxresponse+")";
			logerror = true;
		}
		if (ajaxresponse == "nam"){
			document.getElementById("Loginmsg").innerHTML="The usrename you entered does not exist. ("+ajaxresponse+")";
			logerror = true;
		}
		if (ajaxresponse == "pas"){
			document.getElementById("Loginmsg").innerHTML="Wrong password. ("+ajaxresponse+")";
			logerror = true;
		}
		if (ajaxresponse == "nop"){
			document.getElementById("Loginmsg").innerHTML="You have to enter a Password. Please retry Loggin in. ("+ajaxresponse+")";
			logerror = true;
		}
		if (logerror == false && ajaxresponse.search("theuser=")==0){
			var thespace = ajaxresponse.search(" thethumb=");
			var theusername = ajaxresponse.substring(8,thespace);
			var thethumbnailurl = ajaxresponse.substring(thespace+10);
			$('LogResult').style.display="block";
			$("Loginmsg").innerHTML="";
			$("Loginmsg").style.display="none";
			//$("Loginmsg").innerHTML=ajaxresponse;
			$("welcomeU").innerHTML='<a href="http://aether3d.com/index.php?u='+theusername+'">'+theusername+'</a>';/*"Welcome "+*/
			$("Uthumbsrc").src=thethumbnailurl;
			$("Uthumbsrc").alt=theusername;
			// resize comments div
			if (appstate == 'content') {
				$('commentdiv').style.display='inline-block';
				$('subcomment').style.display='inline-block';
				$('comments').style.height = '80px';
			}
		}
		if (logerror == true){
			$('logging-in-box').style.display='none';
			$('login-box').style.display='block';
			$('username_fld').value="";
			$('username_fld').style.display="none";
			$('userinstr').style.display="inline";
			$('password_fld').value="";
			$('password_fld').style.display="none";
			$('passinstr').style.display="inline";
			$('LogResult').style.display="none";
			if (appstate == 'content') {
				$('commentdiv').style.display='none';
				$('subcomment').style.display='none';
				$('comments').style.height = '98px';
			}
		}
		if (logerror == false && ajaxresponse.search("theuser=")!=0){
			$("Loginmsg").innerHTML=ajaxresponse;
			$("Loginmsg").style.display="block";
		}
		//alert(ajaxresponse);
		//LogObject = null;
	}
}


function logoutTheUser() {
	
	//LogObject = GetXmlHttpObject();
	LogObject = GetXmlHttpObject();
	if (LogObject!=null){
		//alert("LogObject="+LogObject);	
		logOuturl="http://aether3d.com/_php/logout-process.php";
		logOuturl+="?sid="+Math.random();
		LogObject.open("GET", logOuturl, true);
		LogObject.onreadystatechange=logoutstate;
		LogObject.send(null);
		//alert("sent xmlhttp request!");	
		//$('logging-in-box').style.display='none';
		//$('LogResult').style.display="none";
	}
}

function logoutstate() {
	$("Loginmsg").style.display="none";
	//$("Loginmsg").innerHTML=xmlhttp.readyState;
	if (LogObject.readyState==4 && LogObject.responseText.search("okout")!=-1){
		if(LogObject.status == 200) {
		//display login boxes and reset field entrys
		$('login-box').style.display='block';
		$('logging-in-box').style.display='none';
		$('username_fld').value="";
		$('username_fld').style.display="none";
		$('userinstr').style.display="inline";
		$('password_fld').value="";
		$('password_fld').style.display="none";
		$('passinstr').style.display="inline";
		//clear & hide the loginmsg division
		$("Loginmsg").innerHTML="";
		$("Loginmsg").style.display="none";
		//hide the logresult and clear welcomU & Thumb entrys
		$('LogResult').style.display="none";
		$("welcomeU").innerHTML="";
		$("Uthumbsrc").src="";
		if (appstate == 'content') {
				$('commentdiv').style.display='none';
				$('subcomment').style.display='none';
				$('comments').style.height = '98px';
			}
		}
	}else if(LogObject.readyState==4){
		if(LogObject.status == 200) {
		alert("Logout process error "+LogObject.responseText+"! Please contact the Aether3D system administrators refering the folowing code:"+LogObject.responseText);
		$("Loginmsg").innerHTML=LogObject.responseText;
		//LogObject = null;
		}
	}
}

function getProjects() {
	$("projectList").innerHTML ='Loading projects<br /><img src="http://aether3d.com/_images/login-loader.gif" alt="Loading projects" width="16" height="16" align="middle" />';
	LogObject = GetXmlHttpObject();
	if (LogObject!=null){
		//alert("LogObject="+LogObject);	
		Projecturl="http://aether3d.com/_php/getProjects.php";
		Projecturl+="?sid="+Math.random();
		LogObject.open("GET", Projecturl, true);
		LogObject.onreadystatechange=Projectstate;
		LogObject.send(null);
		//alert("sent xmlhttp request!");	
		//$('logging-in-box').style.display='none';
		//$('LogResult').style.display="none";
	}

}

function Projectstate() {
	
	if (LogObject.readyState==4 && LogObject.status == 200){
		if (LogObject.responseText == 'nosess'){
			//checkCookie to log out
			// remember to update checkcookie for the projects div
			checkCookie();			
		}else if (LogObject.responseText == "noprojects"){
			$("projectList").innerHTML = 'You don\'t have any uploaded projects yet. Why not give it a try?';
		}else{
			var Aresult = JSON.decode(LogObject.responseText, true);
			projectrar = Aresult.projects;
			var ammount = Aresult.ammount;
			var PListdiv = '';
			for (i=0 ; i<ammount ; i++){
				var PrTit =projectrar[i].Title; 
				var PrVer =projectrar[i].Version;
				var PrThu =projectrar[i].Thumbnail;
				PListdiv += 
				'<div id="pj'+i+'" class="projectDiv" onmouseover="gethot(this,\'#FF0000\')" onmouseout="getcold(this, \'\')" ><div id="TitleV'+i+'">'+PrTit+' '+PrVer+'</div><img style="margin-left:5px;margin-right:5px;margin-bottom:5px;" id="ThumbO'+i+'" src="'+PrThu+'" width="190" height="95" alt="'+PrTit+' '+PrVer+'"/><div id="pdelbutton'+i+'" class="style3 pdelbutton w230" onclick="$(this).style.display = \'none\'; $(\'deleteprojectconf'+i+'\').style.display =\'block\'" onmouseover="gethot(this)" onmouseout="getcold(this)" >Delete</div><div id="deleteprojectconf'+i+'" align="center" style="display:none; font-size:smaller">delete this project?<br /><div id="pdelbuttonYes" class="style3 pdelbutton w110" style="display:inline-block" onclick="projectdelete('+i+')" onmouseover="gethot(this)" onmouseout="getcold(this)">Yes</div><div id="pdelbuttonNo" class="style3 pdelbutton w110" style="display:inline-block" onclick="$(\'pdelbutton'+i+'\').style.display =\'block\'; $(\'deleteprojectconf'+i+'\').style.display =\'none\'" onmouseover="gethot(this)" onmouseout="getcold(this)">No</div></div></div>';
			} 
			$("projectList").innerHTML = PListdiv;
		}	
	}
}

function projectdelete(i) {

	var deleteurl="http://aether3d.com/_php/DelProject.php";
	deleteurl+="?sid="+Math.random();
	var params = "title="+projectrar[i].Title+"&version="+projectrar[i].Version+"&ID="+projectrar[i].PID;
	LogObject.open("POST", deleteurl, true);
	/*Send the proper header information along with the request*/
	LogObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	LogObject.setRequestHeader("Content-length", params.length);
	LogObject.setRequestHeader("Connection", "close");
	LogObject.onreadystatechange=DeleteState;
	LogObject.send(params);
	$("projectList").innerHTML ='Loading projects<br /><img src="http://aether3d.com/_images/login-loader.gif" alt="Loading projects" width="16" height="16" align="middle" />';
	alert("sending deletion request for"+projectrar[i].Title+' version:'+projectrar[i].Version);	
}

function DeleteState() {
	if (LogObject.readyState==4 && LogObject.status == 200){
		if (LogObject.responseText == 'DelOK') {
			alert('Project deleted successfully.');
			getProjects();
		} else {
			alert('Error! Something went wrong during the request.<br />'+LogObject.responseText);
			checkCookie();
		}
		getProjects();
	}
}