var F = {};
F.to_price =            function format_price(num_amount, str_currency) {
                            
                            //returns nicely formatted price
                            //with 2 decimal places
                            
                            var price, symbol;
                            
                            if (typeof num_amount === 'number') {
                                
                                switch (str_currency) {
                                
                                        case 'GBP':
                                        symbol='&pound;';
                                        break;
                                        
                                        case 'USD':
                                        symbol='&#36;';
                                        break;
                                        
                                        default:
                                        symbol='&pound;';
                                        break;
                                
                                }
                                
                                return symbol+num_amount.toFixed(2);
                            
                            }
                            
                            else {
                                
                                if (typeof num_amount === 'string') {
                                    
                                    var converted = +num_amount;
                                    
                                    if (!isNaN(converted)) {
                                    
                                        return format_price(converted, str_currency);
                                    
                                    }
                                    
                                }
                                
                            }
                            
                            return '';
                            
                        
                        };
            
var UI = {};
UI.populate_select = 	function(options, preselected) {
                            
                            //console.log(arguments);
                            
                            function value(obj, data_row) {
                                if (obj.call) {
                                    return obj.call(data_row);
                                }
                                else {
                                    return obj;
                                }
                            }
                        
                            var ret = [];
                            
                            for (var o=0;o<options.length;o++) {
                                        
                                        //console.log(value(preselected, options[o]), value(options[o].value,options[o]), 'value')
                                        
                                        var selected = preselected ? (value(preselected, options[o]) === value(options[o].value,options[o]) ? 'selected="selected "':'') : '';
                                        
                                        ret.push('<option '+selected 
                                                        +
                                                        (value(options[o].value,options[o])?'value="'+value(options[o].value,options[o]):'')+
                                                        '">'+
                                                        value(options[o].label,options[o])+
                                                        '</option>');
                            
                            };
                            
                            return ret.join('');

                        
                        };
                        
PA = {};

function artwork() {
    
    function get_artwork_price() {
        var finishing = +$('.finishing').val();
        var size = +$('.size').val();
        var l = prices_json.length;
        var price;
        for (var i=0;i<l;i++) {
            if (prices_json[i].fields.finishing === finishing &&
                prices_json[i].fields.size === size) {
                    price = prices_json[i].fields.price;        
                    break;
            }
        
        }
        return price;
    }
    
    function refresh_price_dropdown() {
        var options = [];
        var finishing = +$('.finishing').val();
        var l = prices_json.length;
        
        function label() {
            return this.size+' - '+F.to_price(this.price)
        }
        
        for (var i=0;i<l;i++) {
            if (prices_json[i].fields.finishing === finishing) {
                    var current = prices_json[i];
                    var obj = {
                                price : current.fields.price,
                                size : sizes_json[current.fields.size-1].fields.name,
                                value : sizes_json[current.fields.size-1].pk,
                                label : label
                              }
                    options.push(obj);        
            }
        }
        
        var selected = +$('.size').val();
        $('.size').empty().append(UI.populate_select(options, selected));
        //console.log(UI.populate_select(options, selected));
    }
    
    function present_frame_choice() {
        var finishing = +$('.finishing').val();
        var frame_dropdown = $('#frame_choice');
        if (finishing === 2) {
            frame_dropdown.removeClass('hidden');
        }
        else {
            frame_dropdown.addClass('hidden')
        }
    }
    
    $('.finishing').change(function () {
        refresh_price_dropdown();
        present_frame_choice();
    })
}

if (location.pathname.indexOf('/artwork/')===0) {
    artwork();
}

/* ======================================================= */
/* POPEYE 1.0 */

