﻿var _windowHeight = 0;
var _imgBackImage = null;
var _backImageHidden = true;
var _ckEditor = null;

var _cmsPage;
var _cmsContentID;
var _cmsContentSubtype;
var _cmsElementID;
var _cmsTextPlaceholder;
var _cmsSelectedImageID = null;
var _cmsSelectedDocumentID = null;
var _cmsNodeSortSequence;
var _cmsClient;

var _fileUploadForm = null;
var _fileUploadFile = null;
var _fileUploadIDInput = null;
var _fileUploadTitle = null;
var _fileUploadID = null;
var _uploadProgressInterval = 0;

var _modalForm = null;
var _modalForm2 = null;
var _modalForm3 = null;

function Init() {

    window.onresize = OnResizeWindow;

    _imgBackImage = document.getElementById('imgBackImage');
    //_divBackImage = document.getElementById('divBackImage');
    
    OnResizeWindow();
    
    return;
}

function ShowElement(elementID) {

    var element = document.getElementById(elementID);
    if (element) {
        element.style.display = 'block';
    }

    return element;
}

function HideElement(elementID) {

    var element = document.getElementById(elementID);
    if (element) {
        element.style.display = 'none';
    }

    return element;
}

function OnResizeWindow() {

    GetWindowSize();

    //AdjustBackImage();

    if (_modalForm) CenterElement(_modalForm);
    if (_modalForm2) CenterElement(_modalForm2);
    if (_modalForm3) CenterElement(_modalForm3);

    return;
}

function IsIE() {

    if (navigator.appName == 'Microsoft Internet Explorer') {
        return true;
    }
    return false;
}

function IsOpera() {

    if (navigator.appName == 'Opera') {
        return true;
    }
    return false;
}

function AdjustBackImage() {

    if (_imgBackImage == null) return;

    var imageAR = 1.41212121;
    var pageAR = _windowWidth / _windowHeight;

    var imgWidth, imgHeight, xOffset, yOffset;
    if (imageAR <= pageAR) {

        imgWidth = _windowWidth;
        imgHeight = imgWidth / imageAR;

        xOffset = 0;
        yOffset = Math.round(-(imgHeight - _windowHeight) / 2);
    }
    else {

        imgHeight = _windowHeight;
        imgWidth = imgHeight * imageAR;

        xOffset = Math.round(-(imgWidth - _windowWidth) / 2);
        yOffset = 0;
    }
    
    _imgBackImage.width = imgWidth;
    _imgBackImage.height = imgHeight;

    _imgBackImage.style.left = xOffset + 'px';

    if (_backImageHidden) {
        _imgBackImage.style.display = 'block';
        _backImageHidden = false;
    }

    return;
}

function OnPreviousAbout() {
    OnNavigateAbout(-1);
}

function OnNextAbout() {
    OnNavigateAbout(1);
}

function OnNavigateAbout(delta) {

    var ctrl = document.getElementById('inputAboutCounter');
    if (ctrl) {
        var current = parseInt(ctrl.value);
        var next = current + delta;
        if (next > 3) {
            next = 1;
        }
        ShowDIV(next, 3, "divAbout");
        ctrl.value = next;
        var arrowLeft = document.getElementById('imgArrowLeft');
        var arrowRight = document.getElementById('imgArrowRight');
        if (next == 1) {
            arrowLeft.style.display = 'none';
            arrowRight.style.display = 'block';
        }
        else if (next == 3) {
            arrowLeft.style.display = 'block';
            arrowRight.style.display = 'none';
        }
        else {
            arrowLeft.style.display = 'block';
            arrowRight.style.display = 'block';
        }
    }
}

function CountNumberedDIVs(idPrefix, firstNumber) {

    var count = 0;
    var numberSuffix = firstNumber;
    var divId = idPrefix + numberSuffix;
    var div;
    while (div = document.getElementById(divId)) {

        if (div.style.display == 'block') {
            document.getElementById('inputCurrentNode').value = count;
        }
        numberSuffix = numberSuffix + 1;
        count = count + 1;
        divId = idPrefix + numberSuffix;
    }

    return count;
}

