// default.js

function urldecode(url){
	url = url.replace(/\+/g," ");
	url = url.replace(/%7E/g,"~");
	url = url.replace(/%21/g,"!");
	url = url.replace(/%22/g,"\"");
	url = url.replace(/%23/g,"#");
	url = url.replace(/%24/g,"$");
	url = url.replace(/%25/g,"%");
	url = url.replace(/%26/g,"&");
	url = url.replace(/%27/g,"'");
	url = url.replace(/%28/g,"(");
	url = url.replace(/%29/g,")");
	url = url.replace(/%2A/g,"*");
	url = url.replace(/%2B/g,"+");
	url = url.replace(/%2C/g,",");
	url = url.replace(/%2F/g,"/");
	url = url.replace(/%3A/g,":");
	url = url.replace(/%3B/g,";");		
	url = url.replace(/%3C/g,"<");		
	url = url.replace(/%3D/g,"=");		
	url = url.replace(/%3E/g,">");
	url = url.replace(/%3F/g,"?");			
	url = url.replace(/%40/g,"@");
	url = url.replace(/%5B/g,"[");	
	url = url.replace(/%5C/g,"\\");
	url = url.replace(/%5D/g,"]");
	url = url.replace(/%5E/g,"^");
	url = url.replace(/%60/g,"`");
	url = url.replace(/%7B/g,"{");
	url = url.replace(/%7C/g,"|");
	url = url.replace(/%7D/g,"}");
	url = url.replace(/%0A/g,"\n");
	url = url.replace(/%E2%80%99/g,"'");
	return url;
}

