
/*emag*/

HugoBoss.eMag = {

    //initialize eMag magazine
    init: function(){
    
        HugoBoss.eMag.events.init();
        HugoBoss.eMag.flash.init();
        
        if ($('#fashionShow').length !== 0) {
            HugoBoss.eMag.facebook.init();
        }
        
    },
    
    utils: {
    
        getXmlSuffix: function(target){
        
            var fileName = HugoBoss.utils.getFileName();
            //minus 4 for '.php'
			
			if(fileName.indexOf('?') !== -1) {
				fileName = fileName.substring(0, fileName.indexOf('?'));
			}
            var fileNameLength = fileName.length - 4;
            //plus 1 for '_'
            var prefixLength = target.length + 1;
            var suffix = fileName.substring(prefixLength, fileNameLength);
            
            return suffix;
            
        }
        
    },
    
    events: {
    
        init: function(){
        
            //text teaser mouse over
            $('div.textTeaser img').css({
                opacity: 0.7
            });
            
            $('div.textTeaser a').hoverIntent(function(){
            
                $(this).css({
                    opacity: 0
                }).addClass('mouseOver').animate({
                    opacity: 1
                }, {
                    step: function(now, settings){
                    
                        percentDone = settings.start !== settings.end ? (settings.now - settings.start) / (settings.end - settings.start) : 0;
                        current = (percentDone * 0.3) + 0.7;
                        
                        $(this).siblings('img').css({
                            opacity: current
                        });
                        
                    },
                    duration: 500
                });
                
                
            }, function(){
            
                $(this).animate({
                    opacity: 0
                }, {
                    step: function(now, settings){
                    
                        percentDone = settings.start !== settings.end ? (settings.now - settings.start) / (settings.end - settings.start) : 0;
                        current = ((1 - percentDone) * 0.3) + 0.7;
                        
                        $(this).siblings('img').css({
                            opacity: current
                        });
                        
                    },
                    duration: 500,
                    complete: function(){
                        $(this).removeClass('mouseOver')
                    }
                });
                
            });
            
        }
    },
    
    //init flash content
    flash: {
    
        //build flash content
        init: function(){
        
            if (flashContent.mainTeaser && $('div.mainTeaser').length !== 0) {
            
                var id = 'mainTeaserFlash';
                
                var height;
                if (!flashContent.mainTeaser.height) {
                    var height = 431;
                }
                else {
                    var height = flashContent.mainTeaser.height;
                }
                
                $('div.mainTeaser').addClass('flash').css({
                    height: height + 'px'
                }).append('<div id="' + id + '"></div>');
                
                if (!flashContent.mainTeaser.flashvars) {
                    flashContent.mainTeaser.flashvars = {};
                }
                
                flashContent.mainTeaser.flashvars.stageHeight = height;
                flashContent.mainTeaser.flashvars.stageWidth = 751;
                
                var swfObjectData = {
                    source: flashContent.mainTeaser.source,
                    id: id,
                    width: '751',
                    height: height,
                    center: false,
                    flashvars: flashContent.mainTeaser.flashvars,
                    params: flashContent.mainTeaser.params
                };
                
                HugoBoss.flash.initSwfObject(swfObjectData);
                
            }
            
            if (flashContent.articleTeaser && $('div.articleTeaser').length !== 0) {
            
                var id = 'articleTeaserFlash';
                
                var height;
                if (!flashContent.articleTeaser.height) {
                    var height = 245;
                }
                else {
                    var height = flashContent.articleTeaser.height;
                }
                
                var width;
                if (!flashContent.articleTeaser.width) {
                    var width = 751;
                }
                else {
                    var width = flashContent.articleTeaser.width;
                }
                
                $('div.articleTeaser').addClass('flash').css({
                    height: height + 'px'
                }).append('<div id="' + id + '"></div>');
                
                var swfObjectData = {
                    source: flashContent.articleTeaser.source,
                    id: id,
                    width: width,
                    height: height,
                    center: false,
                    flashvars: flashContent.articleTeaser.flashvars,
                    params: flashContent.articleTeaser.params
                };
                
                HugoBoss.flash.initSwfObject(swfObjectData);
                
            }
            
            if (flashContent.gridTeaser && $('div.gridTeaser').length !== 0 && $('#rightContentHBTV').length !== 0 )  {
            
                for (var i = 0; i < flashContent.gridTeaser.length; i++) {
                
                    var id = 'gridTeaserFlash' + i;
                    
                    $('div.gridTeaser:eq(' + i + ')').addClass('flash').append('<div id="' + id + '"></div>');
                    
                    var swfObjectData = {
                        source: flashContent.gridTeaser[i].source,
                        id: id,
                        width: '258',
                        height: '258',
                        center: false,
                        flashvars: flashContent.gridTeaser[i].flashvars,
                        params: flashContent.gridTeaser[i].params
                    };
                    
                    HugoBoss.flash.initSwfObject(swfObjectData);
                    
                }
                
            }
			
			if (flashContent.gridTeaser && $('div.gridTeaser').length !== 0  && $('#rightContentHBTV').length < 1) {
            
                for (var i = 0; i < flashContent.gridTeaser.length; i++) {
                
                    var id = 'gridTeaserFlash' + i;
                    
                    $('div.gridTeaser:eq(' + i + ')').addClass('flash').append('<div id="' + id + '"></div>');
                    
                    var swfObjectData = {
                        source: flashContent.gridTeaser[i].source,
                        id: id,
                        width: '245',
                        height: '245',
                        center: false,
                        flashvars: flashContent.gridTeaser[i].flashvars,
                        params: flashContent.gridTeaser[i].params
                    };
                    
                    HugoBoss.flash.initSwfObject(swfObjectData);
                    
                }
                
            }
            
            if (flashContent.textTeaser && $('div.textTeaser').length !== 0) {
            
                for (var i = 0; i < flashContent.textTeaser.length; i++) {
                
                    var id = 'textTeaserFlash' + i;
                    
                    $('div.textTeaser:eq(' + i + ')').addClass('flash').append('<div id="' + id + '"></div>');
                    
                    var swfObjectData = {
                        source: flashContent.textTeaser[i].source,
                        id: id,
                        width: '230',
                        height: '265',
                        center: false,
                        flashvars: flashContent.textTeaser[i].flashvars,
                        params: flashContent.textTeaser[i].params
                    };
                    
                    HugoBoss.flash.initSwfObject(swfObjectData);
                    
                }
                
            }
            
            if (flashContent.article && $('div.article').length !== 0) {
            
                var id = 'articleFlash';
                
                var height;
                if (!flashContent.article.height) {
                    var height = 1000;
                }
                else {
                    var height = flashContent.article.height;
                }
                
                var width;
                if (!flashContent.article.width) {
                    var width = 751;
                }
                else {
                    var width = flashContent.article.width;
                }
                
                $('div.article').addClass('flash').css({
                    height: height + 'px'
                }).append('<div id="' + id + '"></div>');
                
                if (!flashContent.article.flashvars) {
                    flashContent.article.flashvars = {};
                }
                
                flashContent.article.flashvars.stageHeight = height;
                flashContent.article.flashvars.stageWidth = 751;
                
                var swfObjectData = {
                    source: flashContent.article.source,
                    id: id,
                    width: width,
                    height: height,
                    center: false,
                    flashvars: flashContent.article.flashvars,
                    params: flashContent.article.params
                };
                
                HugoBoss.flash.initSwfObject(swfObjectData);
                
            }
            
            if (flashContent.visualization && $('div.visualization').length !== 0) {
            
                var id = 'visualizationFlash';
                
                var height;
                if (!flashContent.visualization.height) {
                    var height = 1000;
                }
                else {
                    var height = flashContent.visualization.height;
                }
                
                $('div.visualization').addClass('flash').css({
                    height: height + 'px'
                }).append('<div id="' + id + '"></div>');
                
                if (!flashContent.visualization.flashvars) {
                    flashContent.visualization.flashvars = {};
                }
                
                flashContent.visualization.flashvars.stageHeight = height;
                flashContent.visualization.flashvars.stageWidth = 751;
                
                var swfObjectData = {
                    source: flashContent.visualization.source,
                    id: id,
                    width: '751',
                    height: height,
                    center: false,
                    flashvars: flashContent.visualization.flashvars,
                    params: flashContent.visualization.params
                };
                
                HugoBoss.flash.initSwfObject(swfObjectData);
                
            }
            
            if (flashContent.myAccountNavigation && $('#myAccountNavigation').length !== 0) {
            
                var id = 'myAccountNavigationFlash';
                
                $('#myAccountNavigation').addClass('flash').append('<div id="' + id + '"></div>');
                
                if (!flashContent.myAccountNavigation.flashvars) {
                    flashContent.myAccountNavigation.flashvars = {};
                }
                
                var swfObjectData = {
                    source: flashContent.myAccountNavigation.source,
                    id: id,
                    width: '245',
                    height: '155',
                    center: false,
                    flashvars: flashContent.myAccountNavigation.flashvars,
                    params: flashContent.myAccountNavigation.params
                };
                
                HugoBoss.flash.initSwfObject(swfObjectData);
                
            }
            
            if (flashContent.fashionShow && $('div.fashionShow').length !== 0) {
            
                for (var i = 0; i < flashContent.fashionShow.length; i++) {
                
                    var id = 'fashionShowFlash' + i;
                    
                    if (!flashContent.fashionShow[i].flashvars) {
                        flashContent.fashionShow[i].flashvars = {};
                    }
                    
                    HugoBoss.eMag.facebook.readCookie('flashVars', i);
                    
                    flashContent.fashionShow[i].flashvars.stageWidth = flashContent.fashionShow[i].width;
                    flashContent.fashionShow[i].flashvars.stageHeight = flashContent.fashionShow[i].height;
                    
                    $('div.fashionShow:eq(' + i + ')').addClass('flash').append('<div id="' + id + '"></div>');
                    
                    var swfObjectData = {
                        source: flashContent.fashionShow[i].source,
                        id: id,
                        width: flashContent.fashionShow[i].width,
                        height: flashContent.fashionShow[i].height,
                        center: false,
                        flashvars: flashContent.fashionShow[i].flashvars,
                        params: flashContent.fashionShow[i].params
                    };
                    
                    HugoBoss.flash.initSwfObject(swfObjectData);
                    
                }
                
            }
            
        }
        
    },
    facebook: {
    
        init: function(){
            FB.init({
                appId: '109562982426660',
                status: true,
                cookie: true,
                xfbml: true
            });
            FB.Event.subscribe('auth.login', function(response){
            
                HugoBoss.eMag.facebook.readCookie('call', 0);
                
            });
            
        },
        readCookie: function(target, pos){
        
            if (HugoBoss.utils.getCookie('fbs_109562982426660')) {
            
                var cookieVal = HugoBoss.utils.getCookie('fbs_109562982426660');
                
                var access_token;
                var uid;
                
                var cookieValArr = cookieVal.split('&');
                
                for (i = 0; i < cookieValArr.length; i++) {
                
                    if (cookieValArr[i].indexOf('access_token') !== -1) {
                    
                        var access_tokenStart = cookieValArr[i].indexOf('=') + 1;
                        access_token = cookieValArr[i].substring(access_tokenStart);
                    }
                    
                    if (cookieValArr[i].indexOf('uid') !== -1) {
                    
                        var uidStart = cookieValArr[i].indexOf('=') + 1;
                        var uidLength = cookieValArr[i].length - 1;
                        uid = cookieValArr[i].substring(uidStart, uidLength);
                        
                    }
                    
                }
                
                if (target === 'call') {
                
                    $('div.flash').find('object').each(function(){
                    
                        try {
                            //function inside flash
                            this.facebookCookie(access_token, uid);
                        } 
                        catch (e) {
                            //could not connect to flash movie (maybe not loaded jet)
                            //return false;
                        }
                        
                    });
                }
                else {
                
                    flashContent.fashionShow[pos].flashvars.access_token = access_token;
                    flashContent.fashionShow[pos].flashvars.uid = uid;
                    
                }
                
            }
            
        },
        
        pushToFacebook: function(row, seat){
			
			var fbMessages = flashContent.fbMessage;
		
			var message = fbMessages.message1 + row + fbMessages.message2 + seat + '.';
		
            FB.ui({
                method: 'stream.publish',
                message: fbMessages.message3 + message,
                attachment: {
                    name: fbMessages.message4,
                    caption: fbMessages.message5 + message + fbMessages.message6,
                    description: fbMessages.message7,
                    href: fbMessages.message8,
					media:[
						{
							type: 'image', 
							src: 'http://www.hugoboss.com/images/Facebook_Icon.jpg', 
							href: fbMessages.message9
						}
					]
                },
                action_links: [],
                user_message_prompt: fbMessages.message10
            }, function(response){
                if (response && response.post_id) {
                    //alert('Post was published.');
                }
                else {
                    //alert('Post was not published.');
                }
            });
            
        }
        
    },
    
    showLightbox: function(contentid, faceboookPage){
	
        setTimeout(function(){
        
            if ($('#fashionShowLightbox').length === 0) {
            
                var iLike = '<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hugoboss.com%2Fde%2Fde%2Femag%2FfashionShow%2F' + faceboookPage + '&amp;layout=standard&amp;show_faces=false&amp;width=360&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:360px; height:35px;" allowTransparency="true"></iframe>';
                
                var videoLayer = '<div id="fashionShowBg"></div>';
                videoLayer += '<div id="fashionShowLightbox" class="flash"><a href="#close" class="close">' + textContent.close + '</a><div id="fashionShowLightboxFlash"></div><div id="fashionShowILike">' + iLike + '</div></div>';
                
                $('#outerWrapper').append(videoLayer);
                
                $('#fashionShowBg').css({
                    opacity: 0
                }).animate({
                    opacity: 0.7
                }, {
                    duration: 400,
                    complete: function(){
                    
                        var swfObjectData = {
                            source: '/assets/mainLoader.swf',
                            id: 'fashionShowLightboxFlash',
                            width: '440',
                            height: '641',
                            center: false,
                            flashvars: {
                                stageWidth: '440',
                                stageHeight: '641',
                                moduleCSS: '/style/style.emag.fashionShow.css',
                                moduleXML: path + 'emag/fashionShow/data/previewSlideShow.xml',
                                layoutXML: '',
                                contentid: contentid,
                                contenttype: 'overlay'
                            
                            },
                            params: {
                                wmode: 'opaque',
                                bgColor: '#ffffff',
                                allowFullscreen: false
                            },
                            attributes: {
                                id: 'fashionShowLightboxFlashSwf'
                            }
                        };
                        
                        HugoBoss.flash.initSwfObject(swfObjectData);
                        
                        $('#fashionShowLightbox').css({
                            display: 'block'
                        });
                        
                        $('#fashionShowBg').add('#fashionShowLightbox a.close').bind('click', function(){
                        
                            $('#fashionShowLightbox').add('#fashionShowBg').css({
                                display: 'none'
                            });
                            
                            return false;
                            
                        });
                        
                        $('#fashionShowLightbox').bind('click', function(){
                        
                            return false;
                            
                        });
                        
                    }
                    
                });
                
            }
            else {
				
				$('#fashionShowLightboxFlashSwf').attr({
					id: 'fashionShowLightboxFlash'
				});
            
                $('#fashionShowBg').css({
                    display: 'block',
                    opacity: 0
                }).animate({
                    opacity: 0.7
                }, {
                    duration: 400,
                    complete: function(){
						
                    
                        var swfObjectData = {
                            source: '/assets/mainLoader.swf?' + HugoBoss.utils.getTimestamp(),
                            id: 'fashionShowLightboxFlash',
                            width: '440',
                            height: '641',
                            center: false,
                            flashvars: {
                                stageWidth: '440',
                                stageHeight: '641',
                                moduleCSS: '/style/style.emag.fashionShow.css',
                                moduleXML: path + 'emag/fashionShow/data/previewSlideShow.xml',
                                layoutXML: '',
                                contentid: contentid,
                                contenttype: 'overlay'
                            
                            },
                            params: {
                                wmode: 'opaque',
                                bgColor: '#ffffff',
                                allowFullscreen: false
                            },
                            attributes: {
                                id: 'fashionShowLightboxFlashSwf'
                            }
                        };
                        
                        HugoBoss.flash.initSwfObject(swfObjectData);
                        
                        $('#fashionShowLightbox').css({
                            display: 'block'
                        });
                        
                    }
                    
                });
                
            }
            
        }, 250);
        
    },
    
    changeLikeButton: function(faceboookPage){
    
        var iLike = '<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hugoboss.com%2Fde%2Fde%2Femag%2FfashionShow%2F' + faceboookPage + '&amp;layout=standard&amp;show_faces=false&amp;width=360&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:360px; height:35px;" allowTransparency="true"></iframe>';
        
        $('#fashionShowILike').html(iLike);
        
    },
    
    fashionShow: {
    
        reloadStream: function(){
        
            var swfObjectData = {
                source: '/assets/mainLoader.swf?' + HugoBoss.utils.getTimestamp(),
                id: 'fashionShowFlash0Swf',
                width: '1004',
                height: '431',
                center: false,
                flashvars: {
                    stageWidth: '1004',
                    stageHeight: '400',
                    moduleCSS: '/style/style.emag.fashionShow.css',
                    moduleXML: path + 'emag/fashionShow/data/videoPlayer.xml',
                    layoutXML: ''
                },
                params: {
                    wmode: 'opaque',
                    bgColor: '#878787',
                    allowFullscreen: true
                },
                attributes: {
                    id: 'fashionShowFlash0Swf'
                }
            };
            
            HugoBoss.flash.initSwfObject(swfObjectData);
            
        }
        
    }

};


//initialize all
$(document).ready(function(){

    HugoBoss.eMag.init();
    
});

