$(document).ready(function () {
	// clear out plugin default styling 
	$.blockUI.defaults.message = null; 
	$.blockUI.defaults.css = {}; 
	$.blockUI.defaults.overlayCSS = {}; 								 
	
	// init calendar objects
	popup_create();
	event_popup_init();
});

function popup_create() {
    var $popup, $inner, $outer, $shadow;
    $inner = $('<div class="inner"></div>');
    $outer = $('<div class="outer"></div>').append($inner);
    $popup = $('<div></div>').attr({
        'id': 'popup'
    }).css({
        zIndex: 1004
    }).append($outer).appendTo('body').hide();
    $popup.css({
        position: 'absolute',
        zIndex: 1004
    });
    $outer.css({
        position: 'relative',
        zIndex: 1005
    });
    $shadow = $([]);
    var dropShadowSteps = 4;
    for (var i = 1; i < dropShadowSteps; i++) {
        $shadow = $shadow.add($('<div></div>').addClass('shadow').css({
            zIndex: 1004 - i,
            top: i,
            left: i
        }))
    };
    $shadow.prependTo($popup)
}

function event_popup_init() {
    var $popup = $('#popup');
    var $inner = $('#popup .inner');
    var $outer = $('#popup .outer');
    $('a.event').click(function () {
        $('#minical').block();
        var myPos = $(this).offset();
        if ($(this).parents('table').attr('class') == 'mini') {
            var jsonUrl = "/data/date_detail_json.cfm?d=" + $(this).attr('rel');
            var jsonData = $.getJSON(jsonUrl, function (json) {
                var contentH3 = '<h3>' + json.DATE + '</h3>';
                var contentUL = $('<ul class="events"></ul>');
                $(json.EVENTS).each(function (i) {
                    $(contentUL).append('<li><span class="time">' + json.EVENTS[i].TIME + ':&nbsp; </span><a href="/tickets/performance_detail.cfm?id=' + json.EVENTS[i].ID + '">' + json.EVENTS[i].PROGRAM + '</a></li>')
                });
                $(contentUL).find(':first-child').addClass('first');
                $('#popup .inner').html('').append(contentH3, contentUL);
                var posX = myPos.left - 15;
                if (posX + 275 > $(document).width()) {
                    posX = $(document).width() - 275
                } else if (posX < 1) {
                    posX = 5
                }
                $('#minical').unblock();
                $('#popup').css({
                    left: posX + 'px',
                    top: myPos.top - 25 + 'px'
                }).show();
                $('#popup .shadow').css({
                    height: $('#popup .inner').height() + 'px'
                });
                $('#popup').hover(function () {
                    $(this).show()
                }, function () {
                    $(this).hide()
                })
            })
        } else {
            var jsonUrl = "/data/performance_detail_json.cfm?id=" + $(this).attr('rel');
            var jsonData = $.getJSON(jsonUrl, function (json) {
                var contentH3 = '<h3>' + json.TIME + ', ' + json.LOCATION + '</h3>';
                var contentA = '<a href="' + json.URLPREFIX + '/tickets/performance_detail.cfm?id=' + json.ID + '">' + json.PROGRAM + '</a>';
                var contentUL = $('<ul class="details"></ul>');
                $(json.DETAILS).each(function (i) {
                    $(contentUL).append('<li>' + json.DETAILS[i].COMPOSER + ': <strong>' + json.DETAILS[i].PIECE + '</strong></li>')
                });
                contentUL.find(':first-child').addClass('first');
                $('#popup .inner').html('').append(contentH3, contentA, contentUL);
                var posX = myPos.left - 50;
                if (posX + 275 > $(document).width()) {
                    posX = $(document).width() - 275
                } else if (posX < 1) {
                    posX = 5
                }
                $('#popup').css({
                    left: posX + 'px',
                    top: myPos.top - 25 + 'px'
                }).show().bgiframe();
                $('#popup .shadow').css({
                    height: $('#popup .inner').height() + 'px'
                });
                $('#popup').hover(function () {
                    $(this).show()
                }, function () {
                    $(this).hide()
                })
            })
        }
        return false
    });
    $('#calendar tbody td').hover(function () {
        $(this).addClass('hover')
    }, function () {
        $(this).removeClass('hover')
    });
    mini_calendar_init()
}

function mini_calendar_init() {
    $('#calendar.mini thead a').click(function () {
        var href = $(this).attr('href').split("?")[1];
        $('#minical').block();
        $("#calendar.mini a").unbind();
        $('#minical').load('/data/calendar_table_xml.cfm?' + href, null, function () {
            $('#minical').unblock();
            event_popup_init()
        });
        return false
    })
}

