/**
*【Drama Network Inc. 多瑪數位廣告】
* web http://www.drama.com.tw
* email service@drama.com.tw
* tel 02 2771 0701
* fax 02 2771 1767
*/ 

var drama;
if (!drama) drama = {};

drama.voyageThemeInit = function($lang) {
    var $msg = new Array();
    switch ($lang) {
        case 1:
            $msg['subject'] = '請填寫信件主旨';
            $msg['sender'] = '請填寫寄件人';
            $msg['receiver'] = '請填寫收件人';
            $msg['contents'] = '請填寫內容';
            $msg['correct'] = '請填寫正確格式';
            $msg['process'] = '處理中…';
            $msg['error'] = '轉寄出現狀況';
            $msg['ok'] = '轉寄成功';
            break;
		case 2:
            $msg['subject'] = 'Please input subject';
            $msg['sender'] = 'Please input sender';
            $msg['receiver'] = 'Please input receiver';
            $msg['contents'] = 'Please input contents';
            $msg['correct'] = 'Please input correct format';
            $msg['process'] = 'Processing…';
            $msg['error'] = 'Error';
            $msg['ok'] = 'Success';
			break;
    }
    
    $.getScript('../js/jquery.validate.js', function() {
        $('#voyageForm').validate({
            debug: true,
            rules: {
                voyageSubject: 'required',
                voyageSender: {
                    required: true,
                    email: true
                },
                voyageReceiver: {
                    required: true,
                    email: true
                },
                voyageContents: 'required'
            },
            messages: {
                voyageSubject: $msg['subject'],
                voyageSender: {
                    required: $msg['sender'],
                    email: $msg['correct']
                },
                voyageReceiver: {
                    required: $msg['receiver'],
                    email: $msg['correct']
                },
                voyageContents: $msg['contents']
            },
            errorPlacement: function(err, ele) {
                err.appendTo(ele.parents('td:first'));
            },
            submitHandler: function() {
                $('a#popupContactClose').trigger('click');
                $('#modal')
                    .html($msg['process'])
                    .jqmShow();
                var $subject = $('#voyageSubject').val(),
                    $sender = $('#voyageSender').val(),
                    $receiever = $('#voyageReceiver').val(),
                    $contents = $('#voyageContents').val();
                    
                $.post('ajax_voyageTransfer.php', {subject: $subject, sender: $sender, receiver: $receiever, contents: $contents}, function(data) {
                    switch(data) {
                        case '1':
                        case '3':
                            $('#modal').html($msg['error']);
                            break;
                        case '2':
                            $('#modal').html($msg['ok']);
                            break;
                        default: $('#modal').html($msg['error']);
                    }
                    
                    setTimeout(function() {
                        $('#modal')
                            .html('')
                            .jqmHide();
                    }, 1500);
                });
            }
        });
    });
    
    $.getScript('../js/jqModal.js', function() {
        $('<div>')
            .attr('id', 'modal')
            .addClass('jqmWindow')
            .prependTo('body')
            .jqm({modal: true});
    });

    $('#btnTransferSubmit').click(function() {
        $('#voyageForm').submit();
        return false;
    });
    
    $('#btnTransferCancel').click(function() {
        $('div.contactForm').find('input[type="text"]').val('');
        return false;
    });
}

/**
* 確認頁面
*/
drama.voyageCofirm = function() {
    $('a#btnCheck').click(function() {
        $('#orderForm').submit();
        return false;
    });
}

