var WCPopup = {
    reportBugState: false,
    rLinkId: "",
    startBox_1: '<div class="pic_l"><div class="pic_r"><div class="pic_a"><div class="pic_b"><div class="pic_c"><div class="pic_d">',
    endBox_1:   '</div></div></div></div></div></div>',
    doReportBug: function(link, position) {
         if(!arguments.length) {//if called with zero parameter, just close the popup.
            $('reportBugPop').remove();
            $('blanket').remove();
            if($('reportBugPop_iefix') && (navigator.appVersion.indexOf('MSIE')>0) && (navigator.userAgent.indexOf('Opera')<0)) $('reportBugPop_iefix').hide();
            WCPopup.reportBugState = false;
            return;
        }
        if($('reportBugPop')) {
            $('reportBugPop').remove();
            $('blanket').remove();
        }

        if(!WCPopup.reportBugState) {
            if(WCPopup.rLinkId == "") {
                WCPopup.rLinkId = link.id;
            }
            var div = document.createElement("div");
            div.innerHTML = '<div class="box_bug clearfix">' +
                            WCPopup.startBox_1 +
                            '<div id="popUpDiv" style="display: block; left: 218.5px;">' +
                                '<div class="border_pop">' +
                                    '<div class="text_pop" id="reportBugHeader">' +
                                        '<h2>Your FeedBack</h2><p class="color_r"/>' +
                                        '<form id="frmReportBug" name="frmReportBug">' +
                                            '<div class="highligh_required" id="statusBug" style="line-height: 15px">Status: Ready</div>'+
                                            '<div style="margin: 0pt; padding: 0pt;">' +
                                                '<input type="hidden" value="528e487c76a9c1ca52acbc225e1564394b4d6c20" name="authenticity_token"/>' +
                                            '</div>' +
                                            '<div id="error_top" style="display: none; color: red;">Please correct the errors on this page</div>' +
                                            '<div class="feed">' +
                                                '<p id="err_bug_type" style="display: none; color: red;">At least check one check box</p>' +
                                                '<div id="bug_type" class="cate clearfix">' +
                                                    '<div class="sp_ch">' +
                                                        '<input type="checkbox" value="1" name="information"/>' +
                                                        'Information' +
                                                    '</div>' +
                                                    '<div class="sp_ch">' +
                                                        '<input type="checkbox" value="1" name="graphic_design"/>' +
                                                        'Graphic Design' +
                                                    '</div>' +
                                                    '<div class="sp_ch">' +
                                                        '<input type="checkbox" value="1" name="technical_bug"/>' +
                                                        'Technical bag' +
                                                    '</div>' +
                                                    '<div class="sp_ch">' +
                                                        '<input type="checkbox" value="1" name="navigation"/>' +
                                                        'Navigation' +
                                                    '</div>' +
                                                    '<div class="sp_ch">' +
                                                        '<input type="checkbox" value="1" name="other"/>' +
                                                        'Other' +
                                                    '</div>' +
                                                '</div>' +
                                                '<div class="space">' +
                                                    '<div class="label">Email :</div>' +
                                                    '<input id="email_bug" class="size" type="text" size="30" name="email"/>' +
                                                    '<p id="err_email_bug" class="btn" style="display: none; color: red;"></p>' +
                                                '</div>' +
                                                '<div class="space">' +
                                                    '<div class="label">Title :</div>' +
                                                    '<input id="title_bug" class="size" type="text" size="30" name="title"/>' +
                                                    '<p id="err_title_bug" class="btn" style="display: none; color: red;"></p>' +
                                                '</div>' +
                                                '<div class="space">' +
                                                    '<div class="label">Description :</div>' +
                                                    '<textarea id="description_bug" rows="15" name="description" cols="50"></textarea>' +
                                                    '<p id="err_description_bug" class="btn" style="display: none; color: red;"></p>' +
                                                '</div>' +
                                                '<div class="space btn">' +
                                                    '<input type="image" src="/images/base/submit.png" onclick="WCPopup.submitReportBug(); return false;"/>&nbsp;' +
                                                    '<img src="/images/base/reset.png?1223985967" onclick="WCPopup.doReportBug();" style="cursor: pointer;" alt="Reset"/>'
                                                    
                                                '</div>' +
                                            '</div>' +
                                        '</form>' +
                                    '</div>' +
                                '</div>' +
                            '</div>' +
                            WCPopup.endBox_1 +
                            '</div>';
            
            div.setAttribute("id", "reportBugPop");
            div.style.position = "absolute";
            div.style.display = "none";
            WCPopup.reportBugState = true;
            document.getElementsByTagName("body").item(0).appendChild(div);
            CPopup.setPosition('reportBugPop', link, position);
            WScript.fixIEOverlapping($('reportBugPop'));
            var div_blank = document.createElement("div");
            div_blank.id = "blanket";
            document.getElementsByTagName("body").item(0).appendChild(div_blank);
            blanket_size($('reportBugPop'));
            $('reportBugPop').show();
        }
        else {
            WCPopup.reportBugState = false;
            if(WCPopup.rLinkId != link.id) {
                WCPopup.doReportBug(link, position, userID);
                WCPopup.rLinkId = link.id;
            }
        }
    },
    setCenter: function(element) {
        if(element) {
            element.style.left = ((pageDimension()[0]-element.getDimensions().width)/2) + "px";
            var top = (browserDimension()[1]-parseInt(element.getDimensions().height))/2;
            element.style.top = scrollY() + (top < 0 ? 0 : top) + "px";
        }
    },
    submitReportBug: function() {
        var submit = true;
        var checkboxs = $('bug_type').getElementsByTagName("input");
        var checked = false;
        for(var i=0; i<checkboxs.length; i++) {
            if(checkboxs[i].type == "checkbox" && checkboxs[i].checked) {
                checked = true;
                break;
            }
        }
        if(!checked) {
            $('err_bug_type').update('Please, check one among them...');
            $('err_bug_type').show();
        }
        else {
            $('err_bug_type').hide();
        }
        if($('title_bug').value == "") {
            $('err_title_bug').update('Please, enter some text...');
            $('err_title_bug').show();
            submit = false;
        }
        else {
            $('err_title_bug').hide();
        }
        if(CValidation.isValidEMail($('email_bug'), false)) {
            $('err_email_bug').hide();
        }
        else if($('email_bug').value == ""){
            $('err_email_bug').show();
            $('err_email_bug').update("Email cannot be empty.");
            submit = false;
        }
        else {
            $('err_email_bug').show();
            $('err_email_bug').update("E-mail is invalid.");
            submit = false;
        }

        if($('description_bug').value == "") {
            $('err_description_bug').update('Please, enter some text...');
            $('err_description_bug').show();
            submit = false;
        }
        else {
            $('err_description_bug').hide();
        }
        var index = $('description_bug').value.search(/&|\"|>|</);
        if(index != -1) {
            $('err_description_bug').update("Illegal character '" + $('description_bug').value.substring(index, index+1) + "' at the character " + index);
            $('err_description_bug').show();
            submit = false;
        }
        if(submit) {
            var params = Form.serialize("frmReportBug");
            Form.disable("frmReportBug");
            $('statusBug').update("Status: Sending...");
            new Ajax.Request("/cambodia/request_report_bug", 
                {
                    method: 'post',
                    parameters: params,
                    onSuccess: handleBugResponse,
                    on404: serverNotFound,
                    onFailure: serverError,
                    on301: serverError
                });
        }
    }
}   

function handleBugResponse(request) {
   var reply = eval ( "(" + request.responseText + ")" );
   Form.enable("frmReportBug");
   if(!reply.success) {
       $('statusBug').update("Error: An undefined error occurred.");
   }
   else {
       $('statusBug').update(reply.message);
       setTimeout('WCPopup.doReportBug();', 1900);
   }
}

