/* -------------------------------------------------------------------------- */ /* * JavaScript Document * * * version2.0 / 2007-05-25 * 2007-06-19 add getTextAreaSelectText * 2008-02-14 add getPageWHSize, getElementType */ /* -------------------------------------------------------------------------- */ var dom = new Object(); dom.event = new Object(); dom.event.addEventListener = function(elm, type, func, useCapture){ if(!elm){ return false; } if(!useCapture){ useCapture = false; } if(elm.addEventListener){ elm.addEventListener(type, func, false); }else if(elm.attachEvent){ elm.attachEvent('on' + type, func); }else{ return false; } return false; }; dom.event.removeEventListener = function(elm, type, func, useCapture){ if(!elm){ return false; } if(!useCapture){ useCapture = false; } if(elm.removeEventListener){ elm.removeEventListener(type, func, false); }else if(elm.detachEvent){ elm.detachEvent('on' + type, func); }else{ return false; } return false; }; dom.event.target = function(evt){ if(evt && evt.target){ if(evt.target.nodeType == 3){ return evt.target.parentNode; }else{ return evt.target; } }else if(window.event && window.event.srcElement){ return window.event.srcElement; }else{ return null; } }; dom.event.preventDefault = function(evt){ if(evt && evt.preventDefault){ evt.preventDefault(); /*safari1.3用*/ evt.currentTarget['on' + evt.type] = function(){ return false; } }else if(window.event){ window.event.returnValue = false; } }; dom.event.stopPropagation = function(evt){ if(evt && evt.stopPropagation){ evt.stopPropagation(); }else if(window.event){ window.event.cancelBubble = true; } }; dom.event.getElementsByClassName = function(name){ var elements = []; var allElements = document.getElementsByTagName('*'); for(var i=0, len=allElements.length; i<len; i++){ if(allElements[i].className == name){ elements.push(allElements[i]); } } return elements; }; dom.event.getTextAreaSelectText = function(name){ var TextAreaSelect = []; var StartText; var EndText; var TextLength; var elm = document.getElementById(name); if(elm.setSelectionRange){ StartText = elm.selectionStart; EndText = elm.selectionEnd; TextLength = EndText - StartText; }else if(document.selection){ var docRange = document.selection.createRange(); var textRange = document.body.createTextRange(); textRange.moveToElementText(elm); var range = textRange.duplicate(); range.setEndPoint('EndToStart', docRange); StartText = range.text.length; range.setEndPoint('EndToEnd', docRange); EndText = range.text.length; TextLength = EndText - StartText; } TextAreaSelect.StartTxt = StartText; TextAreaSelect.EndTxt = EndText; TextAreaSelect.TextLength = TextLength; return TextAreaSelect; }; dom.event.setTextAreaSelectText = function(name){ var elm = document.getElementById(name.id); if(elm.setSelectionRange){ elm.setSelectionRange(elm.value.length, elm.value.length); }else if(document.selection){ var range = name.createTextRange(); range.move('character', name.value.length); range.select(); } }; dom.event.getPageWHSize = function(){ var scrollmaxHeight, scrollmaxWidth, windowWidth, windowHeight; if(window.innerHeight && window.scrollMaxY){ scrollmaxWidth = document.body.scrollWidth; scrollmaxHeight = window.innerHeight + window.scrollMaxY; }else if(document.body.scrollHeight > document.body.offsetHeight){ scrollmaxWidth = document.body.scrollWidth; scrollmaxHeight = document.body.scrollHeight; }else{ scrollmaxWidth = document.body.offsetWidth; scrollmaxHeight = document.body.offsetHeight; } if (self.innerHeight) { windowWidth = self.innerWidth; windowHeight = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { windowWidth = document.documentElement.clientWidth; windowHeight = document.documentElement.clientHeight; } else if (document.body) { windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; } var pageHeight = (scrollmaxHeight <windowHeight) ? windowHeight : scrollmaxHeight; var pageWidth = (scrollmaxWidth <windowWidth) ? windowWidth : scrollmaxWidth; arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); return arrayPageSize; }; dom.event.getElementType = function(element){ if(typeof(element) == 'string'){ var elm = document.getElementById(element); }else{ var elm = element; } return elm; };
