jQuery.fn.center = function() {
    this.css("position", "absolute");
    this.css("top", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + "px");
    this.css("left", ($(window).width() - this.width()) / 2 + $(window).scrollLeft() + "px");
    return this;
}


////////////////////////bob/////////////////////////
var GlobalindexSelectded = -1;
var GlobalSubIndexSelectded = -1;
function showServices(id, parent, container) {
    clearInterval(intiSlideShoowRegisterEvent);
    $('.navigation').css('display', 'block');
    if ($('body').attr('id') != "homePage") {
        $('body').addClass('home');
    }
    fadeOutCompany();
    if ($('#' + id).css('display') != 'block') {
        $('#' + container).addClass('serviceDisplay');
        $($('#serviceMenu > .menu')[0]).empty(); ;
        $('#SlideShowDescription').fadeOut();
        showNext();
    } else if (!isServices) {
        $('#' + id).fadeOut();
        $('#' + container).removeClass('serviceDisplay');
        $('body').removeClass('home');
    }
}

function showNext() {
    $('.navigation').css('display', 'block');
    $('#subMenu').css('display', 'none');
    var height = $('#slideShowBg').height();
    var max = 160;
    if (height <= 221) {
        max = 90;
    }
    if (lastIndex < garr.length - 1) {
        $('#serviceMenu').fadeIn("slow");
        $($('#serviceMenu > .menu')[0]).empty(); ;
        if (lastIndex != -1) hitBottom = false;
    }
    for (lastIndex; lastIndex < garr.length - 1; lastIndex++) {
        $($('#serviceMenu > .menu')[0]).append(garr[lastIndex + 1]);
        if ($($('#serviceMenu > .menu')[0]).height() > max) {
            lastIndex++;
            break;
        }
    }

    checkArrows();
}

function selectServiceMenuItem(id, index, subIndex) {
    $('.navigation').css('display', 'block');

    $('#' + id).css('display', 'block');
    $('#' + id).css('visibility', 'hidden');
    $('#content').addClass('serviceDisplay');
    $('body').addClass('home');
    var x = $(garr[index])[0];
    garr[index] = $(x).addClass('selected');
    while (lastIndex < index) showNext();
    $('#' + id).css('visibility', 'visible');

    selectedSubIndex = $(x).attr('id');
    var arr = eval('arr_' + $(x).attr('id'));
    for (var j = 0; j < arr.length; j++) {
        var z = $(arr[j]);
        arr[j] = $(z).removeClass('selected');
    }
    if (subIndex != -1) {
        var y = $(arr[subIndex])[0];
        arr[subIndex] = $(y).addClass('selected');
        showSubMenu($(x).attr('id'));
    } else {
        showSubMenu(selectedSubIndex);
    }

    checkArrows();
}

function checkArrows() {
    if (lastIndex == garr.length - 1) {
        $('.navigation > .right').css('display', 'none');
    } else {
        $('.navigation > .right').css('display', 'block');
    }

    if (0 < lastIndex && !hitBottom) {
        $('.navigation > .left').css('display', 'block');
    } else {
        $('.navigation > .left').css('display', 'none');
    }

}

function showPrev() {
    var height = $('#slideShowBg').height();
    $('#subMenu').css('display', 'none');
    var max = 160;
    if (height <= 221) {
        max = 90;
    }
    var count = 0;
    if (0 < lastIndex && !hitBottom) {
        $('#serviceMenu').fadeIn();
        $($('#serviceMenu > .menu')[0]).empty(); ;
        count = -1;
        //lastIndex--;
    }

    for (lastIndex; 0 < lastIndex && !hitBottom; lastIndex--) {
        $($('#serviceMenu > .menu')[0]).prepend(garr[lastIndex - 1]);
        count++;
        if ($($('#serviceMenu > .menu')[0]).height() > max) {
            lastIndex--;
            break;
        }

    }
    if (lastIndex == 0) {
        hitBottom = true;
    }
    lastIndex += count;
    checkArrows();
}


function showSubMenu(id) {
    var arr = eval('arr_' + id);
    $('#subMenu').css('display', 'none');
    $('#subMenu > .menu').empty();
    for (var i = 0; i < arr.length; i++) {
        $('#subMenu > .menu').append($(arr[i]));
    }
    if (arr.length > 0) {
        $('#subMenu').fadeIn();
        ($($('#serviceMenu > .menu')[0])).find('div').removeClass('no_arrow');
        ($($('#serviceMenu > .menu')[0])).find('#' + id).addClass('put_arrow');
    }
    else {
        ($($('#serviceMenu > .menu')[0])).find('#' + id).addClass('no_arrow');
        ($($('#serviceMenu > .menu')[0])).find('div').removeClass('put_arrow');
    }

}

