function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}
function serialize(formid) {
	var query = '';
	var tail = '';

	for (i = 0; i < $(formid).elements.length; i++) {
		element = $(formid).elements[i];

		switch (element.type) {

			case 'text':
			case 'hidden':
			case 'password':
			case 'textarea':
			case 'select-one':
				query += element.name + '=' + encodeURIComponent(element.value) + '&'
			break;

			case 'select-multiple':
				var isSet = false;
				for(var j = 0; j < element.options.length; j++) {
					var current = element.options[j];
					if(current.selected) {
						query += element.name + '=' + encodeURIComponent(current.value) + '&';
					}
				}
			break;

			case 'radio':
				if (element.checked) {
					query += element.name + '=' + encodeURIComponent(element.value) + '&'
				}
			break;

			case 'checkbox':
				if (element.checked) {
					query += element.name + '=' + encodeURIComponent(element.value);
					query += '&';
					tail = element.name;
				}
			break;

		}
	}
	query = query.substr(0, query.length - 1);
	return query;
}

function Quote(postid, username) {
        try {
                quote = new XMLHttpRequest();
        } catch(e) {
                quote = new ActiveXObject("Microsoft.XMLHTTP")
        };

        quote.onreadystatechange = function() {
                if (quote.readyState == 4 && quote.status == 200) {
                        $('quickpost').value = "[quote=" + username + "]" + quote.responseText + "[/quote]";
                }
				
        };

        quote.open("GET", myURL+"/includes/modules/forums/get_post.php?post=" + postid, true);
        quote.send(null);
}

function Edit_Form(postid) {
        boxWidth="80";
        $('content_buttons' + postid).cancel = $('content' + postid).innerHTML;
        $('content' + postid).innerHTML = "<form id=\"form" + postid + "\" method=\"post\"><input type=\"hidden\" name=\"post\" value=\"" + postid + "\" /><textarea id=\"editbox" + postid + "\" name=\"body\" cols=\""+boxWidth+"\" rows=\"10\"></textarea></form>";
        $('content_buttons' + postid).innerHTML = "<input type=\"button\" value=\"Post\" onclick=\"Save_Edit(" + postid + ")\" /><input type=\"button\" value=\"Cancel\" onclick=\"Cancel_Edit(" + postid + ");\" />";
        try {
                editform = new XMLHttpRequest();
        } catch(e) {
                editform = new ActiveXObject("Microsoft.XMLHTTP")
        };

        editform.onreadystatechange = function() {
                if (editform.readyState == 4 && editform.status == 200) {
                        $('editbox' + postid).value = editform.responseText;
                }
        };

        editform.open("GET", myURL+"/includes/modules/forums/get_post.php?post=" + postid, true);
        editform.send(null);
}

function Cancel_Edit(postid) {
	$('content_buttons' + postid).innerHTML = "";
	$('content' + postid).innerHTML = $('content_buttons' + postid).cancel;
}

function Save_Edit(postid) {
        $('content_buttons' + postid).innerHTML = "";
        var parameters = serialize('form' + postid);
    try {
        post_sub= new XMLHttpRequest();
        post_sub.overrideMimeType('text/html');
    } catch(e) {
        post_sub = new ActiveXObject("Microsoft.XMLHTTP")
    }

        post_sub.onreadystatechange = function() {
            if (post_sub.readyState == 4 && post_sub.status == 200) {
                        $('content' + postid).innerHTML = post_sub.responseText;
                }
        };

    post_sub.open('POST', myURL+"/includes/modules/forums/takeedit.php", true);

    post_sub.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    post_sub.setRequestHeader("Content-length", parameters.length);
    post_sub.setRequestHeader("Connection", "close");
    post_sub.send(parameters);
}

function Delete(postid,authkey) {
        if (confirm('Are you sure you wish to delete this post?') == true) {
                try {
                        delpost = new XMLHttpRequest();
                } catch(e) {
                        delpost = new ActiveXObject("Microsoft.XMLHTTP")
                };

                delpost.onreadystatechange = function() {
                        if (delpost.readyState == 4 && delpost.status == 200) {

								if(delpost.responseText) { 
									window.location = delpost.responseText;
								} else {
									$('post' + postid).style.display = "none";
								}
								
                        }
                };
            delpost.open("GET", myURL+"/includes/modules/forums/delete.php?postid=" + postid, true);
			delpost.send(null);
        }
}

function Scale(image) {
	if (image.width > 400) {
		image.height = Math.round(((400)/image.width)*image.height);
		image.width = 400;
		image.title = "Preview";
		image.setAttribute("onclick", "Preview(this);");
	}
}
function Preview(image) {
	$('lightbox').innerHTML = "<a onclick=\"Return();\"><img src=\"" + image.src + "\" /></a>";
	$('curtain').style.display = "block";
	$('lightbox').style.display = "block";
}
function Return() {
	$('lightbox').style.display = "none";
	$('curtain').style.display = "none";
	$('lightbox').innerHTML = "";
}