	function setCookie(name, value) {
		var exp = (new Date()).getTime() + (86400000) * 180; // 180 days
		document.cookie=name+"="+escape(value)+";path=/;expires="+(new Date(exp)).toGMTString();
	}
	function getCookie(name) {
	    var pos = document.cookie.indexOf(name+"=");
		if (pos < 0) {
			return "";
		}
		var end = document.cookie.indexOf(";", pos);
		var equ = document.cookie.indexOf("=", pos);
		if (end < 0) end = document.cookie.length;
		return unescape(document.cookie.substring(equ+1, end));
	}
	function fill(form) {
		show(form.nome);
		show(form.email);
		show(form.website);
	}
	function record(element) {
		if (element.value.length > 0) {
			setCookie("blog_"+element.name, element.value);
		}
	}
	function show(element) {
		if (element.value.length == 0) {
			val = getCookie("blog_"+element.name);
			if (val.length != 0) {
				element.value = val;
			}
		}
	}

	function send(form) {
	    record(form.nome);
		record(form.email);
		record(form.website);
		var name = form.nome.value;
		var site = form.website.value;
		var email = form.email.value;
		var data = escape(form.corpo.value);
		data += "\n{{"+name+";"+site+";"+email+"}}";
		form.postBody.value = data;
		form.submit();
	}

	function parseCommentData(commentData, commentAuthor) {
		var separator = commentData.lastIndexOf("{{");
		var body = commentData.substring(0, separator);
		var metaData = commentData.substring(separator + 2, commentData.length-2).split(";");
		if (metaData[0].length == 0) {
			metaData[0] = "Anônimo";
	    }
		return new Array(body, metaData[0], metaData[1], metaData[2]);
	}
	
	function addWebSite(data, site) {
	    //site = site.split(" ")[0];
		if (site.length == 0 || site.indexOf(".") < 0 || site.indexOf(" ") > 0) {
			return data;
	    }
	    if (site.indexOf("http://") < 0) {
			site = "http://" + site;
		}
	    return "<a href='"+site+"' target='_blank'>"+data+"</a>";
	}
	
	function addEmail(data, mail) {
	    //mail = mail.split(" ")[0];
		if (mail.length == 0 || mail.indexOf("@") < 0 || mail.indexOf(" ") > 0) {
			return data;
	    }
	    return data + " (<a href='mailto:"+mail+"'>"+mail+"</a>)";
	}
	
	function format(commentData, commentAuthor) {
	    var lastChar = commentData.charAt(commentData.length-1);
	    if (commentAuthor.toLowerCase() == "anonymous" && lastChar == '}') {
		    var data = parseCommentData(commentData, commentAuthor);
			var line = data[1];
			line = addWebSite(line, data[2]);
			line = addEmail(line, data[3]);
			return new Array(data[0], line);
		}
		if (commentData == '<span class="deleted-comment">This post has been removed by a blog administrator.</span>') {
			commentData = '<span class="deleted-comment">Comentário removido.</span>';
		}
		return new Array(commentData, commentAuthor);
	}