function showCompany(id) {

    if ($('#' + id).css('display') != 'block') {
        clearInterval(intiSlideShoowRegisterEvent);
        $('#' + id).fadeIn(function() {
            // if (isCompany) showNextComp();
        });
    } else if (!isCompany) {
        $('#' + id).fadeOut();
    }
}
function fadeOutCompany() {
    ComplastIndex = -1;
    ComphitBottom = true;
    $('#companyMenuDisplay').fadeOut();
}
function hideItAll(menu, menuParent, menuContainer, companydiv) {

    clearInterval(intiSlideShoowRegisterEvent);

    if (isHome) intiSlideShoowRegisterEvent = setInterval(function() {
        fadePicture(1);
    }, 6000);
    if (!isCompany) {
        fadeOutCompany();
    } else if (!isServices) {
        showCompany('companyMenuDisplay');
    }
    if (!isServices) {
        lastIndex = -1;
        hitBottom = true;
        $($('#serviceMenu > .menu')[0]).empty(); ;
        $('#' + menu).fadeOut();
        $('#' + menuContainer).removeClass('serviceDisplay');
        $('body').removeClass('home');
        $('#serviceNavigation > div').css('display', 'none')
        $('#SlideShowDescription').fadeIn();
    } else if (isServices) {
        selectServiceMenuItem('serviceMenu', GlobalindexSelectded, GlobalSubIndexSelectded);
    }
}

function footerToggle(footerTrophySection, isParent) {
    if ($('#' + footerTrophySection) && $('#' + footerTrophySection).css('display') != 'block') {
        $('#' + footerTrophySection).slideDown();
    } else if ($('#' + footerTrophySection) && isParent == 0) {
        $('#' + footerTrophySection).slideUp();
    }
}

function valid(form, Json) {
    var isError = false;
    var elem;
    var elements = $(':input', '#' + form).not(':button, :submit, :reset, :hidden').each(
        function(index, Element) {
            if (($(this).attr('required') == '1' || $(this).attr('value').length > 0) && (($(this).attr('email') == '1' && !IsValidEmail($(this).attr('value')))
            || ($(this).attr('text') == '1' && $(this).attr('value').length == 0)
            || ($(this).attr('number') == '1' && !IsValidNumber($(this).attr('value')))
          )
        ) {
                $(this).parent().addClass('error');
                isError = true;
                if (!elem) elem = $(this);
            } else {
                $(this).parent().removeClass('error');
            }
        }
    );

    if (Json) {
        for (var j = 0; j < Json.length; j++) {
            var obj = Json[j];
            if (
                   (obj.isRequired || $('#' + obj.formName).find('#' + obj.fieldName).attr('value').length > 0) &&
                   (
                        (obj.type == 'email' && !IsValidEmail($('#' + obj.formName).find('#' + obj.fieldName).attr('value')))

                        || (obj.type == 'text' && $('#' + obj.formName).find('#' + obj.fieldName).attr('value').length == 0)

                        || (obj.type == 'number' && !IsValidNumber($('#' + obj.formName).find('#' + obj.fieldName).attr('value')))
                    )
             ) {
                var div = $('#' + obj.formName).find('#' + obj.fieldName).parents("div.input").first();
                div.addClass('error');
                isError = true;
                if (!elem) elem = $('#' + obj.formName).find('#' + obj.fieldName);
            } else {
                var div = $('#' + obj.formName).find('#' + obj.fieldName).parents("div.input").first();
                div.removeClass('error');
            }

        }
    }


    if (elem)
        elem.focus();
    return !isError;
}
function IsValidEmail(email) {
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    return filter.test(email);
}
function IsValidNumber(number) {
    var filter = /[0-9]+/;
    return filter.test(number);
}




///~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function showNextComp() {
    $($('#companyMenuDisplay > .menuBlock')[0]).empty(); ;
    $($('#companyMenuDisplay > .menuBlock')[1]).empty(); ;
    var max = 90;
    if (ComplastIndex < compGarr.length - 1) {
        $('#companyMenuDisplay').fadeIn();
        $($('#companyMenuDisplay > .menuBlock')[0]).empty(); ;
        $($('#companyMenuDisplay > .menuBlock')[1]).empty(); ;
        if (ComplastIndex != -1) ComphitBottom = false;
    }
    for (ComplastIndex; ComplastIndex < compGarr.length - 1 && ComplastIndex < 4; ComplastIndex++) {
        $($('#companyMenuDisplay > .menuBlock')[0]).append(compGarr[ComplastIndex + 1]);

        if ($($('#companyMenuDisplay > .menuBlock')[0]).height() > max) {
            ComplastIndex++;
            break;
        }
    }
    for (ComplastIndex; ComplastIndex < compGarr.length - 1; ComplastIndex++) {
        $($('#companyMenuDisplay > .menuBlock')[1]).append(compGarr[ComplastIndex + 1]);

        if ($($('#companyMenuDisplay > .menuBlock')[1]).height() > max) {
            ComplastIndex++;
            break;
        }
    }
}

