var start = 0;
var tags = '';
function searchContacts(tag) {
	if(isContentWorking == true || isWorking == true) { setTimeout("searchContacts('"+tag+"')", "10"); return false; }
	isContentWorking = true;

	if(tag) {
		if(document.getElementById("tag_"+tag)) {
			var currentclass = document.getElementById("tag_"+tag).className
			var startpos = currentclass.length-10;
			if(currentclass.substr(startpos,currentclass.length) != " depressed") {
				document.getElementById("tag_"+tag).className = document.getElementById("tag_"+tag).className+" depressed";
			} else {
				document.getElementById("tag_"+tag).className = currentclass.substr(0,startpos);
			}
			var pos = tags.indexOf("'"+tag+"',");
			if(pos < 0) {
				tags = tags + "'"+ tag + "',";
			} else {
	
				var first = tags.substr(0,pos);
				var last = tags.substr(pos+tag.length+3,tags.length);
				tags = first + last;
			}
		}
	}

	var tags_send = tags.substr(0,tags.length-1);
	var group = document.getElementById("network_group").value;
	var search = document.getElementById("network_find").value;
	getURL("/?a=network&type=contacts&a2=ajax-network-search&tags="+escapeString(tags_send)+"&search="+escapeString(search)+"&group="+escapeString(group)+"&start="+start,"Searching...");

	return false;
}

function nextPage() {
	start = start + 15;
	return searchContacts();
}

function prevPage() {
	start = start - 15;
	return searchContacts();
}

function getContactListOK(data) {
	isContentWorking = false;

	document.getElementById("contactList").innerHTML = data;

	return false;
}

function getContactCloudOK(data) {
	isContentWorking = false;

	document.getElementById("contactCloud").innerHTML = data;

	return false;
}

function markFavorite(peerid,favorite) {
	if(isContentWorking == true || isWorking == true) { setTimeout("markFavorite("+peerid+","+favorite+")", "10"); return false; }
	isContentWorking = true;

	getURL("/?a=network&type=contacts&a2=ajax-network-mark-favorite&peerid="+peerid+"&favorite="+favorite,"Updating...");

	return false;
}

function markFavoriteOK(favorite,peerid) {
	isContentWorking = false;
        var icons = document.getElementById("card_icons");
	var anchor = document.getElementById("markfavorite");
	
	if(favorite == 1) {
		icons.innerHTML = '<img src="/images/folder_heart.png" title="Marked as a Favorite" alt="Favorite" />' + icons.innerHTML;
		anchor.onclick =   new Function('markFavorite("'+peerid+'","0");return false;');
		anchor.innerHTML = "Unmark as Favorite";
	} else {
		icons.innerHTML = '<img src="/images/remove.gif" onclick="if(confirm(\'Are you sure you want to remove this contact from your network?\')){ }return false;" style="cursor: pointer;" title="Remove Contact" alt="Remove Contact" />';
		anchor.onclick =   new Function('markFavorite("'+peerid+'","1");return false;');
		anchor.innerHTML = "Mark as Favorite";
	}

	return false;
}

function getContactCard(peerid) {
	if(isContentWorking == true || isWorking == true) { setTimeout("getContactCard("+peerid+")", "10"); return false; }
	isContentWorking = true;

	getURL("/?a=network&type=contacts&a2=ajax-network-get-card&peerid="+peerid,"Loading...");

	return false;
}

function getContactCardOK(data,peerid) {
	isContentWorking = false;
	if(peerid != -1) {
		if(document.getElementById("peer"+peerid)) {
			var oldpeer = document.getElementById("currentpeer").parentNode.id.substr(4);

			document.getElementById("currentpeer").parentNode.innerHTML = "<a href=\"#\" onclick=\"getContactCard('"+oldpeer+"');return false;\" id=\"peer"+oldpeer+"link\">"+document.getElementById("currentpeer").innerHTML+"</a>";
			document.getElementById("peer"+peerid).innerHTML = "<strong id=\"currentpeer\">"+document.getElementById("peer"+peerid+"link").innerHTML+"</strong>";
		}	
	}
	document.getElementById("network_card").innerHTML = data;

	return false;
}

