﻿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 _getScreenHeight() {
    var myHeight = 0;
    if (typeof (window.innerWidth) == 'number') {
        //Non-IE
        myHeight = window.innerHeight;
    } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
        //IE 6+ in 'standards compliant mode'
        myHeight = document.documentElement.clientHeight;
    } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
        //IE 4 compatible
        myHeight = document.body.clientHeight;
    }
    return myHeight;
}

function _getScreenWidth() {
    var myWidth = 0;
    if (typeof (window.innerWidth) == 'number') {
        //Non-IE
        myWidth = window.innerWidth;
    } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
    } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
    }
    return myWidth;
}


//added 09-07-2009 for RealityMode
function _verticallyCentreForms(_ar_el) {
    for (var i = 0; i < _ar_el.length; i++) {
        _verticallyCentreForm(_ar_el[i]);
    }
}

function _verticallyCentreForm(_el) {
    _el_to_center = $(_el);
    if (_el_to_center != null) {

        var _distanceTop = _verticallyCentreGetDistance(_el_to_center, true, false);
        _el_to_center.css({ "marginTop": _distanceTop });
    }
}

function _verticallyCentreElements(_ar_el, _type, _scroll, _useParent, _blnAnimate, _intSpeedAnimation) {
    for (var i = 0; i < _ar_el.length; i++) {
        _verticallyCentreElement(_ar_el[i], _type, _scroll, _useParent, _blnAnimate, _intSpeedAnimation);
    }
}

function _verticallyCentreElement(_el, _type, _scroll, _useParent, _blnAnimate, _intSpeedAnimation) {
    _el_to_center = $(_el);

    if (_el_to_center != null) {

        var _distanceTop = _verticallyCentreGetDistance(_el_to_center, _scroll, _useParent);

        if (_blnAnimate) {
            var _defaultSpeed = 150;

            if (_intSpeedAnimation == null || _intSpeedAnimation == "") {
                _intSpeedAnimation = _defaultSpeed;
            }
        }

        if (_type == "margin") {
            if (_blnAnimate) {
                _el_to_center.animate({ "marginTop": _distanceTop }, _intSpeedAnimation, "linear");
            }
            else {
                _el_to_center.css({ "top": _distanceTop });
            }
        }
        else if (_type == "absolute") {
            if (_blnAnimate) {
                _el_to_center.animate({ "top": _distanceTop }, _intSpeedAnimation, "linear");
            }
            else {
                _el_to_center.css({ "top": _distanceTop });
            }
        }
    }
}

function _verticallyCentreGetDistance(_el, _scroll, _useParent) {
    if (_el != "" && _el != null) {
        if (_el != Object)
            _el_to_center = $(_el);
        else
            _el_to_center = _el;

        if (_el_to_center != null) {
            var _osHeightCenter = _el_to_center.attr("offsetHeight");

            if (!_useParent)
                var _osHeightParent = _getScreenHeight();
            else
                var _osHeightParent = _el_to_center.parent().attr("offsetHeight");

            if (_scroll)
                var _distanceTop = parseInt((_osHeightParent / 2) - (_osHeightCenter / 2) + (getScrollXY()[1]));
            else
                var _distanceTop = parseInt((_osHeightParent / 2) - (_osHeightCenter / 2));
            if (_distanceTop < 0) {
                _distanceTop = 0;
            }

            return _distanceTop;
        }
    }
}

var _curElClassName; //create a global var so you can always know where the user is at

function imOn(ev) {
    if (!ev) {
        ev = window.event;
    }
    var el = (ev.target) ? ev.target : ev.srcElement;

    if (el.className) {
        if (el.className != '') {
            _curElClassName = el.className.split(' ').slice(-1);
        }
    }
    else {
        _curElClassName = "";
    }
    if (!(_curElClassName == "hold_slide") && !_blnReset)
        _resetSlide();
}


function _removeAnnoyingSpacesFromTableForIE(_selector) {
    $(_selector + " tr td").children().each(function() {
        var _temp = $(this).parent().html();
        _temp = _temp.replace("\n\r", "");
        _temp = _temp.replace("\n", "");
        _temp = _temp.replace("\r", "");
        _temp = jQuery.trim(_temp);
        $(this).parent().html(_temp);
    });
}

function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");

    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }
    return "";
}

//geanimeerde versie met IE-fixes
function _switchPages(newPage, blnAnimate) {
    _newPage = _getPage(newPage);
    if (blnAnimate)
        _switchPagesFX(_newPage)
    else
        _switchPagesNoFx(_newPage)
}