function ShowDIV(number, max, idPrefix) {

    for (var i = 0; i < max; i++) {

        var show = (i == number);
        var div = document.getElementById(idPrefix + i);
        if (div) {
            div.style.display = (show ? 'block' : 'none');
        }
    }
}

function OnNodeDown() {

    OnNavigateNode(-1);
}

function OnNodeUp() {

    OnNavigateNode(1);
}

function OnNavigateNode(delta) {

    var nodeCount = CountNumberedDIVs('divNode', 0);
    
    var ctrl = document.getElementById('inputCurrentNode');
    if (ctrl) {
        var current;
        if (ctrl.value == '') {
            current = nodeCount - 1;
        }
        else {
            current = parseInt(ctrl.value);
        }
        //alert(current);
        var next = current + delta;
        if (next >= nodeCount) {
            next = nodeCount - 1;
        }
        else if (next < 0) {
            next = 0;
        }
        
        ShowDIV(next, nodeCount, "divNode");
        ctrl.value = next;
        var arrowUp = document.getElementById('imgNodeUp');
        var arrowDown = document.getElementById('imgNodeDown');
        if (next == 0) {
            arrowUp.style.display = 'block';
            arrowDown.style.display = 'none';
        }
        else if (next == (nodeCount - 1)) {
            arrowUp.style.display = 'none';
            arrowDown.style.display = 'block';
        }
        else {
            arrowUp.style.display = 'block';
            arrowDown.style.display = 'block';
        }
    }
}

function OnDoubleClickLogoFooter() {
   
}

function TestPopup() {
    window.open('News.aspx', null, 'left=500,top=200,width=400,height=300,status=no,resizable=no,scrollbars=no,toolbar=no,location=no,menubar=no');
}

function MarkInput(obj) {
    obj.style.backgroundColor = "#fffddd";
}

function UnmarkInput(obj) {
    obj.style.backgroundColor = "";
}

function ShowCursorHand(obj) {
    //document.body.style.cursor = 'pointer';
    obj.style.cursor = 'pointer';
}

function ShowCursorDefault(obj) {
    document.body.style.cursor = 'default';
}

function GetHeight(obj) {
    if (obj) {
        var objHeight = obj.offsetHeight;
        return objHeight + 0;
    }
    
    return 0;
}

function CenterVertically(objID, height, offset) {

    var obj = document.getElementById(objID);
    var objHeight = GetHeight(obj);
    var objOffset = Math.round((height - offset - objHeight) / 2 + 0);
    obj.style.top = objOffset + 'px';
    
    return;
}

function OnLoadLoginPage() {

    return;
    CenterVertically('LoginForm', 437, 75);
}

function EditText(page, contentID, contentSubtype, elementID, hasContent, dummy) {

    _cmsPage = page;
    _cmsContentID = contentID;
    _cmsContentSubtype = contentSubtype;

    if (page == 'clients') {
        _cmsElementID = elementID + '_copy';
    }
    else {
        _cmsElementID = elementID;
    }
    
    ShowModal('divTextEditor');

    var displayElement = document.getElementById(_cmsElementID);
    var content = '';
    if (hasContent == 1) {
        content = displayElement.innerHTML;
    }

    if (_ckEditor == null) {
        
        _ckEditor = CKEDITOR.appendTo('divCMSTextEditorContents',
        {
            customConfig: './JavaScript/ckeditor/config.js'
        });
    }
    _ckEditor.setData(content);

    return;
}

function OnCMSBackgroundClick() {
    return;
}

