﻿function openWindow(url) {
    window.open(url, 'cmswindow', 'left=20,top=20,width=900,height=600,toolbar=1,resizable=yes,scrollbars=yes');
}

function reloadWindowOpener() {
    window.opener.location.href = window.opener.location.href;
}

function closeWindow() {
    window.close();
    return false;
}

function generateUrl(title, joinchar) {
    var url = '';
    title.scan(/\w+/, function(match) {
        if (url != '')
            url += joinchar;
        url += match;
    });

    return url.toLowerCase();
}

var Page = Class.create({
    initialize: function() {
        Event.observe(window, 'load', this.setupCMSPreview);
    },
    setupCMSPreview: function() {
        $$('div.previewMode div.edit a.icon_edit_placeholder')
        .invoke(
            'observe',
            'click',
            function(evt) {
                if (evt.element().ancestors()[1].hasClassName('previewMode')) {
                    var src = evt.element().readAttribute('src');
                    openWindow(src);
                }
            }
        );
        $$('div.previewMode a.icon_edit_placeholder')
        .invoke(
            'observe',
            'mouseover',
            function(evt) {
                var el = evt.element().ancestors()[1];
                el.addClassName('panel-active');
            }
        );
        $$('div.previewMode a.icon_edit_placeholder')
        .invoke(
            'observe',
            'mouseout',
            function(evt) {
                var el = evt.element().ancestors()[1];
                el.removeClassName('panel-active');
            }
        );

        $$('div.previewMode div.edit').each(function(el) {
            el.style.display = 'none';
        });

        $$('div.previewMode div.edit_link a')
        .invoke(
            'observe',
            'click',
            function(evt) {
                $$('div.previewMode div.edit').each(function(el) {
                    el.setAttribute("ref", 0);
                    el.style.display = 'none';
                });

                var parent = evt.element().ancestors()[0];
                var propertyEl = parent.next();
                propertyEl.style.display = 'block';
            }
        );
    }
});

function confirm_action(msg) {
    if (confirm(msg) == true)
        return true;
    else
        return false;
}

Ajax.Responders.register({
    onCreate: function() {
        if ($('loading') && Ajax.activeRequestCount > 0)
            Effect.Appear('loading', { duration: 0.2, queue: 'end' });
    },
    onComplete: function() {
        if ($('loading') && Ajax.activeRequestCount == 0)
            Effect.Fade('loading', { duration: 0.2, queue: 'end' });
    }
});

var isOpera = (navigator.userAgent.indexOf('Opera') != -1);
var isIE = (!isOpera && navigator.userAgent.indexOf('MSIE') != -1)

/** sorter TO DO**/
/*
var sorterTimer = 0;
Event.observe(window, 'load', function() {
$$('table.sortgrid tr th .sortheader').invoke(
'observe',
'click',
function(evt) {
//hideall
clearTimeout(sorterTimer);
var sortbox = evt.element().getElementsByClassName('sortbox')[0];
sortbox.style.display = 'block';
}
);
$$('table.sortgrid tr th .sortheader').invoke(
'observe',
'mouseout',
function(evt) {
evt.element().childElements().each(function(el) {
if (el.hasClassName('sortbox')) {
var sortbox = el;
sorterTimer = setTimeout(function() {
sortbox.style.display = 'none';
}
, 1000)
}
});
}
);
$$('table.sortgrid tr th .sortheader .sortbox').invoke(
'observe',
'mouseover',
function(evt) {
var sortbox = evt.element();
clearTimeout(sorterTimer);
sortbox.style.display = 'block';
}
);
$$('table.sortgrid tr th .sortheader .sortbox').invoke(
'observe',
'mouseout',
function(evt) {
var sortbox = evt.element();
sorterTimer = setTimeout(function() {
sortbox.style.display = 'none';
}
, 1000)
}
);
});
*/