function selectCompMenuItem(id, index) {

    $('#' + id).css('display', 'block');
    $('#' + id).css('visibility', 'hidden');
    var x = $(compGarr[index])[0];
    compGarr[index] = $(x).addClass('selected');
    // while (ComplastIndex < index)
    showNextComp();

    $('#' + id).css('visibility', 'visible');
}


//function showPrevComp() {
//    var max = 90;
//    var count = 0;
//    $($('#companyMenuDisplay > .menuBlock')[0]).empty();;
//    if (0 < ComplastIndex && !ComphitBottom) {
//        $('#companyMenuDisplay').fadeIn();
//        $($('#companyMenuDisplay > .menuBlock')[0]).empty();;
//        count = -1;
//        ComplastIndex--;
//    }

//    for (ComplastIndex; 0 < ComplastIndex && !ComphitBottom; ComplastIndex--) {
//        $($('#companyMenuDisplay > .menuBlock')[0]).prepend(compGarr[ComplastIndex - 1]);
//        count++;
//        if ($($('#companyMenuDisplay > .menuBlock')[0]).height() > max) {
//            ComplastIndex--;
//            break;
//        }

//    }
//    if (ComplastIndex == 0) {
//        ComphitBottom = true;
//    }
//    ComplastIndex += count;

//    checkCompArrows();
//}
//function checkCompArrows() {
//    if (ComplastIndex < compGarr.length - 1) {
//        $('#companyNavigation').fadeIn(function() {
//        $('#companyNavigation > .right').fadeIn();
//        });
//    } else {
//        $('#companyNavigation > .right').fadeOut();
//    }
//    if (0 < ComplastIndex && !ComphitBottom) {
//        $('#companyNavigation').fadeIn(function() {
//        $('#companyNavigation > .left').fadeIn();
//        });
//    } else {
//    $('#companyNavigation > .left').fadeOut();
//    if (!(ComplastIndex < compGarr.length - 1)) {
//            $('#companyNavigation').fadeOut();
//        }
//    }
//}
//////////////////////~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function hidePopUp() {
    $('#popUpStructure').slideUp(function() {
        $($('.glassPanel')[0]).fadeOut();
    });
    $("html").animate({ scrollTop: 0 }, "6000");
    $("body").animate({ scrollTop: 0 }, "6000");

}
function showPopUp() {
    $("html").animate({ scrollTop: $(document).height() }, "6000");
    $("body").animate({ scrollTop: $(document).height() }, "6000");
    $("body").animate({ scrollTop: $('body').height() }, "6000");
    $($('.glassPanel')[0]).fadeIn(function() {
        $($('.glassPanel')[0]).css('filter', 'alpha(opacity=54)')
        $('#popUpStructure').slideDown();
    });
}