/* plugin: blockUI */
(function($){if(/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery)||/^1.1/.test($.fn.jquery)){alert("blockUI requires jQuery v1.2.3 or later!  You are using v"+$.fn.jquery);return}$.fn._fadeIn=$.fn.fadeIn;var noOp=function(){};var mode=document.documentMode||0;var setExpr=$.browser.msie&&($.browser.version<8&&!mode||mode<8);var ie6=$.browser.msie&&/MSIE 6.0/.test(navigator.userAgent)&&!mode;$.blockUI=function(opts){install(window,opts)};$.unblockUI=function(opts){remove(window,opts)};$.growlUI=function(title,
message,timeout,onClose){var $m=$('<div class="growlUI"></div>');if(title)$m.append("<h1>"+title+"</h1>");if(message)$m.append("<h2>"+message+"</h2>");if(timeout==undefined)timeout=3E3;$.blockUI({message:$m,fadeIn:700,fadeOut:1E3,centerY:false,timeout:timeout,showOverlay:false,onUnblock:onClose,css:$.blockUI.defaults.growlCSS})};$.fn.block=function(opts){return this.unblock({fadeOut:0}).each(function(){if($.css(this,"position")=="static")this.style.position="relative";if($.browser.msie)this.style.zoom=
1;install(this,opts)})};$.fn.unblock=function(opts){return this.each(function(){remove(this,opts)})};$.blockUI.version=2.33;$.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:true,theme:false,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:0.6,cursor:"wait"},growlCSS:{width:"350px",top:"10px",
left:"",right:"10px",border:"none",padding:"5px",opacity:0.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:false,baseZ:1E3,centerX:true,centerY:true,allowBodyStretch:true,bindEvents:true,constrainTabKey:true,fadeIn:200,fadeOut:400,timeout:0,showOverlay:true,focusInput:true,applyPlatformOpacityRules:true,onBlock:null,
onUnblock:null,quirksmodeOffsetHack:4};var pageBlock=null;var pageBlockEls=[];function install(el,opts){var full=el==window;var msg=opts&&opts.message!==undefined?opts.message:undefined;opts=$.extend({},$.blockUI.defaults,opts||{});opts.overlayCSS=$.extend({},$.blockUI.defaults.overlayCSS,opts.overlayCSS||{});var css=$.extend({},$.blockUI.defaults.css,opts.css||{});var themedCSS=$.extend({},$.blockUI.defaults.themedCSS,opts.themedCSS||{});msg=msg===undefined?opts.message:msg;if(full&&pageBlock)remove(window,
{fadeOut:0});if(msg&&typeof msg!="string"&&(msg.parentNode||msg.jquery)){var node=msg.jquery?msg[0]:msg;var data={};$(el).data("blockUI.history",data);data.el=node;data.parent=node.parentNode;data.display=node.style.display;data.position=node.style.position;if(data.parent)data.parent.removeChild(node)}var z=opts.baseZ;var lyr1=$.browser.msie||opts.forceIframe?$('<iframe class="blockUI" style="z-index:'+z++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+
opts.iframeSrc+'"></iframe>'):$('<div class="blockUI" style="display:none"></div>');var lyr2=$('<div class="blockUI blockOverlay" style="z-index:'+z++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');var lyr3,s;if(opts.theme&&full)s='<div class="blockUI blockMsg blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+z+';display:none;position:fixed">'+'<div class="ui-widget-header ui-dialog-titlebar blockTitle">'+(opts.title||"&nbsp;")+"</div>"+'<div class="ui-widget-content ui-dialog-content"></div>'+
"</div>";else if(opts.theme)s='<div class="blockUI blockMsg blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+z+';display:none;position:absolute">'+'<div class="ui-widget-header ui-dialog-titlebar blockTitle">'+(opts.title||"&nbsp;")+"</div>"+'<div class="ui-widget-content ui-dialog-content"></div>'+"</div>";else if(full)s='<div class="blockUI blockMsg blockPage" style="z-index:'+z+';display:none;position:fixed"></div>';else s='<div class="blockUI blockMsg blockElement" style="z-index:'+
z+';display:none;position:absolute"></div>';lyr3=$(s);if(msg)if(opts.theme){lyr3.css(themedCSS);lyr3.addClass("ui-widget-content")}else lyr3.css(css);if(!opts.applyPlatformOpacityRules||!($.browser.mozilla&&/Linux/.test(navigator.platform)))lyr2.css(opts.overlayCSS);lyr2.css("position",full?"fixed":"absolute");if($.browser.msie||opts.forceIframe)lyr1.css("opacity",0);var layers=[lyr1,lyr2,lyr3],$par=full?$("body"):$(el);$.each(layers,function(){this.appendTo($par)});if(opts.theme&&opts.draggable&&
$.fn.draggable)lyr3.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var expr=setExpr&&(!$.boxModel||$("object,embed",full?null:el).length>0);if(ie6||expr){if(full&&opts.allowBodyStretch&&$.boxModel)$("html,body").css("height","100%");if((ie6||!$.boxModel)&&!full){var t=sz(el,"borderTopWidth"),l=sz(el,"borderLeftWidth");var fixT=t?"(0 - "+t+")":0;var fixL=l?"(0 - "+l+")":0}$.each([lyr1,lyr2,lyr3],function(i,o){var s=o[0].style;s.position="absolute";if(i<2){full?s.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:"+
opts.quirksmodeOffsetHack+') + "px"'):s.setExpression("height",'this.parentNode.offsetHeight + "px"');full?s.setExpression("width",'jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):s.setExpression("width",'this.parentNode.offsetWidth + "px"');if(fixL)s.setExpression("left",fixL);if(fixT)s.setExpression("top",fixT)}else if(opts.centerY){if(full)s.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
s.marginTop=0}else if(!opts.centerY&&full){var top=opts.css&&opts.css.top?parseInt(opts.css.top):0;var expression="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+top+') + "px"';s.setExpression("top",expression)}})}if(msg){if(opts.theme)lyr3.find(".ui-widget-content").append(msg);else lyr3.append(msg);if(msg.jquery||msg.nodeType)$(msg).show()}if(($.browser.msie||opts.forceIframe)&&opts.showOverlay)lyr1.show();if(opts.fadeIn){var cb=opts.onBlock?
opts.onBlock:noOp;var cb1=opts.showOverlay&&!msg?cb:noOp;var cb2=msg?cb:noOp;if(opts.showOverlay)lyr2._fadeIn(opts.fadeIn,cb1);if(msg)lyr3._fadeIn(opts.fadeIn,cb2)}else{if(opts.showOverlay)lyr2.show();if(msg)lyr3.show();if(opts.onBlock)opts.onBlock()}bind(1,el,opts);if(full){pageBlock=lyr3[0];pageBlockEls=$(":input:enabled:visible",pageBlock);if(opts.focusInput)setTimeout(focus,20)}else center(lyr3[0],opts.centerX,opts.centerY);if(opts.timeout){var to=setTimeout(function(){full?$.unblockUI(opts):
$(el).unblock(opts)},opts.timeout);$(el).data("blockUI.timeout",to)}}function remove(el,opts){var full=el==window;var $el=$(el);var data=$el.data("blockUI.history");var to=$el.data("blockUI.timeout");if(to){clearTimeout(to);$el.removeData("blockUI.timeout")}opts=$.extend({},$.blockUI.defaults,opts||{});bind(0,el,opts);var els;if(full)els=$("body").children().filter(".blockUI").add("body > .blockUI");else els=$(".blockUI",el);if(full)pageBlock=pageBlockEls=null;if(opts.fadeOut){els.fadeOut(opts.fadeOut);

setTimeout(function(){reset(els,data,opts,el)},opts.fadeOut)}else reset(els,data,opts,el)}function reset(els,data,opts,el){els.each(function(i,o){if(this.parentNode)this.parentNode.removeChild(this)});if(data&&data.el){data.el.style.display=data.display;data.el.style.position=data.position;if(data.parent)data.parent.appendChild(data.el);$(el).removeData("blockUI.history")}if(typeof opts.onUnblock=="function")opts.onUnblock(el,opts)}function bind(b,el,opts){var full=el==window,$el=$(el);if(!b&&(full&&
!pageBlock||!full&&!$el.data("blockUI.isBlocked")))return;if(!full)$el.data("blockUI.isBlocked",b);if(!opts.bindEvents||b&&!opts.showOverlay)return;var events="mousedown mouseup keydown keypress";b?$(document).bind(events,opts,handler):$(document).unbind(events,handler)}function handler(e){if(e.keyCode&&e.keyCode==9)if(pageBlock&&e.data.constrainTabKey){var els=pageBlockEls;var fwd=!e.shiftKey&&e.target==els[els.length-1];var back=e.shiftKey&&e.target==els[0];if(fwd||back){setTimeout(function(){focus(back)},
10);return false}}if($(e.target).parents("div.blockMsg").length>0)return true;return $(e.target).parents().children().filter("div.blockUI").length==0}function focus(back){if(!pageBlockEls)return;var e=pageBlockEls[back===true?pageBlockEls.length-1:0];if(e)e.focus()}function center(el,x,y){var p=el.parentNode,s=el.style;var l=(p.offsetWidth-el.offsetWidth)/2-sz(p,"borderLeftWidth");var t=(p.offsetHeight-el.offsetHeight)/2-sz(p,"borderTopWidth");if(x)s.left=l>0?l+"px":"0";if(y)s.top=t>0?t+"px":"0"}
function sz(el,p){return parseInt($.css(el,p))||0}})(jQuery);

/* plugin: bgIframe */
(function($){$.fn.bgIframe=$.fn.bgiframe=function(s){if($.browser.msie&&/6.0/.test(navigator.userAgent)){s=$.extend({top:"auto",left:"auto",width:"auto",height:"auto",opacity:true,src:"javascript:false;"},s||{});var prop=function(n){return n&&n.constructor==Number?n+"px":n},html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+(s.opacity!==false?"filter:Alpha(Opacity='0');":"")+"top:"+(s.top=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+'px')":
prop(s.top))+";"+"left:"+(s.left=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+'px')":prop(s.left))+";"+"width:"+(s.width=="auto"?"expression(this.parentNode.offsetWidth+'px')":prop(s.width))+";"+"height:"+(s.height=="auto"?"expression(this.parentNode.offsetHeight+'px')":prop(s.height))+";"+'"/>';return this.each(function(){if($("> iframe.bgiframe",this).length==0)this.insertBefore(document.createElement(html),this.firstChild)})}return this}})(jQuery);