var orig_tags = '';
function editContactTags(peerid) {
	var options = document.getElementById("tagoptions");
	var contact_tags = document.getElementById("contact_tags");

	if(options.innerHTML != "Save") {
		if(document.getElementById("notags")) {
			contact_tags.innerHTML = "<textarea id=\"tagsInput\" rows=\"2\" cols=\"42\" max=\"255\"></textarea><span id=\"card_taginst\">comma-separated</span>";
			options.innerHTML = "Save";

			var cancel = document.createElement("a");

			cancel.innerHTML = "Cancel";
			cancel.id = "card_canceltags";
			cancel.onclick = new Function("cancelContactTags();return false;");
			cancel.href = "#";

			options.parentNode.appendChild(cancel);
		} else {
			options.innerHTML = "Save";		
			var cancel = document.createElement("a");

			cancel.innerHTML = "Cancel";
			cancel.id = "card_canceltags";
			cancel.onclick = new Function("cancelContactTags();return false;");
			cancel.href = "#";
	
			options.parentNode.appendChild(cancel);
			var tagspans = contact_tags.childNodes;
			var taglist = "";
			for(i=0,max=tagspans.length;i<max;i++) {
				if(tagspans[i].innerHTML) {
					taglist = taglist + tagspans[i].innerHTML+",";
				}
			}
			taglist = taglist.substr(0,taglist.length-1);
			orig_tags = taglist;
			contact_tags.innerHTML = "<textarea id=\"tagsInput\" rows=\"2\" cols=\"42\" max=\"255\">" + taglist + "</textarea><span id=\"card_taginst\">comma-separated</span>";
		}	
		document.getElementById("tagsInput").focus();
	} else {
		// save the tags
		options.innerHTML = "Add/Remove";
		var newtags = document.getElementById("tagsInput").value;
		if(newtags != "") {
			var tagsArr = newtags.split(",");
			contact_tags.innerHTML = "";
			var taglist = "";
			for(i=0,max=tagsArr.length;i<max;i++) {
				tagsArr[i] = trim(cleanString(tagsArr[i])).replace(/[ ]/g,"");
				contact_tags.innerHTML = contact_tags.innerHTML + "<span class=\"contactTag\">"+tagsArr[i]+"</span>,";
				taglist = taglist + tagsArr[i] + ",";
			}
			contact_tags.innerHTML = contact_tags.innerHTML.substr(0,contact_tags.innerHTML.length-1);
			taglist = taglist.substr(0,taglist.length-1);
			options.parentNode.removeChild(options.parentNode.childNodes[options.parentNode.childNodes.length-1]);

			getURL("/?a=network&type=contacts&a2=ajax-network-save-tags&tags="+escapeString(taglist)+"&peerid="+escapeString(peerid),"Saving...");
		} else {
			contact_tags.innerHTML = "<span id=\"notags\">None</span>";
			options.parentNode.removeChild(options.parentNode.childNodes[options.parentNode.childNodes.length-1]);

			getURL("/?a=network&type=contacts&a2=ajax-network-save-tags&tags=&peerid="+escapeString(peerid),"Saving...");
		}
	}
}

function cancelContactTags() {
	var options = document.getElementById("tagoptions");
	var contact_tags = document.getElementById("contact_tags");
	options.innerHTML = "Add/Remove";
	var newtags = orig_tags;
	orig_tags = "";

	if(newtags != "") {
		var tagsArr = newtags.split(",");
		contact_tags.innerHTML = "";
		var taglist = "";
		for(i=0,max=tagsArr.length;i<max;i++) {
			tagsArr[i] = trim(cleanString(tagsArr[i])).replace(/[ ]/g,"");
			contact_tags.innerHTML = contact_tags.innerHTML + "<span class=\"contactTag\">"+tagsArr[i]+"</span>,";
			taglist = taglist + tagsArr[i] + ",";
		}
		contact_tags.innerHTML = contact_tags.innerHTML.substr(0,contact_tags.innerHTML.length-1);
		taglist = taglist.substr(0,taglist.length-1);
	} else {
		contact_tags.innerHTML = "<span id=\"notags\">None</span>";
	}
	options.parentNode.removeChild(options.parentNode.childNodes[options.parentNode.childNodes.length-1]);
}

function removeContact(peerid) {
	if(isContentWorking == true || isWorking == true) { setTimeout("removeContact("+peerid+")", "10"); return false; }
	isContentWorking = true;

	getURL("/?a=network&type=contacts&a2=ajax-network-remove-contact&peerid="+peerid,"Removing...");

	return false;
}