(function($){$.fn.popeye=function(options){var obj=$(this);var opts=$.extend({},$.fn.popeye.defaults,options);function debug(msg){if(window.console&&window.console.log&&opts.debug){window.console.log(msg)}}return this.each(function(){function display(i,transition){transition=transition||false;var stageIm={backgroundImage:'url('+im.small[i]+')',backgroundPosition:'center'};if(transition){ppyStageWrap.addClass(opts.lclass);ppyStage.fadeTo(100,0,function(){updateCounter(i);ppyStage.css(stageIm)})}else{ppyStage.css(stageIm);updateCounter(i)}preloader.onload=function(){ppyStageWrap.removeClass(opts.lclass);if(transition){ppyStage.fadeTo(100,1);displayCaption(im.title[i])}};if(enlarged){enlarge(i)}else{preloader.src=im.small[i];debug('$.fn.popeye.display: Thumbnail '+i+' loaded');preloader2.onload=function(){debug('$.fn.popeye.display: Image '+i+' loaded')};preloader2.src=im.large[i]}}function updateCounter(i){ppyTotal.text(' '+tot);ppyCur.text((i+1)+' ');debug('$.fn.popeye.updateCounter: Displaying image '+(i+1)+' of '+tot)}function preloadAdjacent(i){var next=i;if(next<(tot-1)){next++}else{next=0}preloaderNext.onload=function(){debug('$.fn.popeye.preloadAdjacent: Next image ('+next+') loaded')};preloaderNext.src=im.large[next];var prev=i;if(prev<=0){prev=tot-1}else{prev--}preloaderPrev.onload=function(){debug('$.fn.popeye.preloadAdjacent: Previous image ('+prev+') loaded')};preloaderPrev.src=im.large[prev]}function enlarge(i){enlarged=true;debug('$.fn.popeye.enlarge: Entering ENLARGED MODE');ppyStageWrap.addClass(opts.lclass);ppyStage.fadeTo((opts.duration/2),0);obj.addClass(opts.eclass);preloader.onload=function(){ppyStageWrap.removeClass(opts.lclass);var imWidth=preloader.width;var imHeight=preloader.height;var cssStageTo={width:imWidth,height:imHeight};var cssStageIm={backgroundImage:'url('+im.large[i]+')',backgroundPosition:'left top'};hideCaption(true);ppyStage.animate(cssStageTo,{queue:false,duration:opts.duration,easing:opts.easing,complete:function(){ppySwitch.removeClass('ppy-enlarge');ppySwitch.addClass('ppy-compact');ppySwitch.unbind('click');ppySwitch.click(function(){compact(cur);return false});ppyStageWrap.click(function(){compact(cur);return false});ppyStageWrap.attr('title',opts.clabel);updateCounter(i);$(this).css(cssStageIm).fadeTo((opts.duration/2),1);displayCaption(im.title[i]);preloadAdjacent(i)}})};preloader.src=im.large[i]}function compact(i){enlarged=false;debug('$.fn.popeye.compact: Entering COMPACT MODE');hideCaption(true);ppyStage.fadeTo((opts.duration/2),0).animate(cssCompactStage,{queue:false,duration:opts.duration,easing:opts.easing,complete:function(){obj.removeClass(opts.eclass);ppySwitch.addClass('ppy-enlarge');ppySwitch.removeClass('ppy-compact');ppySwitch.unbind('click');ppySwitch.click(function(){enlarge(cur);return false});ppyStageWrap.removeAttr('title');ppyStageWrap.unbind('click');display(cur);$(this).fadeTo((opts.duration/2),1,function(){displayCaption(im.title[i])})}})}function displayCaption(cap){ppyText.text(cap);if(opts.countpos=='caption'){updateCounter(cur)}if(cap){var cssPpyCaption={visibility:'visible',width:ppyStage.outerWidth()};ppyCap.css(cssPpyCaption);ppyCap.animate({"height":ppyTextWrap.outerHeight()},{queue:false,duration:90,easing:opts.easing})}else{hideCaption(true)}}function hideCaption(transition){transition=transition||false;var cssPpyCaption={visibility:'hidden',overflow:'hidden',width:maxWidth};var duration=false;if(transition){duration=70}else{duration=0}ppyCap.animate({"height":'0px'},{queue:false,duration:duration,easing:opts.easing,complete:function(){ppyCap.css(cssPpyCaption)}})}function init(){obj.find('li').each(function(i){im.width[i]=$(this).find('img').width();im.height[i]=$(this).find('img').height();debug('$.fn.popeye.init -> im.width['+i+']: '+im.width[i]+', im.height['+i+']: '+im.height[i]);if(maxWidth>im.width[i]){maxWidth=im.width[i]}if(maxHeight>im.height[i]){maxHeight=im.height[i]}});debug('$.fn.popeye.init -> maxWidth: '+maxWidth+', maxHeight: '+maxHeight);cssCompactStage={width:maxWidth,height:maxHeight};cssPpyTools={opacity:0};debug('$.fn.popeye.init -> Starting in COMPACT MODE');obj.find('ul').remove();if(opts.nojsclass){obj.find('.'+opts.nojsclass).remove()}obj.append(ppyStageWrap);ppyStageWrap.append(ppyStage);ppyStage.append(ppyTools);if(opts.countpos=='overlay'){ppyStage.append(ppyCount)}ppyTools.append(ppyPrev);ppyTools.append(ppySwitch);ppyTools.append(ppyNext);if(opts.caption){ppyStageWrap.after(ppyCap)}ppyCount.append(ppyCur);ppyCount.append(ppyTotal);ppyCur.after(opts.oflabel);ppyCap.append(ppyTextWrap);if(opts.countpos=='caption'){ppyTextWrap.prepend(ppyCount)}ppyTextWrap.append(ppyText);if(opts.jsclass){obj.addClass(opts.jsclass)}if(opts.direction=='left'){ppyTools.addClass(opts.dlclass)}else if(opts.direction=='right'){ppyTools.addClass(opts.drclass)}ppyStage.css(cssCompactStage);ppyTools.css(cssPpyTools);display(cur);hideCaption();var imHeight=ppyStageWrap.outerHeight();var imWidth=ppyStageWrap.outerWidth();var imTop=obj.offset().top-parseInt(obj.css('marginTop'),10);var imLeft=obj.offset().left-parseInt(obj.css('marginLeft'),10);var imRight=$(window).width()-(obj.offset().left+imWidth)-parseInt(obj.css('marginRight'),10);var imFloat=obj.css('float');var imMarginTop=obj.css('margin-top');var imMarginRight=obj.css('margin-right');var imMarginBottom=obj.css('margin-bottom');var imMarginLeft=obj.css('margin-left');var cssPlaceholder={height:imHeight,width:imWidth,float:imFloat,marginTop:imMarginTop,marginRight:imMarginRight,marginBottom:imMarginBottom,marginLeft:imMarginLeft};var cssAbsolutePpy={position:'absolute',top:imTop,zIndex:'100'};if(opts.direction=='left'){cssAbsolutePpy.left=imLeft}else if(opts.direction=='right'){cssAbsolutePpy.right=imRight}ppyPlaceholder.css(cssPlaceholder);obj.after(ppyPlaceholder);obj.appendTo($('body'));obj.css(cssAbsolutePpy);ppyStage.hover(function(e){ppyTools.stop().fadeTo(100,opts.opacity)},function(e){ppyTools.stop().fadeTo(500,0)});ppyTools.mouseleave(function(e){ppyTools.stop().fadeTo(500,0)});ppyTools.mouseenter(function(e){ppyTools.stop().fadeTo(100,opts.opacity)});obj.hover(function(e){displayCaption(im.title[cur])},function(e){hideCaption(true)});ppyPrev.click(function(){if(cur<=0){cur=tot-1}else{cur--}display(cur,true);return false});ppyNext.click(function(){if(cur<(tot-1)){cur++}else{cur=0}display(cur,true);return false});ppySwitch.click(function(){enlarge(cur);return false})}var preloader=new Image();var preloader2=new Image();var preloaderNext=new Image();var preloaderPrev=new Image();var preloaders=[];var ppyPlaceholder=$('<div class="ppy-placeholder" />');var ppyStageWrap=$('<div class="ppy-stagewrap" />');var ppyStage=$('<div class="ppy-stage" />');var ppyTools=$('<div class="ppy-tools" />');var ppyPrev=$('<div class="ppy-prev">'+opts.plabel+'</div>');var ppyNext=$('<div class="ppy-next">'+opts.nlabel+'</div>');var ppySwitch=$('<div class="ppy-enlarge">'+opts.blabel+'</div>');var ppyCap=$('<div class="ppy-cap" />');var ppyCount=$('<div class="ppy-count" />');var ppyCur=$('<em class="ppy-cur" />');var ppyTotal=$('<em class="ppy-total" />');var ppyTextWrap=$('<div class="ppy-textwrap" />');var ppyText=$('<span class="ppy-text" />');var im={small:[],title:[],large:[],width:[],height:[]};var maxWidth=10000;var maxHeight=10000;var cur=0;var tot=obj.find('img').length;var togo=tot;debug('$.fn.popeye -> '+tot+' thumbnails found.');var cssCompactStage={};var cssPpyTools={};var enlarged=false;obj.find('li').each(function(i){im.small[i]=$(this).find('img').attr('src');im.title[i]=$(this).find('img').attr('alt');im.large[i]=$(this).find('a').attr('href');debug('$.fn.popeye -> Loading "'+im.small[i]+'"');$(this).find('img').load(function(){if(--togo<1){debug('$.fn.popeye -> All thumbnails loaded!');init()}}).attr('src',im.small[i])})})};$.fn.popeye.defaults={jsclass:'ppy-js',nojsclass:'ppy-no-js',eclass:'ppy-expanded',lclass:'ppy-loading',dlclass:'ppy-left',drclass:'ppy-right',direction:'left',duration:250,opacity:0.7,countpos:'overlay',caption:true,easing:'swing',nlabel:'',plabel:'',oflabel:'of',blabel:'',clabel:'Click to close',debug:false}})(jQuery);

/* ======================================================= */


    $(document).ready(function () {

        var options = {
            direction:  'left',
            duration:   250,
            plabel: 'Zoom in'
        }
    
        $('#popeye1').popeye(options);

    });

    
