
function addTag(sTag) {
	 var tagInput = document.getElementById('tags');
	 tagInput.value = sTag + ', ' + tagInput.value;
}

function showTags(tagArray) {
	var tagDiv = document.getElementById('tagList');
	tagDiv.innerHTML = tagArray.join(", ");
}

function showAllTags() {
	var tagArrayCnt  = 0;
	var tagArrayName = '';
	var tagArray     = '';
	var tagArrayText = '';
	var tagDiv       = document.getElementById('tagList');

	while(true) {
		tagArrayName = 'tags_' + tagArrayCnt++;
		try {
			tagArray = eval(tagArrayName);
		}
		catch (e) {
			break;
		}
		if (!tagArray || tagArray == 'undefined') {
			break;
		}
		tagArrayText = tagArrayText.concat(tagArray.join(", "), "<br>");
	}
	tagDiv.innerHTML = tagArrayText;
}

var deleted = false;
function deleteBookmark(ele, input, response){
	if (deleted == false)
		deleted = ele.parentNode;
	var tags = deleted;
	var description = previousElement(tags);
	tags.className = "deleted";
	description.className = "deleted";
	if (description.nodeName != "DT") {
		var title = previousElement(description);
		title.className = "deleted";
	}
	if (response != '') {
		tags.style.display = "none";
		description.style.display = "none";
		if (description.nodeName != "DT")
			title.style.display = "none";
		deleted = false;
	} else {
		loadXMLDoc('http://linktagger.net/ajaxDelete.php?id=' + input);
	}
}
function previousElement(ele) {
	ele = ele.previousSibling
	while (ele.nodeType != 1)
		ele = ele.previousSibling;
	return ele;
}

function useAddress(ele) {
    var address = ele.value;
    if (address != '') {
        if (address.indexOf(':') < 0)
            address = 'http://' + address;
        getTitle(address, '');
        ele.value = address;
    }
}

function getTitle(input, response){
    if (document.getElementById('titleField').value == '') {
		if (response != '')
			document.getElementById('titleField').value = response;
		else if (input.indexOf('http') > -1)
			loadXMLDoc('http://linktagger.net/ajaxGetTitle.php?url=' + input);
        else
            return false;
	}
}

var xmlhttp;
function loadXMLDoc(url) {
	// Native
	if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = processStateChange;
        xmlhttp.open("GET", url, true);
        xmlhttp.send(null);
	// ActiveX
    } else if (window.ActiveXObject) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        if (xmlhttp) {
            xmlhttp.onreadystatechange = processStateChange;
            xmlhttp.open("GET", url, true);
            xmlhttp.send();
        }
    }
}

function processStateChange() {
	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		response = xmlhttp.responseXML.documentElement;
		method = response.getElementsByTagName('method')[0].firstChild.data;
		result = response.getElementsByTagName('result')[0].firstChild.data;
		eval(method + '(\'\', result)');
    }
}
