
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - nodeutilities.js - */
// http://casesupport.infinet.ru/portal_javascripts/nodeutilities.js?original=1
function wrapNode(node,wrappertype,wrapperclass){var wrapper=document.createElement(wrappertype)
wrapper.className=wrapperclass;var innerNode=node.parentNode.replaceChild(wrapper,node);wrapper.appendChild(innerNode)};
function nodeContained(innernode,outernode){var node=innernode.parentNode;while(node!=document){if(node==outernode){return true}
node=node.parentNode}
return false};
function findContainer(node,func){while(node!=null){if(func(node)){return node}
node=node.parentNode}
return false};
function hasClassName(node,class_name){return new RegExp('\\b'+class_name+'\\b').test(node.className)};
function addClassName(node,class_name){if(!node.className){node.className=class_name} else if(!hasClassName(node,class_name)){var className=node.className+" "+class_name;node.className=className.split(/\s+/).join(' ')}};
function removeClassName(node,class_name){var className=node.className;if(className){className=className.replace(new RegExp('\\b'+class_name+'\\b'),'');className=className.replace(/\s+/g,' ');node.className=className.replace(/\s+$/g,'')}};
function replaceClassName(node,old_class,new_class,ignore_missing){if(ignore_missing&&!hasClassName(node,old_class)){addClassName(node,new_class)} else{var className=node.className;if(className){className=className.replace(new RegExp('\\b'+old_class+'\\b'),new_class);className=className.replace(/\s+/g,' ');node.className=className.replace(/\s+$/g,'')}}};
function walkTextNodes(node,func,data){if(!node){return false}
if(node.hasChildNodes){for(var i=0;i<node.childNodes.length;i++){walkTextNodes(node.childNodes[i],func,data)}
if(node.nodeType==3){func(node,data)}}};
function getInnerTextCompatible(node){var result=new Array();walkTextNodes(node,
function(n,d){d.push(n.nodeValue)},result);return result.join("")};
function getInnerTextFast(node){if(node.innerText){return node.innerText} else{return getInnerTextCompatible(node)}};
function sortNodes(nodes,fetch_func,cmp_func){if(!W3CDOM){return false};var SortNodeWrapper=function(node){this.value=fetch_func(node);this.cloned_node=node.cloneNode(true);this.toString=function(){if(this.value.toString){return this.value.toString()} else{return this.value}}}
var items=new Array();for(var i=0;i<nodes.length;i++){items.push(new SortNodeWrapper(nodes[i]))}
if(cmp_func){items.sort(cmp_func)} else{items.sort()}
for(var i=0;i<items.length;i++){var dest=nodes[i];dest.parentNode.replaceChild(items[i].cloned_node,dest)}};

/* - cookie_functions.js - */
// http://casesupport.infinet.ru/portal_javascripts/cookie_functions.js?original=1
function createCookie(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString()}else{expires=""}document.cookie=name+"="+escape(value)+expires+"; path=/;"};function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length)}if(c.indexOf(nameEQ)==0){return unescape(c.substring(nameEQ.length,c.length))}}return null};

