// Copyright (c) 2007 QUICK-SOLUTION.COM All rights reserved.

/**
 *  機能： カート編集
 *  説明： QUICK CARTを編集します。
 *
 *  サンプル： <script type="text/javascript">cart('/mt/plugins/QuickPlugins/')</script>
 *
 *  引数： CGI PATH   : cgipath ------------（省略可）
 *                      例）'/mt/plugins/QuickPlugins/'
 *                          QUICK CART の CGI PATH を設定します。省略すると/cgi-bin/が適用されます
 */

var quickcart_flag = true;
var quickcart_url  = '';

function cart (cgipath)
{
    if (quickcart_flag)
    {
        var cgipath = cgipath ? cgipath : '/cgi-bin/';
        if (quickcart_url == '')
        {
            var quickcart_name = 'quickcart.js';
            var scripts        = document.getElementsByTagName('script');
            for (i=0; i< scripts.length; i++) if (scripts[i].src.indexOf(quickcart_name) > 0) quickcart_url = scripts[i].src.substr(0,scripts[i].src.indexOf(quickcart_name));
        }
        document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+location.protocol+'//fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="200" height="520" id="quickcart.swf" align="middle">');
        document.write('<param name="allowScriptAccess" value="sameDomain" />');
        document.write('<param name="flashvars" VALUE="DATA='+escape(location.href)+'&amp;PROTOCOL='+location.protocol+'&amp;HOST='+location.hostname+'&amp;PATH='+cgipath+'">');
        document.write('<param name="movie" value="'+quickcart_url+'quickcart.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="'+quickcart_url+'quickcart.swf" quality="high" bgcolor="#ffffff" flashvars="DATA='+escape(location.href)+'&amp;PROTOCOL='+location.protocol+'&amp;HOST='+location.hostname+'&amp;PATH='+cgipath+'" width="200" height="520" name="quickcart" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="'+location.protocol+'://www.macromedia.com/go/getflashplayer" />');
        document.write('</object>');
        document.write('<iframe id="tracking" name="tracking" src="'+cgipath+'quickcart.cgi?blank" border="0" style="width:0;height:0;border:0;"></iframe>');
    }
    quickcart_flag = false;
    return;
}

/**
 *  機能： オーダーボタン編集
 *  説明： 通常オーダーボタンまたは、プルダウン付きオーダーボタンを編集します。
 *         引数は ''（シングルコーテーション）で囲ってください。
 *
 *  サンプル： <script type="text/javascript">button('商品Ａ','1500','','#CC3300','#FFFFFF','500','30','http://www.quick-solution.com/item1.html')</script>
 *             <script type="text/javascript">button('商品Ｂ','1500','サイズを指定,S,M,L,LL','#CC3300','#FFFFFF','500','30','http://www.quick-solution.com/item1.html')</script>
 *
 *  引数： 商品名     : name ------------（省略不可）
 *                      例）'商品１'
 *                          商品名に商品１を設定します。省略できません。
 *
 *         商品価格   : price -----------（省略不可）
 *                      例）'1500'
 *                          商品価格に1500円を設定します。省略できません。
 *
 *         商品の種類 : variation -------（省略可）  ※プルダウン付きボタン
 *                      例）'サイズを指定,S,M,L,LL'
 *                          カンマ区切りで編集してください。１番目には見出しを編集します。
 *                          省略すると通常ボタンになります。
 *
 *         ボタン色   : btn_color -------（省略可）
 *                      例）'#CC3300'
 *                          ボタンの色を赤にします。省略すると青が適用されます
 *
 *         背景色     : bg_color --------（省略可）
 *                      例）'#000000'
 *                          ボタンの背景色を黒にします。省略すると白が適用されます
 *
 *         個別送料   : postage ---------（省略可）
 *                      例）'500'
 *                          基本送料とは別に商品毎に500円の個別送料を設定します。
 *                          0を設定すると送料無料になります。省略すると基本送料を適用します
 *
 *         在庫数     : stock -----------（省略可）
 *                      例１）'30'
 *                          在庫数に30個を設定します。30個以上カートに入りません。
 *                          省略すると無限にカートに入ります
 *                      例２）'B'
 *                          A〜Dを設定するとボタンの表示が変わります。
 *                         （A:在庫切れ、B:入荷待ち、C:入荷未定、D:販売終了）
 *
 *         商品ＵＲＬ : item_url --------（省略可）
 *                      例）'http://www.quick-solution.com/item1.html'
 *                          商品ページのURLを設定することが出来ます。
 *                          省略するとlocation.hrefを適用します
 */
