// setup the namespace
if (typeof onepica == 'undefined' || !onepica) {
    var onepica = {};
}

function findPos(obj) {
    //find coordinates of a DIV
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }
    return [curleft, curtop];
}

var screenManager;
function initScreenManager() {
	/*
	 * Unregisters a Varien listener, which monitors when Ajax requests are sent out.
	 * See Crumbs ticket #129.
	 */
	Ajax.Responders.unregister(Varien.GlobalHandlers);

	screenManager = new onepica.ScreenManager();
	/**
	 * Our custom event alerting that the screenManager is available.
	 * You can monitor for this event with: element.observe('onepica:load', callback);
	 */
	document.fire('onepica:load');
}

// For elements that have :hover styles
Cufon.replace('#nav a.level0, .bucketlist-parent li div', { fontFamily: 'Avenir-Black', hover: true });
Cufon.replace('#subnav ul li a', { fontFamily: 'Avenir-Light', hover: true });
Cufon.replace('.home-content ul li a', { fontFamily: 'Avenir-Medium', hover: true });
Cufon.replace('.outer .content .marker, #bookBuilderHeader a,#calloutSocial a', { fontFamily: 'Avenir-Heavy', hover: true});

// All other, non-hover elements
Cufon.replace('.cufon-avenir-heavy, .account-nav ul li', { fontFamily: 'Avenir-Heavy' });
Cufon.replace('.cufon-avenir-medium, .btn-gray, .btn-gray-med, .cart-table th, .account-wrapper h4, .account-wrapper h5, .data-table th', { fontFamily: 'Avenir-Medium', hover:true });
Cufon.replace('.cufon-avenir-light', { fontFamily: 'Avenir-Light' });
Cufon.replace('.cufon-avenir-black, .btn-blue-lg, .btn-blue-lg-long, .btn-blue-med, .btn-blue-sm, .btn-pink-med, .ajaxtocart-loading', { fontFamily: 'Avenir-Black', hover:true });
Cufon.replace('.cufon-flyer, h2.cufon, h1.cufon, h2 span, h3 span, .page-title', { fontFamily: 'Flyer' });

Event.observe(window, 'load', initScreenManager);

