/*
 * jquery-auto-height.js
 *
 * Copyright (c) 2010 Tomohiro Okuwaki (http://www.tinybeans.net/blog/)
 * Licensed under MIT Lisence:
 * http://www.opensource.org/licenses/mit-license.php
 * http://sourceforge.jp/projects/opensource/wiki/licenses%2FMIT_license
 *
 * Since:   2010-04-19
 * Update:  2010-04-27
 * version: 0.02
 * Comment: 
 *
 * jQuery 1.2 later
 * 
 */

 (function($){
    $.fn.autoHeight = function(options){
        var op = $.extend({
        
            column  : 0,
            clear   : 0,
            height  : 'minHeight',
            descend : function descend (a,b){ return b-a; }
        
        },options || {}); // optionsに値があれば上書きする

        var self = $(this);
        var n = 0,
            hMax,
            hList = new Array(),
            hListLine = new Array();
            hListLine[n] = 0;

        // 要素の高さを取得
        self.each(function(i){
            var h = $(this).height();
            hList[i] = h;
            if (op.column > 1) {
                // op.columnごとの最大値を格納していく
                if (h > hListLine[n]) {
                    hListLine[n] = h;
                }
                if ( (i > 0) && (((i+1) % op.column) == 0) ) {
                    n++;
                    hListLine[n] = 0;
                };
            }
        });

        // 取得した高さの数値を降順に並べ替え
        hList = hList.sort(op.descend);
        hMax = hList[0];
        
        // 高さの最大値を要素に適用
        var browser = $.browser.version;
        if (op.column > 1) {
            for (var j=0; j<hListLine.length; j++) {
                for (var k=0; k<op.column; k++) {
                    if (browser == '6.0') {
                        self.eq(j*op.column+k).height(hListLine[j]);
                        if (k == 0 && op.clear != 0) self.eq(j*op.column+k).css('clear','both');
                    } else {
                        self.eq(j*op.column+k).css(op.height,hListLine[j]);
                        if (k == 0 && op.clear != 0) self.eq(j*op.column+k).css('clear','both');
                    }
                }
            }
        } else {
            if (browser == '6.0') {
                self.height(hMax);
            } else {
                self.css(op.height,hMax);
            }
        }
    };
})(jQuery);

(function($){
    $.fn.verticalMiddle = function(options){
        var op = $.extend({
            visibility: 'visible',
            height    : 9999
        }, options || {});

        $(this).each(function(){
            var h = $(this).height();
            if (h < op.height) {
                var p = (op.height - h)/2;
                $(this).css('paddingTop',p);
            }
            if (op.visibility == 'hidden') {
                $(this).css('visibility','visible');
            }
        });
    };
})(jQuery);

jQuery(function($){

    // サムネイル一覧の高さをそろえる
	$('div.product-list').each(function(){
	   $('h3', this).autoHeight({height:'height'})
	   $('div.product', this).autoHeight({height:'height'})
	});
	$('div.top-products h4').autoHeight({height:'height'});
	$('div.top-products p.explain').autoHeight({height:'height'});
	
	// サムネイルの一を中央にそろえる
	// 取扱商品一覧、関連商品
	$('div.product-image img').verticalMiddle({visibility:'hidden', height:135});

    // 商品詳細ページの大きい画像
	$('div.product-more-bigimg-inner img').verticalMiddle({visibility:'hidden', height:360});

    // トップページ
	$('div.top-product-image img').verticalMiddle({visibility:'hidden', height:150});
    
    // facebox.js
    $('a#contact-confirm-btn').facebox({'opacity':'0.5'});
    $('a[href$=".jpg"], a[href$=".gif"], a[href$=".png"], a[rel*=facebox]').facebox({opacity:'0.5'});
    
    // お問い合わせフォームの確認画面
    var confirm = $('<input/>')
        .attr({
            'type':'button',
            'value':'確認'
            })
        .css({
            'marginRight':'10px',
            'fontSize':'110%'
        })
        .click(function(){
            var name = $('input[name=your-name]').val();
            var email = $('input[name=your-email]').val();
            var company = $('input[name=your-company]').val();
            var tel = $('input[name=your-tel]').val();
            var message = $('textarea[name=your-message]').val();
            message = message.replace(/\n/g,'<br />');
            $('dl#contact-confirm').html('');
            $('dl#contact-confirm').append(
                '<dt>お名前</dt><dd>' + name + '</dd>',
                '<dt>メールアドレス</dt><dd>' + email + '</dd>',
                '<dt>企業名</dt><dd>' + company + '</dd>',
                '<dt>電話番号</dt><dd>' + tel + '</dd>',
                '<dt>お問い合わせ内容</dt><dd>' + message + '</dd>'
            );
            $('a#contact-confirm-btn').click();
        });
    $('input#contact-submit').before(confirm);

});