/******************************************************** For more info & download: http://www.ibegin.com/blog/p_ibox.html Created for iBegin.com - local search done right MIT Licensed Style *********************************************************/ var indicator_img_path="/nic/images/indicator.gif"; var indicator_img_html="\"Loading...\""; var close_ibox_path="/nic/images/closelabel.gif"; var close_ibox_html=""; function init_ibox(){ var elem_wrapper="ibox"; createIbox(document.getElementsByTagName("body")[0]); var docRoot=document.getElementsByTagName("a"); var ibAttr="rel"; var e; for(var i=0;i"; strHTML+="
"; strHTML+=indicator_img_html; strHTML+="
"; strHTML+="
"; strHTML+="
"; strHTML+="
"; var docBody=document.getElementsByTagName("body")[0]; var ibox=document.createElement("div"); ibox.setAttribute("id","ibox"); ibox.style.display=''; ibox.innerHTML=strHTML; elem.appendChild(ibox); } var ibox_w_height=0; showIbox=function(url,title,params){ var ibox=getElem('ibox_wrapper'); var ibox_type=0; var ibox_footer=getElem('ibox_footer'); if(title!=""){ibox_footer.innerHTML=title;}else{ibox_footer.innerHTML=" ";} url=url.toLowerCase(); var urlString=/\.jpg|\.jpeg|\.png|\.gif|\.html|\.htm|\.php|\.cfm|\.asp|\.aspx|\.jsp|\.jst|\.rb|\.txt/g; var urlType=url.match(urlString); if(urlType=='.jpg'||urlType=='.jpeg'||urlType=='.png'||urlType=='.gif'){ ibox_type=0; showIndicator(); var imgPreloader=new Image(); imgPreloader.onload=function(){ imgPreloader=resizeImageToScreen(imgPreloader); hideIndicator(); getElem('ibox_content').style.overflow="hidden"; var strHTML=""; if(loadCancelled==false){ ibox.style.height=imgPreloader.height+'px'; ibox.style.width=imgPreloader.width+'px'; ibox.style.display=""; ibox.style.visibility="hidden"; posToCenter(ibox); ibox.style.visibility="visible"; setIBoxContent(strHTML); } } loadCancelled=false; imgPreloader.src=url; }else if(url.indexOf("#")>0){ var strHTML=""; ibox_type=1; if(params['height']){ibox.style.height=params['height']+'px';} else{ibox.style.height='400px';} if(params['width']){ibox.style.width=params['width']+'px';} else{ibox.style.width='550px';} ibox.style.display=""; ibox.style.visibility="hidden"; posToCenter(ibox); ibox.style.visibility="visible"; var elemSrcId=url.substr(url.indexOf("#")+1,1000); var elemSrc=getElem(elemSrcId); if(elemSrc){ strHTML=elemSrc.innerHTML; } setIBoxContent(strHTML); }else if(urlType=='.htm'||urlType=='.html'||urlType=='.php'|| urlType=='.asp'||urlType=='.aspx'||urlType=='.jsp'|| urlType=='.jst'||urlType=='.rb'||urlType=='.txt'|| urlType=='.cfm'){ ibox_type=2; showIndicator(); http.open('get',url,true); http.onreadystatechange=function(){ if(http.readyState==4){ hideIndicator(); if(params['height']){ibox.style.height=params['height']+'px';} else{ibox.style.height='280px';} if(params['width']){ibox.style.width=params['width']+'px';} else{ibox.style.width='450px';} ibox.style.display=""; ibox.style.visibility="hidden"; posToCenter(ibox); ibox.style.visibility="visible"; var response=http.responseText; setIBoxContent(response); } } http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); http.send(null); } ibox.style.opacity=0; ibox.style.filter='alpha(opacity=0)'; var ibox_op_level=10; setIboxOpacity=setOpacity; for(var i=0;i<=ibox_op_level;i++){setTimeout("setIboxOpacity('ibox_wrapper',"+i+")",30*i);} if(ibox_type==1||ibox_type==2){ ibox.onclick=null;getElem("ibox_close_a").onclick=function(){hideIbox();} }else{ ibox.onclick=hideIbox;getElem("ibox_close_a").onclick=null; } } setOpacity=function(elemid,value){ var e=getElem(elemid); e.style.opacity=value/10; e.style.filter='alpha(opacity='+value*10+')'; } resizeImageToScreen=function(objImg){ var pagesize=new getPageSize(); var x=pagesize.width-100; var y=pagesize.height-100; if(objImg.width>x){ objImg.height=objImg.height*(x/objImg.width); objImg.width=x; if(objImg.height>y){ objImg.width=objImg.width*(y/objImg.height); objImg.height=y; } } else if(objImg.height>y){ objImg.width=objImg.width*(y/objImg.height); objImg.height=y; if(objImg.width>x){ objImg.height=objImg.height*(x/objImg.width); objImg.width=x; } } return objImg; } maintPos=function(){ var ibox=getElem('ibox_wrapper'); var box_w=getElem('ibox_w'); var pagesize=new getPageSize(); var ua=navigator.userAgent; if(ua.indexOf("MSIE ")!=-1){box_w.style.width=pagesize.width+'px';} else{box_w.style.width=pagesize.width-20+'px';} if(ua.indexOf("Opera/9")!=-1){box_w.style.height=document.body.scrollHeight+'px';} else{box_w.style.height=document.body.scrollHeight+50+'px';} posToCenter(ibox); } hideIbox=function(){ hideBG(); var ibox=getElem('ibox_wrapper'); ibox.style.display="none"; clearIboxContent(); window.onscroll=null; } posToCenter=function(elem){ var scrollPos=new getScrollPos(); var pageSize=new getPageSize(); var emSize=new getElementSize(elem); var x=Math.round(pageSize.width/2)-(emSize.width/2)+scrollPos.scrollX; var y=Math.round(pageSize.height/2)-(emSize.height/2)+scrollPos.scrollY; elem.style.left=x+'px'; elem.style.top=y+'px'; } getScrollPos=function(){ var docElem=document.documentElement; this.scrollX=self.pageXOffset||(docElem&&docElem.scrollLeft)||document.body.scrollLeft; this.scrollY=self.pageYOffset||(docElem&&docElem.scrollTop)||document.body.scrollTop; } getPageSize=function(){ var docElem=document.documentElement this.width=self.innerWidth||(docElem&&docElem.clientWidth)||document.body.clientWidth; this.height=self.innerHeight||(docElem&&docElem.clientHeight)||document.body.clientHeight; } getElementSize=function(elem){ this.width=elem.offsetWidth||elem.style.pixelWidth; this.height=elem.offsetHeight||elem.style.pixelHeight; } setIBoxContent=function(str){ clearIboxContent(); var e=getElem('ibox_content'); e.innerHTML=str; e.style.overflow="auto"; } clearIboxContent=function(){ var e=getElem('ibox_content'); e.innerHTML=""; e.style.overflow="hidden"; } getElem=function(elemId){ return document.getElementById(elemId); } parseQuery=function(query){ var Params=new Object(); if(!query)return Params; var Pairs=query.split(/[;&]/); for(var i=0;i=5) try{xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");} catch(E){xmlhttp=false;} } @else xmlhttp=false; @end @*/ if(!xmlhttp&&typeof XMLHttpRequest!="undefined"){ try{xmlhttp=new XMLHttpRequest();}catch(e){xmlhttp=false;} } return xmlhttp; } var http=createRequestObject(); function addEvent(obj,evType,fn){ if(obj.addEventListener){ obj.addEventListener(evType,fn,false); return true; }else if(obj.attachEvent){ var r=obj.attachEvent("on"+evType,fn); return r; }else{ return false; } } addEvent(window,'load',init_ibox);