﻿// JScript File

function RCRHGet(clientId, contentId, op) {

    //window.alert('RCRHGet');

    //window.alert(clientId);

    ss(clientId, 'RCcid', contentId);

    ss(clientId, 'o', op);

    // Added 30-01-2012
    //window.alert(clientId + '_' + contentId);
    ss(clientId + '_' + contentId, 'o', op);
    if (gs(clientId, 'RCps')) {
        ss(clientId + '_' + contentId, 'RCps', gs(clientId, 'RCps'));
    }
    if (gs(clientId, 'seol')) {
        ss(clientId + '_' + contentId, 'seol', gs(clientId, 'seol'));
    }

    var ro = dge(gs(clientId, 'RCRO'));
    // Added 30-01-2012
    if (!ro) {
        ro = dge(gs(clientId + '_' + contentId, 'RCRO'));
    }

    if (ro) {
        ro.innerHTML = '';
    }

    var re = dge(gs(clientId, 'RCRE'));
    // Added 30-01-2012
    if (!re) {
        re = dge(gs(clientId + '_' + contentId, 'RCRE'));
    }
    if (re) {
        re.innerHTML = '';
    }

    rh = gs(clientId, 'RCRH');
    var e = dge(rh);
    // Added 30-01-2012
    if (!e) {
        e = gs(clientId + '_' + contentId, 'RCRH');
    }
    
    if (e) {
    
        // Removed: causes hang in IE
        // e.innerHTML = '';
        
        if (contentId!='') {
            // var op = 1;
            // Show reactions
            var result = Webscene.UI.RC.RCRHGet(sessionId, nodeId, contentId, clientId, skin, op);
            if (result) {
                if (result.value) {
                    e.innerHTML = result.value;
                    if (gs(clientId,'sro')==1) {
                        ss(clientId,'sro',0);
                        RCGet(1, clientId, contentId);
                    }
                } else {
                    // Added again : with dummy tags
                    e.innerHTML = '<div></div>';
                }
            }
        }
    }
    
    sh(clientId);
    sh(gs(clientId, 'pc'));
    // Added 30-01-2012
    sh(gs(clientId + '_' + contentId, 'pc'));

}

function RCRHGetCls(clientId, contentId) {

    //window.alert('RCRHGetCls');

    rh = gs(clientId, 'RCRH');
    var e = dge(rh);
    // Added 30-01-2012
    if (!e) {
        e = dge(gs(clientId + '_' + contentId, 'RCRH'))
    }

    if (e) {
        var result = Webscene.UI.RC.RCRHGet(sessionId, nodeId, contentId, clientId, skin, 0);
        if (result) {
            if (result.value) {
                e.innerHTML = result.value;    
            }
        }
    }
}