function OnEditTextOK() {

    HideModal('divTextEditor');

    var content = _ckEditor.getData();
    
    //alert(_cmsPage + "-" + _cmsContentID + "-" + _cmsContentSubtype + "-" + content);

    if (_cmsPage == 'clients') {

        if (_cmsContentSubtype == 'hover') {

            PageMethods.SaveCMSHoverEdit(_cmsPage, _cmsContentID, _cmsClient, content);
        }
        else {

            PageMethods.SaveCMSTextEdit(_cmsPage, _cmsContentID, _cmsContentSubtype, content);
        }

        PageMethods.GetContent('clients', OnGetContentComplete, OnRequestError);
    }
    else {
        PageMethods.SaveCMSTextEdit(_cmsPage, _cmsContentID, _cmsContentSubtype, content);

        var displayElement = document.getElementById(_cmsElementID);
        if (displayElement) {
            displayElement.innerHTML = content;
        }
    }

    return;
}

function OnEditTextCancel() {

    HideModal('divTextEditor');
}

function EditImage(page, contentID, contentSubtype, elementID, hasContent, imageID) {

    _cmsPage = page;
    _cmsContentID = contentID;
    _cmsContentSubtype = contentSubtype;
    _cmsElementID = elementID;

    var paramsField = document.getElementById('inputImageEditorParams');
    paramsField.value = '"' + page + '","' + contentID + '",' + contentSubtype + ',"' + elementID + '",' + hasContent;

    document.getElementById('inputDocumentEditorParams').value = '';

    var element = document.getElementById(elementID);
    var src = element.src;
    var pos = src.indexOf('id=');
    var imageID2 = src.substring(pos + 3);

    SelectImage(imageID2);
    
    ShowModal('divImageEditor');
    
    return;
}

function EditImage2(page, contentID, contentSubtype, elementID, hasContent, imageID) {

    _cmsPage = page;
    _cmsContentID = contentID;
    _cmsContentSubtype = contentSubtype;
    _cmsElementID = elementID;

    SelectImage(imageID);

    ShowModal('divImageEditor');
    
    return;
}

function OnEditImageOK() {

    if (_cmsSelectedImageID == null) return;
    
    HideModal('divImageEditor');

    var element = document.getElementById(_cmsElementID);
    var src = element.src;
    var pos = src.indexOf('id=');
    src = src.substring(0, pos + 3) + _cmsSelectedImageID;
    element.src = src;

    PageMethods.SaveCMSImageEdit(_cmsPage, _cmsContentID, _cmsContentSubtype, _cmsSelectedImageID);
    
    return;
}

function OnEditImageNone() {

    HideModal('divImageEditor');

    var element = document.getElementById(_cmsElementID);
    var src = element.src;
    var pos = src.indexOf('id=');
    src = src.substring(0, pos + 3) + '0';
    element.src = src;

    _cmsSelectedImageID = null;
    
    PageMethods.SaveCMSImageEdit(_cmsPage, _cmsContentID, _cmsContentSubtype, "0");

    return;
}

function OnEditImageCancel() {

    HideModal('divImageEditor');
}

function SelectImage(imageID) {

    if (_cmsSelectedImageID) {
    
        var prevImg = document.getElementById(_cmsSelectedImageID);
        prevImg.style.borderColor = '#E0E0E0';
    }
    
    var img = document.getElementById(imageID);
    if (img) {

        img.style.borderColor = '#FF0000';
        _cmsSelectedImageID = imageID;
    }
    else {

        _cmsSelectedImageID = null;
    }
    
    return;
}

function SelectDocument(documentID) {

    if (_cmsSelectedDocumentID) {

        var prevDoc = document.getElementById(_cmsSelectedDocumentID);
        prevDoc.style.borderColor = '#E0E0E0';
    }

    var doc = document.getElementById(documentID);
    if (doc) {

        doc.style.borderColor = '#FF0000';
        _cmsSelectedDocumentID = documentID;
    }
    else {

        _cmsSelectedDocumentID = null;
    }

    return;
}