/////////////////////////////
$.fn.preload = function() {
    this.each(function() {
        $('<img/>')[0].src = this;
    });
}
///////////////////////////////////////////
function joinUsAnimate() {
    $('#newsLetterForm').slideDown();
}
function joinUsAnimateHide() {
    $('#newsLetterForm').slideUp();
}
var CONST_ = 968;
var isAnimating = false;
function slideRight() {
    var current = $('.content').position().left;
    var totalWidth = 238 * $('.content > div.pressItem').length;
    if (current - CONST_ > -totalWidth && !isAnimating) {
        isAnimating = true;
        $('.content').animate({ left: (current - CONST_) }, 533, function() { isAnimating = false; });
    }
}
function slideLeft() {
    var current = $('.content').position().left;
    var totalWidth = 238 * $('.content > div.pressItem').length;
    if (current + CONST_ <= -50 && !isAnimating) {
        isAnimating = true;
        $('.content').animate({ left: (current + CONST_) }, 533, function() { isAnimating = false; });
    }
}
function refreshUnits(actionMethodUrl, containerLoaderId, containerId, loading) {
    showContactCareer();
    $(".careerBackBtn").css('display', 'none');
    $(".applyJobItem").removeClass("applyJobItemSelected");
    $($(".applyJobItem")[0]).addClass("applyJobItemSelected");
    $("#divDescContainerId").hide();

    if (loading != "")
        $("#" + containerLoaderId).addClass(loading);
    $.get(actionMethodUrl, function(data) {
        $('#' + containerId).html(data);
        if (loading != "")
            $("#" + containerLoaderId).removeClass(loading);
    }
            );
}
function getDescription(actionMethodUrl, containerLoaderId, containerId, loading, careerId) {
    $("#positionId").val(careerId);
    hideContactCareer();
    $("#divDescContainerId").show();
    $(".applyJobItem").removeClass("applyJobItemSelected");

    if (loading != "")
        $("#" + containerLoaderId).addClass(loading);
    $.get(actionMethodUrl, function(data) {
        $('#' + containerId).html(data);
        if (loading != "")
            $("#" + containerLoaderId).removeClass(loading);
    }
            );
}
function defineSelected(elm) {
    $($(".applyJobItem")[$(elm).index() + 1]).addClass("applyJobItemSelected");
}
function adjustSelection() {
    $(".careerBackBtn").css('display', 'none');
    $(".applyJobItem").removeClass("applyJobItemSelected");
    $($(".applyJobItem")[0]).addClass("applyJobItemSelected");
    $("#divDescContainerId").hide();
}
function showContactCareer() {
    $(".applyForm").show();
}
function hideContactCareer() {
    $(".applyForm").hide();
}
function applyVacancy() {
    $(".careerBackBtn").css('display', 'block');
    $(".applyForm").show();
    $("#divDescContainerId").hide();
}
function backToDescription() {
    $(".applyForm").hide();
    $("#divDescContainerId").show();
}
// Press releases animations
var itemsCounter = 1;
var canGoNext = true;
function goToNextReleases() {
    if ($(".pressItem").length > 4) {
    $('.nextRelease').css("cursor", "pointer");
    $('.prevRelease').css("cursor", "pointer");
        var currInd = $('.pressReleaseSlider > .current').index();
        if ($('.pressReleaseSlider > div').length - currInd != 4) {
            if (currInd < $('.pressReleaseSlider > div').length - 2
             && itemsCounter + 3 < $('.pressReleaseSlider > div').length
             && !$('.pressReleaseSlider').is(':animated')) {
                $('.prevRelease').animate({ opacity: 1 }, 1000, function() { });
                $('.prevRelease').css("cursor", "pointer");
                
                $('.pressReleaseSlider').animate({ left: $('.pressReleaseSlider').position().left - $('.pressItem').width() - 60 }, function() {
                    if ($('.pressReleaseSlider > div').length - $('.pressReleaseSlider > .current').index() == 5) {
                        canGoNext = false;
                    }
                    else { canGoNext = true; }
                    canGoPrev = true; itemsCounter++;
                });
                $('.pressReleaseSlider > div').removeClass('current');
                $($('.pressReleaseSlider > .pressItem')[currInd + 1]).addClass('current');
            }
        }
        if (!canGoNext || $('.pressReleaseSlider > div').length - currInd == 4) {
            $('.nextRelease').animate({ opacity: 0.6 }, 1000, function() { });
            $('.nextRelease').css("cursor", "default");
        }
        else {
            if ($('.pressReleaseSlider > div').length - currInd != 5) {
                $('.nextRelease').animate({ opacity: 1 }, 1000, function() { });
                $('.nextRelease').css("cursor", "pointer");
            }
        }
    }
}

var canGoPrev = true;
function goToPrevReleases() {
    if (canGoPrev == true) {
    $('.nextRelease').css("cursor", "pointer");
    $('.prevRelease').css("cursor", "pointer");
        canGoPrev = false;
        var currInd = $('.pressReleaseSlider > .current').index();
        if (currInd - 1 == 0 || currInd == 0) {
            $('.prevRelease').animate({ opacity: 0.6 }, 1000, function() { });
            $('.prevRelease').css("cursor", "default");
        }
        else {
            $('.prevRelease').animate({ opacity: 1 }, 1000, function() { });
            $('.prevRelease').css("cursor", "pointer");
        }

        if (currInd > 0 && !$('.pressReleaseSlider').is(':animated')) {
             $('.nextRelease').animate({ opacity: 1 }, 1000, function() { });
             $('.nextRelease').css("cursor", "pointer");
            
            $('.pressReleaseSlider').animate({ left: $('.pressReleaseSlider').position().left + $('.pressItem').width() + 60 }, function() { canGoPrev = true; canGoNext = true; itemsCounter--; });
            $('.pressReleaseSlider > div').removeClass('current');
            $($('.pressReleaseSlider > .pressItem')[currInd - 1]).addClass('current');
            
             if ($('.pressReleaseSlider > div').length >=4){
                 $('.nextRelease').animate({ opacity: 1 }, 1000, function() { });
                 $('.nextRelease').css("cursor", "pointer");
           }
        }
    }
}