/**
* 訂購頁面
*/
drama.voyageOrderInit = function($lan) {
    var $frm = $('#orderForm');
    
    switch($lan) {
        // 中文
        case 1:
            var $engYearStr = '西元',
                $engNameStr = '需與護照相同';
            break;
    }
    
    $.getScript('../js/jquery.dramaClickClear.js', function() {
        $('#name_eng, #name_eng2').dramaClickClear($engNameStr);
        $('#birth_year, #birth_year2').dramaClickClear($engYearStr);
    });
    
    $.validator.addMethod("twId", function(value, element) {
         var regExpID = /^[a-z](1|2)\d{8}$/i, // 身份證正規式
             re = new RegExp(regExpID);
         return this.optional(element) || re.test(value);
    }, "請輸入正確的身份證格式");
    
    $.validator.addMethod("mustEng", function(value, element) {
         var regExpID = /^[a-z][A-z]/i, // 身份證正規式
             re = new RegExp(regExpID);
         return this.optional(element) || re.test(value);
    }, "請輸入英文");
    
    $('a[rel="amount"]').each(function() {
        $(this).click(function() {
            if ($('a[rel="amount"]').index(this) == 1) {
                $('#secondInfo').show();
            } else {
                $('#secondInfo').hide();
            }
        });
    });
   
    $msgTw = ['請選擇人數', '請輸入姓名', '請輸入英文姓名', '請輸入身份證號', '請輸入正確格式', '請輸入護照號碼', '請輸入聯絡電話', '請輸入年', '請輸入月', '請輸入日', '請輸入Email', '請輸入郵遞區號', '請輸入住址', '請選擇是否吸煙', '請選擇床型', '同意請勾選'];
	$msgEng = ['Please pick amount', 'Please enter your last name', 'Please enter your first name', 'Please enter your personality', 'Please enter correct format', 'Please enter your passport no.', 'Please enter your telephone no.', 'Please enter date yyyy', 'Please enter date mm', 'Please enter date dd', 'Please enter your E-mail address.', '請輸入郵遞區號', 'Please enter your mailing address.', 'Please select your smoking preference.', 'Please select your bedding preference.', 'Please check the box if you agree.'];
        
    switch ($lan) {
        case 1:
            var $msg = $msgTw;
			$frm.validate({
        wrapper: 'div',
        errorPlacement: function(err, ele) {
            err.appendTo( ele.parents("td:first"));
        },
        rules: {
            amount: 'required',
            name: 'required',
            name_eng: {
              required: true,
              mustEng: true  
            },
            ident: {
                required: true,
                rangelength: [10, 10],
                twId: true // 引用身份證認證
            },
            passport: 'required',
            phone: 'required',
            birth_year: {
                required: true,
                digits: true
            },
            birth_month: {
                required: true,
                range: [1, 12]
            },
            birth_day: {
                required: true,
                range: [1, 31]
            },
            email: {
                required: true,
                email: true
            },
            address: 'required',
            name2: {
                required: function() {
                    return $('input[name="amount"]:checked').val() == 2 ? true : false;
                }
            },
            name_eng2: {
                required: function() {
                    return $('input[name="amount"]:checked').val() == 2 ? true : false;
                }
            },
            ident2: {
                required: function() {
                    return $('input[name="amount"]:checked').val() == 2 ? true : false;
                },
                rangelength: [10, 10],
                twId: true // 引用身份證認證
            },
            passport2: {
                required: function() {
                    return $('input[name="amount"]:checked').val() == 2 ? true : false;
                }
            },
            birth_year2: {
                required: function() {
                    return $('input[name="amount"]:checked').val() == 2 ? true : false;
                }
            },
            birth_month2: {
                required: function() {
                    return $('input[name="amount"]:checked').val() == 2 ? true : false;
                },
                range: [1, 12]
            },
            birth_day2: {
                required: function() {
                    return $('input[name="amount"]:checked').val() == 2 ? true : false;
                },
                range: [1, 31]
            },
            address2: {
                required: function() {
                    return $('input[name="amount"]:checked').val() == 2 ? true : false;
                }
            },
            smoke: 'required',
            room: 'required',
            agree: 'required'
        },
        messages: {
            amount: {
                required: $msg[0]
            },
            name: {
                required: $msg[1],
                mustEng: $msg[2]
            },
            name_eng: {
                required: $msg[2]
            },
            ident: {
                required: $msg[3],
                rangelength: $msg[4],
                twId: $msg[4] // 引用身份證認證
            },
            passport: {
                required: $msg[5]
            },
            phone: {
                required: $msg[6]
            },
            birth_year: {
                required: $msg[7],
                digits: $msg[4]
            },
            birth_month: {
                required: $msg[8],
                range: $msg[4]
            },
            birth_day: {
                required: $msg[9],
                range: $msg[4]
            },
            email: {
                required: $msg[10],
                email: $msg[4]
            },
            address: {
                required: $msg[12]
            },
            name2: {
                required: $msg[1]
            },
            name_eng2: {
                required: $msg[2]
            },
            ident2: {
                required: $msg[3],
                rangelength: $msg[4],
                twId: $msg[4] // 引用身份證認證
            },
            passport2: {
                required: $msg[5]
            },
            phone2: {
                required: $msg[6]
            },
            birth_year2: {
                required: $msg[7],
                digits: $msg[4]
            },
            birth_month2: {
                required: $msg[8],
                range: $msg[4]
            },
            birth_day2: {
                required: $msg[9],
                range: $msg[4]
            },
            email2: {
                required: $msg[10],
                email: $msg[4]
            },
            address2: {
                required: $msg[12]
            },
            smoke: {
                required: $msg[13]
            },
            room: {
                required: $msg[14]
            },
            agree: {
                required: $msg[15]
            }
        }
    });
            break;
		case 2:
			 var $msg = $msgEng;
			 $frm.validate({
				wrapper: 'div',
				errorPlacement: function(err, ele) {
					err.appendTo( ele.parents("td:first"));
				},
				rules: {
					amount: 'required',
					name: 'required',
					name_eng: {
					  required: true,
					  mustEng: true  
					},
					ident: {
						required: true
					},
					passport: 'required',
					phone: 'required',
					birth_year: {
						required: true,
						digits: true
					},
					birth_month: {
						required: true,
						range: [1, 12]
					},
					birth_day: {
						required: true,
						range: [1, 31]
					},
					email: {
						required: true,
						email: true
					},
					address: 'required',
					name2: {
						required: function() {
							return $('input[name="amount"]:checked').val() == 2 ? true : false;
						}
					},
					name_eng2: {
						required: function() {
							return $('input[name="amount"]:checked').val() == 2 ? true : false;
						}
					},
					ident2: {
						required: function() {
							return $('input[name="amount"]:checked').val() == 2 ? true : false;
						},
						rangelength: [10, 10],
						twId: true // 引用身份證認證
					},
					passport2: {
						required: function() {
							return $('input[name="amount"]:checked').val() == 2 ? true : false;
						}
					},
					birth_year2: {
						required: function() {
							return $('input[name="amount"]:checked').val() == 2 ? true : false;
						}
					},
					birth_month2: {
						required: function() {
							return $('input[name="amount"]:checked').val() == 2 ? true : false;
						},
						range: [1, 12]
					},
					birth_day2: {
						required: function() {
							return $('input[name="amount"]:checked').val() == 2 ? true : false;
						},
						range: [1, 31]
					},
					address2: {
						required: function() {
							return $('input[name="amount"]:checked').val() == 2 ? true : false;
						}
					},
					smoke: 'required',
					room: 'required',
					agree: 'required'
				},
				messages: {
					amount: {
						required: $msg[0]
					},
					name: {
						required: $msg[1],
						mustEng: $msg[2]
					},
					name_eng: {
						required: $msg[2]
					},
					ident: {
						required: $msg[3]
					},
					passport: {
						required: $msg[5]
					},
					phone: {
						required: $msg[6]
					},
					birth_year: {
						required: $msg[7],
						digits: $msg[4]
					},
					birth_month: {
						required: $msg[8],
						range: $msg[4]
					},
					birth_day: {
						required: $msg[9],
						range: $msg[4]
					},
					email: {
						required: $msg[10],
						email: $msg[4]
					},
					address: {
						required: $msg[12]
					},
					name2: {
						required: $msg[1]
					},
					name_eng2: {
						required: $msg[2]
					},
					ident2: {
						required: $msg[3],
						rangelength: $msg[4],
						twId: $msg[4] // 引用身份證認證
					},
					passport2: {
						required: $msg[5]
					},
					phone2: {
						required: $msg[6]
					},
					birth_year2: {
						required: $msg[7],
						digits: $msg[4]
					},
					birth_month2: {
						required: $msg[8],
						range: $msg[4]
					},
					birth_day2: {
						required: $msg[9],
						range: $msg[4]
					},
					email2: {
						required: $msg[10],
						email: $msg[4]
					},
					address2: {
						required: $msg[12]
					},
					smoke: {
						required: $msg[13]
					},
					room: {
						required: $msg[14]
					},
					agree: {
						required: $msg[15]
					}
				}
			});
            break;
        default: var $msg = $msgTw;
    }
    
    $('a#btnSubmit').click(function() {
        $frm.submit();
        return false;
    });
}