function OnEditImageUpload() {

    // Clear error
    var divError = document.getElementById('divUploadError');
    divError.innerHTML = "";
    divError.style.display = 'block';
    
    // Ajust form for image upload
    document.getElementById('divUploadFormTitle').innerHTML = 'Image Upload';
    document.getElementById('UploadButtonOK').innerHTML = 'Upload Image';
    _fileUploadTitle.value = '';
    _fileUploadFile.value = '';
    _fileUploadIDInput.value = 'I';
    
    document.getElementById('divUploadInputs').style.display = 'block';
    
    ShowModal('divUpload');

    _fileUploadTitle.focus();

    return;
}

function EditDocument(page, contentID, contentSubtype, elementID, hasContent, documentID) {

    _cmsPage = page;
    _cmsContentID = contentID;
    _cmsContentSubtype = contentSubtype;
    _cmsElementID = elementID;

    var paramsField = document.getElementById('inputDocumentEditorParams');
    paramsField.value = '"' + page + '","' + contentID + '",' + contentSubtype + ',"' + elementID + '",' + hasContent;

    document.getElementById('inputImageEditorParams').value = '';

    var element = document.getElementById(elementID);
    var src = element.src;
    var pos = src.indexOf('id=');
    var documentID2 = src.substring(pos + 3);
    SelectDocument(documentID2);

    //SelectDocument(documentID);

    ShowModal('divDocumentEditor');
}

function EditDocument2(page, contentID, contentSubtype, elementID, hasContent, documentID) {

    _cmsPage = page;
    _cmsContentID = contentID;
    _cmsContentSubtype = contentSubtype;
    _cmsElementID = elementID;

    SelectDocument(documentID);

    ShowModal('divDocumentEditor');
}

function OnEditDocumentUpload() {

    // Clear error
    var divError = document.getElementById('divUploadError');
    divError.innerHTML = "";
    divError.style.display = 'block';
    
    // Adjust form for document upload
    document.getElementById('divUploadFormTitle').innerHTML = 'Document Upload';
    document.getElementById('UploadButtonOK').innerHTML = 'Upload Document';
    _fileUploadTitle.value = '';
    _fileUploadFile.value = '';
    _fileUploadIDInput.value = 'D';

    document.getElementById('divUploadInputs').style.display = 'block';
    
    ShowModal('divUpload');

    _fileUploadTitle.focus();

    return;
}

function OnUploadOK() {

    var title = _fileUploadTitle.value;
    var error = "";
    if (title.length == 0) {

        error = "Please enter document title.";
        _fileUploadTitle.focus();
    }
    else if (_fileUploadFile.value.length == 0) {

        error = "Please select file to upload.";
        _fileUploadFile.focus();
    }
    var divError = document.getElementById('divUploadError');
    divError.innerHTML = error;
    if (error != "") {

        divError.style.display = 'block';
        return;
    }

    // Start the upload
    document.getElementById('divUploadInputs').style.display = 'none';
    document.getElementById('divUploadProgress').style.display = 'block';
    document.getElementById('divUploadToolbar').style.display = 'none';

    var d = new Date();
    _fileUploadID = d.getTime().toString();
    _fileUploadIDInput.value = _fileUploadIDInput.value + ',' + _fileUploadID;
    _fileUploadForm.submit();
    
    return;
}

function OnUploadCancel() {

    HideModal('divUpload');
}

function OnEditImageDelete() {

    var divImg = document.getElementById(_cmsSelectedImageID);
    if (divImg) {

        divImg.style.display = 'none';
    }

    PageMethods.DeleteCMSImage(_cmsSelectedImageID);

    _cmsSelectedImageID = null;
}

function OnRequestError() {
}

function TestModal() {

    $('#Test_out').dialog({ bgiframe: true, modal: 'true', title: 'Test', minHeight: 300 });
    //$('#dlg').dialog('open');
}

function ShowModal(elementID) {

    var element = ShowElement(elementID);
    CenterElement(element);
    
    var background = document.getElementById('divModalFormBackground');
    if (_modalForm) {
        
        background.style.zIndex = 199;
        _modalForm2 = element;
    }
    else {
        background.style.zIndex = 99;
        _modalForm = element;
    }
    background.style.display = 'block';
    
    return;
}