function button (name, price, variation, btn_color, bg_color, postage, stock, item_url)
{
    var reg         = new RegExp(',','g')
    var price       = price.replace(reg,'');
    if (postage)
    {
        var postage = postage.replace(reg,'');
        if (isNaN(price)||isNaN(postage))
        {
            price   = '';
            postage = '';
        }
    }else{
        price       = !isNaN(price) ? price     : '';
    }
    var reg         = new RegExp('&','g')
    var name        = name          ? name.replace(reg,escape('&'))      : '';
    var variation   = variation     ? variation.replace(reg,escape('&')) : '';
    var btn_color   = btn_color     ? btn_color : '';
    var bg_color    = bg_color      ? bg_color  : '';
    var postage     = postage       ? postage   : '';
    var stock       = stock         ? stock     : '';
    var item_url    = item_url      ? escape(item_url)  : escape(location.href);

    if (quickcart_url == '')
    {
        var quickcart_name = 'quickcart.js';
        var scripts        = document.getElementsByTagName('script');
        for (i=0; i< scripts.length; i++) if (scripts[i].src.indexOf(quickcart_name) > 0) quickcart_url = scripts[i].src.substr(0,scripts[i].src.indexOf(quickcart_name));
    }

    if (variation)
    {
        document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+location.protocol+'://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="100" height="70" id="quickvariation.swf" align="middle">');
        document.write('<param name="allowScriptAccess" value="sameDomain" />');
        document.write('<param name="flashvars" VALUE="DATA='+item_url+','+name+','+(postage?price+'('+postage+')':price)+',1,'+stock+','+(btn_color?'0x'+btn_color.substr(1):'')+','+(bg_color?'0x'+bg_color.substr(1):'')+'&amp;VARIATION='+variation+'">');
        document.write('<param name="movie" value="'+quickcart_url+'quickvariation.swf" /><param name="quality" value="high" /><param name="bgcolor" value="'+(bg_color?bg_color:'#ffffff')+'" /><embed src="'+quickcart_url+'quickvariation.swf" quality="high" bgcolor="'+(bg_color?bg_color:'#ffffff')+'" flashvars="DATA='+item_url+','+name+','+(postage?price+'('+postage+')':price)+',1,'+stock+','+(btn_color?'0x'+btn_color.substr(1):'')+','+(bg_color?'0x'+bg_color.substr(1):'')+'&amp;VARIATION='+variation+'" width="100" height="70" name="quickvariation" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="'+location.protocol+'://www.macromedia.com/go/getflashplayer" />');
        document.write('</object>');
    } else {
        document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+location.protocol+'://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="100" height="25" id="quickorder.swf" align="middle">');
        document.write('<param name="allowScriptAccess" value="sameDomain" />');
        document.write('<param name="flashvars" VALUE="DATA='+item_url+','+name+','+(postage?price+'('+postage+')':price)+',1,'+stock+','+(btn_color?'0x'+btn_color.substr(1):'')+','+(bg_color?'0x'+bg_color.substr(1):'')+'">');
        document.write('<param name="movie" value="'+quickcart_url+'quickorder.swf" /><param name="quality" value="high" /><param name="bgcolor" value="'+(bg_color?bg_color:'#ffffff')+'" /><embed src="'+quickcart_url+'quickorder.swf" quality="high" bgcolor="'+(bg_color?bg_color:'#ffffff')+'" flashvars="DATA='+item_url+','+name+','+(postage?price+'('+postage+')':price)+',1,'+stock+','+(btn_color?'0x'+btn_color.substr(1):'')+','+(bg_color?'0x'+bg_color.substr(1):'')+'" width="100" height="25" name="quickorder" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="'+location.protocol+'://www.macromedia.com/go/getflashplayer" />');
        document.write('</object>');
    }
    return;
}
