ALL.IMAGE = { /*---------------------------------------------------------------------------------------------- 表示可能カテゴリかのチェック -----------------------------------------------------------------------------------------------*/ Resize : function(objImage, intMaxWidth, intMaxHeight){ var newImage = { width : objImage.width, height : objImage.height } // 最大幅制限調整 if( newImage.width > intMaxWidth && intMaxWidth != undefined){ var intPer= intMaxWidth / newImage.width; newImage = { width : intMaxWidth, height : Math.ceil(objImage.height * intPer) } } // 最大縦制限調整 if( newImage.height > intMaxHeight && intMaxHeight != undefined){ var intPer= intMaxHeight / objImage.height; newImage = { width : Math.ceil(objImage.width * intPer), height : intMaxHeight } } objImage.width = newImage.width; objImage.height = newImage.height; } } ALL.FORM = { /*---------------------------------------------------------------------------------------------- ダブルクリック防止処理 -----------------------------------------------------------------------------------------------*/ submit : function( objButton, objForm ){ objButton.disabled = true; if( objForm != undefined) objForm.submit(); } } ALL.COMMON = { /*---------------------------------------------------------------------------------------------- GETパラメーター型を配列に変換 -----------------------------------------------------------------------------------------------*/ GetToArray : function( getParam ){ var arrParam = getParam.split('&'); var arrParamResult = {}; for( var i in arrParam ){ if ( arrParam[i] != '' && arrParam[i] != undefined ){ var record = arrParam[i].split('='); arrParamResult[record[0]] = record[1]; } } return arrParamResult; } } //////////////////////////////////////////////////////////////////////////////////////////////////// // メンバー //////////////////////////////////////////////////////////////////////////////////////////////////// function MEMBER(){} /*-------------------------------------------------------------------------------- ログイン状態チェック --------------------------------------------------------------------------------*/ MEMBER.LoginCheck = function (func){ AjaxAction( 'logincheck', '', function(objGetData){ // ステータスチェック if(objGetData.status == STATUS_MODE_NOERROR){ func( objGetData.data ); }else{ objGetData.error.join("\n"); } } ); } /*-------------------------------------------------------------------------------- ログイン --------------------------------------------------------------------------------*/ MEMBER.Login = function (strId, strPass, mode){ // DBに保存する AjaxAction( 'login', '&id=' + encodeURIComponent(strId) + '&pass=' + encodeURIComponent(MD5_hexhash(strPass)) , function(objGetData){ // ステータスチェック if(objGetData.status == STATUS_MODE_NOERROR){ if(mode == 'popup'){ window.location.href = '/'; }else location.reload(); } else alert(objGetData.error.join("")); } ); } //////////////////////////////////////////////////////////////////////////////////////////////////// // ログイン //////////////////////////////////////////////////////////////////////////////////////////////////// function checkLogin(login_id, login_pass, funcTrue){ // ログイン状態チェック if(login_id == "" && login_pass == ""){ // DBに保存する AjaxAction( 'logincheck', '&mode=check&json='+ jsonFormat, function(objGetData){ // ステータスチェック if(objGetData.status == STATUS_MODE_NOERROR) funcTrue(objGetData.data); } ); // ログイン }else{ var arrPoint = Array(); arrPoint = { "id":login_id, "pass":MD5_hexhash(login_pass) }; // JSON形式に変換 var jsonFormat = JSON.Encode(arrPoint); // DBに保存する AjaxAction( 'logincheck', '&mode=ins&json='+ jsonFormat, function(objGetData){ // ステータスチェック if(objGetData.status == STATUS_MODE_NOERROR) window.location.reload(); else alert(objGetData.error.join("")); } ); } } //////////////////////////////////////////////////////////////////////////////////////////////////// // クッキーに保存 // 引数(クッキー名, 値, 有効期限日数) //////////////////////////////////////////////////////////////////////////////////////////////////// function setCookie(strKey,strValue,intDay){ myExp = new Date(); myExp.setTime(myExp.getTime()+(intDay*24*60*60*1000)); myItem = "@" + strKey + "=" + escape(strValue) + ";"; myExpires = "expires="+myExp.toGMTString(); document.cookie = myItem + myExpires; } //////////////////////////////////////////////////////////////////////////////////////////////////// // クッキー値を取りだす // 引数(クッキー名) //////////////////////////////////////////////////////////////////////////////////////////////////// function getCookie(strKey){ strKey = "@" + strKey + "="; myValue = null; myStr = document.cookie + ";" ; myOfst = myStr.indexOf(strKey); if (myOfst != -1){ myStart = myOfst + strKey.length; myEnd = myStr.indexOf(";" , myStart); myValue = unescape(myStr.substring(myStart,myEnd)); } if(myValue == null) myValue = ''; return myValue; } //////////////////////////////////////////////////////////////////////////////////////////////////// // Loading //////////////////////////////////////////////////////////////////////////////////////////////////// function dispLoading( OnOff ){ if( OnOff ) $('loading_id').style.display = 'block'; else $('loading_id').style.display = 'none'; } //////////////////////////////////////////////////////////////////////////////////////////////////// // カードに保存 //////////////////////////////////////////////////////////////////////////////////////////////////// function insExportList(intLat, intLon, strTitle, strTel){ AjaxLib.post( SITE_ROOTPATH + '/ajax/export_regist.php', { title : decodeURIComponent(strTitle), lng : intLon, lat : intLat, tel : (( strTel != undefined )? strTel : '') }, function (httpObj){ var objGetData = eval('(' + httpObj.responseText + ')'); // ステータスチェック if(objGetData.status == STATUS_MODE_NOERROR) alert("保存箱に移動しました。保存箱からカードに保存してください"); else alert(objGetData.error.join("\n")); } ); } //////////////////////////////////////////////////////////////////////////////////////////////////// // ポップアップウィンドウ表示 //////////////////////////////////////////////////////////////////////////////////////////////////// var objPopUpWindow = Object(); function openBrWindow(theURL,winName,features) { //v2.0 objPopUpWindow = window.open(theURL,winName,features); } //////////////////////////////////////////////////////////////////////////////////////////////////// // ラッパー //////////////////////////////////////////////////////////////////////////////////////////////////// function $(tagId, mode){ if(mode == 'opener'){ return opener.document.getElementById(tagId); }else{ return document.getElementById(tagId); } } //////////////////////////////////////////////////////////////////////////////////////////////////// // イベントセット //////////////////////////////////////////////////////////////////////////////////////////////////// function SetEvent(objTarger, Status, funcAction){ //IE if(navigator.systemLanguage) { objTarger.attachEvent(Status, funcAction()); // Other }else { objTarger.addEventListener(Status, funcAction()); } } //////////////////////////////////////////////////////////////////////////////////////////////////// // Ajax ラッパー //////////////////////////////////////////////////////////////////////////////////////////////////// function AjaxAction (strFileName, strPram, funcTargetAction){ var objAjax = createXMLHttpRequest(); if ( objAjax ){ var date = new Date(); var timestamp = date.getTime(); objAjax.open( "GET", SITE_ROOTPATH + '/ajax/' + strFileName + '.php?time=' + timestamp + strPram, true ); objAjax.onreadystatechange = function(){ if ( objAjax.readyState == 4 ){ if( objAjax.status == 200 ){ var objGetData = eval("("+ objAjax.responseText +")"); if( objGetData != undefined ){ // JSONデータの保存 objGetData.json = objAjax.responseText; // 値を受取った後の動作 funcTargetAction(objGetData); } }else{ // ファイル取得失敗時に処理中断 objAjax.abort(); } } } objAjax.send(null); } } //////////////////////////////////////////////////////////////////////////////////////////////////// // HTTP通信用、共通関数 //////////////////////////////////////////////////////////////////////////////////////////////////// function createXMLHttpRequest() { var XMLhttpObject = null; try{ XMLhttpObject = new XMLHttpRequest(); }catch(e){ try{ XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ return null; } } } return XMLhttpObject; } //////////////////////////////////////////////////////////////////////////////////////////////////// // ステータスチェック //////////////////////////////////////////////////////////////////////////////////////////////////// function checkResult(status, mode){ // Loadingを非表示 try{ dispLoading(false); } catch(e){} var strError = ''; if(status == 1) { alert('パラメータエラーが発生しました'); } else if(status == 2) { alert('サーバエラーが発生しました'); } else if(status == 3) { alert('タイムアウトにより処理を終了しました'); } else if(status == 4) { alert('検索が中止されました'); } else if(status == 5) { if(mode != STATUS_MODE_SEARCH) alert('該当データが存在しませんでした'); else return true; } else if(status == 6) { alert('認証エラーが発生しました'); } else if(status == 9) { alert('その他のエラーが発生しました'); } else if(status == 0) { return true; } else { alert('システムエラーが発生しました'); } return false; } //////////////////////////////////////////////////////////////////////////////////////////////////// // var_dump //////////////////////////////////////////////////////////////////////////////////////////////////// function var_dump(exp, blank) { var dump = var_dump._deploy(exp, '', 0); switch(var_dump.is_display) { case false: break; case (typeof(var_dump.print) != 'undefined'): var_dump.print(dump); break; case (typeof(alert) != 'undefined'): if(blank){ test = window.open("","_blank","width=680,height=600,resizable,scrollbars=yes"); test.document.write('
' + dump + ''); test.document.close(); }else{ alert(dump); } break; case (typeof(print) != 'undefined'): print(dump); break; default: break; }; return dump; }; // display var_dump.is_display = true; var_dump._deploy = function(v, p, n) { var s = new Array(n + 1).join(' '); var c, k, t, i = 0, a = []; switch(typeof(v)) { case 'string': return p + 'string('+ v.length +') '+'"'+ v +'"'; case 'number': return p + 'number('+ v +')'; case 'function': if(v instanceof RegExp){ return p + 'RegExp' }; return p + 'function'; case 'boolean': return p + 'boolean('+ v +')'; case 'object': try{ if(v.toString() == void(0)) return p + '[object]'; } catch(e){ return p + '[object]'; }; switch(true) { case (v == null): return p + 'null'; case (v.toString().match(/^\[object\s(.+)\]/g) != null): t = RegExp.$1; break; case (v.constructor && v.constructor instanceof Function): if(v.constructor.toString().match(/function\s(.+)\(/g)){ t = RegExp.$1 }; break; default: t = 'Object'; break; }; try { for(k in v) a[i++] = ' ' + s + this._deploy(v[k], '['+ k +'] => ', n + 2); } catch(e){}; return p + t + '('+ i +') {\n' + a.join('\n') + '\n' + s + '}'; default: return p + 'undefined'; }; }; //////////////////////////////////////////////////////////////////////////////////////////////////// // JSON //////////////////////////////////////////////////////////////////////////////////////////////////// function JSON(){} /*-------------------------------------------------------------------------------- JSONエンコードを行なう --------------------------------------------------------------------------------*/ JSON.Encode = function(obj, mode){ var rtn; if(obj==null){ rtn = "null"; }else{ switch(obj.constructor){ case Boolean: rtn = obj?"true":"false"; break; case Number: rtn = ( ( isNaN(obj)||!isFinite(obj) ) ? "null" : obj.toString(10) ); break; case String: rtn = "\"" + escJp(obj) + "\""; break; case Array: var buf = []; for(var i=0;i