// Upgrade from MooTools Core 1.2 to MooTools Core 1.3
//
// Brings compatibility for Element.set and Element.get with multipe arguments.
// Use at your own risk; if cou can - fix your code and do not use this script.
// -- @cpojer

/*(function(){

Element.implement({

// from 1.2
set: function(prop, value){
switch (typeOf(prop)){
case 'object':
for (var p in prop) this.set(p, prop[p]);
break;
case 'string':
var property = Element.Properties[prop];
(property && property.set) ? property.set.apply(this, Array.slice(arguments, 1)) : this.setProperty(prop, value);
}
return this;
},

get: function(prop){
var property = Element.Properties[prop];
return (property && property.get) ? property.get.apply(this, Array.slice(arguments, 1)) : this.getProperty(prop);
}

});

var props = Element.Properties;

var wrap = function(prop){
if (!props[prop]) return wrap;
var getter = props[prop].get;
props[prop].get = function(options){
if (options) this.set(prop, options);
return getter.call(this);
};
return wrap;
};

wrap('tween')('morph')('load')('send');

})(Element.Properties);

*/

function initGalleryNews(steps){

    new slideGallery($('slider-news'), {
            steps: steps,
            direction: "vertical",
            duration: 5000,
            mode:'line',
            transition: Fx.Transitions.Back.easeOut,
            paging: false
    });

    $('slider-news').getElements('li').addEvents({
        'mouseover': function(){
            //console.log(this.getElement('a'))
            this.addClass('over');
        },
        'mouseout': function(){
            //console.log(this.getElement('a'))
            this.removeClass('over');
        },
        'click': function(e){
            e.stop();
            var l = this.getElement('a');
            window.location = l.get('href');
            /*var req = new Request.HTML({url:l.get('href'),
                    update:'content-right'
            });

            req.get();*/


        }
    });

}

function initGalleryYT(steps){

    new slideGallery($('slider-news'), {
            steps: steps,
            direction: "vertical",
            duration: 5000,
            mode:'line',
            transition: Fx.Transitions.Back.easeOut,
            paging: false
    });

    $('slider-news').getElements('li').addEvents({
        'mouseover': function(){
            //console.log(this.getElement('a'))
            this.addClass('over');
        },
        'mouseout': function(){
            //console.log(this.getElement('a'))
            this.removeClass('over');
        }
    });

}

function initGalleryPress(steps, current){

    new slideGallery($('slider-press'), {
            steps: steps,
            duration: 10000,
            current: current,
            mode:'line',
            transition: Fx.Transitions.Sine.easeOut,
            paging: false
    });
}

function initGalleryDesigner(){

    new slideGallery($('slider-designers'), {
            steps: 1,
            direction: "vertical",
            duration: 5000,
            speed: 1000,
            autoplay: true,
            mode:'circle',
            transition: Fx.Transitions.Back.easeOut,
            paging: false,
            onStart: function(current, visible, length) {
                try{
                    this.gallery.getElement(".info").set('html',this.items[this.current].getElement("img").title);
                }catch(e){}
            },
            onPlay: function(current, visible, length, el) {
                    
                try{
                    this.gallery.getElement(".info").set('html',this.items[this.current].getElement("img").title);
                }catch(e){}
            }
    });
}

function initGalleryProjects(){

    var galleryProjects = new slideGallery($('slider-projects-page'), {
            steps: 6,
            direction: "vertical",
            duration: 5000,
            mode:'line',
            transition: Fx.Transitions.Back.easeOut,
            paging: false
    });

    $('slider-projects-page').getElements('li').addEvents({
        'mouseover': function(){
            this.addClass('over');
        },
        'mouseout': function(){
            //console.log(this.getElement('a'))
            this.removeClass('over');
        },
        'click': function(e){
            e.stop();
            var l = this.getElement('a');
            window.location = l.get('href');
        }
    });
}


