//COMMENTS
footers = new Array();

function getBoxElement(e, name)
{
	//the id name is passed (not the actual element)
	if(typeof(e) == "string")
		e = getElement(e); 
	
	var divs = e.getElementsByTagName("div"); 
	for (var i = 0; i < divs.length; i++) 
		if(divs[i].className == name)
			return divs[i];
	return false;
}

//*****ADD
function ShowAddComment()
{
	getElement("addcomment").style.display = "block";
	getElement("commentbody").focus();
	return false;
}
function HideAddComment()
{
	getElement("commentbody").value = "";
	getElement("addcomment").style.display = "none";
	return false;
}


function PostComment()
{
	var cb = getElement("commentbody");

	if(cb.value != "")
	{
		Send("/comments/add", "username=" + c_to + "&comment=" + cb.value + "&profile=1", CommentHandler);
		
		//store the original footer
		footers['add'] = getBoxElement("addcomment", "footer").innerHTML;
		
		cb.disabled = true;
		//add loading bar
		getBoxElement("addcomment", "footer").innerHTML = '' + '<img src="/images/icon-loading.gif" title="Loading" />';
	}
	else
	{
		alert("You did not type a comment.");
		cb.focus();
	}
	
	return false;
}

function CommentHandler(status, message) 
{
	getBoxElement("addcomment", "footer").innerHTML = footers["add"];
	
	var cb = getElement("commentbody");
	cb.disabled = false;
	cb.focus();
	
	//not found
	if(status == '0')
	{
		alert(message);
	}
	else if(status == '1')
	{			
		var text = cb.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
		text = text.replace(/\=\)/g, "<img class=\"icon\" src=\"/images/smilie-smile.gif\" />");
		
		text = text.replace(/\n/g, "<br />");
		
		var comments = getElement("addedcomments");

		//0=id, 1=date
		params = message.split(",");
		comments.innerHTML = '<div id="comment_' + params[0] + '"class="comment"><div class="pic"><img width="100%" src="/images/users/' + c_pic + '" /></div> <div class="body"><div class="header"><p class="left">Posted by: <a href="/users/' + c_from + '">' + c_from + '</a></p><p class="right">' + params[1] + '</p></div><div class="content">' + text + '</div><div class="footer"><img class="icon" src="/images/icon-edit.gif" title="Edit" /> <a href="#" onclick="return(ShowEdit(\'comment_'+params[0]+'\'));">Edit</a></div></div></div>' + comments.innerHTML;
		
		HideAddComment();
	}
	else
	{
		alert("Oops! An unexpected error occured.  Please try again in a little bit.");
	}
}



//*****DELETE
function DeleteHandler(status, message, id) 
{
	var c = getElement("comment_" + id);

	getBoxElement(c, "footer").innerHTML = footers["comment_" + id + "load"]
	
	//not found
	if(status == '0')
	{
		alert(message);
	}
	else if(status == '1')
	{
		c = getElement("comment_" + message);
		c.parentNode.removeChild(c);
	}
	else
	{
		alert("Oops! An unexpected error occured.  Please try again in a little bit.");
	}
}

function DeleteComment(id)
{
	var c = getElement(id);
	
	c.style.border = "1px #D00 solid";
	
	var ans = confirm("Do you really want to delete this comment?");
	if(ans)
	{
		var footer = getBoxElement(c, "footer");
		footers[id + "load"] = footer.innerHTML;
		//add loading bar
		footer.innerHTML = '' + '<img src="/images/icon-loading.gif" title="Loading" />';
		id = id.split("_")[1];
		Send("/comments/delete/", "id=" + id + "&profile=1", DeleteHandler, id);
	}

	c.style.border = "0";
	return false;
}


//*****REPLY
function ReplyHandler(status, message, id) 
{
	var c = getElement(id);
	
	var content = getBoxElement(c, "content");
	content.getElementsByTagName("textarea")[0];
	
	var ta = content.getElementsByTagName("textarea")[0];
	ta.disabled = false;

	getBoxElement(c, "footer").innerHTML = footers[id + "load"];
	
	//not found
	if(status == '0')
	{
		alert(message);
	}
	else if(status == '1')
	{
		getBoxElement(c, "footer").innerHTML = footers[id];
		
		var tags = content.getElementsByTagName("div");
		tags[0].parentNode.removeChild(tags[0]);
	}
	else
	{
		ta.focus();
		alert("Oops! An unexpected error occured.  Please try again in a little bit.");
	}
}

