glow.ready(function(){
//
var imgOverlay = new glow.widgets.Overlay(glow.dom.create('<div id="overlay"></div>'),{
    anim:'fade',
    modal:true
});

// Create controls & events
glow.dom.get('#overlay').wrap('<div id="controls"></div>');
var crslControls = glow.dom.create('<p class="control ctrl_prev">Prev</p>\n<p class="control ctrl_next">Next</p>\n<p id="paginate"><span class="page"></span> <span class="ctrl_close">X</span></p>');
glow.dom.get('#controls').prepend(crslControls);

var imgHrefs = glow.dom.get('.gallery a');
var imgArray = [];
var imgBig = glow.dom.create('<img id="gallery_lrg" src="none">');
glow.dom.get('#overlay').append(imgBig);

imgHrefs.each(function(elem){
    imgArray.push(glow.dom.get(this));
    glow.events.addListener(glow.dom.get(this),'click',function(getit){
    // Set initial lightbox image
        var imgPosition = elem;
        var imgHref = glow.dom.get(imgArray[elem]).attr('href');
        var bigImg = glow.dom.get('#gallery_lrg').attr('src',imgHref);
        // Update pagination values
        glow.events.addListener(bigImg,'load',function() {
            imgOverlay.show();
            glow.dom.get('.page').text((elem + 1) + ' of ' + imgArray.length);
        });
        // Add 'next' event
        glow.events.addListener('.ctrl_next, #gallery_lrg','click',function(){
            if (imgPosition == (imgArray.length -1)) {
                imgPosition = 0;
            } else {
                imgPosition++;
            }
            var arrayPosition = imgPosition;
            moveImg(imgArray[imgPosition],arrayPosition);
        });
        // Add 'previous' event
        glow.events.addListener('.ctrl_prev','click',function(){
            if (imgPosition === 0) {
                imgPosition = (imgArray.length -1);
            } else {
                imgPosition--;
            }
            var arrayPosition = imgPosition;
            moveImg(imgArray[imgPosition],arrayPosition);
        });
        // Add 'close' event
        glow.events.addListener('.ctrl_close','click',function(){ imgOverlay.hide(); });
        return false;
    });
});

function moveImg(imgPosition,arrayPosition){
    var theImg = glow.dom.get('#gallery_lrg');
    glow.anim.fadeTo(theImg,0.25,0.5);
    var spinner = glow.dom.create('<img id="spinner" src="/site_media/images/icons/spinner.gif">');
    glow.dom.get('#overlay').append(spinner);
    var imgHref = glow.dom.get(imgPosition).attr('href');
    var bigImg = theImg.attr('src',imgHref);
//    var overlayHeight = bigImg.height();
//    var overlayWidth = bigImg.width();
    glow.events.addListener(bigImg,'load',function() {
        glow.dom.get('#spinner').remove();
        glow.anim.fadeTo(theImg,1,0.5);
//        glow.dom.get('#overlay').height(overlayHeight);
//        glow.dom.get('#overlay').width(overlayWidth);
        imgOverlay.setPosition();
		glow.dom.get('#paginate .page').text((arrayPosition + 1) + ' of ' + imgArray.length);
    });
}

glow.events.addListener(imgOverlay,'afterHide',function() {
    glow.dom.get('#gallery_lrg').attr('src','none');
});

function hasMP4() {
	var v = document.createElement('video');
	return !!(v.canPlayType && v.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/, ''));
}

function flashFallback() {
	var supportsMP4 = hasMP4();
	var agent = navigator.userAgent.toLowerCase(); 
    var is_android = (agent.indexOf('android')!=-1);
    var is_ipad = (agent.indexOf('ipad')!=-1);
	var is_iphone = (agent.indexOf('iphone')!=-1);
    var is_ipod = (agent.indexOf('ipod')!=-1);
	if (supportsMP4 === true) {
	if (is_android || is_ipad || is_iphone || is_ipod) {
		var video = glow.dom.get('section.video');
		video.empty();
		var vidHeight = video.attr('data-height');
		var vidWidth = video.attr('data-width');
		var vidId = video.attr('data-id');
        var vidURL = 'http://vimeo.com/play_redirect?clip_id='+vidId + '&quality=mobile';
        var vidObject = '<video autobuffer controls height="'+vidHeight+'" width="'+vidWidth+'" src="'+vidURL+'" type="video/mp4"></video>';
		video.append(vidObject);	
	}
	}
}

flashFallback();

//
});