function RCGet(pageNumber, clientId, contentId) {

    //window.alert('RCGet');

    ss(clientId, "RCp",pageNumber);
    ss(clientId, "RCcid", contentId);
    // Added 30-01-2012
    ss(clientId + '_' + contentId, "RCcid", contentId);
    //window.alert(clientId);
    //window.alert('set RCcid:' + clientId + '_' + contentId);

    var pageSize = gs(clientId, "RCps");
    // Added 30-01-2012
    if (!pageSize) {
        pageSize = gs(clientId + '_' + contentId, "RCps");
    }
    var seol = gs(clientId, 'seol');
    // Added 30-01-2012
    if (!seol) {
        seol = gs(clientId + '_' + contentId, 'seol');
    }

    // TODO : problem, pagesize and seol null
    //window.alert(pageSize);
    //window.alert(seol);
    //window.alert(clientId);

    var searchString = '';
    // Modified 29-01-2012
    var result = Webscene.UI.RC.RCGet(clientId, sessionId, nodeId, contentId, pageNumber, pageSize, searchString, skin, seol);
    
    if (result) {
    
        if (result.value) {
        
            RCRHGet(clientId, contentId, 0);

            var reactionOverview = dge(gs(clientId, 'RCRO'));
            // Added 30-01-2012
            if (!reactionOverview) {
                reactionOverview = dge(gs(clientId + '_' + contentId, 'RCRO'));
            }
            if (reactionOverview) {
                reactionOverview.innerHTML = result.value;
            }
            // Added 29-01-2012
            reactionOverview = dge(clientId + '_RCRO');
            // Added 30-01-2012
            if (!reactionOverview) {
                reactionOverview = dge(clientId + '_' + contentId + '_RCRO');
            }
            if (reactionOverview) {
                //window.alert(result.value);
                reactionOverview.innerHTML = result.value;
            }

            // Added 30-01-2012
            var apr = gs(clientId, 'apr');
            if (!apr) {
                apr = gs(clientId + '_' + contentId, 'apr');
            }
            // Added 30-01-2012
            var aaac = gs(clientId, 'aaac');
            if (!aaac) {
                aaac = gs(clientId + '_' + contentId, 'aaac');
            }

            result = Webscene.UI.RC.RCEdit(clientId, sessionId, nodeId, '', gs(clientId, 'RCcid'), apr, aaac, RCEditGetCB, clientId);

// Disabled 02-02-2012
//            if (result) {
//    
//                if (result.value) {

//                    var element = dge(gs(clientId, 'RCRE'));
//                    // Added 29-01-2012
//                    var element2 = dge(clientId + '_RCRE');
//                    if (element) {
//                        element.innerHTML = result.value;
//                    }
//                    // Added 29-01-2012
//                    if (element2) {
//                        element2.innerHTML = result.value;
//                    }
//                    // Added 30-01-2012
//                    var element3 = dge(gs(clientId + '_' + contentId, 'RCRE'));
//                    if (element3) {
//                        element3.innerHTML = result.value;
//                    }

//                    // Modified 29-01-2012
//                    if (element || element2 || element3) {

//                        // Added 30-01-2012
//                        var tet = gs(clientId + '_ATE', 'tet');
//                        if (!tet) {
//                            tet = gs(clientId + '_' + contentId + '_ATE', 'tet');
//                        }

//                        if (tet == 2 && window.tinyMCE) {

//                            // Added 30-01-2012
//                            var ate = dge(clientId + '_RCATE');
//                            if (!ate) {
//                                ate = dge(clientId + '_' + contentId + '_RCATE');
//                            }

//                            if (ate) {
//                                tinyMCE.execCommand('mceAddControl', false, clientId + '_RCATE');
//                            }
//                        }

//                    }


//                }
//            }
        
        }
    
    }

    sh(clientId);
    
}


function RCSubmitCB(result) {

    if (result) {

        var clientId = result.context;

        if (result.value) {

            var r = result.value.split('|');
            if (r.length>1) {
                AL(r[1]);
                if (r[0]=="1") {

                    var contentId = gs(clientId, "RCcid");
                    //window.alert(contentId);

                    if (!contentId && r.length > 2) {
                        contentId = r[2];
                        // Added 31-01-2012
                        if (gs(clientId, 'RCps')) {
                            ss(clientId + '_' + contentId, 'RCps', gs(clientId, 'RCps'));
                        }
                        if (gs(clientId, 'seol')) {
                            ss(clientId + '_' + contentId, 'seol', gs(clientId, 'seol'));
                        }
                    }

                    if (!gs(clientId, 'RCps')) {
                        ss(clientId, 'RCps', 10);
                    }
                    if (!gs(clientId, 'seol')) {
                        ss(clientId, 'seol', 0);
                    }
                    
                    //window.alert(clientId);
                    //window.alert(contentId);
                    //window.alert(gs(clientId, 'RCps'));
                    //window.alert(gs(clientId + '_' + contentId, 'RCps'));

                    RCRHGet(clientId, contentId, 0);
                    RCGet(1, clientId, contentId);
                    RCEdit('', clientId);
               }
            }
        }
        TIHide(clientId);
    }
}