function ReplyComment(id, to)
{
	var c = getElement(id);
	
	var content = getBoxElement(c, "content");
	var footer = getBoxElement(c, "footer");
	
	var ta = content.getElementsByTagName("textarea")[0];

	if(ta.value != "")
	{
		//store the original footer
		footers[id + "load"] = footer.innerHTML;

		Send("/comments/add", "username=" + to + "&comment=" + ta.value + "&profile=1", ReplyHandler, id);
					
		ta.disabled = true;
		
		//add loading bar
		footer.innerHTML = '' + '<img src="/images/icon-loading.gif" title="Loading" />';
	}
	else
	{
		alert("You did not type a comment.");
		ta.focus();
	}
	
	return false;
}

function ShowReply(id, to)
{
	var c = getElement(id);
		
	var content = getBoxElement(c, "content");
	var footer = getBoxElement(c, "footer");
	
	footers[id] = footer.innerHTML;
	
	content.innerHTML += '<div><br /><img src="/images/icon-replyarrow.gif" title="Replying" /><span class="note"> This comment will be posted on their profile.</span><textarea name="" cols="31" rows="5"></textarea></div>';
	footer.innerHTML = '' + '<img class="icon" src="/images/icon-postcomment.gif" title="Post Comment" /> <a href="#" onclick="return ReplyComment(\''+id+'\', \''+to+'\');">Post</a> | <img class="icon" src="/images/icon-cancel.gif" title="Cancel" /> <a href="#" onclick="return(CancelReply(\''+id+'\'));">Cancel</a>'

	content.getElementsByTagName("textarea")[0].focus();
	
	return false;
}


function CancelReply(id)
{
	var c = getElement(id);
	
	var content = getBoxElement(c, "content");
	var footer = getBoxElement(c, "footer");
	
	//the reply box will be the only div
	var tags = content.getElementsByTagName("div");
	tags[0].parentNode.removeChild(tags[0]);

	footer.innerHTML = footers[id];

	return false;
}



//*****EDIT
function ShowEdit(id)
{
	var c = getElement(id);
		
	var content = getBoxElement(c, "content");
	var footer = getBoxElement(c, "footer");
	
	var text = content.innerHTML.replace(/<img class="icon" src="\/images\/smilie-smile.gif" alt="smile">/g, "=)");
	//for IE
	text = text.replace(/<IMG class=icon alt=smile src="\/images\/smilie-smile.gif">/g, "=)");
	text = text.replace(/<IMG class=icon alt=smile src="\http:\/\/www.aggrix.com\/images\/smilie-smile.gif">/g, "=)");
	//opera
	text = text.replace(/<IMG class="icon" src="\/images\/smilie-smile.gif" alt="smile">/g, "=)");

	text = text.replace(/<br>/g, "\n");
	text = text.replace(/\t/g, "");
	
	content.innerHTML = '<textarea name="editarea" rows="5" cols="31">'+text+'</textarea>';

	footers[id] = footer.innerHTML;
	footer.innerHTML = '' + '<img class="icon" src="/images/icon-edit.gif" title="Update" /> <a href="#" onclick="return(EditComment(\''+id+'\'));">Update</a> | <img class="icon" src="/images/icon-cancel.gif" title="Cancel" /> <a href="#" onclick="return(CancelEdit(\''+id+'\', \''+escape(text)+'\'));">Cancel</a>';

	return false;
}

function CancelEdit(id, text)
{
	var c = getElement(id);
	
	var content = getBoxElement(c, "content");
	var footer = getBoxElement(c, "footer");
	
	text = text.replace(/%0A/g, '<br />');
	text = text.replace(/%3D%29/g, "<img class=\"icon\" src=\"/images/smilie-smile.gif\" alt=\"smile\" />");
	content.innerHTML = unescape(text);
	
	footer.innerHTML = footers[id];

	return false;

}

function EditComment(id)
{

	var c = getElement(id);
	
	var content = getBoxElement(c, "content");
	var ta = content.getElementsByTagName("textarea")[0];
	//var comment = content.childNodes[0].value;
	ta.disabled = true;
	var idNum = id.split("_")[1];
	
	Send("/comments/edit/", "comment=" + ta.value + "&id=" + idNum + "&profile=1", EditHandler, id);

	var footer = getBoxElement(c, "footer");
	footers[id + "load"] = footer.innerHTML;
	//add loading bar
	footer.innerHTML = '' + '<img src="/images/icon-loading.gif" title="Loading" />';

	return false;

}