function HideModal(elementID) {

    var background = document.getElementById('divModalFormBackground');
    if (_modalForm2) {

        background.style.zIndex = 99;
        _modalForm2 = null;
    }
    else {
        background.style.display = 'none';
        _modalForm = null;
    }

    HideElement(elementID);
}

function CenterElement(element) {

    var width = element.offsetWidth;
    var height = element.offsetHeight;

    var offsetX = Math.round((_windowWidth - width) / 2);
    if (offsetX < 0) offsetX = 0;
    element.style.left = offsetX + 'px';

    var offsetY = Math.round((_windowHeight - height) / 2);
    if (offsetY < 0) offsetY = 0;
    element.style.top = offsetY + 'px';

    return;
}

function OnModalBackgroundClick() {
    return;
}

function GetWindowSize() {
    
    var width = 0, height = 0;
    if (typeof (window.innerWidth) == 'number') {
        //Non-IE
        width = window.innerWidth;
        height = window.innerHeight;
    }
    else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
        //IE 6+ in 'standards compliant mode'
        width = document.documentElement.clientWidth;
        height = document.documentElement.clientHeight;
    }
    else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
        //IE 4 compatible
        width = document.body.clientWidth;
        height = document.body.clientHeight;
    }

    _windowWidth = width;
    _windowHeight = height;

    return;
}

function OnEditDocumentDelete() {

    var divDoc = document.getElementById(_cmsSelectedDocumentID);
    if (divDoc) {

        divDoc.style.display = 'none';
    }

    PageMethods.DeleteCMSDocument(_cmsSelectedDocumentID);

    _cmsSelectedDocumentID = null;
}

function OnEditDocumentOK() {

    if (_cmsSelectedDocumentID == null) return;
    
    HideModal('divDocumentEditor');

    var element = document.getElementById(_cmsElementID);
    var src = element.src;
    var pos = src.indexOf('id=');
    src = src.substring(0, pos + 3) + _cmsSelectedDocumentID;
    element.src = src;
    
    PageMethods.SaveCMSDocumentEdit(_cmsPage, _cmsContentID, _cmsContentSubtype, _cmsSelectedDocumentID);
}

function OnEditDocumentCancel() {

    HideModal('divDocumentEditor');
}

function OnChangePassword() {

    document.getElementById('divPasswordError').innerHTML = '';
    
    document.getElementById('inputPasswordUsername').value = 'tclass';
    document.getElementById('inputPasswordOld').value = '';
    document.getElementById('inputPasswordNew').value = '';
    document.getElementById('inputPasswordNew2').value = '';
    
    ShowModal('divPasswordForm');

    document.getElementById('inputPasswordOld').focus();

    return;
}

function OnChangePasswordOK() {

    var oldPassword = document.getElementById('inputPasswordOld').value;
    var newPassword = document.getElementById('inputPasswordNew').value;
    var newPassword2 = document.getElementById('inputPasswordNew2').value;

    if ((oldPassword == '') || (newPassword == '') || (newPassword2 == '')) {

        document.getElementById('divPasswordError').innerHTML = 'Please enter old and new password.'
        return;
    }

    if (newPassword != newPassword2) {

        document.getElementById('divPasswordError').innerHTML = 'Please reenter new password more carefully.'
        return;
    }

    PageMethods.ChangePassword(oldPassword, newPassword, newPassword2, OnChangePasswordComplete, OnRequestError);

    return;
}

function OnChangePasswordComplete(error) {

    if (error) {

        document.getElementById('divPasswordError').innerHTML = error;
        return;
    }

    HideModal('divPasswordForm');
}

function OnChangePasswordCancel() {

    HideModal('divPasswordForm');
}

function Home() {

    _cmsPage = 'Home';
    PageMethods.GetContent('home', OnGetContentComplete, OnRequestError);
}

function About() {

    _cmsPage = 'About';
    PageMethods.GetContent('about', OnGetContentComplete, OnRequestError);
}

function Services() {

    _cmsPage = 'Services';
    PageMethods.GetContent('services', OnGetContentComplete, OnRequestError);
}