function urlencode(url){
	url = url.replace(/%/g,"%25");
	url = url.replace(/\+/g,"%2B");
	url = url.replace(/ /g,"%20");
	url = url.replace(/~/g,"%7E");
	url = url.replace(/!/g,"%21");
	url = url.replace(/\"/g,"%22");
	url = url.replace(/#/g,"%23");
	url = url.replace(/\$/g,"%24");
	url = url.replace(/&/g,"%26");
	url = url.replace(/'/g,"%27");
	url = url.replace(/\(/g,"%28");
	url = url.replace(/\)/g,"%29");
	url = url.replace(/\*/g,"%2A");
	url = url.replace(/,/g,"%2C");
	url = url.replace(/\//g,"%2F");
	url = url.replace(/:/,"%3A");
	url = url.replace(/;/g,"%3B");		
	url = url.replace(/\</g,"%3C");		
	url = url.replace(/\=/g,"%3D");		
	url = url.replace(/\>/g,"%3E");
	url = url.replace(/\?/g,"%3F");			
	url = url.replace(/@/g,"%40");
	url = url.replace(/\[/g,"%5B");	
	url = url.replace(/\\/g,"%5C");
	url = url.replace(/\]/g,"%5D");
	url = url.replace(/\^/g,"%5E");
	url = url.replace(/`/g,"%60");
	url = url.replace(/\{/g,"%7B");
	url = url.replace(/\|/g,"%7C");
	url = url.replace(/\}/g,"%7D");
	return url;
}

function FindXPos(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		while (obj = obj.offsetParent)
			curleft += obj.offsetLeft;
	}
	return curleft;
}

function FindYPos(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent)
			curtop += obj.offsetTop;
	}
	return curtop;
}

function ShowSearchOptions(){
	$('SearchOptionContainer').style.left = FindXPos($('SearchTopic')) +"px";
	$('SearchOptionContainer').style.top = (FindYPos($('SearchTopic')) + 25) +"px";
	$('SearchOptionContainer').style.display = 'block';
	return;
}
function ChangeSearch(topic){
	$('SearchTopicGo').value = topic;
	if(topic == "Locations")
		topic = "Locs";
	else if(topic == "Members")
		topic = "Mems";
	$('SearchTopic').innerHTML = topic;
	$('SearchOptionContainer').style.display = "none";
	return;	
}
function Search(){
	if($('SearchGo').value == ""){
		alert('Enter a search query.');
		return;
	}else
		window.location = $('SearchTopicGo').value.toLowerCase()+".php?s="+urlencode($('SearchGo').value);
	return;
}
function ToggleDiv(divid){
	if($(divid)){
		if($(divid).style.display == "none")
			$(divid).style.display = "block";
		else
			$(divid).style.display = "none";
	}
	return;
}

lastAvatar = "";
function ChooseAvatar(avatar,avatarid){
	$('AvatarId').value = avatarid;
	if(lastAvatar != "")
		lastAvatar.style.color = "#00A329";
	avatar.style.color = '#8AFFA7';
	avatar.blur();
	lastAvatar = avatar;
	return;
}
function FinishUserPost(){
	$('NumCommentSpan').innerHTML = parseInt($('NumCommentSpan').innerHTML) + 1;
	$('CommentStatus').innerHTML = "";
	$('CommentLinks').style.display = "block";
	return;
}


function DeleteComment(oReq,commentid,itemtype){
	if(!oReq){
		var url = 'comments.php';
		var data = "&Operation=DeleteComment&CommentId="+commentid+"&ItemType="+itemtype;
		var myRequest = new Ajax.Request(url, {method:'post', parameters:data, onComplete:DeleteComment});
	}else{
		var r = oReq.responseText.evalJSON();
		if(r.Error)
			alert(r.Error);
		else{
			$('Comments').removeChild($('Comment_'+r.CommentId));
			$('NumCommentSpan').innerHTML = parseInt($('NumCommentSpan').innerHTML) - 1;
		}
	}	
}


function PostComment(oReq,itemid,itemtype){
	if(!oReq){
		if(!(document.forms['AddComment'].CommentBody.value.length > 0))
			alert('Enter a Comment.');
		else{
			var url = 'comments.php';
			var data = "&Operation=AddComment&Name="+$('UserName').value+"&ItemId="+itemid+"&ItemType="+itemtype+"&Body="+urlencode(document.forms['AddComment'].CommentBody.value)+"&AvatarId="+$('AvatarId').value;
			var myRequest = new Ajax.Request(url, {method:'post', parameters:data, onComplete:PostComment});
			$('AddCommentButton').value = "Please Wait...";
			$('AddCommentButton').disabled = true;
			if(itemtype == "User"){
				$('CommentLinks').style.display = "none";
				$('AddPostLink').innerHTML = "Add Comment";
				$('CommentInput').style.display = "none";
			}
		}
	}else{
		var r = oReq.responseText.evalJSON();
		if(r.Error){
			$('CommentStatus').style.color = "#FF0000";
			$('CommentStatus').innerHTML = r.Error;
		}else{
			document.forms['AddComment'].CommentBody.value = "";
			$('CommentStatus').style.color = "#00A329";
			$('CommentStatus').innerHTML = "Thanks for your Comment.";
			var html = "";
			html += "<div class=\"Comment\" id=\"Comment_"+r.CommentId+"\">";
			html +=	"<div class=\"CommentRight\" style=\""+urldecode(r.PostedBG)+"\">";
			html += "<div class=\"CommentUserImage\">";
			//html += "<img src=\"userimages/"+urldecode(r.UserPic)+"\" style=\"width:15px;height:15px;\"/>";
			html += "<img src=\"includes/phpThumb/phpThumb.php?src=/userimages/"+urldecode(r.UserPic)+"&w=15&h=15\"/>";
			html += "</div>";
			html += "<div class=\"CommentAuthor\">posted by <a href=\"user.php?UserId="+r.UserId+"\">"+urldecode(r.Name)+"</a>";
			html += "<br/>just now</div></div>";
			html += "<div class=\"CommentLeft\">&nbsp;";
			if(r.Avatar != "")
				html += "<div class=\"CommentAvatar\"><img src=\""+urldecode(r.Avatar)+"\"/></div>";
			html += "<div class=\"CommentBody\">"+urldecode(r.Body)+"</div></div>";
			html += "</div>";
		//	$('CommentsHeading').style.display = "block";
			$('Comments').innerHTML = html+$('Comments').innerHTML;			
		}
		$('AddCommentButton').disabled = false;	
		$('AddCommentButton').value = "Post Comment";
		if(r.ItemType == "User")
			setTimeout("FinishUserPost();",3000);
		else	
			setTimeout("$('CommentStatus').innerHTML = ''",3000);
	}	
}

function GetComments(oReq,itemid,itemtype,itempage){
	if(!oReq){
			var url = 'comments.php';
			var data = "&Operation=GetComments&ItemId="+itemid+"&ItemType="+itemtype+"&ItemPage="+itempage;
			var myRequest = new Ajax.Request(url, {method:'post', parameters:data, onComplete:GetComments});
	}else{
		if(oReq.responseText)
			var r = oReq.responseText.evalJSON();
		else
			var r = oReq.evalJSON();
		var html = "";
		if(r.Comment.length > 0){
			for(var i=0;i < r.Comment.length;i++){
				html += "<div class=\"Comment\" id=\"Comment_"+urldecode(r.Comment[i].CommentId)+"\">";
				html +=	"	<div class=\"CommentRight\" style=\""+urldecode(r.Comment[i].PostedBG)+"\">";
				html += "		<div class=\"CommentUserImage\">";
				//html += "			<img src=\"userimages/"+urldecode(r.Comment[i].UserPic)+"\" style=\"width:15px;height:15px;\"/>";
				html += "			<img src=\"includes/phpThumb/phpThumb.php?src=/userimages/"+urldecode(r.Comment[i].UserPic)+"&w=15&h=15\"/>";
				html += "		</div>";
				html += "		<div class=\"CommentAuthor\">posted by <a href=\"user.php?UserId="+urldecode(r.Comment[i].UserId)+"\">"+urldecode(r.Comment[i].Name)+"</a>";
				html += "			<br/>"+urldecode(r.Comment[i].Posted);
				if(r.ItemType == "User"){
					if(EditProfile == "yes")
						html += " &nbsp; <a href=\"javascript:;\" onclick=\"DeleteComment(false,'"+urldecode(r.Comment[i].CommentId)+"','"+r.ItemType+"');this.blur();\">delete</a>";
				}
				html += 		"</div></div>";
				html += "	<div class=\"CommentLeft\">&nbsp;";
				if(r.Comment[i].Avatar != "")
					html += "	<div class=\"CommentAvatar\"><img src=\""+urldecode(r.Comment[i].Avatar)+"\"/></div>";	
				html += "	<div class=\"CommentBody\">"+urldecode(r.Comment[i].Body)+"</div></div>";
				html += "</div>";
			}
			if(!((r.ItemPage == 1)&&(r.Next == -1))){
				html += "<div class=\"Paging\">";
				if(r.Previous == -1)
					html += "<span class=\"GreyedOut\">Previous</span>";
				else
					html += "<a href=\"javascript:;\" onclick=\"GetComments(false,'"+r.ItemId+"','"+r.ItemType+"','"+r.Previous+"');\">Previous</a>";
				html += "&nbsp;&nbsp;|&nbsp;&nbsp;Page "+r.ItemPage+"&nbsp;&nbsp;|&nbsp;&nbsp;";
				if(r.Next == -1)
					html += "<span class=\"GreyedOut\">Next</span>";
				else
					html += "<a href=\"javascript:;\" onclick=\"GetComments(false,'"+r.ItemId+"','"+r.ItemType+"','"+r.Next+"');\">Next</a>";
				html += "</div>";	
			}
		}
		$('Comments').innerHTML = html;
	}
}

var ownerid = "";
function PostSpheres(oReq,itemid,itemtype){
	if(!oReq){
		if(!(document.forms['AddSphere'].SphereToAdd.value.length > 0))
			alert('Enter atleast one Tag.');
		else{
			var url = 'spheres.php';
			var data = "&Operation=AddSphere&OwnerId="+$('OwnerId').value+"&ItemId="+itemid+"&ItemType="+itemtype+"&Sphere="+document.forms['AddSphere'].SphereToAdd.value+"&SpherePast="+$('SpherePast').value;
			var myRequest = new Ajax.Request(url, {method:'post', parameters:data, onComplete:PostSpheres});
			$('AddSphereButton').value = "Please Wait...";
			$('AddSphereButton').disabled = true;
			ownerid = $('OwnerId').value;
		}
	}else{
		var r = oReq.responseText.evalJSON();
		if(r.Error){
			$('SphereStatus').style.color = "#FF0000";
			$('SphereStatus').innerHTML = r.Error;
		}else{
			$('SphereStatus').style.color = "#00A329";
			$('SphereStatus').innerHTML = "Thanks for your Tags.";
			var html = "";
			for(var i=0;i < r.UserSphere.length;i++)
				html += "<a href=\"javascript:;\" onclick=\"AddSphereToText('"+r.UserSphere[i].Name+"')\">"+r.UserSphere[i].Name+"</a> &nbsp;"
			var html2 = "";
			for(var i=0;i < r.NewsSphere.length;i++)
				html2 += "<span style=\"color:"+urldecode(r.NewsSphere[i].Color)+";font-size:"+urldecode(r.NewsSphere[i].FontSize)+"px;\">"+urldecode(r.NewsSphere[i].Name)+"</span> &nbsp;";
			$('SpherePast').value = urldecode(r.PastSphereIds);
			$('UserSpheres').innerHTML = html;
			$('StorySpheres').innerHTML = html2;
		}
		$('AddSphereButton').disabled = false;	
		$('AddSphereButton').value = "Add Tags";
		setTimeout("$('SphereStatus').innerHTML = ''",4000);
	}	
}

function AddSphereToText(sphere){
	if((document.forms['AddSphere'].SphereToAdd.value.length != 0) && (document.forms['AddSphere'].SphereToAdd.value.lastIndexOf(" ") == (document.forms['AddSphere'].SphereToAdd.value.length - 1)))	
		document.forms['AddSphere'].SphereToAdd.value = document.forms['AddSphere'].SphereToAdd.value.substr(0,(document.forms['AddSphere'].SphereToAdd.value.length - 1));
	var lowertext = document.forms['AddSphere'].SphereToAdd.value.toLowerCase();
	var spherelower = sphere.toLowerCase();
	if(lowertext.indexOf(spherelower) >= 0)
		alert('You have already added this Tag.');
	else{	
		var addComma = " ";
		if((document.forms['AddSphere'].SphereToAdd.value.length != 0) && (document.forms['AddSphere'].SphereToAdd.value.lastIndexOf(",") != (document.forms['AddSphere'].SphereToAdd.value.length - 1)))
			addComma = ", ";
		else if(document.forms['AddSphere'].SphereToAdd.value.length == 0)
			addComma = "";
		document.forms['AddSphere'].SphereToAdd.value += addComma+sphere;
	}
	return; 
}

function AddFavorite(oReq,itemid,itemtype){
	if(!oReq){
		var url = 'favorites.php';
		var data = "&Operation=AddFavorite&ItemId="+itemid+"&ItemType="+itemtype;
		var myRequest = new Ajax.Request(url, {method:'post', parameters:data, onComplete:AddFavorite});
		$('AddtoFav').innerHTML = "Please Wait...";
	}else{
		var r = oReq.responseText.evalJSON();
		if(r.Error){
			alert(r.Error);
			$('AddtoFav').innerHTML = "Add to Favorites";
		}else
			$('AddtoFav').innerHTML = "Added";
	}
	return;
}

function AddContact(sendto, addemail){
	if(($(sendto).value.charAt($(sendto).value.length) != ",") && ($(sendto).value != ""))
		addemail = ", "+addemail;
	$(sendto).value += addemail;
	return;	
}

var SendTo = "";
function GetAddressBook(oReq,sendto){
	if(!oReq){
		var url = 'address.php';
		var data = "&Operation=GetAddressBook";
		var myRequest = new Ajax.Request(url, {method:'post', parameters:data, onComplete:GetAddressBook});
		SendTo = sendto;
	}else{
		var r = oReq.responseText.evalJSON();
		if(r.Error)
			alert(r.Error);
		else{
			var html = "";
			if(r.Friend.length > 0){
					html += "<div id=\"AddressClose\"><a href=\"javascript:;\" onclick=\"$('AddressBook').style.display = 'none';this.blur();\">Close Address Book</a></div>";
				for(var i=0;i < r.Friend.length;i++){
					html += "<div class=\"Contact\">";
					//html += "	<div class=\"ContactPic\"><img src=\"/userimages/"+urldecode(r.Friend[i].UserPic)+"\" style=\"width:25px;height:25px;\"/></div>";
					html += "	<div class=\"ContactPic\"><img src=\"includes/phpThumb/phpThumb.php?src=/userimages/"+urldecode(r.Friend[i].UserPic)+"&w=25&h=25\"/></div>";
					html += "	<div class=\"ContactInfo\"><a href=\"javascript:;\" onclick=\"AddContact('"+SendTo+"','"+urldecode(r.Friend[i].Email)+"');\">"+urldecode(r.Friend[i].Name)+"</a></div>"; 
					html += "</div>";
				}
			}else
				html += "No Friends.";
			$('AddressBook').innerHTML = html;
			$('AddressBook').style.top = FindYPos($('GetAddressBook'))+"px";
			$('AddressBook').style.left = FindXPos($('GetAddressBook'))+"px";
			$('AddressBook').style.display = "block";
		}
		return;
	}
}


var VoteId = "";
function VoteUp(oReq,itemid,itemtype){
	if(!oReq){
		var url = 'votes.php';
		var data = "&Operation=VoteUp&ItemId="+itemid+"&ItemType="+itemtype;
		var myRequest = new Ajax.Request(url, {method:'post', parameters:data, onComplete:VoteUp});
		if($('Pop_VoteUp_'+itemid))
			$('Pop_VoteUp_'+itemid).innerHTML = "Wait...";
		if($('Up_VoteUp_'+itemid))
			$('Up_VoteUp_'+itemid).innerHTML = "Wait...";
		if($('Search_VoteUp_'+itemid))
			$('Search_VoteUp_'+itemid).innerHTML = "Wait...";
		if($('Fav_VoteUp_'+itemid))
			$('Fav_VoteUp_'+itemid).innerHTML = "Wait...";	
				
		VoteId = itemid;
	}else{
		var r = oReq.responseText.evalJSON();
		if(r.Error){
			alert(r.Error);
			if($('Pop_VoteUp_'+VoteId))
				$('Pop_VoteUp_'+VoteId).innerHTML = "Vote Up";
			if($('Up_VoteUp_'+VoteId))
				$('Up_VoteUp_'+VoteId).innerHTML = "Vote Up";
			if($('Search_VoteUp_'+VoteId))
				$('Search_VoteUp_'+VoteId).innerHTML = "Vote Up";
			if($('Fav_VoteUp_'+VoteId))
				$('Fav_VoteUp_'+VoteId).innerHTML = "Vote Up";	
		}else{
			if($('Pop_NumVotes_'+VoteId))
				$('Pop_NumVotes_'+VoteId).innerHTML = parseInt($('Pop_NumVotes_'+VoteId).innerHTML) + 1;
			if($('Pop_VoteUp_'+VoteId))
				$('Pop_VoteUp_'+VoteId).innerHTML = "Counted";
			if($('Up_NumVotes_'+VoteId))
				$('Up_NumVotes_'+VoteId).innerHTML = parseInt($('Up_NumVotes_'+VoteId).innerHTML) + 1;
			if($('Up_VoteUp_'+VoteId))
				$('Up_VoteUp_'+VoteId).innerHTML = "Counted";
			if($('Search_NumVotes_'+VoteId))
				$('Search_NumVotes_'+VoteId).innerHTML = parseInt($('Search_NumVotes_'+VoteId).innerHTML) + 1;
			if($('Search_VoteUp_'+VoteId))
				$('Search_VoteUp_'+VoteId).innerHTML = "Counted";
			if($('Fav_NumVotes_'+VoteId))
				$('Fav_NumVotes_'+VoteId).innerHTML = parseInt($('Fav_NumVotes_'+VoteId).innerHTML) + 1;
			if($('Fav_VoteUp_'+VoteId))
				$('Fav_VoteUp_'+VoteId).innerHTML = "Counted";						
		}
	}
	return;
}