﻿RunOnLoad(function () {

    var startupFunctions = [ApplyCheckboxDesign, ApplyDropDownDesign, ApplyValidationSummaryEffect, fixLongTextInGrids, fixPagerPositions];


    $(startupFunctions).each(function (i, j) {
        //setTimeout(j, 0);
        j();
    });

    //    if (window.frameElement != null && window.frameElement != undefined) {
    //        var url = window.frameElement.contentWindow.location;
    //        parent.window.location = url;
    //    }

});

var pagerWrappers = new Array();
function fixPagerPositionFor(wrapper, padding) {
    
    if (!isWrapperRegistered(wrapper, padding)) {
        
        var item = { Wrapper: wrapper, Padding: padding };
        pagerWrappers.push(item);
       
    }
}

function isWrapperRegistered(wrapper,padding) {
    // TODO
  return  $.grep(pagerWrappers, function (val) { return val.Wrapper == wrapper && val.Padding == padding }).length != 0;
}

function fixPagerPositions() {
    
    $(pagerWrappers).each(function (i, j) {
    
        AdjustPagerPosition(j.Wrapper, j.Padding);
    });

}

function pageHasTable() {
    return $(".list .grid tr.pager").length > 0;
}

function AdjustPagerPosition(wrappingClass, paddingBottom) {
    
    if (!pageHasTable())
        return;

    var wrappingElement = $("." + wrappingClass);
    var table = $(".list .grid", wrappingElement);
    var wrappingElementBottom = wrappingElement.offset().top + wrappingElement.outerHeight(false);
    var pagerRow = $(".list .grid tr.pager", wrappingElement);
    var pagerRowTop = pagerRow.offset().top;

    var height = wrappingElementBottom - pagerRowTop - paddingBottom;
    pagerRow.height(height);

}


function ApplyDropDownDesign() {
    $("select").each(function () {
        var item = $(this);
        var isImageUploader = item.parents(".image-uploader").length != 0;
        var isImageHtmlEditor = item.parents(".html-editor").length != 0;

        if (!isImageHtmlEditor && !isImageUploader) {
            item.jdropdown();
        }
    });
}

function ApplyCheckboxDesign() {
    
    $("input[type='checkbox']").wrap("<span class='custom-checkbox' />");

    $(".custom-checkbox").dgStyle();
    
}

function FixFileUploads() {
    var uploaders = $(".image-uploader");

    $(".image-uploader").hide();
    

    uploaders.each(function () {
        var options = $(this).find(".file-upload-option");

        options.hide();

        alert(2);

    });
}

function ApplyValidationSummaryEffect() {
    $(".form .item").click(function () {
        $(".validation-summary").fadeOut();
    });
}


