﻿// JScript File

function RCRHGet(clientId, contentId, op) {

    ss(clientId, 'RCcid', contentId);
    ss(clientId, 'o', op);

    var ro = dge(gs(clientId, 'RCRO'));
    
    if (ro) {
        ro.innerHTML = '';
    }
    
    var re = dge(gs(clientId, 'RCRE'));
    if (re) {
        re.innerHTML = '';
    }

    rh = gs(clientId, 'RCRH');

    var e = dge(rh);
    
    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'));

}

function RCRHGetCls(clientId, contentId) {
    rh = gs(clientId, 'RCRH');
    var e = dge(rh);
    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) {

    ss(clientId, "RCp",pageNumber);
    ss(clientId, "RCcid", contentId);
    
    var pageSize = gs(clientId, "RCps");
    var searchString = '';
    var result = Webscene.UI.RC.RCGet(clientId, sessionId, nodeId, contentId, pageNumber, pageSize, searchString, skin);
    
    if (result) {
    
        if (result.value) {
        
            RCRHGet(clientId, contentId, 0);
        
            var reactionOverview = dge(gs(clientId, 'RCRO'));
            
            if (reactionOverview) {
            
                reactionOverview.innerHTML = result.value;
            
            }
            
            result = Webscene.UI.RC.RCEdit(clientId, sessionId, nodeId, '', gs(clientId, 'RCcid'), gs(clientId, 'apr'), gs(clientId, 'aaac'));
    
            if (result) {
    
                if (result.value) {
        
                    var element = dge(gs(clientId, 'RCRE'));
            
                    if (element) {
                        element.innerHTML = result.value;
                        
                        if (gs(clientId + '_ATE','tet')==2 && window.tinyMCE) {
                            if (dge(clientId + '_RCATE')) {
                                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") {

                    RCRHGet(clientId, gs(clientId, "RCcid"), 0);
                    RCGet(1, clientId, gs(clientId, "RCcid"));
                    RCEdit('', clientId);
               }
            }
        }
        TIHide(clientId);
    }
}

function RCSubmit(clientId) {

    TIShow(clientId);

    var ate = dge(clientId + "_RCATE");
    var cb = dge(clientId + "_RCCB");
    var tb = dge(clientId + "_RCTB");
    var rtc = dge(clientId + "_RTC");
    var eatb = dge(clientId + "_RCEATB");
    var nmtb = dge(clientId + "_RCNMTB");
    var cp = dge(clientId + "_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;
                        }
                    
                    }

                }
            
            }
        }
        
        if (gs(clientId + '_ATE','tet')==2 && window.tinyMCE) {
            // Bugfix
            tinyMCE.execCommand('mceRemoveControl', false, clientId + '_RCATE');
            tinyMCE.triggerSave(); 
            ate = dge(clientId + "_RCATE");
        }
    
        AjaxPro.timeoutPeriod = 60000;
        Webscene.UI.RC.RCSubmit(sessionId, nodeId, gs(clientId, "reactionId"), gs(clientId, "RCcid"), ate.value, cb.checked, r, tb.value, eatb.value, nmtb.value, cp.checked, gs(clientId,'dlm'), RCSubmitCB, clientId);
        
    }

}


function RCEdit(reactionId, clientId) {

    ss(clientId, "reactionId", reactionId);

    var textElement = dge(clientId + "_RCATE");
    var checkBox = dge(clientId + "_RCCB");
    var titleElement = dge(clientId + "_RCTB");
    var ratingControl = dge(clientId + "_RTC");
    
    var result = Webscene.UI.RC.RCEdit(clientId, sessionId, nodeId, reactionId, gs(clientId, "RCcid"), gs(clientId, 'apr'), gs(clientId, 'aaac'));
    
    if (result) {
    
        if (result.value) {
        
            var element = dge(gs(clientId, "RCRE"));
            
            if (element) {
                element.innerHTML = result.value;

                if (gs(clientId + '_ATE','tet')==2 && window.tinyMCE) {
                    if (dge(clientId + '_RCATE')) {
                        tinyMCE.execCommand('mceAddControl', false, clientId + '_RCATE');
                    }
                }
                
            }
        
        }
    
    }
    

}

function RCDelete(reactionId, clientId) {

    var result = Webscene.UI.RC.RCDelete(sessionId, nodeId, reactionId, gs(clientId, "RCcid"));
    
    if (result) {
        RCRHGet(clientId, gs(clientId, "RCcid"), 0);
        RCGet(1, clientId, gs(clientId, "RCcid"));
        RCEdit('', clientId);
    }

}

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 RCReply(reactionId, clientId) {
    
    var result = Webscene.UI.RC.RCReply(sessionId, nodeId, reactionId);
    
    if (result) {
    
        RCRHGet(clientId, gs(clientId, "RCcid"), 0);
        RCGet(1, clientId, gs(clientId, "RCcid"));
        
        RCEdit('', clientId);
        
        var ate = dge(clientId + "_RCATE");
        if (ate) {
            ate.scrollIntoView();
            ate.focus();
            ate.innerHTML = result.value;
        }
        
    }
    
}