
function nl2br(str)
{return str.replace(/(\n|\r\n)/g,'<br />');}
function br2nl(str)
{return str.replace(/(<br>|<br ?\/>)/g,'\n');}
function abbr(str,len,tail)
{if(str.length<=len)return str;str=str.substring(0,len);if(!tail)tail='...';str+=tail;return str;}
function u(str)
{return encodeURIComponent(str);}
function clearAutoComplete()
{$A(document.forms).each(function(f){f.reset();});}
function setOpacity(elem,opacity)
{elem.style.KhtmlOpacity=opacity;elem.style.MozOpacity=opacity;elem.style.opacity=opacity;elem.style.filter='Alpha(opacity: '+(opacity*100)+')';}
function getBrowserWidth()
{if(window.innerWidth){return window.innerWidth;}
else if(document.documentElement&&document.documentElement.clientWidth!=0){return document.documentElement.clientWidth;}
else if(document.body){return document.body.clientWidth;}
return 0;}
function getBrowserHeight()
{if(window.innerHeight){return window.innerHeight;}
else if(document.documentElement&&document.documentElement.clientHeight!=0){return document.documentElement.clientHeight;}
else if(document.body){return document.body.clientHeight;}
return 0;}
function lengthlimiter(id,maxlength,charmode,msg_remain,msg_just,msg_over)
{var targetstr=$F(id);var output=$(id+'_lengthchecker_message');var counter=0;var remain=maxlength;var msg='';if(charmode){counter=targetstr.length;}else{for(var i=0;i<targetstr.length;i++){if(targetstr.charCodeAt(i)<0x80){counter+=1;}else{counter+=2;}}}
remain-=counter;if(remain>0){msg=msg_remain;}else if(remain==0){msg=msg_just;}else{msg=msg_over;remain*=-1;}
msg=msg.replace('%multi%',Math.floor(remain/2));msg=msg.replace('%single%',remain);output.innerHTML=msg;}
function is_fill(id)
{var value=$F(id);return(value.trim());}
function load_modal(url)
{new Ajax.Updater('modalcontents',url,{asynchronous:false,evalScripts:true,method:'get'});}
function init_modal(modal_id,parameters,link)
{var defaults={fade:true,fadeDuration:0,opacity:0.24,position:'absolute',offsetTop:0,offsetLeft:0,overlayCloseOnClick:false,afterClose:function(){closeModal(modal_id);}};Object.keys(defaults).each(function(key){if(!parameters[key])
parameters[key]=defaults[key];});if(link){link=modal_id+'_link';}else{parameters['contents']=function(){return $(modal_id).innerHTML;};}
m=new Control.Modal(link,parameters);addModal(modal_id,m);}
function load_modals(modals)
{if(modals){modals.each(function(modal){load_modal(modal.url+modal.id);});}}
function init_modals(modals)
{if(modals){modals.each(function(modal){init_modal(modal.id,modal.parameters,modal.link);});}}
function addModal(id,modal)
{if(!window.mapeer)window['mapeer']={};if(!window.mapeer.modals)window.mapeer['modals']={};window.mapeer.modals[id]=modal;}
function getModal(id)
{if(!window.mapeer)return false;if(!window.mapeer.modals)return false;if(!window.mapeer.modals[id])return false;return window.mapeer.modals[id];}
function openModal(id)
{var c=Control.Modal.current;if(c){if(!window.mapeer.modalstack)window.mapeer.modalstack=[];window.mapeer.modalstack.push([c,Control.Modal.container.innerHTML]);}
var modal=getModal(id);if(!modal)return false;disableBodyScroll();modal.open();}
function closeModal(id)
{removeAllTinyMCE();var modal=getModal(id);if(modal){modal.close();}
if(window.mapeer.modalstack){if(window.mapeer.modalstack.length>0){var l=window.mapeer.modalstack.pop();if(l.length==2)l[0].open();return;}}
enableBodyScroll();}
function closeAllModalStack()
{removeAllTinyMCE();var c=Control.Modal.current;if(c)c.close();window.mapeer.modalstack=[];enableBodyScroll();}
function closeAllModals()
{removeAllTinyMCE();var c=Control.Modal.current;if(c)c.close();window.mapeer.modals={};window.mapeer.modalstack=[];enableBodyScroll();}
function openModalOC(id,options)
{var html=$('modal-oc').innerHTML;html=html.replace(/modal-oc/g,id+'-modal-oc');var m=new Control.Modal(false,{opacity:0.4,fade:true,fadeDuration:0,overlayCloseOnClick:false,contents:html});addModal(id,m);openModal(id);if(options.message)$(id+'-modal-oc-msg').innerHTML=options.message;Event.observe(id+'-modal-oc-ok','click',function(){closeModal(id);if(options.onOk)options.onOk();},false);Event.observe(id+'-modal-oc-cancel','click',function(){closeModal(id);if(options.onCancel)options.onCancel();},false);}
function openModalYNC(id,options)
{var html=$('modal-ync').innerHTML;html=html.replace(/modal-ync/g,id+'-modal-ync');var m=new Control.Modal(false,{opacity:0.4,fade:true,fadeDuration:0,overlayCloseOnClick:false,contents:html});addModal(id,m);openModal(id);if(options.message)$(id+'-modal-ync-msg').innerHTML=options.message;Event.observe(id+'-modal-ync-yes','click',function(){closeModal(id);if(options.onYes)options.onYes();},false);Event.observe(id+'-modal-ync-no','click',function(){closeModal(id);if(options.onNo)options.onNo();},false);Event.observe(id+'-modal-ync-cancel','click',function(){closeModal(id);if(options.onCancel)options.onCancel();},false);}
function openModalWithAjax(id,url,pars,onFinish,options)
{var cmpars={fade:true,fadeDuration:0,opacity:0.4,overlayDisplay:true,overlayCloseOnClick:true,contents:function(){new Ajax.Request(url,{asynchronous:true,method:'post',parameters:pars,onFailure:function(originalRequest,o){logger('fail',K_LOG_LEVEL_DEBUG1);},onException:function(originalRequest,e){logger('exception',K_LOG_LEVEL_DEBUG1);},onComplete:function(originalRequest){logger('Response: '+originalRequest.responseText,K_LOG_LEVEL_DEBUG1);m.update(originalRequest.responseText);if(onFinish)onFinish(originalRequest);}});return'';}};if(options)for(var k in options)cmpars[k]=options[k];var m=new Control.Modal(false,cmpars);addModal(id,m);openModal(id);return m;}
function updateModalWithAjax(id,url,pars,onFinish,options)
{var m=getModal(id);if(!m)return false;new Ajax.Request(url,{asynchronous:false,method:'post',parameters:pars,onFailure:function(originalRequest,o){logger('fail',K_LOG_LEVEL_DEBUG1);},onException:function(originalRequest,e){logger('exception',K_LOG_LEVEL_DEBUG1);},onComplete:function(originalRequest){logger('Response: '+originalRequest.responseText,K_LOG_LEVEL_DEBUG1);m.update(originalRequest.responseText);if(onFinish)onFinish(originalRequest);}});}
function disableBodyScroll()
{if(BrowserDetect.browser=='Explorer'){}else{document.body.style.overflow='hidden';}}
function enableBodyScroll()
{if(BrowserDetect.browser=='Explorer'){}else{document.body.style.overflow='visible';}}
function ajaxSubmit(form_id,target_id,action,method,asynchronous,onFinish)
{if(!form_id||!target_id){return false;}
if(!$(target_id)){return false;}
if(!action){return false;}
method=method.toLowerCase();if(method!='get'&&method!='post'){return false;}
if(asynchronous==undefined){asynchronous=true;}
var parameters=Form.serialize(form_id);new Ajax.Request(action,{asynchronous:asynchronous,method:method,parameters:parameters,onComplete:function(originalRequest){$(target_id).innerHTML=originalRequest.responseText;if(onFinish)onFinish(originalRequest);}});return true;}
function inlineEdit(action,updatekey,fieldname,id_target,id_container,id_editform,onFinish)
{var target=$(id_target);if(!id_container)id_container=id_target+'-container';var container=$(id_container);if(!id_editform)id_editform=id_target+'-editform';var editform=$(id_editform).cloneNode(true);var original=container.innerHTML;var edittext=target.innerHTML;edittext=br2nl(edittext);if(editform.tagName.toLowerCase()=='textarea'){editform.innerHTML=edittext;}else{editform.setAttribute('value',edittext);}
container.innerHTML='';container.appendChild(editform);editform.focus();Event.observe(editform,'blur',function(){var url=window.baseurl+action;var pars={};pars.fieldname=fieldname;pars.value=editform.value;pars=$H(pars).toQueryString();new Ajax.Request(url,{method:'post',parameters:pars,onComplete:function(originalRequest){eval('var result = '+originalRequest.responseText);container.innerHTML=original;$(id_target).innerHTML=nl2br(result.value);if(onFinish)onFinish(result);}});},false);}
function countChecked(form,name)
{form=$(form);var count=0;var checkboxes=Form.getInputs(form,'checkbox',name?name:undefined);checkboxes.each(function(checkbox){if(checkbox.checked)count++;});return count;}
var K_LOG_LEVEL_FAIL=1;var K_LOG_LEVEL_ERROR=2;var K_LOG_LEVEL_WARNING=3;var K_LOG_LEVEL_NOTICE=4;var K_LOG_LEVEL_DEBUG1=11;var K_LOG_LEVEL_DEBUG2=12;var current_log_level=K_LOG_LEVEL_DEBUG1;var logger_mode=Cookie.get('logger_mode');if(!logger_mode)logger_mode=K_LOG_LEVEL_FAIL;current_log_level=logger_mode;function logger(message,level)
{if(current_log_level<level)return;try{if(window.console!=undefined){window.console.log(message);}
if(window.opera!=undefined){window.opera.postError(message);}}catch(e){}}
Array.prototype.indexOf=function(value)
{var i=this.length;while(i){if(this[--i]==value)return i;}
return-1;};Array.prototype.remove=function(value)
{var i=this.length;var a;while(i--){if(value.indexOf(a=this.pop())==-1)this.unshift(a);}};String.prototype.trim=function()
{return this.replace(/^[\s　]+|[\s　]+$/g,'');}