var base64; var ddls; $(function () { if (!Array.prototype.filter) { Array.prototype.filter = function (fun /*, thisp */) { "use strict"; if (this === null) throw new TypeError(); var t = Object(this); var len = t.length >>> 0; if (typeof fun !== "function") throw new TypeError(); var res = []; var thisp = arguments[1]; for (var i = 0; i < len; i++) { if (i in t) { var val = t[i]; // in case fun mutates this if (fun.call(thisp, val, i, t)) res.push(val); } } return res; }; } //欄位名對應 var fields = { 'cBookStore_ID': '報名門市', 'cLesson_ID': '報名課程', 'cProductModel_ID': '三星機型', 'cProduct_IMEI': '手機IMEI', 'cProduct_SN': '手機S/N', 'cUser_Name': '姓名', 'cUser_Phone': '手機號碼', 'cUser_EMail': 'E-mail', 'cUser_Sex': '性別', 'cUser_Age': '年齡', 'cSatisfaction': '三星品牌滿意度', 'cUsed_Brand': '手機品牌', 'cUsed_Model': '手機型號', 'cUsed_Other': '其他手機品牌/型號', 'terms': '我同意本活動辦法及規定', 'privacy': '我同意個人資料使用同意聲明隱私權條款', 'validCode': '驗證碼' }; if (id('iBtn')) { //平板=SN 或 手機=IMEI $("select[name=cProductModel_ID]").change(function () { var t = $("select[name=cProductModel_ID] option:selected").data("t"); console.log(t); if (t !== undefined) { if (t == '1') { $("input[name=cProduct_IMEI]").attr("required", true).addClass("form-control").show(); $("input[name=cProduct_SN]").removeClass("form-control").removeAttr("required").hide(); } else { $("input[name=cProduct_SN]").attr("required", true).addClass("form-control").show(); $("input[name=cProduct_IMEI]").removeClass("form-control").removeAttr("required").hide(); } $("input[name=cProduct_Type]").val(t); } }); $("#iBtn").click(function (e) { var url = $(this).data("href"); if (!checkEmpty() || !checkFormat()) { e.preventDefault(); e.stopPropagation(); return false; } else { $('html').addClass('loading'); $.post("api/ajax_lesson.ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { alert(data.message); $('html').removeClass('loading'); } else { location.replace(url); //if (url.indexOf('#') > 0) { // location.replace(url.replace(/#/, "?uo=" + encodeURIComponent(data.objectz) + "#")); //} else { // location.replace(url + "?uo=" + encodeURIComponent(data.objectz)); //} } }, "json"); } return false; }); } //step2 個人資料 if (id('bBtn')) { //手機品牌 $("select[name=cUsed_Brand]").change(function () { //手機品牌 var o = $('select[name=cUsed_Brand] option:selected').data("o"); var t = $('select[name=cUsed_Brand] option:selected').data("t"); //console.log(t); if (o === "X") { $("#oBox").removeClass('hide'); $("input[name=cUsed_Other]").val($("input[name=cUsed_Other]").data("d")).removeClass('hide').attr('required', true); $("select[name=cUsed_Model]").val('').find('option:not(:eq(0))').remove().end().removeAttr('required').attr('disabled', true); } else { $("#oBox").addClass('hide'); $("input[name=cUsed_Other]").val($("input[name=cUsed_Other]").data("d")).removeAttr("required").addClass('hide'); $("select[name=cUsed_Model]").find('option:not(:eq(0))').remove().end().removeAttr("disabled").removeAttr("required"); if ($("select[name=cUsed_Brand]").val() !== "") { $("select[name=cUsed_Model]").attr('required', true); $('select[name=cUsed_Model_Temp] option[data-t=' + $("select[name=cUsed_Brand]").val() + ']').clone().appendTo('select[name=cUsed_Model]'); $("select[name=cUsed_Model_Temp]").find('option:last').clone().appendTo('select[name=cUsed_Model]'); //$('select[name=cUsed_Temp] option[data-t=' + t + $("select[name=cUsed_Brand]").val() + ']').clone().appendTo('select[name=cUsed_Model]'); //$("select[name=cUsed_Temp]").find('option:last').clone().appendTo('select[name=cUsed_Model]'); } } }); if ($("select[name=cUsed_Brand]").val() !== "") { $("select[name=cUsed_Brand]").trigger('change'); } $("select[name=cUsed_Model]").change(function () { //手機品牌 var o = $('select[name=cUsed_Model] option:selected').data("o"); if (o === "X") { $("#oBox").removeClass('hide'); $("input[name=cUsed_Other]").val($("input[name=cUsed_Other]").data("d")).removeClass('hide').attr('required', true); } else { $("#oBox").addClass('hide'); $("input[name=cUsed_Other]").val($("input[name=cUsed_Other]").data("d")).addClass('hide').attr('required', false); } }); if ($("select[name=cUsed_Model]").val() !== "") { $("select[name=cUsed_Model]").trigger('change'); } if ($("input[name=cUser_Birthday]").length > 0) { var min = $("input[name=cUser_Birthday]").data("min"); var max = $("input[name=cUser_Birthday]").data("max"); $("input[name=cUser_Birthday]").datepicker({ dateFormat: "yy-mm-dd", changeMonth: true, changeYear: true, showButtonPanel: true, yearRange: min + ":" + max, maxDate: new Date(max, 11, 31) }); } $("#bBtn").click(function (e) { console.log('bbb'); var url = $(this).data("href"); if (!checkEmpty() || !checkFormat()) { e.preventDefault(); e.stopPropagation(); return false; } else { $('html').addClass('loading'); $.post("api/ajax_lesson.ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { alert(data.message); $('html').removeClass('loading'); } else { if (url.indexOf('#') > 0) { location.replace(url.replace(/#/, "?uo=" + encodeURIComponent(data.objectz) + "#")); } else { location.replace(url + "?uo=" + encodeURIComponent(data.objectz)); } } }, "json"); } return false; }); } //step3 確認後送出 if (id('cBtn')) { $("#cBtn").click(function (e) { if (!confirm('請再次確認您的報名資訊')) { return false; } var url = $(this).data("href"); if (!checkEmpty() || !checkFormat()) { e.preventDefault(); e.stopPropagation(); return false; } else { $('html').addClass('loading'); $.post("api/ajax_lesson.ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { setTimeout(function () { alert(data.message); // 延遲一些顯示 }, 500); $('html').removeClass('loading'); } else { if (url.indexOf('#') > 0) { location.replace(url.replace(/#/, "?uo=" + encodeURIComponent(data.objectz) + "#")); } else { location.replace(url + "?uo=" + encodeURIComponent(data.objectz)); } } }, "json"); } return false; }); } //查詢 if (id('sBtn')) { $("#sBtn").click(function (e) { var url = $(this).data("href"); if (!checkEmpty() || !checkFormat()) { e.preventDefault(); e.stopPropagation(); return false; } else { $('html').addClass('loading'); $.post("api/ajax_lesson.ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { alert(data.message); $('html').removeClass('loading'); } else { location.replace(url); } }, "json"); } return false; }); } //取消(登出) if (id('oBtn')) { $("._infoBtn").click(function (e) { $("#" + $(this).data('s')).toggleClass('hide'); return false; }); $("._toggle").click(function (e) { if ($(this).find('span:contains("全部收合")').length > 0) { $("._trinfo").addClass('hide'); $(this).find('span').eq(0).text('全部展開'); } else { $("._trinfo").removeClass('hide'); $(this).find('span').eq(0).text('全部收合'); } return false; }); $("._cancelBtn").click(function (e) { var url = $(this).data("href"); var uo = $(this).data("u"); var ug = $(this).data("g"); var course = $(this).data("c"); if (confirm('請再次確認是否取消以下的報名課程\n' + course)) { $("input[name=uo]").val(uo); $('html').addClass('loading'); $.post("api/ajax_"+ ug +".ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { alert(data.message); $('html').removeClass('loading'); } else { if (url.indexOf('#') > 0) { location.replace(url.replace(/#/, "?uo=" + encodeURIComponent(data.objectz) + "#")); } else { location.replace(url + "?uo=" + encodeURIComponent(data.objectz)); } } }, "json"); } return false; }); $("#xBtn").click(function () { var url = $(this).data("href"); $('html').addClass('loading'); $.post("api/ajax_lesson.ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { alert(data.message); $('html').removeClass('loading'); } else { location.replace(url); } }, "json"); return false; }); $("#oBtn").click(function () { var url = $(this).data("href"); $('html').addClass('loading'); $.post("api/ajax_lesson.ashx", { mode: "O", uo: $("input[name=uo]").val() }, function (data) { if (data.status < 0) { alert(data.message); $('html').removeClass('loading'); } else { location.replace(url); } }, "json"); return false; }); } //檢查格式 function checkFormat() { var message = ''; obj = ''; $('input[data-validate],textarea[data-validate]').each(function (index, element) { // new RegExp('ab+c', 'i'); var regexp = new RegExp($(element).data('validate'), 'i'); if (element.name === 'cOrder_SN' && $(element).data('validate') === 'X') { regexp = new RegExp($('select[name=cChannel_ID] option:selected').data("g"), 'i'); } if (element.name === 'cProduct_SN' && $(element).data('validate') === 'X') { regexp = new RegExp("(\\d|\\w){" + $('select[name=cProductModel_ID] option:selected').data("i") + "}", 'i'); console.log($(element).val()); console.log(regexp); } var value = $(element).val(); if (value !== '') { if (!regexp.test(value)) { message = fields[element.name] + '的格式不正確,請重新輸入'; obj = element.name; return false; } } }); if (message !== '') { $("[name=" + obj + "]").focus(); alert(message); message = ''; return false; } else { return true; } } //檢查未填的欄位 function checkEmpty() { var flag = true; var obj = '', message = ''; $('input[required]:not([type=radio]):not([type=checkbox]),select[required],textarea[required]').each(function (index, element) { if ($(element).val() === '') { if (element.tagName.toLowerCase() === 'select') { message = '請選擇' + fields[element.name]; } else { if (fields[element.name] === undefined) { message = '請填寫' + $(element).attr("placeholder"); } else { message = '請填寫' + fields[element.name]; if (element.name.indexOf('Easy') >= 0 && id('assentbox')) { message += '或勾選同意自願放棄悠遊卡活動登錄 ,並不得再補登'; } } } obj = element.name; flag = false; return false; } }); if (flag) { $('[type=radio][required],[type=checkbox][required]').each(function (index, element) { var iptn = $(element).attr('type') === 'checkbox' ? '請勾選' : '請選擇'; var group = $(element).attr('name'); //console.log(ipt); if ($('[name=' + group + ']:checked').length === 0) { if (fields[group] === undefined) { message = iptn + ' [' + $(element).next().text() + ' ]'; } else { message = iptn + fields[group]; } obj = group; } }); } if (message !== '') { $("[name=" + obj + "]").focus(); alert(message); message = ''; return false; } else { return true; } } function readUrl(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { //var imgData = e.target.result; var imgName = input.files[0].name; input.setAttribute("data-title", imgName); // console.log(e.target.result); var image = new Image(); //image.src = e.target.result; getImgData(e.target.result, function (data) { //这里可以使用校正后的图片data了 $('input[name=cUser_Base64]').val(data); image.src = data; image.onload = function () { // access image size here if (id('mBtn')) { //手機版 $('#mBtn').trigger('click'); } else { $(".upload-zone").removeClass('uploaded').addClass('uploaded'); $('.preview-image').attr("src", data); } //$(image).appendTo($('.inputDnD')); //$('.inputDnD').height(image.height); }; }); }; reader.readAsDataURL(input.files[0]); } } window.readUrl = readUrl; function getImgData(img, next) { var image = new Image(); image.onload = function () { var degree = 0, drawWidth, drawHeight; var maxWidth = 2000; drawWidth = this.naturalWidth; drawHeight = this.naturalHeight; //以下改变一下图片大小 var maxSide = Math.max(drawWidth, drawHeight); if (maxSide > maxWidth) { var minSide = Math.min(drawWidth, drawHeight); minSide = minSide / maxSide * maxWidth; maxSide = maxWidth; if (drawWidth > drawHeight) { drawWidth = maxSide; drawHeight = minSide; } else { drawWidth = minSide; drawHeight = maxSide; } } var canvas = document.createElement('canvas'); canvas.width = drawWidth; canvas.height = drawHeight; var context = canvas.getContext('2d'); //context.rotate(degree * Math.PI / 180); context.drawImage(this, 0, 0, drawWidth, drawHeight); //返回校正图片 next(canvas.toDataURL("image/jpeg", .8)); } image.src = img; } }); //----------------------------其它--------------------------------------------------------------------- var putVoucher = function (img) { var image = new Image(); image.src = img; image.onload = function () { // access image size here $(".upload-zone").removeClass('uploaded').addClass('uploaded'); $('.preview-image').attr("src", img); }; } //----------------------------必備--------------------------------------------------------------------- function keyEsc() { var esc = $.Event("keydown", { keyCode: 27 }); $("body").trigger(esc); }; function keyResend() { if (id('qBtn')) { $("#qBtn").trigger('click'); } var esc = $.Event("keydown", { keyCode: 27 }); $("body").trigger(esc); }; function id(DOM) { return document.getElementById(DOM); } function getParam(name, dvalue) { var AllVars = window.location.search.substring(1); var Vars = AllVars.split("&"); for (i = 0; i < Vars.length; i++) { var Var = Vars[i].split("="); if (Var[0] === name) return Var[1]; } return dvalue; } function trims(s) { //return s.replace(/(^[\s]*)|([\s]*$)/g, ""); return s.replace(/\s+/g, ""); }