function RCSubmit(clientId) {

    TIShow(clientId);
    var ate = dge(clientId + "_RCATE");

    // Added 30-01-2012
    if (!ate) {
        ate = dge(clientId + '_' + contentId + "_RCATE");
    }

    var cb = dge(clientId + "_RCCB");
    // Added 30-01-2012
    if (!cb) {
        cb = dge(clientId + '_' + contentId + "_RCCB");
    }

    var tb = dge(clientId + "_RCTB");
    // Added 30-01-2012
    if (!tb) {
        tb = dge(clientId + '_' + contentId + "_RCTB");
    }

    var rtc = dge(clientId + "_RTC");
    // Added 30-01-2012
    if (!rtc) {
        rtc = dge(clientId + '_' + contentId + "_RTC");
    }

    var eatb = dge(clientId + "_RCEATB");
    // Added 30-01-2012
    if (!eatb) {
        eatb = dge(clientId + '_' + contentId + "_RCEATB");
    }

    var nmtb = dge(clientId + "_RCNMTB");
    // Added 30-01-2012
    if (!nmtb) {
        nmtb = dge(clientId + '_' + contentId + "_RCNMTB");
    }

    var cp = dge(clientId + "_RCCP");
    // Added 30-01-2012
    if (!cp) {
        cp = dge(clientId +  '_' + contentId + "_RCCP");
    }

    if ((ate) && (cb) && (tb) && (eatb) && (cp)) {
    
        if (rtc) {
            var r = -1;
            var rl = rtc.getElementsByTagName('input');
            
            if (rl) {
            
                for (i=0; i<rl.length; i++) {

                    if (rl[i]) {
                    
                        if (rl[i].checked) {
                            r = i;
                        }
                    
                    }

                }
            
            }
        }

        var contentId = gs(clientId, "RCcid");

        // Added 30-01-2012
        var tet = gs(clientId + '_ATE','tet');
        if (!tet) {
            tet = gs(clientId + '_' + contentId + '_ATE','tet');
        }

        if (tet == 2 && window.tinyMCE) {

            var ateo = clientId + '_RCATE';
            if (!dge(ateo)) {
                ateo = clientId + '_' + contentId + '_RCATE';
            }

            // Bugfix
            tinyMCE.execCommand('mceRemoveControl', false, ateo);
            tinyMCE.triggerSave();
            ate = dge(ateo);
        }

        var rid = gs(clientId, "reactionId");
        // Added 30-01-2012
        if (!rid) {
            rid = gs(clientId + '_' + contentId, "reactionId");
        }

        var dlm = gs(clientId, 'dlm');
        // Added 30-01-2012
        if (!dlm) {
            dlm = gs(clientId + '_' + contentId, 'dlm');
        }

        AjaxPro.timeoutPeriod = 60000;
        Webscene.UI.RC.RCSubmit(sessionId, nodeId, rid, gs(clientId, "RCcid"), ate.value, cb.checked, r, tb.value, eatb.value, nmtb.value, cp.checked, dlm, RCSubmitCB, clientId);
        
    }

}

function RCEditCB(result) {
    if (result) {
        var clientId = result.context;
        // window.alert('e:' + gs(clientId, "RCcid"));
        // Added 02-02-2012 : WALL
        if (gs(clientId, 'rto' + clientId) != '') {
            window.clearTimeout(gs(clientId, 'rto' + clientId));
        }
    }
    RCEditBaseCB(result, 1);
    
}

function RCEditGetCB(result, focus) {
    if (result) {
        var clientId = result.context;
        // window.alert('e2:' + gs(clientId, "RCcid"));
        // Added 02-02-2012 : WALL
        if (gs(clientId, 'rto' + clientId) != '') {
            window.clearTimeout(gs(clientId, 'rto' + clientId));
        }
    }
    RCEditBaseCB(result, 0);
}

// Added 30-01-2012
function RCEditBaseCB(result, focus) {

    //window.alert('RCEditCB');

    if (result) {

        if (result.value) {

            var clientId = result.context;

            // Added 30-01-2012 by Manfred:
            var contentId = gs(clientId, "RCcid");

            var r = result.value.split('|||');
            if (!contentId && r.length > 1) {
                contentId = r[1];
                ss(clientId, 'RCcid', contentId);
            }

            //window.alert('contentId:'+ contentId);
            //window.alert('clientId:' + clientId);
            var element = dge(gs(clientId, "RCRE"));

            //window.alert(element);

            if (!element) {
                element = dge(gs(clientId + '_' + contentId, "RCRE"));
                //window.alert(element);

                // Added 30-01-2012
                if (!element) {
                    element = dge(clientId + '_RCRE');
                }
                //window.alert(element);
            }

            if (element) {

                //window.alert('result:' + result.value);

                element.innerHTML = r[0];

                // Added 30-01-2012
                var tet = gs(clientId + '_ATE', 'tet');
                if (!tet) {
                    tet = gs(clientId + '_' + contentId + '_ATE', 'tet');
                }

                if (tet == 2 && window.tinyMCE) {

                    var ateo = clientId + '_RCATE';
                    if (!dge(ateo)) {
                        ateo = clientId + '_' + contentId + '_RCATE';
                    }

                    if (dge(ateo)) {
                        tinyMCE.execCommand('mceAddControl', false, ateo);
                    }
                }

                if (focus == 1) {
                    element.scrollIntoView();
                }
            }

        }

    }
}

