if (typeof itsmo == 'undefined') { var itsmo = {}; } if (typeof itsmo.vars == 'undefined') { itsmo.vars = {}; } //入力チェック dcmpcsite より移植 itsmo.validate = {}; itsmo.validate.msg = {"required": 'は必須項目です', "tel" : 'は半角数字とハイフンで入力してください', "range" : '文字以内で入力してください', "num" : 'は半角数字で入力してください', "eisu" : 'は半角英数字で入力してください', "min" : '文字以上で入力してください', "email" : 'の形式が正しくありません', "url" : 'の形式が正しくありません', "date" : 'が正しくありません' }; itsmo.validate.msgEn = {"required": ['Your ', ' is mandatory.'], "tel" : ['Please enter a hyphen numbers and ', '.'], "range" : ['Please enter more than ', ' characters.'], "num" : ['Please enter a number of ', '.'], // "eisu" : 'は半角英数字で入力してください', "min" : ['Please enter at least ', ' characters.'], "email" : ['Is not in the correct format of ', '.'], "url" : ['Is not in the correct format of ', '.'], "date" : 'Invalid date.' }; itsmo.validate.msgAlert = true; itsmo.validate.messages = ''; itsmo.validate.isEn = false; itsmo.validate.check = function(arry) { itsmo.validate.messages = ''; var flg = true for (var i=0; i < arry['option'].length; i++) { var op = arry['option'][i].split(","); // 必須チェック if (op[0] == 'required') { if (!$('#'+ arry['id']).val()) { itsmo.validate.setMsg('required',arry['name']); flg = false; } } else if ($('#'+ arry['id']).val()) { switch (op[0]) { // スペースチェック case 'space': var req = $('#'+ arry['id']).val(); req = req.replace(/\s| /g,""); //req = jQuery.trim(req); if (!req) { itsmo.validate.setMsg('required',arry['name']); flg = false; } break; // 文字数範囲チェック case 'range': if (!op[1]) { op[1] = 0; } if (!op[2]) { op[2] = 0; } if ($('#'+ arry['id']).val().length < op[1] || $('#'+ arry['id']).val().length > op[2]) { itsmo.validate.setMsg('range',arry['name'] + "は" + op[1] + "~" + op[2]); flg = false; } break; // 電話番号チェック case 'tel': var num="0123456789-"; var tmp=new Array(); for (var i = 0; i < $('#'+ arry['id']).val().length; i++) { tmp[i] = $('#'+ arry['id']).val().substring(i,i+1); var f = num.indexOf(tmp[i]); if (f == -1){ itsmo.validate.setMsg('tel',arry['name']); flg = false; break; } } break; // 数字チェック case 'num': var req = $('#'+ arry['id']).val(); if (!req.match(/(\d+)/)) { itsmo.validate.setMsg('num',arry['name']); flg = false; } break; // 半角英数字チェック case 'eisu': var req = $('#'+ arry['id']).val(); if (req.match(/[^A-Za-z\s.-]+/)) { itsmo.validate.setMsg('eisu',arry['name']); flg = false; } break; // 最大文字数チェック case 'rangeMax': if (!op[1]) { op[1] = 0; } if ($('#'+ arry['id']).val().length > op[1]) { itsmo.validate.setMsg('range',arry['name'] + "は" + op[1]); flg = false; } break; // 最小文字数チェック case 'rangeMin': if (!op[1]) { op[1] = 0; } if ($('#'+ arry['id']).val().length < op[1]) { itsmo.validate.setMsg('range',arry['name'] + "は" + op[1]); flg = false; } break; // メールアドレスチェック case 'email': var str = $('#'+ arry['id']).val(); if (!str.match(/^[A-Za-z0-9]+[\w\.-]+@[\w\.-]+\.\w{2,}$/)) { itsmo.validate.setMsg('email',arry['name']); flg = false; } break; // URLチェック case 'url': var str = $('#'+ arry['id']).val(); if (!str.match(/^(http|https):\/\/.+/)) { itsmo.validate.setMsg('url',arry['name']); flg = false; } break; default: flg = true; } if (flg == false) { break; } } else if (op[0] == 'date') { // 日付妥当性チェック var year = arry['val'].substr(0, 4) - 0; var month = arry['val'].substr(4, 2) - 1; var day = arry['val'].substr(6, 2) - 0; var retDate = new Date(year, month, day); if (isNaN(retDate)) { itsmo.validate.setMsg('date',arry['name']); flg = false; } else if ( !(retDate.getFullYear() == year && retDate.getMonth() == month && retDate.getDate() == day)) { itsmo.validate.setMsg('date',arry['name']); flg = false; } } } if (itsmo.validate.msgAlert) { return flg; } else { return itsmo.validate.messages; } }; itsmo.validate.setMsg = function(type, title) { var mess = ''; if (itsmo.validate.isEn) { var msgs = itsmo.validate.msgEn[type]; mess = msgs[0] + title + msgs[1]; } else { mess = title + itsmo.validate.msg[type]; } if (itsmo.validate.msgAlert) { alert(mess); } else { itsmo.validate.messages = mess; } }; itsmo.login = {}; /** * ログイン小窓初期設定 * * @param void * @return void * @access public */ itsmo.login.init = function() { }; /** * お問い合わせウィンドウ表示 * * @param url 遷移先URL * @return void * @access public */ itsmo.login.showInquiry = function(url) { window.open(url, '1', 'toolbar=no,scrollbars=auto,width=460,height=820,top=55'); }; /** * アカウントメニュー表示/非表示 * * @param this オブジェクト * @return void * @access public */ itsmo.login.showUserMenu = function(e) { // アイコン var elem = $(e).parent(); var name = elem.attr('class'); var isShow = elem.parent().find("div[class$='-menu']").css('display'); if (isShow == 'block') { $('.' + name + '-menu').hide(); $('.' + name).find('a[class=account-open]').attr('class', 'account'); } else if (isShow == 'none') { $('.' + name + '-menu').show(); $('.' + name).parent().find('a[class=account]').attr('class', 'account-open'); return false; } }; /** * アカウントメニュー非表示 * * @param void * @return void * @access public */ itsmo.login.closeUserMenuMap = function() { // アイコン var elem = $('.map-login'); var name = elem.attr('class'); var isShow = elem.parent().find("div[class$='-menu']").css('display'); if (isShow == 'block') { $('.' + name + '-menu').hide(); $('.' + name).find('a[class=account-open]').attr('class', 'account'); } };