
if(!sl.loaded['sl.dom.js']){try{Node}catch(e){Node={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11}}
sl.dom={addOptionToObject:function(element,option_value,option_text,_document){var option=null;if(option_value&&element&&element.options){if(!option_text)option_text=option_value;try{option=element.options[element.length]=new Option(option_text,option_value);}catch(exception){try{option=_document.createElement('option');option.value=option_value;option.text=option_text;element.options.add(option);}catch(IEexception){}}}
return option;},getElement:function(element_name,_document){try{if(!_document)_document=document;if(_document.getElementById){return _document.getElementById(element_name);}else if(_document.all){return eval("_document.all['"+element_name+"']");}}catch(exception){}
return null;},getClass:function(element){try{return element.className;}catch(exception){};return'';},hasClass:function(element,class_name){var all_classes=' '+sl.dom.getClass(element)+' ';return(all_classes.indexOf(' '+class_name+' ')!=-1);},setClass:function(element,class_name){try{element.className=class_name;}catch(exception){}},addClass:function(element,class_name){if(!sl.dom.hasClass(element,class_name)){var new_class_name=sl.dom.getClass(element)+' '+class_name;sl.dom.setClass(element,new_class_name);}},removeClass:function(element,class_name){if(sl.dom.hasClass(element,class_name)){var new_class_name=sl.dom.getClass(element).replace(new RegExp(class_name),'');sl.dom.setClass(element,new_class_name);}},replaceClass:function(element,class_to_remove,class_to_set){sl.dom.removeClass(element,class_to_remove);sl.dom.addClass(element,class_to_set);},getElementsByClass:function(class_name,tag_name,_document){try{var result=[];if(!tag_name)tag_name='*';if(!_document)_document=document;var _elements=_document.getElementsByTagName(tag_name);var _elements_length=_elements.length;for(var i=0;i<_elements_length;i++){if(sl.dom.hasClass(_elements[i],class_name)){result.push(_elements[i]);}}
return result;}catch(exception){}
return null;},nextElementAfter:function(element,tag_name){var result=element.nextSibling;while(result){if(result.tagName&&result.tagName==tag_name.toUpperCase()){return result;}
result=result.nextSibling;}
return null;},previousElementBefore:function(element,tag_name){var result=element.previousSibling;while(result){if(result.tagName&&result.tagName==tag_name.toUpperCase()){return result;}
result=result.previousSibling;}
return null;},getParentByTagName:function(element,tag_name,css_class){var result=element.parentNode;while(result){if(result.tagName&&result.tagName==tag_name.toUpperCase()){if(css_class){if(sl.dom.hasClass(result,css_class)){return result;}}else{return result;}}
result=result.parentNode;}
return null;},getFirstChildByTagName:function(element,tag_name){var result=element.childNodes;var subresult=null;while(result){for(var i=0;i<result.length;i++){if(result[i].tagName&&result[i].tagName==tag_name.toUpperCase()){return result[i];}else{subresult=sl.dom.getFirstChildByTagName(result[i],tag_name)
if(subresult){return(subresult);}}}
result=result.childNodes;}
return null;},getXmlDomObjectFromString:function(xml_data){var xml_doc=null;try{var parser=new DOMParser();xml_doc=parser.parseFromString(xml_data,"text/xml");}catch(e){try{xml_doc=new ActiveXObject("Microsoft.XMLDOM");xml_doc.async="false";xml_doc.loadXML(xml_data);}catch(e){}}
return xml_doc;},getCSSProperty:function(element,style){var _style=null;if(element){if(element.currentStyle){var regexp=/(-[a-z])/g;style.replace(regexp,function(result){return result.toUpperCase().replace('-','')});var _style=element.currentStyle[style];}else if(window.getComputedStyle){var _style=document.defaultView.getComputedStyle(element,null).getPropertyValue(style);}
return _style;}else{return null;}},moveNodeUp:function(_node){var current_node=_node;while(current_node.previousSibling){if(_node.nodeType==current_node.previousSibling.nodeType){_node.parentNode.insertBefore(_node,current_node.previousSibling);break;}
current_node=current_node.previousSibling;}},moveNodeDown:function(_node){var current_node=_node;while(current_node.nextSibling){if(_node.nodeType==current_node.nextSibling.nodeType){_node.parentNode.insertBefore(_node,current_node.nextSibling.nextSibling);break;}
current_node=current_node.nextSibling;}},getObjectOffset:function(object){var result={offsetLeft:0,offsetTop:0}
if(sl.IEVersion){result.offsetLeft=object.offsetLeft;result.offsetTop=object.offsetTop;parentObject=object.offsetParent;while(parentObject){result.offsetLeft+=parentObject.offsetLeft;result.offsetTop+=parentObject.offsetTop;parentObject=parentObject.offsetParent;}}else{result.offsetLeft=object.offsetLeft;result.offsetTop=object.offsetTop;}
return result;},getWindowInnerWidth:function(_window){_window=_window||window.top;return _window.innerWidth||_window.document.documentElement.clientWidth;},getWindowInnerHeight:function(_window){_window=_window||window.top;return _window.innerHeight||_window.document.documentElement.clientHeight;},getPageYOffset:function(){return window.pageYOffset||document.documentElement.scrollTop;},getPageXOffset:function(){return window.pageXOffset||document.documentElement.scrollLeft;},pageIsInFrame:function(){return top.location.href!=location.href;},getIframeDocument:function(iframe){try{return iframe.contentDocument||iframe.contentWindow.document;}catch(e){return null;}}}
sl.loaded['sl.dom.js']=true;}
