//TODO 本檔案應該分成 order.js 及 order_manager.js 兩個。

var HTTP_PROTOCOL = window.location.protocol;
var HTTP_HOST = window.location.host;
var HTTP_HREF = window.location.href;
var EMAIL_FORMAT = /^[a-z0-9][-a-z0-9_\.]*[a-z0-9]@([a-z0-9-]+\.)+[a-z]{2,4}$/i;
var list = HTTP_HREF.split('?');
if (list.length >= 2) {
    var NEW_HREF = list[0]+"toilet-bioebook.htm?"+list[1];
} else {
    var NEW_HREF = list[0]+"toilet-bioebook.htm";
}


function isOldCustomer () {
    var $dialog = $('#id_is_old_customer_dialog');
    $dialog.dialog('close');
    var old_email = $.needExist('id_old_email', '信箱');
    if (!old_email){
        $dialog.dialog('open');
        return false;
    }
    old_email = old_email.toLowerCase();
    if (!EMAIL_FORMAT.test(old_email)){
        alert('您的信箱格式錯誤');
        $dialog.dialog('open');
        return false;
    }
    $.post('/order/ajax/', {submit: 'isOldCustomer', old_email: old_email}, function(json){
        if(json['status'] == false){
            alert(json['message']);
            $dialog.dialog('open');
        } else {
            $('#show_exit_message').attr('value', '');
            window.location = HTTP_PROTOCOL + '//' + HTTP_HOST + '/' + json['commender_key_name'] + '/#SALEINFO';
        }
    }, "json");
}


function isOldCustomerDialog () {
    var $dialog = $('#id_is_old_customer_dialog');
    $dialog.dialog({
        title: '舊客戶回購優惠',
        buttons: {
            '關閉視窗': function () {
                $(this).dialog('close');
            },
            '確認送出': isOldCustomer
        },
        width: 450
    }).dialog('open');
}


function exitWeb(pattern){
    var new_href = NEW_HREF.replace('toilet', pattern);
    if('true' == $('#show_exit_message').attr('value')) {
        if (/chrome/i.test(navigator.userAgent)) {
            $('body').attr('new_href', new_href);
            var browser_yes = '『停留在此頁』';
            var browser_no = '『離開此頁』';
        } else if ($.browser.msie || $.browser.mozilla){
            location.href = new_href;
            var browser_yes = '『取消』';
            var browser_no = '『確定』';
        } else {
            //INFO opera 根本不理 beforeunload enent 。
            //這裡是給 safari 用的。
            location.href = new_href;
            var browser_yes = '『取消』';
            var browser_no = '『好』';
        }

        var exit_message = '';
        exit_message += "===========================================\n";
        exit_message += "等等！先別走，免費電子書要送您！\n";
        exit_message += "===========================================\n";
        exit_message += "\n";
        exit_message += "再等一等！在您離開之前…\n";
        exit_message += "\n";
        exit_message += "我們想要提供媽媽們都超愛的家事小撇步給您～沒錯，就是您！\n";
        exit_message += "想知道如何用天然簡易的方法為衣櫃除濕、寵物除臭、馬桶去垢嗎？\n";
        exit_message += "\n";
        exit_message += "===========================================\n";
        exit_message += "你要免費禮物，請按下面的"+browser_yes+"按鈕！不是按"+browser_no+"唷!\n";
        exit_message += "===========================================\n";
        $('#show_exit_message').attr('value', '');
        return exit_message;
    }
}

function chk_order_form(FORM){
    if (FORM.name.value==""){
        alert('姓名必填');
        FORM.name.focus();
        return false;
    }
    if (FORM.phone.value==""){
        alert('電話必填');
        FORM.phone.focus();
        return false;
    }
    if (FORM.email.value==""){
        alert('E-Mail必填');
        FORM.email.focus();
        return false;
    }
    FORM.email.value = FORM.email.value.toLowerCase();
    if(!(EMAIL_FORMAT.test(FORM.email.value))){
        alert('您輸入的 [E-Mail] 格式不正確!!');
        FORM.email.focus();
        return false;
    }
    if (FORM.bio_enzyme_street && FORM.bio_enzyme_street.value==""){
        alert('街道地址必填');
        FORM.bio_enzyme_street.focus();
        return false;
    } else if (!FORM.bio_enzyme_street && FORM.address && FORM.address.value==""){
        alert('地址必填');
        FORM.address.focus();
        return false;
    }
    if (FORM.cellphone.value==""){
        alert('行動電話必填');
        FORM.cellphone.focus();
        return false;
    }
    $('#show_exit_message').attr('value', '');
    $('.submitOrder').hide();
    if($.blockUI){
        $.blockUI({
            message: '<span style="font-size: 36px">訂單傳送中，請稍候 ... </span> <img width="40px" height="40px" src="toilet-images/smile.png" />',
            css: {
            width: 600,
            border: 'none',
            padding: '15px',
            backgroundColor: '#E5E5E5',
            '-webkit-border-radius': '10px',
            '-moz-border-radius': '10px',
            color: 'black'
        }});
    }

    var county = $('select[name=bio_enzyme_countys]').val();
    var street = $('input[name=bio_enzyme_street]').val().replace(/ +/g, '');
    var district = $('select[name=bio_enzyme_districts] option:selected').text();
    d = district.replace(')', '').split('(');
    district = d[0];
    var zipcode = d[1];
    $('input[name=address]').show().val([zipcode, county, district, street].join(' '));
    return true;
}


function setProductType() {
    var $obj = $(this);
    var key = $obj.attr('value');
    $('input[key='+key+']').attr('checked', 'checked');
    window.location = '#ORDERNOW';
}


function setupDateInput () {
    $.datepicker.setDefaults({
        dateFormat: 'yy-mm-dd',
        monthNames: ['一月','二月','三月','四月','五月','六月',
            '七月','八月','九月','十月','十一月','十二月'],
        monthNamesShort: ['一月','二月','三月','四月','五月','六月',
            '七月','八月','九月','十月','十一月','十二月'],
        dayNames: ['日', '一', '二', '三', '四', '五', '六'],
        dayNamesMin: ['日', '一', '二', '三', '四', '五', '六']
    });
    $('input.date').each(function() {
        $(this).datepicker({
            changeMonth: true,
            changeYear: true
        });
    });
}


function sumTotalPrice () {
    var $obj = $(this);
    var copy = Number($obj.val());
    var unit_price = Number($obj.attr('unit_price'));
    var delivery_cost = Number($obj.attr('delivery_cost'));
    var sum = unit_price * copy + delivery_cost;
    $('#total_sum').text('(合計: '+sum+' 元)');
}


$(document).ready(function() {
    $('.sumTotalPrice').change(sumTotalPrice);
    $('.setProductType').click(setProductType);
    setupDateInput();
});