function _switchPagesNoFx(_newPage) {
    if (_curPage != _newPage) {
        //hideCurrent
        $("." + _curPage).hide(0);
        //showNew
        $("." + _newPage).show(0);
        _curPage = _newPage;

    }
}


var _t;
//geanimeerde versie met IE-fixes
function _switchPagesFX(_newPage) {
    if (_curPage != _newPage) {
        //hideCurrent
        _spHideCur();
    }
}

function _spHideCur() {
    $("." + _curPage).stop().animate({ height: '0px', width: _width + 'px', marginTop: _margin + 'px', opacity: '0' }, { duration: _switchPageSpeed, complete: _spShowNew });
}

function _spShowNew() {
    _cbSwitchPagesFX1();
    //showNew
    _t = window.setTimeout(function() {
        $("." + _newPage).show()
        _initPsLikeSmoothingBorder();
        $("." + _newPage).stop().show().animate({ height: _height + 'px', width: _width + 'px', marginTop: '0px', opacity: '1' },
        { queue: false,
            duration: _switchPageSpeed,
            complete: function() {
                if ($.browser.msie) {
                    this.style.removeAttribute('filter');
                }
            }
        });
    }, _switchPageSpeed);
}

function _getPage(_newPage) {
    var _arPage = _newPage.split("page=");
    _newPage = _arPage[1];
    return _newPage;
}

function _hidePages(blnAnimate) {
    if (blnAnimate) {
        //geanimeerde versie
        for (var i = 0; i < _arPages.length; i++) {
            if (_arPages[i] != _curPage) {
                $("." + _arPages[i]).stop().css({ height: '0px', width: _width + 'px', marginTop: _margin + 'px', opacity: '0' });
                $("." + _arPages[i]).css({ "display": "none" });
            }
        }
    } else {
        //normale versie
        for (var i = 0; i < _arPages.length; i++) {
            if (_arPages[i] != _curPage) {
                $("." + _arPages[i]).css({ "display": "none" });
            }
        }
    }
}

function _cbSwitchPagesFX1() {
    $("." + _curPage).hide();
}

function _cbSwitchPagesFX2() {
}

function _initPsLikeSmoothingBorder() {
    _psLikeSmoothingBorder(1);
    _psLikeSmoothingBorderByClassName("page_header_div", 1);
    window.clearTimeout(_t);

    _curPage = _newPage;

}

function _psLikeSmoothingBorder(_b) {
    $(".ps_border").each(function() {
        var _w = $(this).attr("offsetWidth"); -(2 * _b);
        var _h = $(this).attr("offsetHeight"); -(2 * _b);

        var _div_ps_border = "<div class='ps_border_inner tp40' style='width:" + _w + "px;height:" + _h + "px;border-width: " + _b + "px;'></div>";
        if ($(this).find("div.ps_border_inner").is('*')) {
            $(this).find("div.ps_border_inner").remove();

        }
        $(this).append(_div_ps_border);
    });
}

function _psLikeSmoothingBorderByClassName(_className, _b) {
    $("." + _className).each(function() {
        var _w = $(this).attr("offsetWidth"); -(2 * _b);
        var _h = $(this).attr("offsetHeight"); -(2 * _b);

        var _div_ps_border = "<div class='ps_border_inner tp40' style='width:" + _w + "px;height:" + _h + "px;border-width: " + _b + "px;'></div>";
        if ($(this).find(".ps_border_inner").is('*')) {
            $(this).find("div.ps_border_inner").remove();
        }
        $(this).append(_div_ps_border);
    });
}

function _initNavLooseLinksByArray(arLinks) {

    for (var i = 0; i < arLinks.length; i++) {
        _initNavLooseLink(arLinks[i]);
    }
}

function _initNavLooseLink(_selector) {

    $(_selector).click(function() {
        _switchPages($(this).attr("href"), blnAnimatePageSwitch);
        if (_selector != ".a_cont")
            _clearClassPrevButton();
        return false;
    });
}

function _clearClassPrevButton() {
    if (_prevButton != null)
        _prevButton.removeClass("active");
}

function _clearClassActive(_obj) {

    if (_obj != null) {
        _obj.removeClass("active");
    }
}

function _addClassActive(_obj) {
    if (_obj != null) {
        _obj.addClass("active");

    }
}