function getCompanyDescription(actionMethodUrl, containerLoaderId, containerId, loading, careerId) {
    $("#positionId").val(careerId);
    hideContactCareer();
    $("#divDescContainerId").show();
    $(".applyJobItem").removeClass("applyJobItemSelected");

    if (loading != "")
        $("#" + containerLoaderId).addClass(loading);
    $.get(actionMethodUrl, function(data) {
        $('#' + containerId).html(data);
        if (loading != "")
            $("#" + containerLoaderId).removeClass(loading);
    }
            );
}
// Press Sister Comapny animations
var itemsCounterCompany = 1;
var canGoNextCompany = true;
function goToNextCompany() {
    $('.navigateNext').css("cursor", "default");
    $('.navigatePrev').css("cursor", "default");
    if ($(".companyItem").length > 4) {
    $('.navigateNext').css("cursor", "pointer");
    $('.navigatePrev').css("cursor", "pointer");
        var currInd = $('.slideCompanies > .current').index();
        if ($('.slideCompanies > div').length - currInd != 4) {
            if (currInd < $('.slideCompanies > div').length - 2
             && itemsCounterCompany + 3 < $('.slideCompanies > div').length
             && !$('.slideCompanies').is(':animated')) {
                $($('.navigatePrev')).animate({ opacity: 1 }, 1000, function() { });
                $('.navigatePrev').css("cursor", "pointer");                
                
                $('.slideCompanies').animate({ left: $('.slideCompanies').position().left - $('.companyItem').width() - 1 }, function() {
                    if ($('.slideCompanies > div').length - $('.slideCompanies > .current').index() == 4) {
                        canGoNextCompany = false;
                    }
                    else { canGoNextCompany = true; }
                    canGoPrevComapny = true; itemsCounterCompany++;
                });
                $('.slideCompanies > div').removeClass('current');
                $($('.slideCompanies > .companyItem')[currInd + 1]).addClass('current');
            }
        }
        if ($('.slideCompanies > div').length - currInd != 4) {
            canGoNextCompany = false;
        }
        if (!canGoNextCompany) {
            $('.navigateNext').animate({ opacity: 0.6 }, 1000, function() { });
            $('.navigateNext').css("cursor", "default");
        }
        else {
            if ($('.slideCompanies > div').length - currInd != 5) {
                $('.navigateNext').animate({ opacity: 1 }, 1000, function() { });
                $('.navigateNext').css("cursor", "pointer");
            }
        }
    }
}

var canGoPrevComapny = true;
function goToPrevCompany() {

    $('.navigateNext').css("cursor", "default");
    $('.navigatePrev').css("cursor", "default");
    if (canGoPrevComapny == true) {
    $('.navigateNext').css("cursor", "pointer");
    $('.navigatePrev').css("cursor", "pointer");
        canGoPrevComapny = false;
        var currInd = $('.slideCompanies > .current').index();
        if (currInd - 1 == 0 || currInd == 0) {
            $($('.navigatePrev')).animate({ opacity: 0.6 }, 1000, function() { });
            $('.navigatePrev').css("cursor", "default");
        }
        else {
            $($('.navigatePrev')).animate({ opacity: 1 }, 1000, function() { });
            $('.navigatePrev').css("cursor", "pointer");
        }

        if (currInd > 0 && !$('.slideCompanies').is(':animated')) {
            $($('.navigateNext')).animate({ opacity: 1 }, 1000, function() { });
            $('.navigateNext').css("cursor", "pointer");
            $('.slideCompanies').animate({ left: $('.slideCompanies').position().left + $('.companyItem').width() + 1 }, function() { canGoPrevComapny = true; canGoNextCompany = true; itemsCounterCompany--; });
            $('.slideCompanies > div').removeClass('current');
            $($('.slideCompanies > .companyItem')[currInd - 1]).addClass('current');
            $('.navigateNext').css("cursor", "default");
        }
    }
}


//certifications.asp animations popups
function showFinancial(elm) {
    $('.financialWrap').fadeIn('slow', function() { });
    $('.popUpStyle').css('display', 'none');
    $($('.popUpStyle')[elm]).center();
    $($('.popUpStyle')[elm]).fadeIn('slow', function() {
    });
}
function closePopUp() {
    $('.financialWrap').fadeOut('slow', function() { });
    $('.popUpStyle').css('display', 'none');
}