function Brochure() {

    _cmsPage = 'Brochure';
    PageMethods.GetContent('brochure', OnGetContentComplete, OnRequestError);
}

function Jobs() {

    _cmsPage = 'Jobs';
    PageMethods.GetContent('jobs', OnGetContentComplete, OnRequestError);
}

function News() {

    _cmsPage = 'News';
    PageMethods.GetContent('news', OnGetContentComplete, OnRequestError);
}

function Clients() {

    _cmsPage = 'Clients';
    PageMethods.GetContent('clients', OnGetContentComplete, OnRequestError);
}

function Contact() {

    _cmsPage = 'Contact';
    PageMethods.GetContent('contact', OnGetContentComplete, OnRequestError);
}

function OnGetContentComplete(result) {

    //document.title = 'T-Class Security - ' + _cmsPage;
    
    document.getElementById('divDynamicContent').innerHTML = result;

    var cmsActive = (document.getElementById('divCMSToolbar') != null);
    var editMode = (document.getElementById('PreviewButton') != null);

    var addNewsButton = document.getElementById('AddNewsButton');
    var deleteNewsButton = document.getElementById('DeleteNewsButton');
    var sortNewsButton = document.getElementById('SortNewsButton');

    var addNewsStyle = 'none';
    var deleteNewsStyle = 'none';
    var sortNewsStyle = 'none';
    
    if (_cmsPage == 'News') {

        var nodeCount = CountNumberedDIVs('divNode', 0);
        document.getElementById('inputCurrentNode').value = nodeCount - 1;

        if (cmsActive && editMode) {

            //addNewsStyle = 'block';
            if (nodeCount > 1) deleteNewsStyle = 'block';
            //if (nodeCount > 1) sortNewsStyle = 'block';
        }
    }
    else if (_cmsPage == 'NewsList') {

        var nodeCount = CountNumberedDIVs('divNode', 0);
        document.getElementById('inputCurrentNode').value = nodeCount - 1;

        if (cmsActive && editMode) {

            addNewsStyle = 'block';
            //if (nodeCount > 1) deleteNewsStyle = 'block';
            if (nodeCount > 1) sortNewsStyle = 'block';
        }
    }

    addNewsButton.style.display = addNewsStyle;
    deleteNewsButton.style.display = deleteNewsStyle;
    sortNewsButton.style.display = sortNewsStyle;
    
    return;
}

function OnAddNews() {

    PageMethods.AddNews(OnAddNewsComplete, OnRequestError);
}

function OnAddNewsComplete(result) {

    //_cmsPage = 'NewsList';
    //OnGetContentComplete(result);
    window.location = 'NewsList.aspx';
}

function OnDeleteNews(result) {

    var currentNode = document.getElementById('inputCurrentNode').value;
    if (currentNode == '') {
        var nodeCount = CountNumberedDIVs('divNode', 0);
        currentNode = document.getElementById('inputCurrentNode').value;
    }
    PageMethods.DeleteNews(currentNode, OnDeleteNewsComplete, OnRequestError);
}

function OnDeleteNewsComplete(result) {

    //_cmsPage = 'NewsList';
    //OnGetContentComplete(result);
    window.location = 'NewsList.aspx';
}

function OnSortNews() {

    PageMethods.GetNewsSortList(OnGetNewsSortListComplete, OnRequestError);
}

function OnGetNewsSortListComplete(result) {

    var sortFrame = document.getElementById('listNodeSort');
    sortFrame.innerHTML = result;

    $('#listNodeSort').sortable({ items: 'li', containment: 'parent', tolerance: 'pointer' });
    _cmsNodeSortSequence = $('#listNodeSort').sortable('toArray');

    ShowModal('divCMSNodeSort');

    return;
}

function OnNodeSortOK() {

    _cmsNodeSortSequence = $('#listNodeSort').sortable('toArray');

    PageMethods.ChangeNodeOrder(_cmsNodeSortSequence, OnChangeNodeOrderComplete, OnRequestError);
}

