/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


var QuestBack = {
    getEventExecute : function(id) {
        data = {type : 'PostAjaxEvent'};
        data.executionClass='QuestionTreeHandler';
        data.executionCommand='createNewCategory';
        data.treeId = id;
        return data;
    },
    
    addNewCategory : function(id) {
        data = QuestBack.getEventExecute(id);
        data.domElement='questiontreesave';

        retdata = CrappleCommon.postAjax(data, false).trim();

        if (retdata == 'failed') {
            alert('Was not able to save data, reload page (ctrl+f5) and try again : ' + retdata)
            return;
        }
        
        $.tree.reference('#questiontree').create({attributes : {id : retdata}, data : "Empty category"}, -1);
        $.tree.reference('#questiontree').select_branch("#"+retdata);
	QuestBack.renameSelectedNode();
    },

    deleteSelectedNode : function(id) {
        var answer = confirm("Are you sure you want delete it?")
        if (answer) {
            data = QuestBack.getEventExecute(id);
            data.domElement='deleteNode';
            $.tree.reference('#questiontree').remove();
        }
    },

    renameSelectedNode : function() {
        $.tree.reference('#questiontree').rename();
    },

    addItemAtCurrentPoint : function (id) {
        datab = {jstree : ''};
        datab.type = 'test';
        datab.executionClass = 'QuestionTreeHandler';
        datab.domElement = '';
        datab.executionCommand = 'createnew';
        datab.nodeid = null;
        datab.treeId = id;
        datab.tonodeid = $.tree.reference('#questiontree').selected.attr('id')
        datab.type = 'inside';

        res = CrappleCommon.postAjax(datab, false);
        res = res.trim();
        
        newid = parseInt(res);
        if (newid.toString().toLowerCase() == "NaN".toLowerCase()) {
            alert("Failed to save:\n" + res);
            return false;
        } else {    
            $.tree.reference('#questiontree').create({attributes : {id : res}, data : "Empty"}, $.tree.reference('#questiontree').selected);
            $.tree.reference('#questiontree').select_branch("#"+res);
            $.tree.reference('#questiontree').rename();
            return true;
        }
    },

    activateNextButton : function() {
        $('#nextenabled').css('display', 'block');
        $('#nextdisabled').css('display', 'none');
    },

    deactivateNextButton : function () {
        $('#nextenabled').css('display', 'none');
        $('#nextdisabled').css('display', 'block');
    },

    updateBarometer : function (name, percent) {
        jQuery("#"+name).progressBar(Math.floor(percent), { barImage: 'images/progressbg_orange.gif' });
    },

    updateLeftMenu : function (NODE) {
        jQuery('#itemadder').fadeIn(300);
        
        id = NODE.getAttribute("id");
        event = QuestBack.getEventExecute(id);
        event.executionCommand='updateLeftMenu';
        event.domElement='questiondynamicleftmenu';
//        event.showProcessingIcon = '1';
        
        CrappleCommon.postAjax(event, true);
    },

    showEdit : function (NODE) {
        id = NODE.getAttribute("id");
        event = QuestBack.getEventExecute(id);
        data.executionClass='QuestTestTake';
        event.executionCommand='showEditQuestion';
        event.domElement='modaloverlay';
        CrappleCommon.postAjax(event, true);
    }
}