function RCEdit(reactionId, clientId) {

    //window.alert('RCEdit');

    ss(clientId, "reactionId", reactionId);

    //window.alert(clientId);

    // Added 30-01-2012 by Manfred:
    var contentId = gs(clientId, "RCcid");

    var textElement = dge(clientId + "_RCATE");

    //window.alert('te:' + textElement);
    //window.alert(contentId);

    // Added 30-01-2012
    if (!textElement) {

        textElement = dge(clientId + '_' + contentId + "_RCATE");
        //window.alert('te2:' + textElement);
        //window.alert(clientId + '_' + contentId + "_RCATE");

    }

    var checkBox = dge(clientId + "_RCCB");
    // Added 30-01-2012
    if (!checkBox) {
        checkBox = dge(clientId + '_' + contentId + "_RCCB");
    }
    var titleElement = dge(clientId + "_RCTB");
    // Added 30-01-2012
    if (!titleElement) {
        titleElement = dge(clientId + '_' + contentId + "_RCTB");
    }

    var ratingControl = dge(clientId + "_RTC");
    // Added 30-01-2012
    if (!ratingControl) {
        ratingControl = dge(clientId + '_' + contentId + "_RTC");
    }

    //window.alert(textElement);

    var apr = gs(clientId, 'apr');
    if (!apr) {
        gs(clientId + '_' + contentId, 'apr');
    }
    var aaac = gs(clientId, 'aaac');
    if (!aaac) {
        aaac = gs(clientId + '_' + contentId, 'aaac')
    }

    var result = Webscene.UI.RC.RCEdit(clientId, sessionId, nodeId, reactionId, contentId, apr, aaac, RCEditCB, clientId);

}

function RCDeleteCB(result) {
    if (result) {

        var clientId = result.context;

        // Added 31-01-2012
        if (!gs(clientId, "RCcid")) {
            ss(clientId, 'RCcid', result.value);
        }

        RCRHGet(clientId, gs(clientId, "RCcid"), 0);
        RCGet(1, clientId, gs(clientId, "RCcid"));
        RCEdit('', clientId);
    }
}

function RCDelete(reactionId, clientId) {

    var result = Webscene.UI.RC.RCDelete(sessionId, nodeId, reactionId, gs(clientId, "RCcid"), RCDeleteCB, clientId);

}

function RCNotOKCB(result) {

}

function RCNotOK(reactionId, clientId) {

    var result = Webscene.UI.RC.RCNotOK(sessionId, nodeId, reactionId);
    
    if (result) {
    
        // Reload the Reactions
        RCRHGet(clientId, gs(clientId, "RCcid"), 0);
        RCGet(1, clientId, gs(clientId, "RCcid"));
        RCEdit('', clientId);
       return true;
    
    } else {
    
        return false;
    }
}

function RCReplyCB(result) {

    //window.alert('RCReplyCB');

    if (result) {

        var clientId = result.context;

        var contentId = gs(clientId, "RCcid");

        RCRHGet(clientId, contentId, 0);
        RCGet(1, clientId, contentId);

        //RCEdit('', clientId);

        var ate = dge(clientId + "_RCATE");
        // Added 30-01-2012
        if (!ate) {
            ate = dge(clientId + '_' + contentId + "_RCATE");
        }

        if (ate) {
            ate.innerHTML = result.value;

            //window.alert(ate.innerHTML);

            ate.scrollIntoView();

            //window.alert(ate.innerHTML);

            ate.focus();

            //window.alert(ate.innerHTML);
        }

    }
}

function RCReply(reactionId, clientId) {

    //window.alert('RCReply');

    RCEdit('', clientId);
    
    var result = Webscene.UI.RC.RCReply(sessionId, nodeId, reactionId, RCReplyCB, clientId);
    
}