/**
* 聯絡我們功能
* $lan - 語言版本 1. 中文版
*/
drama.contactInit = function($lan) {
    var $frm = $('#contactForm'),
        $msgTw = ['請輸入姓名', '請輸入電話', '請輸入Email', '請輸入正確的Email格式', '請輸入內容', '確定要送出嗎？'];
        
    switch ($lan) {
        case 1:
            var $msg = $msgTw;
    }
    
    $('input:first', $frm).focus();
    
    $('#btnReset', $frm).bind('click', function() {
        $frm.find('input, textarea').val('');
        $('input:first', $frm).focus();
        return false;
    });
    
    $('#btnSubmit', $frm).bind('click', function() {
        $frm.submit();
        return false;
    });
    
    $frm.validate({
        rules: {
          name: 'required',
          phone: 'required',
          email: {
              required: true,
              email: true
          },
          contents: 'required'
        },
        messages: {
            name: {
                required: $msg[0]
            },
            phone: {
                required: $msg[1]
            },
            email: {
              required: $msg[2],
              email: $msg[3]
            },
            contents: {
                required: $msg[4]
            }
        },
        wrapper: 'div',
        errorPlacement: function(err, ele) {
            err.appendTo( ele.parents("td"));
        },
        submitHandler: function(form) {
            if (confirm($msg[5])) {
                form.submit();
            }
        }
    });
}