if (!window.console || !console.firebug)
{
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
    "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

    window.console = {};
    for (var i = 0; i < names.length; ++i) {
        window.console[names[i]] = function() {};
    }
}

jQuery.noConflict();

ArticlesPreview = {};
ArticlesPreview.run = function() {
    jQuery('#preview-close').live('click', function() {
        jQuery('#article-preview-dialog').dialog('close');
    });

    var previewCallback = function(content) {
        jQuery('#article-preview-dialog').html(content);
    }

    var errorCallback = function() {
        jQuery('#article-preview-dialog').html(
            '<div class="ui-state-error">' +
                'Network problems. Please, close this dialog and try again.<div>'
        );
    }

    jQuery('#article-preview-dialog').html('<div style="text-align: center"><img src="/img/ajax-loader.gif" /></div>');
    jQuery('#article-preview-dialog').dialog({
        width: 920,
        height: window.screen.height - 240,
        modal: true,
        title: 'Preview'
    });

    var data = {
        'data[title]': jQuery('#ArticleArticleTitle').val(),
        'data[body]': jQuery('#ArticleArticleBody').val(),
        'data[tags]': jQuery('#ArticleArticleTags').val(),
        'data[category_id]': jQuery('#ArticleCategoryId').val()
    };

    jQuery.ajax({
        type: 'POST',
        url: '/articles/preview_ajax',
        data: data,
        dataType: 'html',
        success: previewCallback,
        error: errorCallback
    });
};

SitesDecision = {};

SitesDecision.init = function () {
    jQuery('#accept_all_link').click(function() {
         jQuery('.accept_radio').attr("checked","checked");
    });

    jQuery('#reject_all_link').click(function() {
         jQuery('.reject_radio').attr("checked","checked");
    });
};

UsersLogin = {};

UsersLogin.init = function () {
    jQuery("#email_field").hide();

    jQuery("#username_switch").click(function() {
         jQuery("#email_field").hide();
         jQuery("#username_field").show();
    });

    jQuery("#email_switch").click(function() {
         jQuery("#email_field").show();
         jQuery("#username_field").hide();
    });

    jQuery('#UserUsername').focus();
    jQuery('#UserLoginForm').submit(function() {
        jQuery('#UserUsername').attr('value', jQuery('#UserUsername').attr('value').trim());
        jQuery('#UserPassword').attr('value', jQuery('#UserPassword').attr('value').trim());
        return true;
    });
};

SitesAdd = {};

SitesAdd.isValidUrl = function(url) {
    var re = /^([A-Za-z]+:\/\/)?[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&\?\/.=]+$/;
    return re.test(url);
};

SitesAdd.addProtocol = function(url) {
    if(url.substr(0, 7) != 'http://') {
        url = 'http://' + url;
    }

    return url;
};

SitesAdd.autoRemoteUrl = function(add) {
    jQuery('#SiteUrl').change(function() {
        var url = jQuery(this).val();
        if(!SitesAdd.isValidUrl(url)) {
            return;
        }

        url = SitesAdd.addProtocol(url);

        var slash = '/';
        if(url.substr(-1, 1) == '/') {
            slash = '';
        }
        var xmlpath = url + slash + 'xmlrpc.php';
        jQuery('#SiteXmlpath').val(xmlpath);
        jQuery('#SiteUrl').val(url);
    });
    
    if(add) {
        jQuery('#SiteUrl').change();
    }
};

SitesAdd.init = function() {
    SitesAdd.autoRemoteUrl(true);
};

SitesEdit = {};

SitesEdit.init = function() {
    SitesAdd.autoRemoteUrl(false);
};
SitesIndex = {};

SitesIndex.init = function() {
    var i = 0;
    var siteIds = [];

    jQuery("td[id*='queueSite']").each(function() {
        temp_id = jQuery(this).attr('id').split("_");
        temp_id = temp_id[1];
        siteIds[i] = temp_id;
        i++;
    });
    if(siteIds.length != 0) {
        getQueueInfo(siteIds, 5, 0);
    }
};

function getQueueInfo(siteIds, limit ,offset) {
    if(siteIds[offset] == undefined) {
        return;
    }
    var tempSiteIds = [];

    for(var z = 0; z < limit; z++) {
        if(siteIds[offset + z] != undefined) {
            tempSiteIds[z] = siteIds[offset + z];
        } else {
            break;
        }
    }
    
    jQuery.ajax({
      type: "POST",
      url: '/sites/getQueueCountAjax/',
      dataType: 'json',
      data: "data[SiteIds]=" + encodeURIComponent(JSON.stringify(tempSiteIds)),
      success: function(data) {
        for(z = 0; z < tempSiteIds.length; z++) {
            updateQueueRow(tempSiteIds[z], data[tempSiteIds[z]]);
        }
        getQueueInfo(siteIds, limit, offset+z);
      }
    });
}

function updateQueueRow(siteId, countValue) {
    if(countValue > 0) {
        jQuery("#ajaxLoader_" + siteId).hide();
        jQuery("#countQueueLink_" + siteId).html(countValue);
        jQuery("#countQueueLink_" + siteId).show();
        jQuery("#approveLink_" + siteId).show();
    } else {
        jQuery("#queueSite_" + siteId).html(countValue);
    }

}


