/*
 * JINS TOP Page JavaScript
 * http://jins-jp.com/
 *
 * JIN CO.,LTD. ALL Rights Reserved.
 */

/*
 * Setting
 */
var scrollTime = 500;               //Scroll Time
var newsURL = '/jsp/news.jsp';         //Feed URL
var newsInterval = 5000;            //News Interval
var overlayDuration = 800;          //Over Lay Duration
var rotaionBannerDuration = 1000;    //Rotaion Banner Duration
var rotaionBannerInterval = 8000;   //Rotaion Banner Interval
var mainCarrouselDuration = 800;    //Main Carrousel Duration
var mainCarrouselInterval = 5000;   //Main Carrousel Interval
var subNaviCarrouselDuration = 500; //Sub Navi Carrousel Duration


/*
 * Main Execute
 */
$(document).ready(function() {

    //News
    $.ajax({
        url: newsURL,
        async: true,
        cache: false,
        timeout: 3000,
        type: 'GET',
        dataType:"jsonp",
        success: function(json){
     	
            var newsArr = new Array();

            function dateParse(str){
                var objDate = new Date(str);
                var nowDate = new Date();

                var myDay = Math.floor((nowDate.getTime()-objDate.getTime()) / (1000*60*60*24)) + 1;
                var year = objDate.getFullYear();
                var month = objDate.getMonth() + 1;
                var date = objDate.getDate();
                if ( month < 10 ) {month = '0' + month;}
                if ( date < 10 ) {date = '0' + date;}

                return year + '.' + month + '.' + date;
            }

            function newsView(arr) {
                $('div#header div#headersub div.news div.date p span.red').fadeOut('slow', function(){
                    $('div#header div#headersub div.news div.date p span.red').html(arr.date).fadeIn('slow');
                });

                $('div#header div#headersub div.news div.txt p a').attr('href', arr.link).fadeOut('slow', function(){
                    $('div#header div#headersub div.news div.txt p a').html(arr.title).fadeIn('slow');
                });
            }

            function newsChange(){
                newsView(newsArr[j]);

                j++;
                if (j >= newsArr.length) j = 0;
            }

            //execute
            for(var i = 0; i < json.result.items.length ; i++){
                var news = {};
                news.title = json.result.items[i]["title"];//$(this).find('title').text();
                news.link = json.result.items[i]["link"];//$(this).find('link').text();
                news.date = dateParse(json.result.items[i]["pubDate"]);
                newsArr.push(news);
            }

            var j = 0;
            newsView(newsArr[j]);
            j++;


            var newsIntervalID = setInterval(newsChange, newsInterval);

            $('div#header div#headersub div.news div.txt p a').hover(function(){
                clearInterval(newsIntervalID);
            }, function(){
                newsIntervalID = setInterval(newsChange, newsInterval);
            });
        },
        error:function(XMLHttpRequest, textStatus, errorThrown){

        }
    });
    //Sub Navi Overlay
    $('div.spbnr').hover(function(){
        $('div.boxcaption', this).stop().animate({top:'0px'},{queue:false, duration:overlayDuration, easing:'easeOutQuart'});
    }, function() {
        $('div.boxcaption', this).stop().animate({top:'-143px'},{queue:false, duration:overlayDuration, easing:'easeOutQuart'});
    });

    //Rotaion Banner
    var imgNum = 2;
    var imgSize = 198;
    var current = 0;
    
    $('div#rightarea div.rotation ul li').css({'position':'absolute', 'top':'56px'});
    $('div#rightarea div.rotation ul li:gt(0)').hide();
    setInterval(function(){
        if(current < imgNum) {
            $('div#rightarea div.rotation ul li:eq(' + current + ')').fadeOut('slow');
            current++;

            $('div#rightarea div.rotation ul li:eq(' + current + ')').fadeIn('slow');
        } else {
            $('div#rightarea div.rotation ul li:eq(' + current + ')').fadeOut('slow');
            current = 0;

            $('div#rightarea div.rotation ul li:eq(' + current + ')').fadeIn('slow');
        }
    }, rotaionBannerInterval);


    //Main Carrousel
    var mainMove = 963;
    /*
    var mainMove = 932;
    */
    var mainPanels = $('div#showcase div.visual div.visualinner > div').size();
    var currentMainPage = 0;
    var mainPages = mainPanels - 1;
    var mainFirstScrollLeft;
    var animated = false;
    

    var mainInterval;
    function setMainInterval() {
        clearInterval(mainInterval);
        mainInterval = setInterval(function(){
           goToMainPage(parseInt(currentMainPage) + 1);
        }, mainCarrouselInterval);
    }

    function thumbnailActiveChange(page) {
   	
        var thumbnailEventHandler = function() {
            goToMainPage($(this).attr('id').slice(-1));
        };

        $('div#showcase div.thumbnail').find('img').each(function(){
            if (page == $(this).attr('id').slice(-1) && $(this).attr('src').indexOf("_active") == -1) {
                $(this).attr('src', $(this).attr('src').replace(/^(.+)(\.[a-z]+)$/, '$1_active$2'));
                $(this).unbind('click').css({cursor: 'auto'});
            } else {
                $(this).attr('src', $(this).attr('src').replace(/^(.+)_active(\.[a-z]+)$/, '$1$2'));
                $(this).unbind('click').bind('click', thumbnailEventHandler).css({cursor: 'pointer'});;
            }
        });
    }

    function goToMainPage(page){
        var moved;
        if (page > mainPages) {
            page = 0;
            moved = (mainPanels - 1) * mainMove;
        } else if (page < 0) {
            page = mainPages;
            moved = (mainPanels - 1) * mainMove;
        } else {
            moved = mainMove;
        }

        moved = Math.abs((currentMainPage - page) * mainMove);
        var arrival;
        /*
        if (page > currentMainPage) {
            arrival = $('div#showcase div.visual').scrollLeft() + moved;
        } else {
            arrival = $('div#showcase div.visual').scrollLeft() - moved;
        }
        */
        arrival = mainMove * page;
        if (!animated) {
            clearInterval(mainInterval);
            thumbnailActiveChange(page);
        }
        if (navigator.userAgent.match(/iPad/i)) arrival += mainMove / 2 ;
        
        animated = true;
        $('div#showcase div.visual').filter(':not(:animated)').animate({
            scrollLeft: arrival
        }, {
            queue:false,
            duration:mainCarrouselDuration,
            easing:'easeOutQuart',
            complete: function() {
                currentMainPage = page;
                setMainInterval();
                animated = false;
            }
        });

        return false;
    }

    $('div#showcase div.visual div.visualinner').css('width', mainPanels * mainMove + 'px');
    $('div#showcase div.lefbtn a').click(function(){
        return goToMainPage(currentMainPage - 1);
    });
    $('div#showcase div.rigbtn a, div#showcase div.nextbtn img').click(function(){
        return goToMainPage(currentMainPage + 1);
    });

    if (navigator.userAgent.match(/iPad/i)) {
        $('div#showcase div.visual div.visualinner').css('height', '423px');
        $('div#showcase div.visual div.visualinner div.mbnr').css({'width': '963px', 'height': '423px'});
        $('div#showcase div.visual').flickable({
            section: 'div.mbnr',
            friction: 0.2,
            elasticConstant: 0.8,
            dragStart: function(event) {
                clearInterval(mainInterval);
                animated = true;
            },
            change: function(event, ui) {
                currentMainPage = Math.floor((parseInt($('div#showcase div.visual').scrollLeft()) - mainFirstScrollLeft) / mainMove);
                console.log($('div#showcase div.visual').scrollLeft() + '||' + currentMainPage);
                thumbnailActiveChange(currentMainPage);
                setMainInterval();
                animated = false;
            }
        });
        mainFirstScrollLeft = parseInt($('div#showcase div.visual').scrollLeft()) - 1;
    } else {
        thumbnailActiveChange(currentMainPage);
        setMainInterval();
    }



    //Sub Carrousel
    var subMove = 242;//241;
    var subPanels = $('div#spbx div.bnrwrap div.bnrinner > div').size();
    var currentSubPage = 0;
    var subPages = subPanels - 4;

    function goToSubPage(page){

        var moved = -page * subMove;
        if (page > subPages) {
            page = subPages;
            moved = -page * subMove;
            $('div#spbx div.bnrwrap div.bnrinner').filter(':not(:animated)').css({'margin-left': (moved - 5) + 'px'});
        } else if (page < 0) {
            page = 0;
            moved = 0;
            $('div#spbx div.bnrwrap div.bnrinner').filter(':not(:animated)').css({'margin-left': (moved + 5) + 'px'});
        }
        
        $('div#spbx div.bnrwrap div.bnrinner').filter(':not(:animated)').animate({
            marginLeft: moved + 'px'
        }, {
            queue:false,
            duration:subNaviCarrouselDuration,
            easing:'easeOutQuart',
            complete: function() {
                currentSubPage = page;
            }
        });

        return false;
    }

    $('div#spbx div.bnrwrap div.bnrinner').css('width', subPanels * subMove + 'px');
    $('div#spbx div.lefbtn a').click(function(){
        return goToSubPage(currentSubPage - 1);
    });
    $('div#spbx div.rigbtn a').click(function(){
        return goToSubPage(currentSubPage + 1);
    });

    //biggerlink
    $('#spbx .boxcaption').biggerlink();
    $('#spbx .linkbx').biggerlink();
    $('#rankbx .rank').biggerlink();
    $('#publicity .pubbx').biggerlink();
    $('#review .itembx').biggerlink();
    
    //update ranking date 
    var d = new Date();
    $('#rankbx .titlebx .update span').text(  ("0" + (d.getMonth()+1) ).slice(-2) + "/" + ("0" + d.getDate()).slice(-2)  );
    
});

