﻿$(function () {
    setPlaceholder();
});

function setPlaceholder() {
    if (!$.browser.msie) return false;
    $('input[type=text][placeholder]').each(function () {
        var $this = $(this);
        var placeholder = $(this).attr('placeholder');
        $this.val(placeholder);
        $this.click(function () {
            $this.val('');
        });
        $this.blur(function () {
            if ($this.val() == '') $this.val(placeholder);
        });
    });
}

function selectbox() {
    var $select = $('div.selectbox');
    var $options = $('ul.selectOption', $select);

    $select.each(function () {
        var $this = $(this);
        var $selected = $('p.selected', $this);
        var $option = $('ul.selectOption', $this);
        var isopen = false;

        function selectOpen() {
            $options.hide();
            $option.show();
            $select.css('zIndex', 1);
            $this.css('zIndex', 1000);
            isopen = true;
        }
        function selectClose() {
            $option.hide();
            $select.css('zIndex', 1);
            isopen = false;
        }
        $this.click(function (event) {
            event.stopPropagation();
            if (!isopen) {
                var setWidth = parseInt($this.width()) - 2;
                $option.css('width', setWidth + 'px');
                selectOpen();
            } else {
                selectClose();
            }
        });
        $(document.body).click(selectClose);
    });
    return true;
}



(function ($) {
    $.fn.jQinitTab = function () {
        var $container = $(this);
        var $buttons = $('a.tab', $container);
        var $tabContents = $();

        $buttons.each(function (n) {
            var targetId = $(this).attr('href');
            $tabContents = $tabContents.add(targetId);
            $(targetId).hide();
        });
        $buttons.click(function () {
            var $this = $(this);
            var $target = $($this.attr('href'));
            $buttons.parent().removeClass('on');
            $this.parent().addClass('on');
            $tabContents.hide();
            $target.show();
            return false;
        });
        $tabContents.slice(0, 1).show();
        $buttons.slice(0, 1).parent().addClass('on');
    }

    $.fn.splitList = function (num) {
        $(this).each(function () {
            var $container = $(this);
            var $btnPrev = $container.find('button.prev');
            var $btnNext = $container.find('button.next');
            var $list = $container.find('ul:eq(0)');
            var $items = $('li', $list);
            $list.wrap('<div class="mask">');
            var $mask = $list.parent();
        });
    }

    $.fn.thumbSlide = function (num, option) {
        var params = jQuery.extend({
            type: 'byItem',
            text: false
        }, option);
        $(this).each(function () {
            if (!num) {
                num = 1;
            }
            var showItem = num;
            var pagingType = params.type;
            var pagingText = params.text;
            var $container = $(this);
            var $btnPrev = $container.find('.slidePrev');
            var $btnNext = $container.find('.slideNext');
            var $list = $container.find('ul:eq(0)');
            var $items = $('li', $list);
            $list.wrap('<div class="mask">');
            var $mask = $list.parent();

            var type = ($items.css('float') == 'left') ? 'horizontal' : 'vertical';
            if (type == 'horizontal') {
                var space = parseInt($items.css('width')) + parseInt($items.css('margin-right'));
                $list.css('width', +space * $items.length + 'px')
                $mask.css({ 'overflow': 'hidden', 'width': space * showItem + 'px', 'height': $items.css('height') });
            } else {
                var space = parseInt($items.css('height')) + parseInt($items.css('margin-bottom'));
                $mask.css({ 'overflow': 'hidden', 'width': $items.css('width'), 'height': space * showItem + 'px' });
            }

            if (pagingType == 'byLine') {
                var pagingNum = parseInt(($items.length - 1) / showItem);
                space = space * showItem;
            } else {
                var pagingNum = $items.length - showItem;
            }

            var pagingBtn = (pagingNum < 1) ? false : true;
            if (!pagingBtn) {
                $btnPrev.hide();
                $btnNext.hide();
            }

            function prev() {
                paging--;
                $btnNext.css({ cursor: 'pointer', opacity: 1 }).find('img').attr('alt', '다음보기');
                if (paging <= 0) {
                    paging = 0;
                    $btnPrev.css({ cursor: 'default', opacity: 0.5 }).find('img').attr('alt', '처음입니다.');
                }
                if (pagingText) $here.text(paging + 1);
            }
            function next() {
                paging++;
                $btnPrev.css({ cursor: 'pointer', opacity: 1 }).find('img').attr('alt', '이전보기');
                if (paging >= pagingNum) {
                    paging = pagingNum;
                    $btnNext.css({ cursor: 'default', opacity: 0.5 }).find('img').attr('alt', '마지막입니다.');
                }
                if (pagingText) $here.text(paging + 1);
            }
            function move() {
                if (type == 'horizontal') {
                    $list.animate({ 'marginLeft': '-' + space * paging + 'px' }, 300);
                } else {
                    $list.animate({ 'marginTop': '-' + space * paging + 'px' }, 300);
                }
            }

            $btnPrev.css({ cursor: 'default', opacity: 0.5 }).find('img').attr('alt', '처음입니다.');
            var paging = 0;
            if (pagingText) {
                $('<p class="page" />').appendTo($container).html('<strong></strong>/<span class="total"></span>');
                var $here = $container.find('p.page:eq(0) > strong');
                var $total = $container.find('p.page:eq(0) > span.total');
                $here.text(paging + 1);
                $total.text(pagingNum + 1);
            }

            $btnPrev.click(function () {
                prev();
                move();
                return false;
            });
            $btnNext.click(function () {
                next();
                move();
                return false;
            });
        });
    };
})(jQuery);
