// JavaScript Document

    //checkTextAreaLen(document.getElementById('question'), 200);
    var ajax_loader = '<table width="580" border="0"><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td align="center"><img src="/images/ajax-loader.gif"></td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr></table>';
    var codeMatch = /<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/i;
    var checkEmail = false;
    var savingQuestion = false;

    function Trim( str )
    {
        return str.replace(/^\s*|\s*$/g,"");;
    }

    function submitQuestion(){

        var currQuestion = $j('#question').text();

        var err = false;

        var userId = USER_ID;
        if (userId == 0){
            showLoginPopup();
        }
        else if(checkEmail && $j('#question-emailMe').attr('checked')) {
           FB.Connect.showPermissionDialog("email", function(x){if (x) sendEmail = true; else $j('#question-emailMe').attr('checked', '');});
           checkEmail = false;
        }
        else{
            //alert(currQuestion);
            if (!savingQuestion){
                savingQuestion = true;
                $j('#counter-button-container img').css("cursor","default");

                err = !validateRTEContent('question', QUESTION_SIZE_DB, QUESTION_MAX_CHARACTER_COUNTER, false);

                if (err){
                    $j('#counter-button-container img').css("cursor","pointer");
                    savingQuestion = false;
                    return false;
                }
                else{
                    var currQuestion = setSrcImageValue('question');
                    currQuestion = htmlNumbers(currQuestion);
                    $j('#question').text(currQuestion);
                    $j('#askForm').submit();
                }
            }
        }
    }

    function Validate(){

        var currQuestion = $j('#question').text();


        // var currQuestion = $('question');
        var err = false;
        currQuestion = Trim(currQuestion);

        $("errorRequired").style.display = "none";

        currQuestionStripped = stripHTML(currQuestion);
        currQuestionStripped = $j.trim(currQuestionStripped);

        if(currQuestionStripped.length == 0){
            $j("errorRequired").show();
        }

        if(currQuestionStripped.length == 0 || currQuestionStripped.length > 200 || err){
            return false;
        }

        $("send_category_level1").value = $("curr_category_level1").value;
        $("send_category_level2").value = $("curr_category_level2").value;

        showLoginPopup();
        // move to loginCallback
        //document.getElmentById('askForm').submit();
    }

    function goQuestion(id,d){
        $("qid").value = id;
        $("qd").value = d.substring(0,19);
        document.getElementById('questionListForm').submit();
    }

    function goClose(a_id){
        $("close_answer_id").value = a_id;
        document.getElementById('closeAnswerForm').submit();
    }

    function showLevel2(id){
        var lastCategory = $("curr_category_level1").value;
        var lastSubCategory = $("curr_category_level2").value;
        if (document.getElementById('level2_category_'+lastCategory+'_id_'+lastSubCategory)) {
            document.getElementById('level2_category_'+lastCategory+'_id_'+lastSubCategory).style.color = "#626366";
        }

        if (document.getElementById('level2_category_'+lastCategory)) {
            document.getElementById('level2_category_'+lastCategory).style.display = "none";
        }

        $("curr_category_level1").value = id;
        $("curr_category_level2").value = "";
        var catDiv = document.getElementById('level2_category_'+id);

        if (catDiv.style.display == "none")
            catDiv.style.display = "";
        else
            catDiv.style.display = "none";


        var currTab = parseInt($("curr_tab").value);
        $("tabs-opened-content").innerHTML=ajax_loader;
        switch(currTab) {
            case 0:
                jQuery($("tabs-opened-content")).load('/answers/latestquestions', {id_category_level1: $("curr_category_level1").value});
                break;
            case 1:
                jQuery($("tabs-opened-content")).load('/answers/latestanswered', {id_category_level1: $("curr_category_level1").value});
                break;
            case 2:
                jQuery($("tabs-opened-content")).load('/answers/latestall', {id_category_level1: $('curr_category_level1').value});
                break;
        }

    }

    function HideCategories(){
        var lastCategory = $("curr_category_level1").value;
        var lastSubCategory = $("curr_category_level2").value;
        if (document.getElementById('level2_category_'+lastCategory+'_id_'+lastSubCategory)) {
            document.getElementById('level2_category_'+lastCategory+'_id_'+lastSubCategory).style.color = "#626366";
        }

        if (document.getElementById('level2_category_'+lastCategory)) {
            document.getElementById('level2_category_'+lastCategory).style.display = "none";
        }

        var currTab = parseInt($("curr_tab").value);
        $("curr_category_level1").value = '';
        $("curr_category_level2").value = '';
        $("tabs-opened-content").innerHTML=ajax_loader;
        //document.getElementById('level2_category_'+lastCategory+'_id_'+$("curr_category_level2").value).style.color = "#517da8";
        switch(currTab) {
            case 0:
                jQuery($("tabs-opened-content")).load('/answers/latestquestions', {id_category_level2: $("curr_category_level2").value});
                break;
            case 1:
                jQuery($("tabs-opened-content")).load('/answers/latestanswered', {id_category_level2: $("curr_category_level2").value});
                break;
            case 2:
                jQuery($("tabs-opened-content")).load('/answers/latestall', {id_category_level2: $('curr_category_level2').value});
                break;
        }
    }

    function showSubCategoriesFor(category) {

        if(category == "0") {
            jQuery($("send_category_level2")).html('<option value="0" selected="selected">Select Sub-Category</option>');
        } else {
            jQuery($("send_category_level2")).html(eval("optionSub_"+category));
        }
    }

    function changeOrder(filter) {
        $("tabs-opened-content").innerHTML=ajax_loader;
        jQuery($("tabs-opened-content")).load('/answersOrder.php', {questionId: $('question_id_list').value, userId: $('user_id').value, orderBy: filter});
    }

    function voteAnswer(aVote, anAnswer) {
        $("tabs-opened-content").innerHTML=ajax_loader;
        jQuery($("tabs-opened-content")).load('/answersOrder.php',
                                              {
                                              questionId: $('question_id_list').value,
                                              userId: $('user_id').value,
                                              orderBy: $('answer_select').value,
                                              vote: aVote,
                                              answerId: anAnswer
                                              },
                                              function() {
                                                    if ($("tabs-opened-content").innerHTML == "") {
                                                        // not logged in. redirect to login page
                                                        //alert("chau");
                                                        window.location = "https://brightstorm.devpanarea.com.ar/login/loginregister";
                                                    }
                                              }
                                    );
    }

    var validateAnswer = function () {

        //var submitAnswer_href = $j('#submitAnswer').attr("onclick");
        $j('#submitAnswer').unbind();
        $j('#submitAnswer').css("cursor","default");

        /*$("errorAnswer").style.display = "none";*/
        /*$("errorCharacters").style.display = "none";
        $("errorSource").style.display = "none";*/

        if ($("errorProfanityDescription")){
            $("errorProfanityDescription").style.display = "none";
        }
        if ($("errorProfanitySource")){
            $("errorProfanitySource").style.display = "none";
        }

        if ($("errorCodeDescription")){
            $("errorCodeDescription").style.display = "none";
        }
        if ($("errorCodeSource")){
            $("errorCodeSource").style.display = "none";
        }

        var error = false;

        /*$("_description").value = Trim($("_description").value);

        if (codeMatch.test($("_description").value)){
            $("errorCodeDescription").style.display = "block";
            error = true;
        }*/

        if (codeMatch.test($("source").value)){
            $("errorCodeSource").style.display = "block";
            error = true;
        }

        if (!error)
            error = !validateRTEContent('answer', ANSWER_SIZE_DB, ANSWER_MAX_CHARACTER_COUNTER, false);

        if (!error){
            if ($("source").value.length > 2000) {
                $("errorSource").style.display = "block";
                $j(".counter2").html("Sorry, you&#39;ve exceeded the character limit by " + ($("source").value.length - 2000));
                error = true;
            }
        }

        if (error == false) {

            // document.getElementById('doLogin').value = 'Login';
            var id_question = $j('#id_question').val();

            var checkBox = "";
            if (sendEmail){
                checkBox = $j('#answerQuestionForm #checkbox').attr('checked') ? "on" : "";
            }
            else{
                $j('#answerQuestionForm #checkbox').attr('checked', '');
            }

            var currAnswer = setSrcImageValue('answer');
            var source = $j('#answerQuestionForm #source').val();

            currAnswer = htmlNumbers(currAnswer);

            var url = "/answers/ajaxhtmldata/ajax-action/submit-answer";
            var params = {id_question: id_question, doLogin: 'Login', email_me: $j('#email_me').val(), _description: currAnswer, source: source, checkbox: checkBox};
            goAjax(url, params, function(data){afterValidateAnswer(data, id_question);});

            return false;
        }
        else{
            $j('#submitAnswer').bind('click',validateAnswer);
            $j('#submitAnswer').css("cursor","pointer");
        }
    }

    function afterValidateAnswer(jsonedResponse, id_question){

        // alert("jsonedResponse: " + jsonedResponse);
        var response = eval( '(' + jsonedResponse + ')' );

        if (response['success'] == "true"){
            window.location = "/answers/question/qid/" + id_question;
        }
        else{

            if (response['profanity_Description'] == "true"){
                $j('#errorProfanityDescription').show();
            }

            if (response['profanity_Source'] == "true"){
                $j('#errorProfanitySource').show();
            }

            $j('#submitAnswer').bind('click',validateAnswer);
            $j('#submitAnswer').css("cursor","pointer");
        }
    }

    var validateDetailsForm = function () {

        $j('#submitQuestion').unbind();
        $j('#submitQuestion').css("cursor","default");

        $j('#errorProfanityDetails').hide();

        var error = false;

        error = !validateRTEContent('questionDetails', QUESTIONDETAIL_SIZE_DB, QUESTIONDETAIL_MAX_CHARACTER_COUNTER, true);

        if (error == false) {

            document.getElementById('doLogin').value='Login';
            var id_question = $j('#id_question').val();

            var questionDetails = setSrcImageValue('questionDetails');

            questionDetails = htmlNumbers(questionDetails);

            var url = "/answers/ajaxhtmldata/ajax-action/edit-question";
            var params = {id_question: id_question, doLogin: 'Login', details: questionDetails};
            goAjax(url, params, function(data){afterValidateDetailsForm(data, id_question);});

            return false;
        }

        $j('#submitQuestion').bind('click',validateDetailsForm);
        $j('#submitQuestion').css("cursor","pointer");
    }

    function afterValidateDetailsForm(jsonedResponse, id_question){

        // alert("jsonedResponse: " + jsonedResponse);
        var response = eval( '(' + jsonedResponse + ')' );

        $j('#submitQuestion').bind('click',validateDetailsForm);
        $j('#submitQuestion').css("cursor","pointer");

        if (response['success'] == "true"){
            window.location = "/answers/question/qid/" + id_question;
        }
        else{

            if (response['profanity'] == "true"){
                $j('#errorProfanityDetails').show();
            }

            $j('#submitAnswer').bind('click',validateAnswer);
            $j('#submitAnswer').css("cursor","pointer");
        }
    }

    function MarkAnswer() {

        if ($("curr_tab").value == 0) {
            return;
        }

        $("img_answer").src = "/images/qna/answer-opened-tab.gif";
        $("img_review").src = "/images/qna/review-closed-tab.gif";
        $("img_browse").src = "/images/qna/browse-closed-tab.gif";

        $("curr_tab").value = 0;
        $("tabs-opened-content").innerHTML=ajax_loader;

        if ($('curr_category_level2').value == "")
            jQuery($("tabs-opened-content")).load('/answers/latestquestions', {id_category_level1: $('curr_category_level1').value});
        else
            jQuery($("tabs-opened-content")).load('/answers/latestquestions', {id_category_level2: $('curr_category_level2').value});
    }

    function MarkReview() {

        if ($("curr_tab").value == 1) {
            return;
        }

        $("img_answer").src = "/images/qna/answer-closed-tab.gif";
        $("img_review").src = "/images/qna/review-opened-tab.gif";
        $("img_browse").src = "/images/qna/browse-closed-tab.gif";

        $("curr_tab").value = 1;
        $("tabs-opened-content").innerHTML=ajax_loader;

        if ($('curr_category_level2').value == "")
            jQuery($("tabs-opened-content")).load('/answers/latestanswered', {id_category_level1: $('curr_category_level1').value});
        else
            jQuery($("tabs-opened-content")).load('/answers/latestanswered', {id_category_level2: $('curr_category_level2').value});
    }

    function MarkBrowse(pageNum, totalRows) {

        //alert('pageNum='+pageNum+'&totalRows='+totalRows);

        if ($("curr_tab").value == 2 && pageNum == 'undefined' && totalRows == 'undefined') {
            return;
        }

        pageNum = typeof(pageNum) != 'undefined' ? pageNum : '';
          totalRows = typeof(totalRows) != 'undefined' ? totalRows : '';

        $("img_answer").src = "/images/qna/answer-closed-tab.gif";
        $("img_review").src = "/images/qna/review-closed-tab.gif";
        $("img_browse").src = "/images/qna/browse-opened-tab.gif";

        $("curr_tab").value = 2;
        $("tabs-opened-content").innerHTML=ajax_loader;

        if ($('curr_category_level2').value == "")
            jQuery($("tabs-opened-content")).load('/answers/latestall?pageNum='+pageNum+'&totalRows='+totalRows, {id_category_level1: $('curr_category_level1').value});
        else
            jQuery($("tabs-opened-content")).load('/answers/latestall?pageNum='+pageNum+'&totalRows='+totalRows, {id_category_level2: $('curr_category_level2').value});
    }

    function SearchQuestions(pageNum, totalRows) {

        //alert('pageNum='+pageNum+'&totalRows='+totalRows);

        if (pageNum == 'undefined' && totalRows == 'undefined') {
            return;
        }

        pageNum = typeof(pageNum) != 'undefined' ? pageNum : '';
          totalRows = typeof(totalRows) != 'undefined' ? totalRows : '';

          $("content-center").innerHTML=ajax_loader;
        jQuery($("content-center")).load('/answers/searchquestions?pageNum='+pageNum+'&totalRows='+totalRows, {qna_search: $('curr_qna_search').value});
    }

    function filterBySubCategory(id) {

        var lastCategory = $("curr_category_level1").value;
        var lastSubCategory = $("curr_category_level2").value;
        if (document.getElementById('level2_category_'+lastCategory+'_id_'+lastSubCategory)) {
            document.getElementById('level2_category_'+lastCategory+'_id_'+lastSubCategory).style.color = "#626366";
        }

        var currTab = parseInt($("curr_tab").value);
        $("curr_category_level2").value = id;
        $("tabs-opened-content").innerHTML=ajax_loader;
        document.getElementById('level2_category_'+lastCategory+'_id_'+$("curr_category_level2").value).style.color = "#517da8";
        switch(currTab) {
            case 0:
                jQuery($("tabs-opened-content")).load('/answers/latestquestions', {id_category_level2: $("curr_category_level2").value});
                break;
            case 1:
                jQuery($("tabs-opened-content")).load('/answers/latestanswered', {id_category_level2: $("curr_category_level2").value});
                break;
            case 2:
                jQuery($("tabs-opened-content")).load('/answers/latestall', {id_category_level2: $('curr_category_level2').value});
                break;
        }
    }

    $j(document).ready(function() {
        /*$j('#submitAnswer').bind('click',validateAnswer);
        $j('#submitQuestion').bind('click',validateForm);*/
    });

    function voteForAnswer(answerId ){

        if (USER_ID == 0){
            showLoginPopup();
        }
        else{
            if (!voteProcessing){
                voteProcessing = true;
                var activeAnswer = jQuery.cookie('ans_' + answerId + '_' + USER_ID);
                var voteType = '';

                if ( ( typeof activeAnswer == "undefined" ) || (activeAnswer == null) || (activeAnswer == 'false' ) ){
                    $j("#img_thumbUp_" + answerId).attr('src', '/images/qna/thumbs_up_over.png');
                    jQuery.cookie('ans_' + answerId + '_' + USER_ID,'true' , {path: "/"} );
                    voteType = 'positive';
                }
                else
                {
                    $j("#img_thumbUp_" + answerId).attr('src', '/images/qna/thumbs_up_white.png');
                    jQuery.cookie('ans_' + answerId + '_' + USER_ID,'false' , {path: "/"} );
                    voteType = 'negative';
                }

                var url = "/answers/ajax/ajax-action/vote-for-answer";

                var params = {answerId: answerId, voteType: voteType };
                goAjax(url, params, afterVoteForAnswer);
            }
        }
    }

    function afterVoteForAnswer(jsonedResponse){
        var response = eval( '(' + jsonedResponse + ')' );

        var votesNumber = response["votesNumber"];
        var answerId = response["answerId"];

        if ( votesNumber == 0){
            votesNumber = '0';
        }

        $j("#answer_positive_" + answerId).html(votesNumber);
        voteProcessing = false;
    }

    function goLoginForm(){
        window.location.href = "/login/loginregister";
    }