report = function(commentId) {
    for (i = 0; i < commentRefs.length; i++) {
        document.getElementById("comment" + commentRefs[i] + "Report").innerHTML = "";
        if (commentRefs[i] == commentId) {
            document.getElementById("comment" + commentId + "Report").innerHTML = document.getElementById("jelReportForm").innerHTML.replace(/reportedCommentId/g, 'report' + commentId + 'Id');
            document.getElementById("report" + commentId + "Id").selectedIndex = (i + 1);
            var newLocation = findPos(document.getElementById("comment" + commentId + "Report"));
            window.scrollTo(0, newLocation[1] - 100);
            successDiv = document.getElementById("comment" + commentId + "Report");
        }
    }
}
function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }
    return [curleft,curtop];
}
var http_request = false;
function makePOSTRequest(url, parameters) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            // set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
            }
        }
    }
    if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }
	var newLocation = findPos(successDiv);
    window.scrollTo(0, newLocation[1] - 100);
	successDiv.innerHTML = '<div class="jelReportFormThanks"><h2>Processing your report...</h2><p>Your report is being processed, please wait.</p></div>';
    http_request.onreadystatechange = alertContents;
    http_request.open('POST', url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
}

function alertContents() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200 || http_request.status == 302) {
            successDiv.innerHTML = '<div class="jelReportFormThanks"><h2>Thank you</h2><p>Your report has been received and a moderator will take your comments into consideration. Thank you for taking the time to help us.</p></div>';
            //result = http_request.responseText;
            //document.getElementById('myspan').innerHTML = result;
        } else {
            alert('There was a problem with the request. Please try again.');
			successDiv.innerHTML = document.getElementById("jelReportForm").innerHTML.replace(/reportedCommentId/g, 'report' + commentId + 'Id');
        }
    }
}
function formValidate(objInput, type, objForm) {
    if (objInput.getAttribute("jm:validate") == "true") {
        //var fieldType = objInput.getAttribute("type").toLowerCase();
        if (type == "input" || type == "textarea") {
            if (objInput.getAttribute("jm:rules") == "true") {

            } else {
                if (objInput.value.length > 0) {
                    return true;
                } else {
                    return false;
                }
            }
        } else if (type == "radio" || type == "checkbox") {
            if (objInput.getAttribute("jm:rules") == "true") {

            } else {
                var checkboxName = objInput.name;
                var inputArray = objForm.getElementsByTagName("input");
                var checkCount = 0;
                for (m = 0; m < inputArray.length; m++) {
                    if (inputArray[m].name == checkboxName) {
                        if (inputArray[m].checked) {
                            checkCount++;
                        }
                    }
                }
                if (checkCount > 0) {
                    return true;
                } else {
                    return false;
                }
            }
        }
    } else {
        return true;
    }
}
function getFormVals(obj) {
    var postStr = "";
    var errorStr = "";
    //get all inputs
    var inputArray = obj.getElementsByTagName("input");
    var selectArray = obj.getElementsByTagName("select");
    var textAreaArray = obj.getElementsByTagName("textarea");
    var inputObject;
    var objForm = obj;
    for (i = 0; i < inputArray.length; i++) {
        inputObject = inputArray[i];
        var fieldType = inputArray[i].getAttribute("type").toLowerCase();
        if ((fieldType == "text") || (fieldType == "password") || (fieldType == "file") || (fieldType == "hidden")) {
            if (formValidate(inputObject, "input", objForm)) {
                postStr += (inputArray[i].name + "=" + inputArray[i].value + "&");
            } else {
                errorStr += ("<p class='jelCommentFormError'>" + inputArray[i].getAttribute("jm:errorMsg") + "</p>");
            }
        } else if (fieldType == "checkbox" || fieldType == "radio") {
            if (formValidate(inputObject, "checkbox", objForm)) {
                if (inputArray[i].checked) {
                    postStr += (inputArray[i].name + "=" + inputArray[i].value + "&");
                }
            } else {
                errorStr += ("<p class='jelCommentFormError'>" + inputArray[i].getAttribute("jm:errorMsg") + "</p>");
            }
        }
    }
    for (j = 0; j < selectArray.length; j++) {
        postStr += (selectArray[j].name + "=" + selectArray[j].value + "&");
    }
    for (k = 0; k < textAreaArray.length; k++) {
        inputObject = textAreaArray[k];
        if (formValidate(inputObject, "textarea", objForm)) {
            postStr += (textAreaArray[k].name + "=" + textAreaArray[k].value + "&");
        } else {
            errorStr += ("<p class='jelCommentFormError'>" + textAreaArray[k].getAttribute("jm:errorMsg") + "</p>");
        }
    }
    postStr = postStr.substr(0, (postStr.length - 1))
    if (errorStr.length == 0) {
        document.getElementById(obj.getAttribute("jm:errorDiv")).innerHTML = "";
        makePOSTRequest(g_boardPath, postStr);
    } else {
        document.getElementById(obj.getAttribute("jm:errorDiv")).innerHTML = ('<div class="jelCommentFormErrorHead"><img src="/images/vm/warning.gif" width="29" height="27" alt="Warning" />Please try again.</div>' + errorStr);
    }
}
document.write("<style>#jelReportForm, .jelReportSelect{display: none;}</style>")