﻿///<reference path="jquery-vsdoc.js" />

var contentEditable = false;
var editorLoggedIn = false;

var loginDialog = null;
var contentEditDialog = null;

function getScrollXY() {
    var scrOfX = 0, scrOfY = 0;
    if (typeof (window.pageYOffset) == 'number') {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return [scrOfX, scrOfY];
}

function AspPostback(eventTarget, eventArgument) {
    var theForm = document.forms['aspnetForm'];
    if (!theForm) {
        theForm = document.aspnetForm;
    }

    //theForm.__EVENTTARGET.value = eventTarget;
    //theForm.__EVENTARGUMENT.value = eventArgument;
    theForm.submit();
}

function OnEditorClick() {
    if (!editorLoggedIn) {
        EditorLogin();
    }
    else {
        if (contentEditable) {
            $('#JqCommand').val('ExitEditMode');
        }
        else {
            $('#JqCommand').val('EnterEditMode');
        }
        AspPostback();        
    }
}

function EditorLogin() {
    if (loginDialog == null) {
        loginDialog = $('#EditorLoginPopup');
        loginDialog.dialog({
            buttons: {
                "OK": function() { DoLogin(); $(this).dialog("close"); }
            },
            modal: true
        });
    }
    else {
        loginDialog.dialog('open');
    }

    $('#UserNameInput').focus();
}

function DoLogin() {
    $('#JqCommand').val('Login');
    $('#LoginHd').val($('#UserNameInput').val());
    $('#PasswordHd').val($('#PasswordInput').val());
    AspPostback();
}

function AttachEditability() {
    $('.Cms_Editable').click(EditElement);
    $('#HelpTranslating').css('background-image', 'url(../images/Edit-Small.png)');
}

function EditElement(event) {
    event.preventDefault();
    event.stopPropagation();

    var input = $('#CmsContentInput');
    input.val($(this).text());
    input.focus();

    $('#EditedContentIdHd').val($(this).attr('id'));

    if (contentEditDialog != null) {
        contentEditDialog.dialog('destroy');
        contentEditDialog = null;
    }

    contentEditDialog = $('#ContentEditorPopup');
    contentEditDialog.dialog({
        bgiframe: true,
        position: [getScrollXY()[0] + 5, getScrollXY()[1] + 5],
        width: 570,
        height: 350,
        buttons: {
            "OK": function() { BeginPostElementEdit(); $(this).dialog("close"); }
        },
        modal: true
    });
}

function BeginPostElementEdit() {
    var data = {
        Content: $('#CmsContentInput').val(),
        EditedContentId: $('#EditedContentIdHd').val()
    };
    $.ajax({
        type: 'GET',
        url: '/Cms/UpdateContent.ashx',
        data: data,
        success: EndPostElementEdit, 
        
        dataType: 'text',
        error: OnAjaxError,
        lng_EditedContentId: data.EditedContentId});
}

function EndPostElementEdit(data, textStatus) {
    if (data != '' && data != null) {
        if (data.indexOf('!!') == 0) {
            alert(data.substring(2));
        }
        else {
            var contentElementId = this.lng_EditedContentId;
            $('#' + contentElementId).html(data);
        }
    }
}

function OnAjaxError(XMLHttpRequest, textStatus, errorThrown) {
    alert('The server rejected your request (status ' + textStatus  + /*' ' + XMLHttpRequest.responseText + */').\nPlease try again later.');    
}

// Language drop down:

var ddmenuitem = 0;
var isddmenuopen = false;

function jsddm_open(event) {
    isddmenuopen = !isddmenuopen;
    if (isddmenuopen) {
        ddmenuitem = $('#UiLangs').find('ul');
        ddmenuitem.removeClass('Invisible');
    }
    else {
        jsddm_close();
    }
}

function jsddm_close()
{ if (ddmenuitem) ddmenuitem.addClass('Invisible'); }


$(document).ready(function() {
    $('#UiLangsLink').bind('mouseup', jsddm_open);
});
