﻿
function shiftValidateAndScroll() {
    if (Page_ClientValidate('')) {
        var scrollToLabel = document.getElementById('shiftScrollToResults');
        if (scrollToLabel == null)
            scrollToLabel = document.getElementById('shiftScrollToFooter');
        shiftScrollToElement(scrollToLabel);
        return true;
    } else {
        return false;
    }
}

function shiftScrollToElement(theElement){
    var selectedPosX = 0;
    var selectedPosY = 0;
    while(theElement != null) {
        selectedPosX += theElement.offsetLeft;
        selectedPosY += theElement.offsetTop;
        theElement = theElement.offsetParent;
    }
    window.scrollTo(selectedPosX,selectedPosY);
}

function shiftCalcTracking(trackingParam){
    //alert('Tracking Code: ' + trackingParam);
    urchinTracker(trackingParam);
}

/**
* accessible pop-up links
*/
var _POPUP_FEATURES = 'location=0,statusbar=0,menubar=0,scrollbars=1,width=400,height=410';
function raw_popup(url, target, features) {
    // pops up a window containing url optionally named target, optionally having features
    if (isUndefined(features)) features = _POPUP_FEATURES;
    if (isUndefined(target  )) target   = '_blank';
    var theWindow = window.open(url, target, features);
    theWindow.focus();
    return theWindow;
}

function link_popup(src, features) {
    // to be used in an html event handler as in: <a href="..." onclick="link_popup(this,...)" ...
    // pops up a window grabbing the url from the event source's href
    return raw_popup(src.getAttribute('href'), src.getAttribute('target') || '_blank', features);
}

// MISC CLEANING-AFTER-MICROSOFT STUFF

function isUndefined(v) {
    var undef;
    return v===undef;
}