var ajax_report_bug_script = "http://browser.zitgist.com:8890/report_bug.php";




function getHTTPObject()
{
    var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
    try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
@else
    xmlhttp = false;
@end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            xmlhttp = false;
        }
    }
    return xmlhttp;
}

function xmlError(e)
{
    alert(e);
}



var bug_sent = false;

function report_bug(url, dataspace)
{
    if(bug_sent == false)
    {
        var http = getHTTPObject();

        OAT.Dom.hide($('bug_report_control_panel'));

        $('bug_report_message_panel').setAttribute("style", "border: 1px dotted #666666; background-color:#BBFFBB; padding:10px;");

        if(navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") == -1)
        {
            $('bug_report_message_panel').style.cssText = 'border: 1px solid #003399; background-color:#A4D1FF; padding:10px; ';
        }

        $('bug_report_message_image').innerHTML = "";
        var image = document.createElement("IMG");
        image.setAttribute("src", "imgs/wait.gif");
        $('bug_report_message_image').appendChild(image);

        $('bug_report_message_text').innerHTML = "";
        var text = document.createTextNode("Reporting bug, please wait");
        $('bug_report_message_text').appendChild(text);

        if(navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") == -1)
        {
            // Il semble que IE a des problèmes avec la méthode GET. Si nous utilisons GET alors il ne semble pas
            // refreshé le résult qu'il recoit par l'objet "http", il remet toujours le même data de http.responseText,
            // et ce jusqu'à ce que l'on re-démarre IE.
            http.open("POST", ajax_report_bug_script + "?url=" + escape(url) + "&dataspace=" + escape(dataspace)  + "&contact_email=" + escape($('contact_email').value) + "&bug_report=" + escape($('bug_report').value) );
        }
        else
        {
            http.open("GET", ajax_report_bug_script + "?url=" + escape(url) + "&dataspace=" + escape(dataspace)  + "&contact_email=" + escape($('contact_email').value) + "&bug_report=" + escape($('bug_report').value) );
        }

        http.onreadystatechange = function()
        {
            if (http.readyState == 4)
            {
                switch(http.responseText)
                {
                    case '0':

                            $('bug_report_message_panel').setAttribute("style", "border: 1px solid #003399; background-color:#A4D1FF; padding:10px;");

                            if(navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") == -1)
                            {
                                $('bug_report_message_panel').style.cssText = 'border: 1px solid #003399; background-color:#A4D1FF; padding:10px; ';
                            }

                            $('bug_report_message_image').innerHTML = "";
                            var image = document.createElement("IMG");
                            image.setAttribute("src", "imgs/success_icon.gif");
                            $('bug_report_message_image').appendChild(image);

                            $('bug_report_message_text').innerHTML = "";
                            var text = document.createTextNode("Bug reported");
                            $('bug_report_message_text').appendChild(text);

                            bug_sent = true;

                    break;

                    case '1':
                        $('bug_report_message_panel').setAttribute("style", "border: 1px solid #CC0000; background-color:#FFBBBB; padding:10px;");

                        if(navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") == -1)
                        {
                            $('bug_report_message_panel').style.cssText = 'border: 1px solid #CC0000; background-color:#FFBBBB; padding:10px;';
                        }

                        $('bug_report_message_image').innerHTML = "";
                        var image = document.createElement("IMG");
                        image.setAttribute("src", "imgs/error_icon.gif");
                        $('bug_report_message_image').appendChild(image);

                        $('bug_report_message_text').innerHTML = "";
                        var text = document.createTextNode("Haven't been able to report the bug");
                        $('bug_report_message_text').appendChild(text);

                    break;

                }
            }
        }

        http.send(null);
    }
    else
    {
        $('bug_report_message_panel').setAttribute("style", "border: 1px solid #CC0000; background-color:#FFBBBB; padding:10px;");

        if(navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") == -1)
        {
            $('bug_report_message_panel').style.cssText = 'border: 1px solid #CC0000; background-color:#FFBBBB; padding:10px;';
        }

        $('bug_report_message_image').innerHTML = "";
        var image = document.createElement("IMG");
        image.setAttribute("src", "imgs/error_icon.gif");
        $('bug_report_message_image').appendChild(image);

        $('bug_report_message_text').innerHTML = "";
        var text = document.createTextNode("A bug report for this page has already been sent");
        $('bug_report_message_text').appendChild(text);
    }
}




function removeSpaces(string)
{
    var tstring = "";

    string = '' + string;
    splitstring = string.split(" ");

    for(i = 0; i < splitstring.length; i++)
    {
        tstring += splitstring[i];
    }

    return tstring;
}

function removeReturnCarrier(string)
{
    var tstring = "";

    string = '' + string;
    splitstring = string.split("\n");

    for(i = 0; i < splitstring.length; i++)
    {
        tstring += splitstring[i];
    }

    return tstring;
}