// mackjax - AJAX Framework custom built for themackbook.com
// may be used and altered in anyway as long as this header remains unchanged

function submitVote( num )
{	document.getElementById("voterating").value = num;
	document.ratingform.submit();
}

function sendComment()
{
	var addCommentObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject
	
	var commentcontent = document.getElementById("cmntcontent").value;	//get the comment itself
	var photoid = document.getElementById("cmntphoto").value;	//get the photo the comment belongs to
	
	var obj = document.getElementById("pComments");
	var errorobj = document.getElementById("commenterror");	

	if (addCommentObject)
	{	addCommentObject.open("POST", "/inc/site/mackjax/addcomment.php");	//open the file
		addCommentObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		addCommentObject.onreadystatechange = function()
		{	if (addCommentObject.readyState != 4)
			{	errorobj.innerHTML = "Adding comment...";
			} else if (addCommentObject.readyState == 4 && addCommentObject.status == 200)
			{	
				var result = addCommentObject.responseText;
			
				if (result == "fail1")
				{	errorobj.innerHTML = "";
					showIbox('/popup.php?popup=login&msg=guest','','');
				} else if (result == "fail2")
				{	errorobj.innerHTML = "Comment cannot be blank!";
				} else if (result == "fail3")
				{	errorobj.innerHTML = "Database error, please try again later.";
				} else
				{	obj.innerHTML = result;
					errorobj.innerHTML = "";
					document.getElementById("cmntcontent").value = "";
				}
				delete addCommentObject;	//free XMLHttpRequest object from memory
				addCommentObject = null;
			}
		}
		
		addCommentObject.send("subcomment=1&photoid="+photoid+"&content="+commentcontent);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
}

function sendMessage()
{
	var addMessageObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject
	
	var messageuser = document.getElementById("messageto").value;		//get the recipient of message
	var messagetitle = document.getElementById("messagetitle").value;	//get the title of the message
	var messagecontent = document.getElementById("messagecontent").value;	//get the message itself
	
	var errorobj = document.getElementById("floatmessageerror");	

	if (addMessageObject)
	{	addMessageObject.open("POST", "/inc/site/mackjax/addmessage.php");	//open the file
		addMessageObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		addMessageObject.onreadystatechange = function()
		{	if (addMessageObject.readyState != 4)
			{	errorobj.innerHTML = "Sending message...";
			} else if (addMessageObject.readyState == 4 && addMessageObject.status == 200)
			{	
				var result = addMessageObject.responseText;
			
				if (result == "fail1")
				{	errorobj.innerHTML = "";
					hideIbox();
					showIbox('/popup.php?popup=login&msg=guest','','');
				} else if (result == "fail2")
				{	errorobj.innerHTML = "Message cannot be blank!";
				} else if (result == "fail3")
				{	errorobj.innerHTML = "Database error, please try again later.";
				} else
				{	errorobj.innerHTML = result;
					document.getElementById("messagecontent").value = "";
					hideIbox();
				}
				delete addMessageObject;	//free XMLHttpRequest object from memory
				addMessageObject = null;
			}
		}
		
		addMessageObject.send("submessage=1&touser="+messageuser+"&title="+messagetitle+"&content="+messagecontent);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
}

function sendFav()
{
	var addFavObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject
	
	var photo = document.getElementById("favphoto").value;		//get the photo to be saved
	var book = document.getElementById("bookid").options[document.getElementById("bookid").selectedIndex].value;		//get the book to be saved to
	
	var errorobj = document.getElementById("floatfaverror");	

	if (addFavObject)
	{	addFavObject.open("POST", "/inc/site/mackjax/addfav.php");	//open the file
		addFavObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		addFavObject.onreadystatechange = function()
		{	if (addFavObject.readyState != 4)
			{	errorobj.innerHTML = "Macking...";
			} else if (addFavObject.readyState == 4 && addFavObject.status == 200)
			{	
				var result = addFavObject.responseText;
			
				if (result == "fail1")
				{	errorobj.innerHTML = "";
					hideIbox();
					showIbox('/popup.php?popup=login&msg=guest','','');
				} else if (result == "fail2")
				{	errorobj.innerHTML = "Mackbook does not exist or does not belong to you.";
				} else if (result == "fail3")
				{	errorobj.innerHTML = "Photo has already been macked.";
					hideIbox();
				} else
				{	errorobj.innerHTML = result;
					hideIbox();
				}
				delete addFavObject;	//free XMLHttpRequest object from memory
				addFavObject = null;
			}
		}
		
		addFavObject.send("subfav=1&photo="+photo+"&book="+book);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
	return false;
}

function showAllComments()
{
	var showCommentObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject
		
	var photoid = document.getElementById("cmntphoto").value;	//get the photo the comment belongs to
	
	var obj = document.getElementById("comments");
	var showallobj = document.getElementById("showall");	

	if (showCommentObject)
	{	showCommentObject.open("POST", "/inc/site/mackjax/addcomment.php");	//open the file
		showCommentObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		showCommentObject.onreadystatechange = function()
		{	if (showCommentObject.readyState != 4)
			{	showallobj.innerHTML = "Fetching comment...";
			} else if (showCommentObject.readyState == 4 && showCommentObject.status == 200)
			{	
				var result = showCommentObject.responseText;
				obj.innerHTML = result;
				showallobj.innerHTML = "";
				
				delete showCommentObject;	//free XMLHttpRequest object from memory
				showCommentObject = null;
			}
		}
		
		showCommentObject.send("photoid="+photoid);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
}

function sendRequest()
{
	var addFriendObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject
	
	var user = document.getElementById("floatfrienduser").value;		//get the user to be added
	var errorobj = document.getElementById("floatfrienderror");	

	if (addFriendObject)
	{	addFriendObject.open("POST", "/inc/site/mackjax/addfriend.php");	//open the file
		addFriendObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		addFriendObject.onreadystatechange = function()
		{	if (addFriendObject.readyState != 4)
			{	errorobj.innerHTML = "Sending Friend Request...";
			} else if (addFriendObject.readyState == 4 && addFriendObject.status == 200)
			{	
				var result = addFriendObject.responseText;
			
				if (result == "fail1")
				{	errorobj.innerHTML = "";
					hideIbox();
					showIbox('/popup.php?popup=login&msg=guest','','');
				} else if (result == "fail2")
				{	errorobj.innerHTML = "Friend request already pending!";
				} else if (result == "fail3")
				{	errorobj.innerHTML = "Database error, please try again later.";
				} else
				{	errorobj.innerHTML = result;
					hideIbox();
				}
				delete addFriendObject;	//free XMLHttpRequest object from memory
				addFriendObject = null;
			}
		}
		
		addFriendObject.send("sendrequest=1&user=" + user);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
}

function sendProfileComment()
{
	var addCommentObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject
	
	var commentcontent = document.getElementById("cmntcontent").value;	//get the comment itself
	var commentuser = document.getElementById("profileuser").value;	//get the user the comment belongs to
	
	var obj = document.getElementById("comments");
	var errorobj = document.getElementById("commenterror");	

	if (addCommentObject)
	{	addCommentObject.open("POST", "/inc/site/mackjax/addprofilecomment.php");	//open the file
		addCommentObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		addCommentObject.onreadystatechange = function()
		{	if (addCommentObject.readyState != 4)
			{	errorobj.innerHTML = "Adding comment...";
			} else if (addCommentObject.readyState == 4 && addCommentObject.status == 200)
			{	
				var result = addCommentObject.responseText;
			
				if (result == "fail1")
				{	errorobj.innerHTML = "";
					showIbox('/popup.php?popup=login&msg=guest','','');
				} else if (result == "fail2")
				{	errorobj.innerHTML = "Comment cannot be blank!";
				} else if (result == "fail3")
				{	errorobj.innerHTML = "Database error, please try again later.";
				} else
				{	obj.innerHTML = result;
					errorobj.innerHTML = "";
					document.getElementById("cmntcontent").value = "";
				}
				delete addCommentObject;	//free XMLHttpRequest object from memory
				addCommentObject = null;
			}
		}
		
		addCommentObject.send("subprofilecomment=1&touser="+commentuser+"&content="+commentcontent);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
}

function mackable(pid)
{
	var addMackObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject
	
	if (addMackObject)
	{	addMackObject.open("POST", "/inc/site/mackjax/addmackable.php");	//open the file
		addMackObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		addMackObject.onreadystatechange = function()
		{	if (addMackObject.readyState != 4)
			{	
			} else if (addMackObject.readyState == 4 && addMackObject.status == 200)
			{	
				var result = addMackObject.responseText;
			
				if (result == "fail1")
				{	alert("Error voting for mackable. You may have already voted for this photo.");
				} else
				{	alert("Your vote has been added");
				}
				delete addMackObject;	//free XMLHttpRequest object from memory
				addMackObject = null;
			}
		}
		
		addMackObject.send("submackable=1&photo="+pid);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
	return false;
}

function reportimage()
{
	var pid = document.getElementById('reportphoto').value;
	var reason = document.getElementById('reportreason').value;
	
	var errorobj = document.getElementById('floatreportimageerror');
	
	var reportObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject
	
	if (reportObject)
	{	reportObject.open("POST", "/inc/site/mackjax/addbadimage.php");	//open the file
		reportObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		reportObject.onreadystatechange = function()
		{	if (reportObject.readyState != 4)
			{	
			} else if (reportObject.readyState == 4 && reportObject.status == 200)
			{	
				var result = reportObject.responseText;
			
				if (result == "fail1")
				{	errorobj.innerHTML = "Reason cannot be blank!";
				} else if (result == "fail2")
				{	errorobj.innerHTML = "Photo has already been reported.";
				} else
				{	errorobj.innerHTML = "Photo has been reported. Thank you!";
					hideIbox();
					alert("Photo has been reported. Thank you!");
				}
				delete reportObject;	//free XMLHttpRequest object from memory
				reportObject = null;
			}
		}
		
		reportObject.send("subbadimage=1&photo="+pid+"&reason="+reason);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
	return false;
}

function editPic()
{
	var photo = document.getElementById("toedit");
	var title = document.getElementById("editTitle");
	var tags = document.getElementById("editTags");
	var errorobj = document.getElementById("floatpicediterror");
	
	var editPicObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject

	if (editPicObject)
	{	editPicObject.open("POST", "/inc/site/mackjax/panel/editpic.php");	//open the file
		editPicObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		editPicObject.onreadystatechange = function()
		{	if (editPicObject.readyState != 4)
			{	errorobj.innerHTML = "Saving Info...";
			} else if (editPicObject.readyState == 4 && editPicObject.status == 200)
			{	var result = editPicObject.responseText;
				
				if (result == "fail0")
				{	errorobj.innerHTML = "";
					hideIbox();
					showIbox('/popup.php?popup=login&msg=guest','','');
				} else if (result == "fail1")
				{	errorobj.innerHTML = "Title cannot be blank";
				} else if (result == "fail2")
				{	errorobj.innerHTML = "Ownership error";
				} else if (result == "fail3")
				{	errorobj.innerHTML = "Database error3";
				} else if (result == "fail4")
				{	errorobj.innerHTML = "Database error4";
				} else if (result == "fail5")
				{	errorobj.innerHTML = "Database error5";
				} else if (result == "fail6")
				{	errorobj.innerHTML = "Database error6";
				} else				
				{	errorobj.innerHTML = "Success!";
					hideIbox();
				}
				
				delete editPicObject;	//free XMLHttpRequest object from memory
				editPicObject = null;
			}
		}
		
		editPicObject.send("editpic=1&photo="+photo+"&title="+title+"&tags="+tags);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
}

function emailPic()
{
	var pid = document.getElementById('emailpic').value;
	var comment = document.getElementById('emailcomment').value;
	var addy = document.getElementById('emailaddy').value;

	var errorobj = document.getElementById('floatemailpicerror');
	
	var emailObject = makeXMLHttpRequestObject();	//make XMLHttpRequestObject
	
	if (emailObject)
	{	emailObject.open("POST", "/inc/site/mackjax/emailpic.php");	//open the file
		emailObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		emailObject.onreadystatechange = function()
		{	if (emailObject.readyState != 4)
			{	errorobj.innerHTML = "Sending e-mail...";
			} else if (emailObject.readyState == 4 && emailObject.status == 200)
			{	
				var result = emailObject.responseText;
				if (result == "fail0")
				{	errorobj.innerHTML = "Please log in first!";
				} else if (result == "fail1")
				{	errorobj.innerHTML = "Email cannot be blank!";
				} else if (result == "fail2")
				{	errorobj.innerHTML = "Email address not valid.";
				} else if (result == "fail3")
				{	errorobj.innerHTML = "Database error.";
				} else
				{	errorobj.innerHTML = "Email sent!";
					hideIbox();
				}
				delete emailObject;	//free XMLHttpRequest object from memory
				emailObject = null;
			}
		}
		
		emailObject.send("subemailpic=1&photo="+pid+"&email="+addy+"&comment="+comment);
	} else
	{	alert("Cannot create XMLHttpObject");
	}
	return false;
}

// Begin main picture navigation

//Define global variables
var timerID = null;
var timerID2 = null;
var timerOn = false;
var timerOn2 = false;
var timecount = 0;
var timecount2 = 0;
// Change this to the time delay that you desire

function mouseIn()
{	if (timerOn == false)
	{	timerOn = true;
		timerID = setTimeout( "showLayer()" , timecount); 
	}
	if (timerOn2)
	{	clearTimeout(timerID2); 
		timerID2 = null; 
		timerOn2 = false; 
	}
}

function mouseOut()
{	if (timerOn)
	{	clearTimeout(timerID); 
		timerID = null; 
		timerOn = false; 
	} else
	{	timerID2 = setTimeout( "hideLayer()", timecount2);
		timerOn2 = true;
	}
}

// Toggles the layer visibility on 
function showLayer()
{	document.getElementById('hoverLayer').style.visibility="visible";
	mouseOut();  //reset the timer once layer shows
} 
 
// Toggles the layer visibility off 
function hideLayer()
{	document.getElementById('hoverLayer').style.visibility="hidden"; 
}
 
function stopTime() 
{	if (timerOn)
	{	clearTimeout(timerID); 
		timerID = null; 
		timerOn = false; 
	} 
}

//end main picture navigation