function initFadeGalleryProjects(){

    var fadeGalleryProjects = new fadeGallery($('slider-projects'), {
            speed: 1000,
            paging: false,
            autoplay: true,
            duration: 4000,
            onStart: function(current, visible, length) {
                $('slider-projects').setStyle('visibility','visible');
                    $("slider-projects").getElement('div.txt').set('html', $("slider-projects").getElements("img")[current].title);
            },
            onPlay: function(current, visible, length) {
                    $("slider-projects").getElement('div.txt').set('html', $("slider-projects").getElements("img")[current].title);
            }
    });
    //gallery project info box
    var prjInfo = $("slider-projects").getElement('div.info');
    prjInfo.store('oriheight', prjInfo.getSize().y);
    var prjInfoTxt = $("slider-projects").getElement('div.txt');
    prjInfoTxt.hide();


    var prjInfoHolder = $("slider-projects").getElement('div.holder');
    var prjToolHolder = $("slider-projects").getElement('div.scroll-tool');

    prjInfoHolder.addEvent('mouseenter', function(){
        prjInfo.setStyle('height', prjInfoHolder.getSize().y);
        prjInfo.addClass('overview');
        prjInfoTxt.show();
    });
    prjToolHolder.addEvent('mouseleave', function(){
        prjInfo.setStyle('height', prjInfo.retrieve('oriheight'));
        prjInfo.removeClass('overview');
        prjInfoTxt.hide();
    });

    prjInfo.addEvents({
        /*mouseenter : function(){
            prjInfo.setStyle('height', prjInfoHolder.getSize().y);
            prjInfo.addClass('overview');
            prjInfoTxt.show();
            //prjSlideListHolder.hide();
        },*/
        mouseleave : function(){
            prjInfo.setStyle('height', prjInfo.retrieve('oriheight'));
            prjInfo.removeClass('overview');
            prjInfoTxt.hide();
            //prjSlideListHolder.show();
        },
        click: function(e){
            e.stop()
            window.location = ($("slider-projects").getElements("a")[fadeGalleryProjects.current]).get('href');
        }
    });

}


function initIssuuCoverFlow(url){

    var issuurl = url;

    var params = new Hash({
            access: 'public',
            action: 'issuu.documents.list',
            apiKey: 'j83dcokm7292ginmhtonbobgsclnjelw',
            format: 'json',
            responseParams: 'documentId,title,description,tags,name,publishDate',
                            documentSortBy: 'publishDate'
            });


    new Request.JSONP({
      url: issuurl,
        data: params,
        callbackKey: 'jsonCallback',
        onComplete: function(data){

            if(data){
                var docs = data.rsp._content.result._content;

                var images = new Array();

                for(var i=0; i<docs.length; i++){

                    //http://image.issuu.com/<documentId>/jpg/page_<page>_thumb_small.jpg
                    var srcTemplate = 'http://image.issuu.com/{documentId}/jpg/page_1_thumb_large.jpg';

                    images.push({
                        'src': srcTemplate.substitute(docs[i].document),
                        'title': docs[i].document.title,
                        'alt': 'Leaf through! ' + docs[i].document.title,
                        'href': 'http://issuu.com/vetreriavistosi/docs/'+docs[i].document.name+'?mode=embed&layout=http://skin.issuu.com/v/light/layout.xml&showFlipBtn=true',
                        'rel':'link'
                    });

                }

                var myMooFlowPage = {

                    start: function(){

                        var div = new Element('div').inject($('cover-flow'), 'top');
                        var mf = new MooFlow(div, {
                                                                startIndex: 2,
                                bgColor: '#fff',
                                heightRatio: 0.4359375,
                                useCaption: true,
                                useMouseWheel: false,
                                useKeyInput: true,
                                useViewer: true,
                                //useSlider: true,

                                onEmptyinit: function(){
                                    //this.loadJSON('skyset.json');
                                    var data = {'images':images};
                                    this.master = data;
                                    this.clearMain();
                                    this.fireEvent('request', data);
                                }
                        });

                        mf.attachViewer();


                    }

                };
                myMooFlowPage.start();

            }


        }
    }).send();


}


window.addEvent('domready', function(){

    if($('bt-menu')){
        //up menu
        var menuSlide = new Fx.Slide('nav_bar', {wrapper: $('nav-bar-wrapper')});
        menuSlide.hide();
        $('nav-bar-wrapper').setStyle('display', 'block');
        $('bt-menu').addEvent('click', function(e){
            e.stop();
            if(menuSlide.open) {
                this.removeClass('menu-open');
            }else{
                this.addClass('menu-open');
            }
            menuSlide.toggle();
        });

        //lang menu
        var langMenu = $('bt-lang-menu');
        langMenu.getChildren('ul').set('opacity',0);
        langMenu.addEvents({
				'mouseover': function(){

                                        this.getChildren('ul').set('opacity',1);

				},

				'mouseout': function(){

                                        this.getChildren('ul').set('opacity',0);

				}
			});
    }

});