/* - livesearch.js - */
// http://casesupport.infinet.ru/portal_javascripts/livesearch.js?original=1
var liveSearchReq=false;var t=null;var liveSearchLast="";var queryTarget="livesearch_reply?q=";var searchForm=null;var searchInput=null;var isIE=false;var _cache=new Object();var widthOffset=1;
function calculateWidth(){}
function getElementDimensions(elemID){var base=document.getElementById(elemID);var offsetTrail=base;var offsetLeft=0;var offsetTop=0;var width=0;while(offsetTrail){offsetLeft+=offsetTrail.offsetLeft;offsetTop+=offsetTrail.offsetTop;offsetTrail=offsetTrail.offsetParent}
if(navigator.userAgent.indexOf("Mac")!=-1&&typeof document.body.leftMargin!="undefined"){offsetLeft+=document.body.leftMargin;offsetTop+=document.body.topMargin}
if(!isIE)
width=searchInput.offsetWidth-widthOffset*2;else
width=searchInput.offsetWidth;return{left:offsetLeft,top:offsetTop,width:width,height:base.offsetHeight,bottom:offsetTop+base.offsetHeight,right:offsetLeft+width}}
function liveSearchInit(){searchInput=document.getElementById('searchGadget');if(searchInput==null||searchInput==undefined)
return
if(navigator.userAgent.indexOf("KHTML")>0){searchInput.addEventListener("keydown",liveSearchKeyPress,false);searchInput.addEventListener("focus",liveSearchDoSearch,false);searchInput.addEventListener("keydown",liveSearchStart,false);searchInput.addEventListener("blur",liveSearchHideDelayed,false)} else if(searchInput.addEventListener){searchInput.addEventListener("keypress",liveSearchKeyPress,false);searchInput.addEventListener("blur",liveSearchHideDelayed,false);searchInput.addEventListener("keypress",liveSearchStart,false)} else{searchInput.attachEvent("onkeydown",liveSearchKeyPress);searchInput.attachEvent("onkeydown",liveSearchStart);searchInput.attachEvent("onblur",liveSearchHideDelayed);isIE=true}
searchInput.setAttribute("autocomplete","off");var pos=getElementDimensions('searchGadget');result=document.getElementById('LSResult');if((typeof result.offsetParent!='undefined')&&(result.offsetParent!=null)){pos.left=pos.left-result.offsetParent.offsetLeft+pos.width} else{pos.left=pos.left+pos.width}
result.style.display='none'}
function liveSearchHideDelayed(){window.setTimeout("liveSearchHide()",400)}
function liveSearchHide(){document.getElementById("LSResult").style.display="none";var highlight=document.getElementById("LSHighlight");if(highlight)
highlight.removeAttribute("id")}
function getFirstHighlight(){var set=getHits();return set[0]}
function getLastHighlight(){var set=getHits();return set[set.length-1]}
function getHits(){var res=document.getElementById("LSShadow");var set=res.getElementsByTagName('li');return set}
function findChild(object,specifier){var cur=object.firstChild;try{while(cur!=undefined){cur=cur.nextSibling;if(specifier(cur)==true)
return cur}} catch(e){};return null}
function findNext(object,specifier){var cur=object;try{while(cur!=undefined){cur=cur.nextSibling;if(cur.nodeType==3)
cur=cur.nextSibling;if(cur!=undefined){if(specifier(cur)==true)
return cur} else{break}}} catch(e){};return null}
function findPrev(object,specifier){var cur=object;try{cur=cur.previousSibling;if(cur.nodeType==3)
cur=cur.previousSibling;if(cur!=undefined){if(specifier(cur)==true)
return cur}} catch(e){};return null}
function liveSearchKeyPress(event){var highlight=document.getElementById("LSHighlight");if(event.keyCode==40){if(!highlight){highlight=getFirstHighlight()} else{highlight.removeAttribute("id");highlight=findNext(highlight, function(o){return o.className=="LSRow"})}
if(highlight)
highlight.setAttribute("id","LSHighlight");if(!isIE)
event.preventDefault()}
else if(event.keyCode==38){if(!highlight){highlight=getLastHighlight()}
else{highlight.removeAttribute("id");highlight=findPrev(highlight, function(o){return o.className=='LSRow'})}
if(highlight)
highlight.setAttribute("id","LSHighlight");if(!isIE)
event.preventDefault()}
else if(event.keyCode==27){if(highlight)
highlight.removeAttribute("id");document.getElementById("LSResult").style.display="none"}}
function liveSearchStart(event){if(t){window.clearTimeout(t)}
var code=event.keyCode;if(code!=40&&code!=38&&code!=27&&code!=37&&code!=39){t=window.setTimeout("liveSearchDoSearch()",200)}}
function liveSearchDoSearch(){if(typeof liveSearchRoot=="undefined"){if(typeof portal_url=="undefined"){liveSearchRoot=""} else{if(portal_url[portal_url.length-1]=='/'){liveSearchRoot=portal_url} else{liveSearchRoot=portal_url+'/'}}}
if(typeof liveSearchRootSubDir=="undefined"){liveSearchRootSubDir=""}
if(liveSearchLast!=searchInput.value){if(liveSearchReq&&liveSearchReq.readyState<4){liveSearchReq.abort()}
if(searchInput.value==""){liveSearchHide();return false}
if(searchInput.value.length<2){liveSearchHide();return false}
var result=_cache[searchInput.value];if(result){showResult(result);return}
liveSearchReq=new XMLHttpRequest();liveSearchReq.onreadystatechange=liveSearchProcessReqChange;liveSearchReq.open("GET",liveSearchRoot+queryTarget+encodeURIComponent(searchInput.value));liveSearchLast=searchInput.value;liveSearchReq.send(null)}}
function showResult(result){var res=document.getElementById("LSResult");res.style.display="block";var sh=document.getElementById("LSShadow");sh.innerHTML=result}
function liveSearchProcessReqChange(){if(liveSearchReq.readyState==4){try{if(liveSearchReq.status>299||liveSearchReq.status<200||liveSearchReq.responseText.length<10)
return} catch(e){return}
showResult(liveSearchReq.responseText);_cache[liveSearchLast]=liveSearchReq.responseText}}
function liveSearchSubmit(){var highlight=document.getElementById("LSHighlight");if(highlight){var targets=highlight.getElementsByTagName('a');if(targets.length==0)
return true;var target=targets[0].href;if(!target)
return true;if((liveSearchRoot.length>0)&&(target.substring(0,liveSearchRoot.length)!=liveSearchRoot)){window.location=liveSearchRoot+liveSearchRootSubDir+target} else{window.location=target}
return false} else{return true}}
if(window.addEventListener)
window.addEventListener("load",liveSearchInit,false);else if(window.attachEvent)
window.attachEvent("onload",liveSearchInit);