function EditHandler(status, message, id) 
{
	var c = getElement(id);
	
	var content = getBoxElement(c, "content");
	var ta = content.getElementsByTagName("textarea")[0];

	ta.disabled = false;
	ta.focus();
	
	getBoxElement(c, "footer").innerHTML = footers[id + "load"];

	//not found
	if(status == '0')
	{
		alert(message);
	}
	else if(status == '1')
	{
		var text = ta.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
		text = text.replace(/\=\)/g, "<img class=\"icon\" src=\"/images/smilie-smile.gif\" />");
	
		content.innerHTML = '' + text;
		
		getBoxElement(c, "footer").innerHTML = footers[id];		
	}
	else
	{
		alert("Oops! An unexpected error occured.  Please try again in a little bit.");
	}
}


//OTHER PROFILE
var info = new Array();

function EditInfo()
{
	window.location = "#info";
	var footer = getBoxElement("info", "footer");
	footers["info"] = footer.innerHTML;


	var n = getElement("name");
	var e = getElement("email");
	var l = getElement("location");
	var w = getElement("website");
	var g = getElement("gender");
	var a = getElement("about");
	
	info["n"] = n.innerHTML;
	info["e"] = e.innerHTML
	info["l"] = l.innerHTML
	info["g"] = g.innerHTML
	info["w"] = w.innerHTML.replace(/<\S[^><]*>/g, '');
	info["a"] = a.innerHTML.replace(/\t/g, '');
	
	if(info["e"] == "-")
		e.innerHTML = '<input class="radio" name="email" type="radio" value="1" />Show <br /> <input class="radio" name="email" type="radio" value="0" checked />Hide';//<input id="iemail" name="name" type="text" value="'+info["e"]+'" />';
	else
		e.innerHTML = '<input class="radio" name="email" type="radio" value="1" checked />Show <br /> <input class="radio" name="email" type="radio" value="0" />Hide';//<input id="iemail" name="name" type="text" value="'+info["e"]+'" />';
	
	
	if(info["g"] == "Male")
		g.innerHTML = '<input class="radio" name="gender" type="radio" value="m" checked />Male <br /> <input class="radio" name="gender" type="radio" value="f" />Female <br /> <input class="radio" name="gender" type="radio" value="-" />Hide';//<input id="iemail" name="name" type="text" value="'+info["e"]+'" />';
	else if(info["g"] == "Female")
		g.innerHTML = '<input class="radio" name="gender" type="radio" value="m" />Male <br /> <input class="radio" name="gender" type="radio" value="f" checked />Female <br /> <input class="radio" name="gender" type="radio" value="-" />Hide';//<input id="iemail" name="name" type="text" value="'+info["e"]+'" />';
	else
		g.innerHTML = '<input class="radio" name="gender" type="radio" value="m" />Male <br /> <input class="radio" name="gender" type="radio" value="f" />Female <br /> <input class="radio" name="gender" type="radio" value="-" checked />Hide';//<input id="iemail" name="name" type="text" value="'+info["e"]+'" />';
		
			
	n.innerHTML = '<input class="text" id="iname" name="name" type="text" value="'+info["n"].replace('-', '')+'" />';
	l.innerHTML = '<input class="text" id="ilocation" name="name" type="text" value="'+info["l"].replace('-', '')+'" />';
	w.innerHTML = '<input class="text" id="iwebsite" name="name" type="text" value="'+info["w"].replace('-', '')+'" />';
	a.innerHTML = '<textarea id="iabout" rows="14" cols="38">'+info["a"].replace('-', '')+'</textarea>';
	
	footer.innerHTML = '' + '<img class="icon" src="/images/icon-edit.gif" title="Update" /> <a href="#" onclick="return UpdateInfo()">Update</a> | <img class="icon" src="/images/icon-cancel.gif" title="Cancel" alt="Cancel" /> <a href="#" onclick="return CancelEditInfo()">Cancel</a>';
	
	return false;

}
function InfoHandler(status, message, values)
{
	var footer = getBoxElement("info", "footer");
	
	if(status == 1)
	{
		footer.innerHTML = '<img class="icon" src="/images/icon-edit.gif" title="Edit" alt="Edit" /> <a href="#" onclick="return(EditInfo());">Edit</a>';
		
		var n = getElement("name");
		var g = getElement("gender");
		var l = getElement("location");
		var e = getElement("email");
		var w = getElement("website");
		var a = getElement("about");
		
		if(values["name"] == "") values["name"] = "-";
		if(values["gender"] == "m") 
			values["gender"] = "Male";
		else if(values["gender"] == "f") 
			values["gender"] = "Female";
		if(values["location"] == "") values["location"] = "-";
		if(values["website"] == "") values["website"] = "-";
		if(values["about"] == "") values["about"] = "-";
		
		n.innerHTML = values["name"];
		l.innerHTML = values["location"];
		g.innerHTML = values["gender"];
		if(values["website"] == "-")
			w.innerHTML = '-';
		else
			w.innerHTML = '<a href="http://' + values["website"] + '">' + values["website"]; + '</a>';
			
		if(message == "-")
			e.innerHTML = '-';
		else
			e.innerHTML = '<a href="mailto:' + message + '">' +  message + '</a>';
		a.innerHTML = values["about"];

	} 
	else
		footer.innerHTML = '<img class="icon" src="/images/icon-edit.gif" title="Update" /> <a href="#" onclick="return UpdateInfo()">Update</a> | <img class="icon" src="/images/icon-cancel.gif" title="Cancel" alt="Cancel" /> <a href="#" onclick="return CancelEditInfo()">Cancel</a>';
}