function OnChangeNodeOrderComplete(result) {

    HideModal('divCMSNodeSort');

    window.location = "NewsList.aspx";
}

function OnNodeSortCancel() {

    HideModal('divCMSNodeSort');
}

function RegisterUploadForm(uploadForm, uploadFile, uploadTitle, uploadID) {

    _fileUploadForm = uploadForm;
    _fileUploadFile = uploadFile;
    _fileUploadTitle = uploadTitle;
    _fileUploadIDInput = uploadID;
}

function OnUploadProgressReceived(result) {

    document.getElementById('divUploadProgressPercentage').innerHTML = result + '%';
}

function OnImageUploadComplete(result, id) {

    if (_uploadProgressInterval != 0) {

        window.clearInterval(_uploadProgressInterval);
    }

    document.getElementById('divUploadProgress').style.display = 'none';
    document.getElementById('divUploadInputs').style.display = 'block';
    document.getElementById('divUploadToolbar').style.display = 'block';

    if ((result == null) || (result == '')) { // No error message => success

        _cmsSelectedImageID = id;
        PageMethods.OutputImageThumbviews(108, 108, "CMSImageThumbArea", "CMSImageThumbview", "CMSImageTitle", OnImageThumbviewsReceived, OnRequestError)
    }
    else {

        document.getElementById('divUploadError').innerHTML = result;
        _fileUploadFile.value = '';
        if (document.getElementById('UploadButtonOK').innerHTML.indexOf('Image', 0) != -1) {
            _fileUploadIDInput.value = 'I';
        }
        else {
            _fileUploadIDInput.value = 'D';
        }
    }
}

function OnDocumentUploadComplete(result, id) {

    if (_uploadProgressInterval != 0) {

        window.clearInterval(_uploadProgressInterval);
    }

    document.getElementById('divUploadProgress').style.display = 'none';
    document.getElementById('divUploadInputs').style.display = 'block';
    document.getElementById('divUploadToolbar').style.display = 'block';

    if ((result == null) || (result == '')) { // No error message => success

        _cmsSelectedDocumentID = id;
        PageMethods.OutputDocumentThumbviews(108, 108, "CMSDocumentThumbArea", "CMSDocumentThumbview", "CMSDocumentTitle", OnDocumentThumbviewsReceived, OnRequestError);
    }
    else {

        document.getElementById('divUploadError').innerHTML = result;
        _fileUploadFile.value = '';
        _fileUploadIDInput.value = 'D';
    }
}

function OnImageThumbviewsReceived(result) {

    HideModal('divUpload');
    
    document.getElementById('divCMSImageArea').innerHTML = result;

    SelectImage(_cmsSelectedImageID);
}

function OnDocumentThumbviewsReceived(result) {

    HideModal('divUpload');

    document.getElementById('divCMSDocArea').innerHTML = result;

    SelectDocument(_cmsSelectedDocumentID);
}

function ShowHoverInfo(idHover) {
    var hoverElement = document.getElementById(idHover);
    if (hoverElement) {
        var hover = hoverElement.innerHTML;
        if (hover != '') {
            document.getElementById('divClientHover').innerHTML = hover;
        }
    }
}

function EditHover(contentID, idClient, idHover, evt) {

    if (window.event) {
        window.event.cancelBubble = true;
    }
    else {
        evt.cancelBubble = true;
    }
    
    var hoverElement = document.getElementById(idHover);
    if (hoverElement) {

        _cmsPage = 'clients';
        _cmsContentID = contentID;
        _cmsContentSubtype = 'hover';
        _cmsClient = document.getElementById(idClient).innerHTML;

        var hover = hoverElement.innerHTML;
        
        ShowModal('divTextEditor');

        if (_ckEditor == null) {

            _ckEditor = CKEDITOR.appendTo('divCMSTextEditorContents',
            {
                customConfig: './JavaScript/ckeditor/config.js'
            });
        }
        _ckEditor.setData(hover);
    }
}