LITBox=Class.create();LITBox.prototype={initialize:function(A){this.mes=A;this.options=Object.extend({width:600,height:500,type:"window",func:null,draggable:true,resizable:true,overlay:true,opacity:1,left:false,top:false},arguments[1]||{});this.setup()},setup:function(){this.rn=(Math.floor(Math.random()*100000000+1));this.getWindow();switch(this.options.type){case"window":this.d4.innerHTML=this.getAjax(this.mes);break;case"alert":this.d4.innerHTML=this.mes;break;case"confirm":this.d4.innerHTML='<p style="text-align:left;">'+this.mes+"</p>";this.button_y=document.createElement("input");this.button_y.type="button";this.button_y.value="Yes";this.button_y.className="button";this.d4.appendChild(this.button_y);this.button_y.d=this.d;this.button_y.d2=this.d2;this.button_y.temp=this.options.func;this.button_y.onclick=this.remove;this.button_n=document.createElement("input");this.button_n.type="button";this.button_n.value="No";this.button_n.className="button";this.d4.appendChild(this.button_n);this.button_n.d=this.d;this.button_n.d2=this.d2;this.button_n.onclick=this.remove}this.display()},getWindow:function(){this.over=null;if(this.options.overlay==true){this.d=document.createElement("div");document.body.appendChild(this.d);this.d.className="LB_overlay";this.d.style.display="block";this.d.onclick=this.remove}this.d2=document.createElement("div");document.body.appendChild(this.d2);this.d2.className="LB_window";this.d2.style.height=parseInt(this.options.height)+"px";this.d4=document.createElement("div");this.d4.className="LB_content";this.d4.style.height=parseInt(this.options.height)-30+"px";this.d4.style.width=parseInt(this.options.width)+"px";this.d2.appendChild(this.d4);this.clear=document.createElement("div");this.d2.appendChild(this.clear);this.clear.style.clear="both";if(this.options.resizable){this.d5=document.createElement("div");this.d2.appendChild(this.d5);this.d5.className="LB_resize";this.d5.d2=this.d2;this.d5.d2.d4=this.d4;this.d5.over=this.over;this.d5.options=this.options;this.d5.onmouseover=this.getResizer;this.d5.onmouseout=this.dropResizer}this.d6=document.createElement("div");this.d6.className="LB_closeAjaxWindow";this.clear=document.createElement("div");this.d2.appendChild(this.d6);this.d6.appendChild(this.clear);this.d6.d2=this.d2;this.d6.over=this.over;this.d6.options=this.options;this.d6.onmouseover=this.getDraggable;this.d6.onmouseout=this.dropDraggable;this.d6.innerHTML="<div style='float:left;font-size:10px;'>@2008 Saranti Home Decor | Ph <b>08 8363 9344 | www.saranti.com.au</b></div>";this.close1=document.createElement("img");this.d6.appendChild(this.close1);this.close1.d=this.d;this.close1.d2=this.d2;this.close1.onclick=this.remove;this.close1.src="/images/closelabel.gif";if(this.options.overlay==true){this.d.d=this.d;this.d.d2=this.d2}},getDraggable:function(){if(this.options.draggable){if(this.resize){this.resize.destroy()}if(!this.drag||(this.drag&&!this.drag.dragging)){this.drag=new Draggable(this.d2,{})}}},getResizer:function(){if(this.options.resizable){if(this.drag){this.drag.destroy()}if(!this.resize||(this.resize&&!this.resize.dragging)){this.resize=new Resizer(this.d2,{})}}},dropDraggable:function(){if(this.options.draggable){if(!this.drag.dragging&&this.drag){this.drag.destroy()}}},dropResizer:function(){if(this.options.resizable){if(!this.resize.dragging&&this.resize){this.resize.destroy()}}},display:function(){Element.setOpacity(this.d2,0);this.position();new Effect.Opacity(this.d2,{from:0,to:this.options.opacity,duration:0.5})},position:function(){var E=document.documentElement;var A=self.innerWidth||(E&&E.clientWidth)||document.body.clientWidth;var D=self.innerHeight||(E&&E.clientHeight)||document.body.clientHeight;if(window.innerHeight&&window.scrollMaxY){yScroll=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){yScroll=document.body.scrollHeight}else{yScroll=document.body.offsetHeight}}this.d2.style.width=this.options.width+"px";this.d2.style.display="block";if(!this.options.left||this.options.left<0){this.d2.style.left=((A-this.options.width)/2)+"px"}else{this.d2.style.left=parseInt(this.options.left)+"px"}var C=this.getPageSize();var B=this.getPageScrollTop();if(this.d2.offsetHeight>D-100){if(!this.options.top||this.options.top<0){this.d2.style.top="45px"}else{this.d2.style.top=parseInt(this.options.top)+"px"}this.d2.style.height=D-100+"px";this.d4.style.overflow="auto"}else{if(!this.options.top||this.options.top<0){this.d2.style.top=(B[1]+((C[1]-this.d2.offsetHeight)/2))+"px"}else{this.d2.style.top=parseInt(this.options.top)+"px"}}if(this.d){this.d.style.height=yScroll+"px"}},remove:function(){if(this.temp){this.temp()}new Effect.Opacity(this.d2,{from:1,to:0,duration:0.5});if(this.d){new Effect.Opacity(this.d,{from:0.6,to:0,duration:0.5});Element.remove(this.d)}Element.remove(this.d2);return false},parseQuery:function(D){var E=new Object();if(!D){return E}var A=D.split(/[;&]/);for(var C=0;C<A.length;C++){var G=A[C].split("=");if(!G||G.length!=2){continue}var B=unescape(G[0]);var F=unescape(G[1]);F=F.replace(/\+/g," ");E[B]=F}return E},getPageScrollTop:function(){var A;if(self.pageYOffset){A=self.pageYOffset}else{if(document.documentElement&&document.documentElement.scrollTop){A=document.documentElement.scrollTop}else{if(document.body){A=document.body.scrollTop}}}arrayPageScroll=new Array("",A);return arrayPageScroll},getPageSize:function(){var C=document.documentElement;var A=self.innerWidth||(C&&C.clientWidth)||document.body.clientWidth;var B=self.innerHeight||(C&&C.clientHeight)||document.body.clientHeight;arrayPageSize=new Array(A,B);return arrayPageSize},getAjax:function(url){var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
      // JScript gives us Conditional compilation, we can cope with old IE versions.
      // and security blocked creation of the objects.
        try {     
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
         try {       
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (E) {
          xmlhttp = false;
         }  
        }   
      @end @*/
if(!xmlhttp&&typeof XMLHttpRequest!="undefined"){xmlhttp=new XMLHttpRequest()}if(xmlhttp.overrideMimeType){xmlhttp.overrideMimeType("text/xml")}if(url!=""){xmlhttp.open("GET",url,false);xmlhttp.send(null);return xmlhttp.responseText}}};var Resizers={drags:[],observers:[],register:function(A){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress);this.drags.push(A)}},unregister:function(A){this.drags=this.drags.reject(function(B){return B==A});if(this.drags.length==1){this.drags.pop()}if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(A){window.focus();this.activeDraggable=A},deactivate:function(){this.activeDraggable=null},updateDrag:function(A){if(!this.activeDraggable){return }var B=[Event.pointerX(A),Event.pointerY(A)];if(this._lastPointer&&(this._lastPointer.inspect()==B.inspect())){return }this._lastPointer=B;this.activeDraggable.updateDrag(A,B)},endDrag:function(A){if(!this.activeDraggable){return }this._lastPointer=null;this.activeDraggable.endDrag(A);this.activeDraggable=null},keyPress:function(A){if(this.activeDraggable){this.activeDraggable.keyPress(A)}},addObserver:function(A){this.observers.push(A);this._cacheObserverCallbacks()},removeObserver:function(A){this.observers=this.observers.reject(function(B){return B.element==A});this._cacheObserverCallbacks()},notify:function(B,A,C){if(this[B+"Count"]>0){this.observers.each(function(D){if(D[B]){D[B](B,A,C)}})}},_cacheObserverCallbacks:function(){["onStart","onEnd","onDrag"].each(function(A){Resizers[A+"Count"]=Resizers.observers.select(function(B){return B[A]}).length})}};var Resizer=Class.create();Resizer.prototype={initialize:function(B){this.offset=Array();var A=Object.extend({handle:false,reverteffect:function(F,E,D){var G=Math.sqrt(Math.abs(E^2)+Math.abs(D^2))*0.02;F._revert=new Effect.Move(F,{x:-D,y:-E,duration:G})},zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false},arguments[1]||{});this.element=$(B);if(A.handle&&(typeof A.handle=="string")){var C=Element.childrenWithClassName(this.element,A.handle,true);if(C.length>0){this.handle=C[0]}}if(!this.handle){this.handle=$(A.handle)}if(!this.handle){this.handle=this.element}if(A.scroll&&!A.scroll.scrollTo&&!A.scroll.outerHTML){A.scroll=$(A.scroll)}Element.makePositioned(this.element);this.delta=this.currentDelta();this.options=A;this.dragging=false;this.oHeight=parseInt(this.element.style.height);this.oWidth=parseInt(this.element.style.width);this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Resizers.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Resizers.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,"width")||"0"),parseInt(Element.getStyle(this.element,"height")||"0")])},initDrag:function(A){if(Event.isLeftClick(A)){var C=Event.element(A);if(C.tagName&&(C.tagName=="INPUT"||C.tagName=="SELECT"||C.tagName=="OPTION"||C.tagName=="BUTTON"||C.tagName=="TEXTAREA")){return }if(this.element._revert){this.element._revert.cancel();this.element._revert=null}var B=[Event.pointerX(A),Event.pointerY(A)];var D=Position.cumulativeOffset(this.element);this.offset[0]=B[0];this.offset[1]=B[1];Resizers.activate(this);Event.stop(A)}},startDrag:function(A){this.dragging=true;if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,"z-index")||0);this.element.style.zIndex=this.options.zindex}if(this.options.ghosting){this._clone=this.element.cloneNode(true);Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element)}Resizers.notify("onStart",this,A);if(this.options.starteffect){this.options.starteffect(this.element)}},updateDrag:function(event,pointer){if(!this.dragging){this.startDrag(event)}Position.prepare();Resizers.notify("onDrag",this,event);this.draw(pointer);if(this.options.change){this.options.change(this)}if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height]}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft;p[1]+=this.options.scroll.scrollTop;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)}var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity)}if(pointer[1]<(p[1]+this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity)}if(pointer[0]>(p[2]-this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity)}if(pointer[1]>(p[3]-this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity)}this.startScrolling(speed)}if(navigator.appVersion.indexOf("AppleWebKit")>0){window.scrollBy(0,0)}Event.stop(event)},finishDrag:function(B,D){this.dragging=false;if(this.options.ghosting){Position.relativize(this.element);Element.remove(this._clone);this._clone=null}Resizers.notify("onEnd",this,B);var A=this.options.revert;if(A&&typeof A=="function"){A=A(this.element)}var C=this.currentDelta();if(A&&this.options.reverteffect){this.options.reverteffect(this.element,C[1]-this.delta[1],C[0]-this.delta[0])}else{this.delta=C}this.element.style.zIndex=this.originalZ;if(this.options.endeffect){this.options.endeffect(this.element)}Resizers.deactivate(this)},keyPress:function(A){if(A.keyCode!=Event.KEY_ESC){return }this.finishDrag(A,false);Event.stop(A)},endDrag:function(A){if(!this.dragging){return }this.stopScrolling();this.finishDrag(A,true);Event.stop(A);this.oWidth=parseInt(this.element.style.width);this.oHeight=parseInt(this.element.style.height)},draw:function(A){var E=Position.cumulativeOffset(this.element);var D=this.currentDelta();E[0]-=D[0];E[1]-=D[1];var C=new Array();C[0]=this.oWidth+A[0]-this.offset[0];C[1]=this.oHeight+A[1]-this.offset[1];var B=this.element.style;if((!this.options.constraint)||(this.options.constraint=="horizontal")){B.width=C[0]+"px";this.element.d4.style.width=C[0]+"px"}if((!this.options.constraint)||(this.options.constraint=="vertical")){B.height=C[1]+"px";this.element.d4.style.height=C[1]-30+"px"}if(B.visibility=="hidden"){B.visibility=""}},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Resizers._lastScrollPointer=null}},startScrolling:function(A){this.scrollSpeed=[A[0]*this.options.scrollSpeed,A[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000}Position.prepare();Resizers.notify("onDrag",this);Resizers._lastScrollPointer=Resizers._lastScrollPointer||$A(Resizers._lastPointer);Resizers._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Resizers._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Resizers._lastScrollPointer[0]<0){Resizers._lastScrollPointer[0]=0}if(Resizers._lastScrollPointer[1]<0){Resizers._lastScrollPointer[1]=0}this.draw(Resizers._lastScrollPointer);if(this.options.change){this.options.change(this)}},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}}}return{top:T,left:L,width:W,height:H}}};