function UpdateInfo()
{
	var params = new Array();
	
	params['email'] = document.info.email[0].checked ? 1:0;

	for(var i = 0; i < 3; i++)
		if(document.info.gender[i].checked)
			params['gender'] = document.info.gender[i].value;

	params['name'] = getElement("iname").value;
	params['location'] = getElement("ilocation").value;
	params['website'] = getElement("iwebsite").value;
	params['about'] = getElement("iabout").value;

	getBoxElement("info", "footer").innerHTML = '<img src="/images/icon-loading.gif" title="Loading" alt="Loading" />'
	params['profile'] = 1;
	Send("/account/profile/edit", params, InfoHandler, params);
	
	return false;
}

function CancelEditInfo()
{
	var n = getElement("name");
	var e = getElement("email");
	var l = getElement("location");
	var w = getElement("website");
	var g = getElement("gender");
	var a = getElement("about");


	n.innerHTML = info["n"];
	e.innerHTML = info["e"];
	l.innerHTML = info["l"];
	g.innerHTML = info["g"];
	
	if(info["w"] == "-")
		w.innerHTML = '-';
	else
		w.innerHTML = '<a href="http://' + info["w"] + '">' + info["w"]; + '</a>';

	a.innerHTML = info["a"];

	getBoxElement("info", "footer").innerHTML = '<img class="icon" src="/images/icon-edit.gif" title="Edit" alt="Edit" /> <a href="#" onclick="return(EditInfo());">Edit</a>';

	return false;
}

function ShowUpload()
{
	var um = getElement("uploadmessage");
	um.innerHTML = "Image must be a .jpg/.jpeg or .gif and under 100kb";
	um.className = "drop center note info";
	
	var u = getElement("uploader");
	u.style.display = "block";
	var f = getBoxElement("pic", "footer");
	f.innerHTML = '' + '<img class="icon" src="/images/icon-cancel.gif" title="Cancel" alt="Cancel" /> <a href="#" onclick="return  HideUploader()">Cancel</a>';
	return false;
}

function HideUploader()
{
	var u = getElement("uploader");
	u.style.display = "none";

	getBoxElement("pic", "footer").innerHTML = '' + '<img class="icon" src="/images/icon-upload.gif" title="Upload" alt="Upload" /> <a href="#" onclick="return ShowUpload();">Upload</a>';
	
	return false;
}

function ChangePic(pic)
{
	document.forms['uploadform'].Filedata.value = "";
	var i = getElement("image");

	i.src = "/images/users/" + pic;
	c_pic = pic;
	
	HideUploader();
}

function Uploading()
{
	getBoxElement("pic", "footer").innerHTML = '' + '<img src="/images/icon-loading.gif" title="Loading" />';
}

function UploadError(error)
{
	var u = getElement("uploadmessage");
	u.innerHTML = error;
	u.className = "drop note center error";

	getBoxElement("pic", "footer").innerHTML = '' + '<img class="icon" src="/images/icon-cancel.gif" title="Cancel" alt="Cancel" /> <a href="#" onclick="return  HideUploader()">Cancel</a>';
}