// $Id: common.js,v 1.12.2.23 2007/08/30 10:49:09 max Exp $ // // Enviroment identificator // var localIsDOM = document.getElementById?true:false; var localIsJava = navigator.javaEnabled(); var localIsStrict = document.compatMode=='CSS1Compat'; var localPlatform = navigator.platform; var localVersion = "0"; var localBrowser = ""; var localBFamily = ""; var isHttps = false; if (window.opera && localIsDOM) { localBFamily = localBrowser = "Opera"; if (navigator.userAgent.search(/^.*Opera.([\d.]+).*$/) != -1) localVersion = navigator.userAgent.replace(/^.*Opera.([\d.]+).*$/, "$1"); else if (window.print) localVersion = "6"; else localVersion = "5"; } else if (document.all && document.all.item) localBFamily = localBrowser = 'MSIE'; if (navigator.appName=="Netscape") { localBFamily = "NC"; if (!localIsDOM) { localBrowser = 'Netscape'; localVersion = navigator.userAgent.replace(/^.*Mozilla.([\d.]+).*$/, "$1"); if(localVersion != '') localVersion = "4"; } else if(navigator.userAgent.indexOf("Safari") >= 0) localBrowser = 'Safari'; else if (navigator.userAgent.indexOf("Netscape") >= 0) localBrowser = 'Netscape'; else if (navigator.userAgent.indexOf("Firefox") >= 0) localBrowser = 'Firefox'; else localBrowser = 'Mozilla'; } if (navigator.userAgent.indexOf("MSMSGS") >= 0) localBrowser = "WMessenger"; else if (navigator.userAgent.indexOf("e2dk") >= 0) localBrowser = "Edonkey"; else if (navigator.userAgent.indexOf("Gnutella") + navigator.userAgent.indexOf("Gnucleus") >= 0) localBrowser = "Gnutella"; else if (navigator.userAgent.indexOf("KazaaClient") >= 0) localBrowser = "Kazaa"; if (localVersion == '0' && localBrowser != '') { var rg = new RegExp("^.*"+localBrowser+".([\\d.]+).*$"); localVersion = navigator.userAgent.replace(rg, "$1"); } var localIsCookie = ((localBrowser == 'Netscape' && localVersion == '4')?(document.cookie != ''):navigator.cookieEnabled); if (document.location.protocol == "https:") { isHttps = true; } function change_antibot_image(id) { var image = document.getElementById(id); if (image) image.src = xcart_web_dir+"/antibot_image.php?tmp="+Math.random()+"§ion="+id+"®enerate=Y"; } /* Find element by classname */ function getElementsByClassName( clsName ) { var arr = new Array(); var elems = document.getElementsByTagName("*"); for ( var cls, i = 0; ( elem = elems[i] ); i++ ) { if ( elem.className == clsName ) { arr[arr.length] = elem; } } return arr; } // // Opener/Closer HTML block // function visibleBox(id,skipOpenClose) { elm1 = document.getElementById("open"+id); elm2 = document.getElementById("close"+id); elm3 = document.getElementById("box"+id); if(!elm3) return false; if (skipOpenClose) { elm3.style.display = (elm3.style.display == "")?"none":""; } else if(elm1) { if (elm1.style.display == "") { elm1.style.display = "none"; if(elm2) elm2.style.display = ""; elm3.style.display = "none"; var class_objs = getElementsByClassName('DialogBox'); for (var i = 0; i < class_objs.length; i++) { class_objs[i].style.height = "1%"; } } else { elm1.style.display = ""; if(elm2) elm2.style.display = "none"; elm3.style.display = ""; } } } /* URL encode */ function urlEncode(url) { return url.replace(/\s/g, "+").replace(/&/, "&").replace(/"/, """) } /* Math.round() wrapper */ function round(n, p) { if (isNaN(n)) n = parseFloat(n); if (!p || isNaN(p)) return Math.round(n); p = Math.pow(10, p); return Math.round(n*p)/p; } /* Price format */ function price_format(price, thousand_delim, decimal_delim, precision) { var thousand_delim = (arguments.length > 1 && thousand_delim !== false) ? thousand_delim : number_format_th; var decimal_delim = (arguments.length > 2 && decimal_delim !== false) ? decimal_delim : number_format_dec; var precision = (arguments.length > 3 && precision !== false) ? precision : number_format_point; if (precision > 0) { precision = Math.pow(10, precision); price = Math.round(price*precision)/precision; var top = Math.floor(price); var bottom = Math.round((price-top)*precision)+precision; } else { var top = Math.round(price); var bottom = 0; } top = top+""; bottom = bottom+""; var cnt = 0; for (var x = top.length; x >= 0; x--) { if (cnt % 3 == 0 && cnt > 0 && x > 0) top = top.substr(0, x)+thousand_delim+top.substr(x, top.length); cnt++; } return (bottom > 0) ? (top+decimal_delim+bottom.substr(1, bottom.length)) : top; } /* Substitute */ function substitute(lbl) { var x, rg; for(x = 1; x < arguments.length; x+=2) { if(arguments[x] && arguments[x+1]) { rg = new RegExp("\\{\\{"+arguments[x]+"\\}\\}", "gi"); lbl = lbl.replace(rg, arguments[x+1]); rg = new RegExp('~~'+arguments[x]+'~~', "gi"); lbl = lbl.replace(rg, arguments[x+1]); } } return lbl; } function getWindowOutWidth(w) { if (!w) w = window; if (localBFamily == "MSIE") return w.document.body.clientWidth; else return w.outerWidth; } function getWindowOutHeight(w) { if (!w) w = window; if (localBFamily == "MSIE") return w.document.body.clientHeight; else return w.outerHeight; } function getWindowWidth(w) { if (!w) w = window; if (localBFamily == "MSIE") return w.document.body.clientWidth; else return w.innerWidth; } function getWindowHeight(w) { if (!w) w = window; if (localBFamily == "MSIE") return w.document.body.clientHeight; else return w.innerHeight; } function getDocumentHeight(w){ if (!w) w = window; if (localBFamily == "MSIE" || (localBFamily == "Opera" && localVersion >= 7 && localVersion < 8)) return isStrict ? w.document.documentElement.scrollHeight : w.document.body.scrollHeight; if (localBFamily == "NC") return w.document.height if (localBFamily == "Opera") return w.document.body.style.pixelHeight } function getDocumentWidth(w) { if (!w) w = window; if (localBFamily == "MSIE" || (localBFamily == "Opera" && localVersion >= 7 && localVersion < 8)) return isStrict ? w.document.documentElement.scrollWidth : w.document.body.scrollWidth; if (localBFamily == "NC") return w.document.width; if (localBFamily == "Opera") return w.document.body.style.pixelWidth; } function expandWindowX(w, step, limit) { if (!w) w = window; if (!step) step = 10; var go = true; var i = 200; while (go && i--) { if (limit && getWindowOutWidth()+step > limit) break; try { w.scrollTo(step, 0); go = (w.document.documentElement && w.document.documentElement.scrollLeft > 0) || (w.document.body && w.document.body.scrollLeft > 0); if (go) w.resizeBy(step, 0); } catch (e) { return false; } } return true; } function expandWindowY(w, step, limit) { if (!w) w = window; if (!step) step = 10; var go = true; var i = 200; while (go && i--) { if (limit && getWindowOutHeight()+step > limit) break; try { w.scrollTo(0, step); go = (w.document.documentElement && w.document.documentElement.scrollTop > 0) || (w.document.body && w.document.body.scrollTop > 0); if (go) w.resizeBy(0, step); } catch(e) { return false; } } return true; } /* Check list of checkboxes */ function checkMarks(form, reg, lbl) { var is_exist = false; if (form.elements.length == 0) return true; for (var x = 0; x < form.elements.length; x++) { if (form.elements[x].name.search(reg) == 0 && form.elements[x].type == 'checkbox' && !form.elements[x].disabled) { is_exist = true; if (form.elements[x].checked) return true; } } if (!is_exist) return true; else if (lbl) alert(lbl); else if (lbl_no_items_have_been_selected) alert(lbl_no_items_have_been_selected); return false; } /* Submit form with specified value of 'mode' parmaeters */ function submitForm(formObj, formMode) { if (!formObj) return false; if (formObj.tagName != "FORM") { if (!formObj.form) return false; formObj = formObj.form; } if (formObj.mode) formObj.mode.value = formMode; formObj.submit(); } /* Analogue of PHP function sleep() */ function sleep(msec) { var then = new Date().getTime()+msec; while (then >= new Date().getTime()){ } } /* Convert number from current format (according to 'Input and display format for floating comma numbers' option) to float number */ function convert_number(num) { var regDec = new RegExp(reg_quote(number_format_dec), "gi"); var regTh = new RegExp(reg_quote(number_format_th), "gi"); var pow = Math.pow(10, parseInt(number_format_point)); num = parseFloat(num.replace(" ", "").replace(regTh, "").replace(regDec, ".")); return Math.round(num*pow)/pow; } /* Check string as number (according to 'Input and display format for floating comma numbers' option) */ function check_is_number(num) { var regDec = new RegExp(reg_quote(number_format_dec), "gi"); var regTh = new RegExp(reg_quote(number_format_th), "gi"); num = num.replace(" ", "").replace(regTh, "").replace(regDec, "."); return (num.search(/^[0-9]+(\.[0-9]+)?$/) != -1); } /* Qutation for RegExp class */ function reg_quote(s) { return s.replace(/\./g, "\\.").replace(/\//g, "\\/").replace(/\*/g, "\\*").replace(/\+/g, "\\+").replace(/\[/g, "\\[").replace(/\]/g, "\\]"); } function setCookie(name, value, path, expires) { if (typeof(expires) == 'object') { try { var days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; if (days[expires.getDay()] && months[expires.getMonth()]) expires = days[expires.getDay()]+" "+expires.getDate()+"-"+months[expires.getMonth()]+"-"+expires.getFullYear()+" "+expires.getHours()+":"+expires.getMinutes()+":"+expires.getSeconds()+" GMT"; } catch(e) { } } if (typeof(expires) != 'string') expires = false; document.cookie = name+"="+escape(value)+(expires ? "; expires=" + expires : "")+(path ? "; path="+path : ""); } function deleteCookie(name) { document.cookie = name+"=0; expires=Fri, 31 Dec 1999 23:59:59 GMT;"; } /* Clone object */ function cloneObject(orig) { var r = {}; for (var i in orig) { r[i] = orig[i]; } return r; } /* Get first checkbox and redirect to URL */ function getFirstCB(form, reg) { while (form.tagName && form.tagName.toUpperCase() != 'FORM') form = form.parentNode; if (!form.tagName || form.tagName.toUpperCase() != 'FORM' || form.elements.length == 0) return false; var selectedChk = false; for (var x = 0; x < form.elements.length; x++) { if (form.elements[x].name.search(reg) == 0 && form.elements[x].type == 'checkbox' && !form.elements[x].disabled && form.elements[x].checked) { selectedChk = form.elements[x]; break; } } if (!selectedChk) { if (lbl_no_items_have_been_selected) alert(lbl_no_items_have_been_selected); return false; } return selectedChk; } /* getElementById() wrapper */ function _getById(id) { if (typeof(id) != 'string' || !id) return false; var obj = document.getElementById(id); if (obj && obj.id != id) { obj = false; for (var i = 0; i < document.all.length && obj === false; i++) { if (document.all[i].id == id) obj = document.all[i]; } } return obj; } // undefined or not function isset(obj) { return typeof(obj) != 'undefined' && obj !== null; } // Check - variable is function or not function isFunction(f) { return (typeof(f) == 'function' || (typeof(f) == 'object' && (f+"").search(/\s*function /) === 0)); } function checkEnter(e,str_name){ //e is event object passed from function invocation var characterCode; //literal character code will be stored in this variable if(e && e.which) { //if which property of event object is supported (NN4) e = e; characterCode = e.which; //character code is contained in NN4's which property } else { e = event; characterCode = e.keyCode; //character code is contained in IE's keyCode property } if( characterCode == 13 ) { //if generated character code is equal to ascii 13 (if enter key) document.forms[str_name].submit(); //submit the form return false; } else { return true; } } function ship2diffOpen() { var obj = document.getElementById('ship2diff'); var box = document.getElementById('livrareAltaDresa'); if (obj.checked) { box.style.display=''; obj.disabled = true; } } var MooTools={version:'1.11'};function $defined(obj){return(obj!=undefined);};function $type(obj){if(!$defined(obj))return false;if(obj.htmlElement)return'element';var type=typeof obj;if(type=='object'&&obj.nodeName){switch(obj.nodeType){case 1:return'element';case 3:return(/\S/).test(obj.nodeValue)?'textnode':'whitespace';}} if(type=='object'||type=='function'){switch(obj.constructor){case Array:return'array';case RegExp:return'regexp';case Class:return'class';} if(typeof obj.length=='number'){if(obj.item)return'collection';if(obj.callee)return'arguments';}} return type;};function $merge(){var mix={};for(var i=0;i-1:this.indexOf(string)>-1;},escapeRegExp:function(){return this.replace(/([.*+?^${}()|[\]\/\\])/g,'\\$1');}});Array.extend({rgbToHex:function(array){if(this.length<3)return false;if(this.length==4&&this[3]==0&&!array)return'transparent';var hex=[];for(var i=0;i<3;i++){var bit=(this[i]-0).toString(16);hex.push((bit.length==1)?'0'+bit:bit);} return array?hex:'#'+hex.join('');},hexToRgb:function(array){if(this.length!=3)return false;var rgb=[];for(var i=0;i<3;i++){rgb.push(parseInt((this[i].length==1)?this[i]+this[i]:this[i],16));} return array?rgb:'rgb('+rgb.join(',')+')';}});Function.extend({create:function(options){var fn=this;options=$merge({'bind':fn,'event':false,'arguments':null,'delay':false,'periodical':false,'attempt':false},options);if($chk(options.arguments)&&$type(options.arguments)!='array')options.arguments=[options.arguments];return function(event){var args;if(options.event){event=event||window.event;args=[(options.event===true)?event:new options.event(event)];if(options.arguments)args.extend(options.arguments);} else args=options.arguments||arguments;var returns=function(){return fn.apply($pick(options.bind,fn),args);};if(options.delay)return setTimeout(returns,options.delay);if(options.periodical)return setInterval(returns,options.periodical);if(options.attempt)try{return returns();}catch(err){return false;};return returns();};},pass:function(args,bind){return this.create({'arguments':args,'bind':bind});},attempt:function(args,bind){return this.create({'arguments':args,'bind':bind,'attempt':true})();},bind:function(bind,args){return this.create({'bind':bind,'arguments':args});},bindAsEventListener:function(bind,args){return this.create({'bind':bind,'event':true,'arguments':args});},delay:function(delay,bind,args){return this.create({'delay':delay,'bind':bind,'arguments':args})();},periodical:function(interval,bind,args){return this.create({'periodical':interval,'bind':bind,'arguments':args})();}});Number.extend({toInt:function(){return parseInt(this);},toFloat:function(){return parseFloat(this);},limit:function(min,max){return Math.min(max,Math.max(min,this));},round:function(precision){precision=Math.pow(10,precision||0);return Math.round(this*precision)/precision;},times:function(fn){for(var i=0;i';} el=document.createElement(el);} el=$(el);return(!props||!el)?el:el.set(props);}});var Elements=new Class({initialize:function(elements){return(elements)?$extend(elements,this):this;}});Elements.extend=function(props){for(var prop in props){this.prototype[prop]=props[prop];this[prop]=$native.generic(prop);}};function $(el){if(!el)return null;if(el.htmlElement)return Garbage.collect(el);if([window,document].contains(el))return el;var type=$type(el);if(type=='string'){el=document.getElementById(el);type=(el)?'element':false;} if(type!='element')return null;if(el.htmlElement)return Garbage.collect(el);if(['object','embed'].contains(el.tagName.toLowerCase()))return el;$extend(el,Element.prototype);el.htmlElement=function(){};return Garbage.collect(el);};document.getElementsBySelector=document.getElementsByTagName;function $$(){var elements=[];for(var i=0,j=arguments.length;i0&&fKey<13)this.key='f'+fKey;} this.key=this.key||String.fromCharCode(this.code).toLowerCase();}else if(this.type.test(/(click|mouse|menu)/)){this.page={'x':event.pageX||event.clientX+document.documentElement.scrollLeft,'y':event.pageY||event.clientY+document.documentElement.scrollTop};this.client={'x':event.pageX?event.pageX-window.pageXOffset:event.clientX,'y':event.pageY?event.pageY-window.pageYOffset:event.clientY};this.rightClick=(event.which==3)||(event.button==2);switch(this.type){case'mouseover':this.relatedTarget=event.relatedTarget||event.fromElement;break;case'mouseout':this.relatedTarget=event.relatedTarget||event.toElement;} this.fixRelatedTarget();} return this;},stop:function(){return this.stopPropagation().preventDefault();},stopPropagation:function(){if(this.event.stopPropagation)this.event.stopPropagation();else this.event.cancelBubble=true;return this;},preventDefault:function(){if(this.event.preventDefault)this.event.preventDefault();else this.event.returnValue=false;return this;}});Event.fix={relatedTarget:function(){if(this.relatedTarget&&this.relatedTarget.nodeType==3)this.relatedTarget=this.relatedTarget.parentNode;},relatedTargetGecko:function(){try{Event.fix.relatedTarget.call(this);}catch(e){this.relatedTarget=this.target;}}};Event.prototype.fixRelatedTarget=(window.gecko)?Event.fix.relatedTargetGecko:Event.fix.relatedTarget;Event.keys=new Abstract({'enter':13,'up':38,'down':40,'left':37,'right':39,'esc':27,'space':32,'backspace':8,'tab':9,'delete':46});Element.Methods.Events={addEvent:function(type,fn){this.$events=this.$events||{};this.$events[type]=this.$events[type]||{'keys':[],'values':[]};if(this.$events[type].keys.contains(fn))return this;this.$events[type].keys.push(fn);var realType=type;var custom=Element.Events[type];if(custom){if(custom.add)custom.add.call(this,fn);if(custom.map)fn=custom.map;if(custom.type)realType=custom.type;} if(!this.addEventListener)fn=fn.create({'bind':this,'event':true});this.$events[type].values.push(fn);return(Element.NativeEvents.contains(realType))?this.addListener(realType,fn):this;},removeEvent:function(type,fn){if(!this.$events||!this.$events[type])return this;var pos=this.$events[type].keys.indexOf(fn);if(pos==-1)return this;var key=this.$events[type].keys.splice(pos,1)[0];var value=this.$events[type].values.splice(pos,1)[0];var custom=Element.Events[type];if(custom){if(custom.remove)custom.remove.call(this,fn);if(custom.type)type=custom.type;} return(Element.NativeEvents.contains(type))?this.removeListener(type,value):this;},addEvents:function(source){return Element.setMany(this,'addEvent',source);},removeEvents:function(type){if(!this.$events)return this;if(!type){for(var evType in this.$events)this.removeEvents(evType);this.$events=null;}else if(this.$events[type]){this.$events[type].keys.each(function(fn){this.removeEvent(type,fn);},this);this.$events[type]=null;} return this;},fireEvent:function(type,args,delay){if(this.$events&&this.$events[type]){this.$events[type].keys.each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})();},this);} return this;},cloneEvents:function(from,type){if(!from.$events)return this;if(!type){for(var evType in from.$events)this.cloneEvents(from,evType);}else if(from.$events[type]){from.$events[type].keys.each(function(fn){this.addEvent(type,fn);},this);} return this;}};window.extend(Element.Methods.Events);document.extend(Element.Methods.Events);Element.extend(Element.Methods.Events);Element.Events=new Abstract({'mouseenter':{type:'mouseover',map:function(event){event=new Event(event);if(event.relatedTarget!=this&&!this.hasChild(event.relatedTarget))this.fireEvent('mouseenter',event);}},'mouseleave':{type:'mouseout',map:function(event){event=new Event(event);if(event.relatedTarget!=this&&!this.hasChild(event.relatedTarget))this.fireEvent('mouseleave',event);}},'mousewheel':{type:(window.gecko)?'DOMMouseScroll':'mousewheel'}});Element.NativeEvents=['click','dblclick','mouseup','mousedown','mousewheel','DOMMouseScroll','mouseover','mouseout','mousemove','keydown','keypress','keyup','load','unload','beforeunload','resize','move','focus','blur','change','submit','reset','select','error','abort','contextmenu','scroll'];Function.extend({bindWithEvent:function(bind,args){return this.create({'bind':bind,'arguments':args,'event':Event});}});Elements.extend({filterByTag:function(tag){return new Elements(this.filter(function(el){return(Element.getTag(el)==tag);}));},filterByClass:function(className,nocash){var elements=this.filter(function(el){return(el.className&&el.className.contains(className,' '));});return(nocash)?elements:new Elements(elements);},filterById:function(id,nocash){var elements=this.filter(function(el){return(el.id==id);});return(nocash)?elements:new Elements(elements);},filterByAttribute:function(name,operator,value,nocash){var elements=this.filter(function(el){var current=Element.getProperty(el,name);if(!current)return false;if(!operator)return true;switch(operator){case'=':return(current==value);case'*=':return(current.contains(value));case'^=':return(current.substr(0,value.length)==value);case'$=':return(current.substr(current.length-value.length)==value);case'!=':return(current!=value);case'~=':return current.contains(value,' ');} return false;});return(nocash)?elements:new Elements(elements);}});function $E(selector,filter){return($(filter)||document).getElement(selector);};function $ES(selector,filter){return($(filter)||document).getElementsBySelector(selector);};$$.shared={'regexp':/^(\w*|\*)(?:#([\w-]+)|\.([\w-]+))?(?:\[(\w+)(?:([!*^$]?=)["']?([^"'\]]*)["']?)?])?$/,'xpath':{getParam:function(items,context,param,i){var temp=[context.namespaceURI?'xhtml:':'',param[1]];if(param[2])temp.push('[@id="',param[2],'"]');if(param[3])temp.push('[contains(concat(" ", @class, " "), " ',param[3],' ")]');if(param[4]){if(param[5]&¶m[6]){switch(param[5]){case'*=':temp.push('[contains(@',param[4],', "',param[6],'")]');break;case'^=':temp.push('[starts-with(@',param[4],', "',param[6],'")]');break;case'$=':temp.push('[substring(@',param[4],', string-length(@',param[4],') - ',param[6].length,' + 1) = "',param[6],'"]');break;case'=':temp.push('[@',param[4],'="',param[6],'"]');break;case'!=':temp.push('[@',param[4],'!="',param[6],'"]');}}else{temp.push('[@',param[4],']');}} items.push(temp.join(''));return items;},getItems:function(items,context,nocash){var elements=[];var xpath=document.evaluate('.//'+items.join('//'),context,$$.shared.resolver,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,j=xpath.snapshotLength;i<\/script>');$('ie_ready').onreadystatechange=function(){if(this.readyState=='complete')domReady();};}}else{window.addListener("load",domReady);document.addListener("DOMContentLoaded",domReady);}}};window.onDomReady=function(fn){return this.addEvent('domready',fn);};window.extend({getWidth:function(){if(this.webkit419)return this.innerWidth;if(this.opera)return document.body.clientWidth;return document.documentElement.clientWidth;},getHeight:function(){if(this.webkit419)return this.innerHeight;if(this.opera)return document.body.clientHeight;return document.documentElement.clientHeight;},getScrollWidth:function(){if(this.ie)return Math.max(document.documentElement.offsetWidth,document.documentElement.scrollWidth);if(this.webkit)return document.body.scrollWidth;return document.documentElement.scrollWidth;},getScrollHeight:function(){if(this.ie)return Math.max(document.documentElement.offsetHeight,document.documentElement.scrollHeight);if(this.webkit)return document.body.scrollHeight;return document.documentElement.scrollHeight;},getScrollLeft:function(){return this.pageXOffset||document.documentElement.scrollLeft;},getScrollTop:function(){return this.pageYOffset||document.documentElement.scrollTop;},getSize:function(){return{'size':{'x':this.getWidth(),'y':this.getHeight()},'scrollSize':{'x':this.getScrollWidth(),'y':this.getScrollHeight()},'scroll':{'x':this.getScrollLeft(),'y':this.getScrollTop()}};},getPosition:function(){return{'x':0,'y':0};}});var Fx={};Fx.Base=new Class({options:{onStart:Class.empty,onComplete:Class.empty,onCancel:Class.empty,transition:function(p){return-(Math.cos(Math.PI*p)-1)/2;},duration:500,unit:'px',wait:true,fps:50},initialize:function(options){this.element=this.element||null;this.setOptions(options);if(this.options.initialize)this.options.initialize.call(this);},step:function(){var time=$time();if(time=(7-4*a)/11){value=-Math.pow((11-6*a-11*p)/4,2)+b*b;break;}} return value;},Elastic:function(p,x){return Math.pow(2,10*--p)*Math.cos(20*p*Math.PI*(x[0]||1)/3);}});['Quad','Cubic','Quart','Quint'].each(function(transition,i){Fx.Transitions[transition]=new Fx.Transition(function(p){return Math.pow(p,[i+2]);});Fx.Transitions.compat(transition);});var Drag={};Drag.Base=new Class({options:{handle:false,unit:'px',onStart:Class.empty,onBeforeStart:Class.empty,onComplete:Class.empty,onSnap:Class.empty,onDrag:Class.empty,limit:false,modifiers:{x:'left',y:'top'},grid:false,snap:6},initialize:function(el,options){this.setOptions(options);this.element=$(el);this.handle=$(this.options.handle)||this.element;this.mouse={'now':{},'pos':{}};this.value={'start':{},'now':{}};this.bound={'start':this.start.bindWithEvent(this),'check':this.check.bindWithEvent(this),'drag':this.drag.bindWithEvent(this),'stop':this.stop.bind(this)};this.attach();if(this.options.initialize)this.options.initialize.call(this);},attach:function(){this.handle.addEvent('mousedown',this.bound.start);return this;},detach:function(){this.handle.removeEvent('mousedown',this.bound.start);return this;},start:function(event){this.fireEvent('onBeforeStart',this.element);this.mouse.start=event.page;var limit=this.options.limit;this.limit={'x':[],'y':[]};for(var z in this.options.modifiers){if(!this.options.modifiers[z])continue;this.value.now[z]=this.element.getStyle(this.options.modifiers[z]).toInt();this.mouse.pos[z]=event.page[z]-this.value.now[z];if(limit&&limit[z]){for(var i=0;i<2;i++){if($chk(limit[z][i]))this.limit[z][i]=($type(limit[z][i])=='function')?limit[z][i]():limit[z][i];}}} if($type(this.options.grid)=='number')this.options.grid={'x':this.options.grid,'y':this.options.grid};document.addListener('mousemove',this.bound.check);document.addListener('mouseup',this.bound.stop);this.fireEvent('onStart',this.element);event.stop();},check:function(event){var distance=Math.round(Math.sqrt(Math.pow(event.page.x-this.mouse.start.x,2)+Math.pow(event.page.y-this.mouse.start.y,2)));if(distance>this.options.snap){document.removeListener('mousemove',this.bound.check);document.addListener('mousemove',this.bound.drag);this.drag(event);this.fireEvent('onSnap',this.element);} event.stop();},drag:function(event){this.out=false;this.mouse.now=event.page;for(var z in this.options.modifiers){if(!this.options.modifiers[z])continue;this.value.now[z]=this.mouse.now[z]-this.mouse.pos[z];if(this.limit[z]){if($chk(this.limit[z][1])&&(this.value.now[z]>this.limit[z][1])){this.value.now[z]=this.limit[z][1];this.out=true;}else if($chk(this.limit[z][0])&&(this.value.now[z]el.left&&now.xel.top);},stop:function(){if(this.overed&&!this.out)this.overed.fireEvent('drop',[this.element,this]);else this.element.fireEvent('emptydrop',this);this.parent();return this;}});Element.extend({makeDraggable:function(options){return new Drag.Move(this,options);}});var XHR=new Class({options:{method:'post',async:true,onRequest:Class.empty,onSuccess:Class.empty,onFailure:Class.empty,urlEncoded:true,encoding:'utf-8',autoCancel:false,headers:{}},setTransport:function(){this.transport=(window.XMLHttpRequest)?new XMLHttpRequest():(window.ie?new ActiveXObject('Microsoft.XMLHTTP'):false);return this;},initialize:function(options){this.setTransport().setOptions(options);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers={};if(this.options.urlEncoded&&this.options.method=='post'){var encoding=(this.options.encoding)?'; charset='+this.options.encoding:'';this.setHeader('Content-type','application/x-www-form-urlencoded'+encoding);} if(this.options.initialize)this.options.initialize.call(this);},onStateChange:function(){if(this.transport.readyState!=4||!this.running)return;this.running=false;var status=0;try{status=this.transport.status;}catch(e){};if(this.options.isSuccess.call(this,status))this.onSuccess();else this.onFailure();this.transport.onreadystatechange=Class.empty;},isSuccess:function(status){return((status>=200)&&(status<300));},onSuccess:function(){this.response={'text':this.transport.responseText,'xml':this.transport.responseXML};this.fireEvent('onSuccess',[this.response.text,this.response.xml]);this.callChain();},onFailure:function(){this.fireEvent('onFailure',this.transport);},setHeader:function(name,value){this.headers[name]=value;return this;},send:function(url,data){if(this.options.autoCancel)this.cancel();else if(this.running)return this;this.running=true;if(data&&this.options.method=='get'){url=url+(url.contains('?')?'&':'?')+data;data=null;} this.transport.open(this.options.method.toUpperCase(),url,this.options.async);this.transport.onreadystatechange=this.onStateChange.bind(this);if((this.options.method=='post')&&this.transport.overrideMimeType)this.setHeader('Connection','close');$extend(this.headers,this.options.headers);for(var type in this.headers)try{this.transport.setRequestHeader(type,this.headers[type]);}catch(e){};this.fireEvent('onRequest');this.transport.send($pick(data,null));return this;},cancel:function(){if(!this.running)return this;this.running=false;this.transport.abort();this.transport.onreadystatechange=Class.empty;this.setTransport();this.fireEvent('onCancel');return this;}});XHR.implement(new Chain,new Events,new Options);var Ajax=XHR.extend({options:{data:null,update:null,onComplete:Class.empty,evalScripts:false,evalResponse:false},initialize:function(url,options){this.addEvent('onSuccess',this.onComplete);this.setOptions(options);this.options.data=this.options.data||this.options.postBody;if(!['post','get'].contains(this.options.method)){this._method='_method='+this.options.method;this.options.method='post';} this.parent();this.setHeader('X-Requested-With','XMLHttpRequest');this.setHeader('Accept','text/javascript, text/html, application/xml, text/xml, */*');this.url=url;},onComplete:function(){if(this.options.update)$(this.options.update).empty().setHTML(this.response.text);if(this.options.evalScripts||this.options.evalResponse)this.evalScripts();this.fireEvent('onComplete',[this.response.text,this.response.xml],20);},request:function(data){data=data||this.options.data;switch($type(data)){case'element':data=$(data).toQueryString();break;case'object':data=Object.toQueryString(data);} if(this._method)data=(data)?[this._method,data].join('&'):this._method;return this.send(this.url,data);},evalScripts:function(){var script,scripts;if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader('Content-type')))scripts=this.response.text;else{scripts=[];var regexp=/]*>([\s\S]*?)<\/script>/gi;while((script=regexp.exec(this.response.text)))scripts.push(script[1]);scripts=scripts.join('\n');} if(scripts)(window.execScript)?window.execScript(scripts):window.setTimeout(scripts,0);},getHeader:function(name){try{return this.transport.getResponseHeader(name);}catch(e){};return null;}});Object.toQueryString=function(source){var queryString=[];for(var property in source)queryString.push(encodeURIComponent(property)+'='+encodeURIComponent(source[property]));return queryString.join('&');};Element.extend({send:function(options){return new Ajax(this.getProperty('action'),$merge({data:this.toQueryString()},options,{method:'post'})).request();}});var Cookie=new Abstract({options:{domain:false,path:false,duration:false,secure:false},set:function(key,value,options){options=$merge(this.options,options);value=encodeURIComponent(value);if(options.domain)value+='; domain='+options.domain;if(options.path)value+='; path='+options.path;if(options.duration){var date=new Date();date.setTime(date.getTime()+options.duration*24*60*60*1000);value+='; expires='+date.toGMTString();} if(options.secure)value+='; secure';document.cookie=key+'='+value;return $extend(options,{'key':key,'value':value});},get:function(key){var value=document.cookie.match('(?:^|;)\\s*'+key.escapeRegExp()+'=([^;]*)');return value?decodeURIComponent(value[1]):false;},remove:function(cookie,options){if($type(cookie)=='object')this.set(cookie.key,'',$merge(cookie,{duration:-1}));else this.set(cookie,'',$merge(options,{duration:-1}));}});var Json={toString:function(obj){switch($type(obj)){case'string':return'"'+obj.replace(/(["\\])/g,'\\$1')+'"';case'array':return'['+obj.map(Json.toString).join(',')+']';case'object':var string=[];for(var property in obj)string.push(Json.toString(property)+':'+Json.toString(obj[property]));return'{'+string.join(',')+'}';case'number':if(isFinite(obj))break;case false:return'null';} return String(obj);},evaluate:function(str,secure){return(($type(str)!='string')||(secure&&!str.test(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/)))?null:eval('('+str+')');}};Json.Remote=XHR.extend({initialize:function(url,options){this.url=url;this.addEvent('onSuccess',this.onComplete);this.parent(options);this.setHeader('X-Request','JSON');},send:function(obj){return this.parent(this.url,'json='+Json.toString(obj));},onComplete:function(){this.fireEvent('onComplete',[Json.evaluate(this.response.text,this.options.secure)]);}});var Asset=new Abstract({javascript:function(source,properties){properties=$merge({'onload':Class.empty},properties);var script=new Element('script',{'src':source}).addEvents({'load':properties.onload,'readystatechange':function(){if(this.readyState=='complete')this.fireEvent('load');}});delete properties.onload;return script.setProperties(properties).inject(document.head);},css:function(source,properties){return new Element('link',$merge({'rel':'stylesheet','media':'screen','type':'text/css','href':source},properties)).inject(document.head);},image:function(source,properties){properties=$merge({'onload':Class.empty,'onabort':Class.empty,'onerror':Class.empty},properties);var image=new Image();image.src=source;var element=new Element('img',{'src':source});['load','abort','error'].each(function(type){var event=properties['on'+type];delete properties['on'+type];element.addEvent(type,function(){this.removeEvent(type,arguments.callee);event.call(this);});});if(image.width&&image.height)element.fireEvent('load',element,1);return element.setProperties(properties);},images:function(sources,options){options=$merge({onComplete:Class.empty,onProgress:Class.empty},options);if(!sources.push)sources=[sources];var images=[];var counter=0;sources.each(function(source){var img=new Asset.image(source,{'onload':function(){options.onProgress.call(this,counter);counter++;if(counter==sources.length)options.onComplete();}});images.push(img);});return new Elements(images);}});var SmoothScroll=Fx.Scroll.extend({initialize:function(options){this.parent(window,options);this.links=(this.options.links)?$$(this.options.links):$$(document.links);var location=window.location.href.match(/^[^#]*/)[0]+'#';this.links.each(function(link){if(link.href.indexOf(location)!=0)return;var anchor=link.href.substr(location.length);if(anchor&&$(anchor))this.useLink(link,anchor);},this);if(!window.webkit419)this.addEvent('onComplete',function(){window.location.hash=this.anchor;});},useLink:function(link,anchor){link.addEvent('click',function(event){this.anchor=anchor;this.toElement(anchor);event.stop();}.bindWithEvent(this));}}); var is_init_search=0;function performSearch(){if(is_init_search==1)return true;is_init_search=1;focusSearch();var w=document.body.clientWidth;var h=document.body.scrollHeight;var pls=document.createElement("div");pls.style.background='#F7F8F8';pls.style.cursor="wait";pls.style.width=w+"px";pls.style.height=h+"px";pls.style.display="block";pls.style.zIndex=999;pls.style.top=0;pls.style.position="absolute";pls.style.visibility="visible";pls.innerHTML="
   Va rugam asteptati
";document.getElementsByTagName("body")[0].appendChild(pls);var elements=document.documentElement.getElementsByTagName('select');for(var i=0;i";selectFree.appendChild(div);document.getElementsByTagName("body")[0].appendChild(selectFree);zR={"request":null,"id":null,"elem":null,"onPicture":null,"parentElem":null,"onlyLink":null};}} function displayZoom(elem,productid){if(!zRready){return} if(!zR){createZrObj();} zR.elem=false;zR.onPicture=false;zR.id=productid;zR.parentElem=false;zR.onlyLink=false;zR.request=GetXmlHttpObject();if(zR.request==null){return;} var url=xcart_web_dir+"/getZoomImage.php?id="+productid;zR.request.onreadystatechange=zoomReceived;zR.request.open("GET",url,true);zR.request.send(null);} function displayPictureOnZoom(){var img=new Image();img.src=zR.request.responseText;if(img.width==0||img.height==0){setTimeout("displayPictureOnZoom()",200);} else{var elem;if(!zR.elem){elem=document.getElementById('btnz_'+zR.id);} else{elem=zR.elem;} var win={'x':window.getWidth(),'y':window.getHeight()};var scroll={'x':window.getScrollLeft(),'y':window.getScrollTop()};var pos=findPos(elem);var x=pos[0]-scroll.x;var y=pos[1]-scroll.y;var zrOnLeft=false;var zrOnTop=false;if(x+img.width+40>win.x){zrOnLeft=true;} if(y+img.height+40>win.y){zrOnTop=true;} var imgBtnZ='imgBtnZ';var str_start="

";var text=zR.request.responseText;if(zrOnLeft){if(zrOnTop){overlib(str_start+text+str_end,WIDTH,img.width,HEIGHT,img.height,LEFT,ABOVE);} else{overlib(str_start+text+str_end,WIDTH,img.width,VAUTO,LEFT);}} else{if(zrOnTop){overlib(str_start+text+str_end,WIDTH,img.width,HEIGHT,img.height,RIGHT,ABOVE);} else{overlib(str_start+text+str_end,WIDTH,img.width,HEIGHT,img.height,RIGHT);}} var ifr=document.getElementById('zoomIfrSF');if(ifr){ifr.style.display="block";ifr.style.width=win.x;ifr.style.height=win.y;} if(document.getElementById(imgBtnZ)){if(!zR.elem){var parent=document.getElementById('cellMiddle_'+zR.id);if(parent){document.getElementById(imgBtnZ).onclick=parent.onclick;}} else if(zR.onlyLink){var parent=document.getElementById(zR.onlyLink);if(parent){document.getElementById(imgBtnZ).onclick=function(){location.href=parent.href;}}} else if(zR.parentElem){document.getElementById(imgBtnZ).onclick=zR.parentElem.onclick;}}}} function zoomReceived(){if(zR.request.readyState==4&&zR.request.status==200){if(zR.id){displayPictureOnZoom();}}} function GetXmlHttpObject(){var xmlHttp=null;try {xmlHttp=new XMLHttpRequest();} catch(e) {try {xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}} return xmlHttp;} function doZoom(elem,productid,parentElem,onlyLink){if(!zRready){return} if(!zR){createZrObj();} zR.elem=elem;zR.onPicture=false;zR.id=productid;zR.parentElem=parentElem;zR.onlyLink=onlyLink;zR.request=GetXmlHttpObject();if(zR.request==null) {return;} var url=xcart_web_dir+"/getZoomImage.php?id="+productid;zR.request.onreadystatechange=zoomReceived;zR.request.open("GET",url,true);zR.request.send(null);} function set_input_active(){$$('.br_input').each(function(el){el.addEvent('focus',function(){el.className='br_input_active';});el.addEvent('blur',function(){el.className='br_input';});});} function initShadowBox(){var optiuni={resizeLgImages:true,displayNav:true,handleUnsupported:'remove',keysClose:['c',27]};Shadowbox.init(optiuni);} window.onDomReady(initShadowBox);window.onDomReady(set_input_active);function inputTypeout(){var $myinputs=$$('input[type=text]');$myinputs.each(function(item,index){var myalt=item.getProperty('alt');if((myalt!=null)&&(myalt!='')) {item.addEvent('focus',function(){if(item.value.trim()==myalt) {item.setProperty('value','');}});item.addEvent('blur',function(){if((item.value.trim()=='')) {item.setProperty('value',myalt);}});item.fireEvent('blur');var loop=true;var parentItem,defaultItem=item;while(loop) {parentItem=defaultItem.getParent();if(parentItem.getTag().toLowerCase()=='form') {loop=false;parentItem.addEvent('submit',function(){if(item.getAttribute('value')==myalt) {item.setProperty('value','');}});} else {defaultItem=parentItem;}}}});} window.onDomReady(inputTypeout);function cartInit(){var a=$$(".wpPrC .wrCadou .cadou .optiuni a");a.addEvent("click",function(e){new Event(e).stop();window.open(this.getProperty("href"),'POptions','width=400,height=350,toolbar=no,status=no,scrollbars=yes,resizable=no,menubar=no,location=no,direction=no');});a=$$("#arataRecomandari");a.addEvent("click",function(e){new Event(e).stop();csRollerStart();document.getElementById("recomandariLivrare").style.display="block";});a=$$("#prodTableSHolder .contCell");prLivrGr_pas=((a.length*142)-683-25)/625;if(prLivrGr_pas<0){prLivrGr_pas=0;} var mySlide=new Slider($('cartSlider'),$('cartSliderMover'),{steps:624,onChange:function(step){cartSliderChange(step);}}).set(0);a=$$("#cntCartSlider .arrR");a.addEvent("mouseenter",function(){sliderDir=1;cartSliderArrowChange();});a.addEvent("mouseleave",function(){sliderDir=0;});a=$$("#cntCartSlider .arrL");a.addEvent("mouseenter",function(){sliderDir=-1;cartSliderArrowChange();});a.addEvent("mouseleave",function(){sliderDir=0;});a=$$("#recPr");a.addEvent("mouseenter",function(){csRollerStop();});a.addEvent("mouseleave",function(){csRollerStartDelayed();});a=$$("#cntCartSlider");a.addEvent("mouseenter",function(){csRollerStop();});a.addEvent("mouseleave",function(){csRollerStartDelayed();});if(document.getElementById("recomandariLivrare")){document.getElementById("recomandariLivrare").style.display="none";document.getElementById("recomandariLivrare").style.height="290px";} a=$$(".sCq");a.addEvent("change",function(e){document.getElementById("cartForm").submit();});if(document.getElementById("cartDorescMesaj")){a=$("cartDorescMesaj");if(a.getProperty("checked")){cartImsg=1;} a.addEvent("click",function(e){var checked=this.getProperty("checked");if(checked){var elem=$("cartMesajPersonalizat");if(cartMsg){elem.value=cartMsg;} elem.removeProperty("disabled");elem.removeClass("disabled");} else{if(cartImsg){window.location="cart.php?mode=del_mesaj";} var elem=$("cartMesajPersonalizat");cartMsg=elem.value;document.getElementById("cartMesajPersonalizat").value="";elem.setProperty("disabled","disabled");elem.addClass("disabled");}});}} function cartSliderArrowChange(){if(sliderDir){var left=document.getElementById("cartSliderMover").style.left;left=parseInt(left.substr(0,left.length-2));left=left+(sliderDir*10);if(left<0){left=0;} else if(left>624){left=624;} document.getElementById("cartSliderMover").style.left=left+"px";document.getElementById("prodTableSHolder").style.left=(-(prLivrGr_pas*left))+"px";if(left!=0&&left!=624){setTimeout("cartSliderArrowChange()",50);}}} function cartSliderChange(step){document.getElementById("prodTableSHolder").style.left=(-(prLivrGr_pas*step))+"px";} var csRoller={dir:1,px:1,speed:100,timer:0,started:0,canStart:0} function csRollerStart(){csRoller.started=1;csRollerMove();} function csRollerStartDelayed(){csRoller.canStart=1;setTimeout("csRollerStartedFromDelayed()",500);} function csRollerStartedFromDelayed(){if(csRoller.canStart){csRollerStart();}} function csRollerMove(){if(!csRoller.started){return;} var left=document.getElementById("cartSliderMover").style.left;left=parseInt(left.substr(0,left.length-2))+(csRoller.px*csRoller.dir);if(left<0){left=0;csRoller.dir=1;} else if(left>624){left=624;csRoller.dir=-1;} document.getElementById("cartSliderMover").style.left=left+"px";document.getElementById("prodTableSHolder").style.left=(-(prLivrGr_pas*left))+"px";clearTimeout(csRoller.timer);csRoller.timer=setTimeout("csRollerMove()",csRoller.speed);} function csRollerStop(){clearTimeout(csRoller.timer);csRoller.started=0;csRoller.canStart=0;} function inputNoBorderElem(elem){elem.setStyle("border","none");} function inputNoBorder(){if(!window.ie){return true;} var a=$$("input[type=checkbox]");a.each(function(item){inputNoBorderElem(item)});a=$$("input[type=radio]");a.each(function(item){inputNoBorderElem(item)});} window.onDomReady(inputNoBorder);var $myinputs;var curentzoom=0;var zoom_all;var $myzoom=null;var $myzoomimage=null;var $myzoomtool=null;var $myzoomblock=null;var zoomblockw=231;var zoomblockh=231;var zoomm=6;var xz_center;var yz_center;var z_width=null;var z_height=null;var x_toolmax=null;var y_toolmax=null;var difx,dify;function CreativeZoom(){$hide=$$('#livrareGratuita');$hide1=$$('#livrareGratuitaEN');$hide2=$$('.produsIndisponibil2EN');$hide3=$$('.produsIndisponibil2');$hide4=$$('#zoomAtention');$hide5=$$("#impCadou");$loader=$$('#loader');$myzoom=$$('#creative-zoom');$myzoomimage=$$('#image-zoom');$myzoomtool=$$('#zoom-tool');$myzoomblock=$$('#zoomblock');$myimageblock=$$('#imageblock');z_width=260;z_height=260;setZoomTool();ZoomImages();ZoomStart();} function ZoomImages(){$myinputs=$$('a[rel=creative-zoom]');zoom_all=$myinputs.length;var myEl=$$('#zoom_pan');myEl.setStyle('width',(60*zoom_all)+'px');$myinputs.each(function(item,index){changeZoomImage(item,index);});} function changeZoomImage(item,index){item.addEvent('click',function(e){if(e){new Event(e).stop();}});item.addEvent('mouseover',function(e){if(e){new Event(e).stop();} $myzoom.setProperty('href',item.getProperty('href'));$myzoomimage.setProperty('src',item.getProperty('rev'));var a=item.getProperty('title');$myzoomimage.setProperty('alt',a);$myzoomimage.setProperty('title',a);$myzoom.setProperty('title',a);$myimageblock.setProperty('src',item.getProperty('href'));curentzoom=index;if(!e){scrolltozoom(item,index);}});} function ZoomStart(){$myzoom.addEvent('click',function(e){new Event(e).stop();});$myzoom.addEvent('mouseover',function(e){StartZoom()});$myzoom.addEvent('mousemove',function(e){var event=new Event(e);var mouseposition=event.client.x;var mousepositiony=event.client.y;var myValuesx=$myzoomimage.getTop();var myValuesy=$myzoomimage.getLeft();if(window.ie6) {difx=20;dify=10;} else{difx=10;dify=10;} var mypos=findPos(document.getElementById('productThumb'));var myValuesx=mypos[0]+difx;var myValuesy=mypos[1]+dify;var movetoleft=mouseposition-myValuesx;var movetotop=mousepositiony-myValuesy;MoveTools(movetoleft,movetotop);});$myzoom.addEvent('mouseout',function(e){StopZoom();});} function StartZoom(){showTool($myzoomtool);showTool($myzoomblock);} function StopZoom(){hideTool($myzoomtool);hideTool($myzoomblock);} function hideTool($tool){$tool.setStyle('visibility','hidden');$tool.setStyle('visibility','hidden');$hide.setStyle('display','block');$hide1.setStyle('display','block');$hide2.setStyle('display','block');$hide3.setStyle('display','block');$hide4.setStyle('display','');$hide5.setStyle('visibility','visible');} function showTool($tool){$hide.setStyle('display','none');$hide1.setStyle('display','none');$hide2.setStyle('display','none');$hide3.setStyle('display','none');$hide4.setStyle('display','none');$hide5.setStyle('visibility','hidden');$tool.setStyle('visibility','visible');$tool.setStyle('visibility','visible');} function MoveTools(x,y){var scroll=getScrollXY();var z_tool=getCoord('tool',(x),(y+scroll[1]));var i_tool=getCoord('image',(x),(y+scroll[1]));$myzoomtool.setStyle('left',z_tool[0]+'px');$myzoomtool.setStyle('top',z_tool[1]+'px');$myimageblock.setStyle('left',i_tool[0]+'px');$myimageblock.setStyle('top',i_tool[1]+'px');} function getCoord(obj,x,y){if(window.ie6) {this.difx=0;} var myx=difx;var myy=0;if((x-difx>=xz_center)&&(x-difx<=(z_width-xz_center))) {myx=x-xz_center;} else if(x>=(z_width-xz_center)) myx=(z_width-xz_center)-xz_center+difx;if((y>yz_center)&&(y<(z_height-yz_center))) myy=y-yz_center;else if((y)>=(z_height-yz_center)) myy=(z_height-yz_center)-yz_center;if(obj=='image') {if(window.ie6) {myx=-(myx*zoomm);myy=-(myy*zoomm);} else {myx=-(myx*zoomm-(difx*zoomm));myy=-(myy*zoomm);}} return[myx,myy];} function setLoad(){$loader.setStyle('width',z_width);$loader.setStyle('width',z_width);} function setZoomTool(){$myzoomtool.setStyle('width',parseInt(zoomblockw/zoomm)+'px');$myzoomtool.setStyle('height',parseInt(zoomblockh/zoomm)+'px');$myzoomblock.setStyle('width',zoomblockw+'px');$myzoomblock.setStyle('height',zoomblockh+'px');xz_center=parseInt(zoomblockw/zoomm/2);yz_center=parseInt(zoomblockh/zoomm/2);} function isset(varname){if(typeof(window[varname])!="undefined")return true;else return false;} window.onDomReady(CreativeZoom);function getScrollXY(){var scrOfX=0,scrOfY=0;if(typeof(window.pageYOffset)=='number'){scrOfY=window.pageYOffset;scrOfX=window.pageXOffset;}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){scrOfY=document.body.scrollTop;scrOfX=document.body.scrollLeft;}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){scrOfY=document.documentElement.scrollTop;scrOfX=document.documentElement.scrollLeft;} return[scrOfX,scrOfY];} function change_zoom_pic(select) {var index_pic=select.options[select.selectedIndex].value;var activate=$$('.zoom_id'+index_pic);if(activate.length>1) {activate=activate[0]} activate.fireEvent('mouseover');} function scrolltozoom(item,index){if((zoom_all-index)<4) {item=$myinputs[(zoom_all-4)];} if($myinputs.length>3) {var myEl=$('zoom_show');var myFx=new Fx.Scroll(myEl,{duration:800,wait:false,transition:Fx.Transitions.Quad.easeInOut}).toElement(item);}} function scrollnextzoom(){if((curentzoom+4)>zoom_all) {curentzoom=(zoom_all-1);} else {curentzoom=(curentzoom+4);} var itemx=$myinputs[curentzoom];scrolltozoom(itemx,curentzoom);} function scrollpreviewzoom(){if((curentzoom-4)<0) {curentzoom=0;} else if((curentzoom+4)>zoom_all) {curentzoom=(zoom_all-8);} else curentzoom=(curentzoom-4);if(curentzoom<0) {curentzoom=0;} var itemx=$myinputs[curentzoom];scrolltozoom(itemx,curentzoom);} //\///// //\ overLIB 4.21 - You may not remove or change this notice. //\ Copyright Erik Bosrup 1998-2004. All rights reserved. //\ //\ Contributors are listed on the homepage. //\ This file might be old, always check for the latest version at: //\ http://www.bosrup.com/web/overlib/ //\ //\ Please read the license agreement (available through the link above) //\ before using overLIB. Direct any licensing questions to erik@bosrup.com. //\ //\ Do not sell this as your own work or remove this copyright notice. //\ For full details on copying or changing this script please read the //\ license agreement at the link above. Please give credit on sites that //\ use overLIB and submit changes of the script so other people can use //\ them as well. // $Revision: 1.119 $ $Date: 2005/07/02 23:41:44 $ //\///// //\mini //////// // PRE-INIT // Ignore these lines, configuration is below. //////// var olLoaded = 0;var pmStart = 10000000; var pmUpper = 10001000; var pmCount = pmStart+1; var pmt=''; var pms = new Array(); var olInfo = new Info('4.21', 1); var FREPLACE = 0; var FBEFORE = 1; var FAFTER = 2; var FALTERNATE = 3; var FCHAIN=4; var olHideForm=0; // parameter for hiding SELECT and ActiveX elements in IE5.5+ var olHautoFlag = 0; // flags for over-riding VAUTO and HAUTO if corresponding var olVautoFlag = 0; // positioning commands are used on the command line var hookPts = new Array(), postParse = new Array(), cmdLine = new Array(), runTime = new Array(); // for plugins registerCommands('donothing,inarray,caparray,sticky,background,noclose,caption,left,right,center,offsetx,offsety,fgcolor,bgcolor,textcolor,capcolor,closecolor,width,border,cellpad,status,autostatus,autostatuscap,height,closetext,snapx,snapy,fixx,fixy,relx,rely,fgbackground,bgbackground,padx,pady,fullhtml,above,below,capicon,textfont,captionfont,closefont,textsize,captionsize,closesize,timeout,function,delay,hauto,vauto,closeclick,wrap,followmouse,mouseoff,closetitle,cssoff,compatmode,cssclass,fgclass,bgclass,textfontclass,captionfontclass,closefontclass'); //////// // DEFAULT CONFIGURATION // Settings you want everywhere are set here. All of this can also be // changed on your html page or through an overLIB call. //////// if (typeof ol_fgcolor=='undefined') var ol_fgcolor="#ffffff"; if (typeof ol_bgcolor=='undefined') var ol_bgcolor="#B2BABF"; if (typeof ol_textcolor=='undefined') var ol_textcolor="#000000"; if (typeof ol_capcolor=='undefined') var ol_capcolor="#FFFFFF"; if (typeof ol_closecolor=='undefined') var ol_closecolor="#9999FF"; if (typeof ol_textfont=='undefined') var ol_textfont="Verdana,Arial,Helvetica"; if (typeof ol_captionfont=='undefined') var ol_captionfont="Verdana,Arial,Helvetica"; if (typeof ol_closefont=='undefined') var ol_closefont="Verdana,Arial,Helvetica"; if (typeof ol_textsize=='undefined') var ol_textsize="1"; if (typeof ol_captionsize=='undefined') var ol_captionsize="1"; if (typeof ol_closesize=='undefined') var ol_closesize="1"; if (typeof ol_width=='undefined') var ol_width="200"; if (typeof ol_border=='undefined') var ol_border="1"; if (typeof ol_cellpad=='undefined') var ol_cellpad=2; if (typeof ol_offsetx=='undefined') var ol_offsetx=10; if (typeof ol_offsety=='undefined') var ol_offsety=10; if (typeof ol_text=='undefined') var ol_text="Default Text"; if (typeof ol_cap=='undefined') var ol_cap=""; if (typeof ol_sticky=='undefined') var ol_sticky=1; if (typeof ol_background=='undefined') var ol_background=""; if (typeof ol_close=='undefined') var ol_close="Close"; if (typeof ol_hpos=='undefined') var ol_hpos=RIGHT; if (typeof ol_status=='undefined') var ol_status=""; if (typeof ol_autostatus=='undefined') var ol_autostatus=0; if (typeof ol_height=='undefined') var ol_height=-1; if (typeof ol_snapx=='undefined') var ol_snapx=0; if (typeof ol_snapy=='undefined') var ol_snapy=0; if (typeof ol_fixx=='undefined') var ol_fixx=-1; if (typeof ol_fixy=='undefined') var ol_fixy=-1; if (typeof ol_relx=='undefined') var ol_relx=null; if (typeof ol_rely=='undefined') var ol_rely=null; if (typeof ol_fgbackground=='undefined') var ol_fgbackground=""; if (typeof ol_bgbackground=='undefined') var ol_bgbackground=""; if (typeof ol_padxl=='undefined') var ol_padxl=1; if (typeof ol_padxr=='undefined') var ol_padxr=1; if (typeof ol_padyt=='undefined') var ol_padyt=1; if (typeof ol_padyb=='undefined') var ol_padyb=1; if (typeof ol_fullhtml=='undefined') var ol_fullhtml=0; if (typeof ol_vpos=='undefined') var ol_vpos=BELOW; if (typeof ol_aboveheight=='undefined') var ol_aboveheight=0; if (typeof ol_capicon=='undefined') var ol_capicon=""; if (typeof ol_frame=='undefined') var ol_frame=self; if (typeof ol_timeout=='undefined') var ol_timeout=0; if (typeof ol_function=='undefined') var ol_function=null; if (typeof ol_delay=='undefined') var ol_delay=0; if (typeof ol_hauto=='undefined') var ol_hauto=0; if (typeof ol_vauto=='undefined') var ol_vauto=0; if (typeof ol_closeclick=='undefined') var ol_closeclick=0; if (typeof ol_wrap=='undefined') var ol_wrap=0; if (typeof ol_followmouse=='undefined') var ol_followmouse=1; if (typeof ol_mouseoff=='undefined') var ol_mouseoff=0; if (typeof ol_closetitle=='undefined') var ol_closetitle='Close'; if (typeof ol_compatmode=='undefined') var ol_compatmode=0; if (typeof ol_css=='undefined') var ol_css=CSSOFF; if (typeof ol_fgclass=='undefined') var ol_fgclass=""; if (typeof ol_bgclass=='undefined') var ol_bgclass=""; if (typeof ol_textfontclass=='undefined') var ol_textfontclass=""; if (typeof ol_captionfontclass=='undefined') var ol_captionfontclass=""; if (typeof ol_closefontclass=='undefined') var ol_closefontclass=""; //////// // ARRAY CONFIGURATION //////// // You can use these arrays to store popup text here instead of in the html. if (typeof ol_texts=='undefined') var ol_texts = new Array("Text 0", "Text 1"); if (typeof ol_caps=='undefined') var ol_caps = new Array("Caption 0", "Caption 1"); //////// // END OF CONFIGURATION // Don't change anything below this line, all configuration is above. //////// //////// // INIT //////// // Runtime variables init. Don't change for config! var o3_text=""; var o3_cap=""; var o3_sticky=0; var o3_background=""; var o3_close="Close"; var o3_hpos=RIGHT; var o3_offsetx=2; var o3_offsety=2; var o3_fgcolor=""; var o3_bgcolor=""; var o3_textcolor=""; var o3_capcolor=""; var o3_closecolor=""; var o3_width=100; var o3_border=1; var o3_cellpad=2; var o3_status=""; var o3_autostatus=0; var o3_height=-1; var o3_snapx=0; var o3_snapy=0; var o3_fixx=-1; var o3_fixy=-1; var o3_relx=null; var o3_rely=null; var o3_fgbackground=""; var o3_bgbackground=""; var o3_padxl=0; var o3_padxr=0; var o3_padyt=0; var o3_padyb=0; var o3_fullhtml=0; var o3_vpos=BELOW; var o3_aboveheight=0; var o3_capicon=""; var o3_textfont="Verdana,Arial,Helvetica"; var o3_captionfont="Verdana,Arial,Helvetica"; var o3_closefont="Verdana,Arial,Helvetica"; var o3_textsize="1"; var o3_captionsize="1"; var o3_closesize="1"; var o3_frame=self; var o3_timeout=0; var o3_timerid=0; var o3_allowmove=0; var o3_function=null; var o3_delay=0; var o3_delayid=0; var o3_hauto=0; var o3_vauto=0; var o3_closeclick=0; var o3_wrap=0; var o3_followmouse=1; var o3_mouseoff=0; var o3_closetitle=''; var o3_compatmode=0; var o3_css=CSSOFF; var o3_fgclass=""; var o3_bgclass=""; var o3_textfontclass=""; var o3_captionfontclass=""; var o3_closefontclass=""; // Display state variables var o3_x = 0; var o3_y = 0; var o3_showingsticky = 0; var o3_removecounter = 0; // Our layer var over = null; var fnRef, hoveringSwitch = false; var olHideDelay; // Decide browser version var isMac = (navigator.userAgent.indexOf("Mac") != -1); var olOp = (navigator.userAgent.toLowerCase().indexOf('opera') > -1 && document.createTextNode); // Opera 7 var olNs4 = (navigator.appName=='Netscape' && parseInt(navigator.appVersion) == 4); var olNs6 = (document.getElementById) ? true : false; var olKq = (olNs6 && /konqueror/i.test(navigator.userAgent)); var olIe4 = (document.all) ? true : false; var olIe5 = false; var olIe55 = false; // Added additional variable to identify IE5.5+ var docRoot = 'document.body'; // Resize fix for NS4.x to keep track of layer if (olNs4) { var oW = window.innerWidth; var oH = window.innerHeight; window.onresize = function() { if (oW != window.innerWidth || oH != window.innerHeight) location.reload(); } } // Microsoft Stupidity Check(tm). if (olIe4) { var agent = navigator.userAgent; if (/MSIE/.test(agent)) { var versNum = parseFloat(agent.match(/MSIE[ ](\d\.\d+)\.*/i)[1]); if (versNum >= 5){ olIe5=true; olIe55=(versNum>=5.5&&!olOp) ? true : false; if (olNs6) olNs6=false; } } if (olNs6) olIe4 = false; } // Check for compatability mode. if (document.compatMode && document.compatMode == 'CSS1Compat') { docRoot= ((olIe4 && !olOp) ? 'document.documentElement' : docRoot); } // Add window onload handlers to indicate when all modules have been loaded // For Netscape 6+ and Mozilla, uses addEventListener method on the window object // For IE it uses the attachEvent method of the window object and for Netscape 4.x // it sets the window.onload handler to the OLonload_handler function for Bubbling if(window.addEventListener) window.addEventListener("load",OLonLoad_handler,false); else if (window.attachEvent) window.attachEvent("onload",OLonLoad_handler); var capExtent; //////// // PUBLIC FUNCTIONS //////// // overlib(arg0,...,argN) // Loads parameters into global runtime variables. function overlib() { if (!olLoaded || isExclusive(overlib.arguments)) return true; if (olCheckMouseCapture) olMouseCapture(); if (over) { over = (typeof over.id != 'string') ? o3_frame.document.all['overDiv'] : over; cClick(); } // Load defaults to runtime. olHideDelay=0; o3_text=ol_text; o3_cap=ol_cap; o3_sticky=ol_sticky; o3_background=ol_background; o3_close=ol_close; o3_hpos=ol_hpos; o3_offsetx=ol_offsetx; o3_offsety=ol_offsety; o3_fgcolor=ol_fgcolor; o3_bgcolor=ol_bgcolor; o3_textcolor=ol_textcolor; o3_capcolor=ol_capcolor; o3_closecolor=ol_closecolor; o3_width=ol_width; o3_border=ol_border; o3_cellpad=ol_cellpad; o3_status=ol_status; o3_autostatus=ol_autostatus; o3_height=ol_height; o3_snapx=ol_snapx; o3_snapy=ol_snapy; o3_fixx=ol_fixx; o3_fixy=ol_fixy; o3_relx=ol_relx; o3_rely=ol_rely; o3_fgbackground=ol_fgbackground; o3_bgbackground=ol_bgbackground; o3_padxl=ol_padxl; o3_padxr=ol_padxr; o3_padyt=ol_padyt; o3_padyb=ol_padyb; o3_fullhtml=ol_fullhtml; o3_vpos=ol_vpos; o3_aboveheight=ol_aboveheight; o3_capicon=ol_capicon; o3_textfont=ol_textfont; o3_captionfont=ol_captionfont; o3_closefont=ol_closefont; o3_textsize=ol_textsize; o3_captionsize=ol_captionsize; o3_closesize=ol_closesize; o3_timeout=ol_timeout; o3_function=ol_function; o3_delay=ol_delay; o3_hauto=ol_hauto; o3_vauto=ol_vauto; o3_closeclick=ol_closeclick; o3_wrap=ol_wrap; o3_followmouse=ol_followmouse; o3_mouseoff=ol_mouseoff; o3_closetitle=ol_closetitle; o3_css=ol_css; o3_compatmode=ol_compatmode; o3_fgclass=ol_fgclass; o3_bgclass=ol_bgclass; o3_textfontclass=ol_textfontclass; o3_captionfontclass=ol_captionfontclass; o3_closefontclass=ol_closefontclass; setRunTimeVariables(); fnRef = ''; // Special for frame support, over must be reset... o3_frame = ol_frame; if(!(over=createDivContainer())) return false; parseTokens('o3_', overlib.arguments); if (!postParseChecks()) return false; if (o3_delay == 0) { return runHook("olMain", FREPLACE); } else { o3_delayid = setTimeout("runHook('olMain', FREPLACE)", o3_delay); return false; } } // Clears popups if appropriate function nd(time) { if (olLoaded && !isExclusive()) { hideDelay(time); // delay popup close if time specified if (o3_removecounter >= 1) { o3_showingsticky = 0 }; if (o3_showingsticky == 0) { o3_allowmove = 0; if (over != null && o3_timerid == 0) runHook("hideObject", FREPLACE, over); } else { o3_removecounter++; } } return true; } // The Close onMouseOver function for stickies function cClick() { if (olLoaded) { runHook("hideObject", FREPLACE, over); o3_showingsticky = 0; } return false; } // Method for setting page specific defaults. function overlib_pagedefaults() { parseTokens('ol_', overlib_pagedefaults.arguments); } //////// // OVERLIB MAIN FUNCTION //////// // This function decides what it is we want to display and how we want it done. function olMain() { var layerhtml, styleType; runHook("olMain", FBEFORE); if (o3_background!="" || o3_fullhtml) { // Use background instead of box. layerhtml = runHook('ol_content_background', FALTERNATE, o3_css, o3_text, o3_background, o3_fullhtml); } else { // They want a popup box. styleType = (pms[o3_css-1-pmStart] == "cssoff" || pms[o3_css-1-pmStart] == "cssclass"); // Prepare popup background if (o3_fgbackground != "") o3_fgbackground = "background=\""+o3_fgbackground+"\""; if (o3_bgbackground != "") o3_bgbackground = (styleType ? "background=\""+o3_bgbackground+"\"" : o3_bgbackground); // Prepare popup colors if (o3_fgcolor != "") o3_fgcolor = (styleType ? "bgcolor=\""+o3_fgcolor+"\"" : o3_fgcolor); if (o3_bgcolor != "") o3_bgcolor = (styleType ? "bgcolor=\""+o3_bgcolor+"\"" : o3_bgcolor); // Prepare popup height if (o3_height > 0) o3_height = (styleType ? "height=\""+o3_height+"\"" : o3_height); else o3_height = ""; // Decide which kinda box. if (o3_cap=="") { // Plain layerhtml = runHook('ol_content_simple', FALTERNATE, o3_css, o3_text); } else { // With caption if (o3_sticky) { // Show close text layerhtml = runHook('ol_content_caption', FALTERNATE, o3_css, o3_text, o3_cap, o3_close); } else { // No close text layerhtml = runHook('ol_content_caption', FALTERNATE, o3_css, o3_text, o3_cap, ""); } } } // We want it to stick! if (o3_sticky) { if (o3_timerid > 0) { clearTimeout(o3_timerid); o3_timerid = 0; } o3_showingsticky = 1; o3_removecounter = 0; } // Created a separate routine to generate the popup to make it easier // to implement a plugin capability if (!runHook("createPopup", FREPLACE, layerhtml)) return false; // Prepare status bar if (o3_autostatus > 0) { o3_status = o3_text; if (o3_autostatus > 1) o3_status = o3_cap; } // When placing the layer the first time, even stickies may be moved. o3_allowmove = 0; // Initiate a timer for timeout if (o3_timeout > 0) { if (o3_timerid > 0) clearTimeout(o3_timerid); o3_timerid = setTimeout("cClick()", o3_timeout); } // Show layer runHook("disp", FREPLACE, o3_status); runHook("olMain", FAFTER); return (olOp && event && event.type == 'mouseover' && !o3_status) ? '' : (o3_status != ''); } //////// // LAYER GENERATION FUNCTIONS //////// // These functions just handle popup content with tags that should adhere to the W3C standards specification. // Makes simple table without caption function ol_content_simple(text) { var cpIsMultiple = /,/.test(o3_cellpad); var txt = '
' : ((!olNs4&&cpIsMultiple) ? ' style="'+setCellPadStr(o3_cellpad)+'">' : '>'))+(o3_textfontclass ? '' : wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass ? '' : wrapStr(1,o3_textsize))+'
'; set_background(""); return txt; } // Makes table with caption and optional close link function ol_content_caption(text,title,close) { var nameId, txt, cpIsMultiple = /,/.test(o3_cellpad); var closing, closeevent; closing = ""; closeevent = "onmouseover"; if (o3_closeclick == 1) closeevent = (o3_closetitle ? "title='" + o3_closetitle +"'" : "") + " onclick"; if (o3_capicon != "") { nameId = ' hspace = \"5\"'+' align = \"middle\" alt = \"\"'; if (typeof o3_dragimg != 'undefined' && o3_dragimg) nameId =' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"'; o3_capicon = ''; } if (close != "") closing = ''+(o3_closefontclass ? '' : wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass ? '' : wrapStr(1,o3_closesize,'close'))+''; txt = '
' : '>')+(o3_captionfontclass ? '' : ''+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass ? '' : wrapStr(1,o3_captionsize)+'')+''+closing+'
' :((!olNs4&&cpIsMultiple) ? ' style="'+setCellPadStr(o3_cellpad)+'">' : '>'))+(o3_textfontclass ? '' : wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass ? '' : wrapStr(1,o3_textsize)) + '
'; set_background(""); return txt; } // Sets the background picture,padding and lots more. :) function ol_content_background(text,picture,hasfullhtml) { if (hasfullhtml) { txt=text; } else { txt='
'+(o3_textfontclass ? '' : wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass ? '' : wrapStr(1,o3_textsize))+'
'; } set_background(picture); return txt; } // Loads a picture into the div. function set_background(pic) { if (pic == "") { if (olNs4) { over.background.src = null; } else if (over.style) { over.style.backgroundImage = "none"; } } else { if (olNs4) { over.background.src = pic; } else if (over.style) { over.style.width=o3_width + 'px'; over.style.backgroundImage = "url("+pic+")"; } } } //////// // HANDLING FUNCTIONS //////// var olShowId=-1; // Displays the popup function disp(statustext) { runHook("disp", FBEFORE); if (o3_allowmove == 0) { runHook("placeLayer", FREPLACE); (olNs6&&olShowId<0) ? olShowId=setTimeout("runHook('showObject', FREPLACE, over)", 1) : runHook("showObject", FREPLACE, over); o3_allowmove = (o3_sticky || o3_followmouse==0) ? 0 : 1; } runHook("disp", FAFTER); if (statustext != "") self.status = statustext; } // Creates the actual popup structure function createPopup(lyrContent){ runHook("createPopup", FBEFORE); if (o3_wrap) { var wd,ww,theObj = (olNs4 ? over : over.style); theObj.top = theObj.left = ((olIe4&&!olOp) ? 0 : -10000) + (!olNs4 ? 'px' : 0); layerWrite(lyrContent); wd = (olNs4 ? over.clip.width : over.offsetWidth); if (wd > (ww=windowWidth())) { lyrContent=lyrContent.replace(/\ /g, ' '); o3_width=ww; o3_wrap=0; } } layerWrite(lyrContent); // Have to set o3_width for placeLayer() routine if o3_wrap is turned on if (o3_wrap) o3_width=(olNs4 ? over.clip.width : over.offsetWidth); runHook("createPopup", FAFTER, lyrContent); return true; } // Decides where we want the popup. function placeLayer() { var placeX, placeY, widthFix = 0; // HORIZONTAL PLACEMENT, re-arranged to work in Safari if (o3_frame.innerWidth) widthFix=18; iwidth = windowWidth(); // Horizontal scroll offset winoffset=(olIe4) ? eval('o3_frame.'+docRoot+'.scrollLeft') : o3_frame.pageXOffset; placeX = runHook('horizontalPlacement',FCHAIN,iwidth,winoffset,widthFix); // VERTICAL PLACEMENT, re-arranged to work in Safari if (o3_frame.innerHeight) { iheight=o3_frame.innerHeight; } else if (eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')) { iheight=eval('o3_frame.'+docRoot+'.clientHeight'); } // Vertical scroll offset scrolloffset=(olIe4) ? eval('o3_frame.'+docRoot+'.scrollTop') : o3_frame.pageYOffset; placeY = runHook('verticalPlacement',FCHAIN,iheight,scrolloffset); // Actually move the object. repositionTo(over, placeX, placeY); } // Moves the layer function olMouseMove(e) { var e = (e) ? e : event; if (e.pageX) { o3_x = e.pageX; o3_y = e.pageY; } else if (e.clientX) { o3_x = eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft'); o3_y = eval('e.clientY+o3_frame.'+docRoot+'.scrollTop'); } if (o3_allowmove == 1) runHook("placeLayer", FREPLACE); // MouseOut handler if (hoveringSwitch && !olNs4 && runHook("cursorOff", FREPLACE)) { (olHideDelay ? hideDelay(olHideDelay) : cClick()); hoveringSwitch = !hoveringSwitch; } } // Fake function for 3.0 users. function no_overlib() { return ver3fix; } // Capture the mouse and chain other scripts. function olMouseCapture() { capExtent = document; var fN, str = '', l, k, f, wMv, sS, mseHandler = olMouseMove; var re = /function[ ]*(\w*)\(/; wMv = (!olIe4 && window.onmousemove); if (document.onmousemove || wMv) { if (wMv) capExtent = window; f = capExtent.onmousemove.toString(); fN = f.match(re); if (fN == null) { str = f+'(e); '; } else if (fN[1] == 'anonymous' || fN[1] == 'olMouseMove' || (wMv && fN[1] == 'onmousemove')) { if (!olOp && wMv) { l = f.indexOf('{')+1; k = f.lastIndexOf('}'); sS = f.substring(l,k); if ((l = sS.indexOf('(')) != -1) { sS = sS.substring(0,l).replace(/^\s+/,'').replace(/\s+$/,''); if (eval("typeof " + sS + " == 'undefined'")) window.onmousemove = null; else str = sS + '(e);'; } } if (!str) { olCheckMouseCapture = false; return; } } else { if (fN[1]) str = fN[1]+'(e); '; else { l = f.indexOf('{')+1; k = f.lastIndexOf('}'); str = f.substring(l,k) + '\n'; } } str += 'olMouseMove(e); '; mseHandler = new Function('e', str); } capExtent.onmousemove = mseHandler; if (olNs4) capExtent.captureEvents(Event.MOUSEMOVE); } //////// // PARSING FUNCTIONS //////// // Does the actual command parsing. function parseTokens(pf, ar) { // What the next argument is expected to be. var v, i, mode=-1, par = (pf != 'ol_'); var fnMark = (par && !ar.length ? 1 : 0); for (i = 0; i < ar.length; i++) { if (mode < 0) { // Arg is maintext,unless its a number between pmStart and pmUpper // then its a command. if (typeof ar[i] == 'number' && ar[i] > pmStart && ar[i] < pmUpper) { fnMark = (par ? 1 : 0); i--; // backup one so that the next block can parse it } else { switch(pf) { case 'ol_': ol_text = ar[i].toString(); break; default: o3_text=ar[i].toString(); } } mode = 0; } else { // Note: NS4 doesn't like switch cases with vars. if (ar[i] >= pmCount || ar[i]==DONOTHING) { continue; } if (ar[i]==INARRAY) { fnMark = 0; eval(pf+'text=ol_texts['+ar[++i]+'].toString()'); continue; } if (ar[i]==CAPARRAY) { eval(pf+'cap=ol_caps['+ar[++i]+'].toString()'); continue; } if (ar[i]==STICKY) { if (pf!='ol_') eval(pf+'sticky=1'); continue; } if (ar[i]==BACKGROUND) { eval(pf+'background="'+ar[++i]+'"'); continue; } if (ar[i]==NOCLOSE) { if (pf!='ol_') opt_NOCLOSE(); continue; } if (ar[i]==CAPTION) { eval(pf+"cap='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==CENTER || ar[i]==LEFT || ar[i]==RIGHT) { eval(pf+'hpos='+ar[i]); if(pf!='ol_') olHautoFlag=1; continue; } if (ar[i]==OFFSETX) { eval(pf+'offsetx='+ar[++i]); continue; } if (ar[i]==OFFSETY) { eval(pf+'offsety='+ar[++i]); continue; } if (ar[i]==FGCOLOR) { eval(pf+'fgcolor="'+ar[++i]+'"'); continue; } if (ar[i]==BGCOLOR) { eval(pf+'bgcolor="'+ar[++i]+'"'); continue; } if (ar[i]==TEXTCOLOR) { eval(pf+'textcolor="'+ar[++i]+'"'); continue; } if (ar[i]==CAPCOLOR) { eval(pf+'capcolor="'+ar[++i]+'"'); continue; } if (ar[i]==CLOSECOLOR) { eval(pf+'closecolor="'+ar[++i]+'"'); continue; } if (ar[i]==WIDTH) { eval(pf+'width='+ar[++i]); continue; } if (ar[i]==BORDER) { eval(pf+'border='+ar[++i]); continue; } if (ar[i]==CELLPAD) { i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad')); continue; } if (ar[i]==STATUS) { eval(pf+"status='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==AUTOSTATUS) { eval(pf +'autostatus=('+pf+'autostatus == 1) ? 0 : 1'); continue; } if (ar[i]==AUTOSTATUSCAP) { eval(pf +'autostatus=('+pf+'autostatus == 2) ? 0 : 2'); continue; } if (ar[i]==HEIGHT) { eval(pf+'height='+pf+'aboveheight='+ar[++i]); continue; } // Same param again. if (ar[i]==CLOSETEXT) { eval(pf+"close='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==SNAPX) { eval(pf+'snapx='+ar[++i]); continue; } if (ar[i]==SNAPY) { eval(pf+'snapy='+ar[++i]); continue; } if (ar[i]==FIXX) { eval(pf+'fixx='+ar[++i]); continue; } if (ar[i]==FIXY) { eval(pf+'fixy='+ar[++i]); continue; } if (ar[i]==RELX) { eval(pf+'relx='+ar[++i]); continue; } if (ar[i]==RELY) { eval(pf+'rely='+ar[++i]); continue; } if (ar[i]==FGBACKGROUND) { eval(pf+'fgbackground="'+ar[++i]+'"'); continue; } if (ar[i]==BGBACKGROUND) { eval(pf+'bgbackground="'+ar[++i]+'"'); continue; } if (ar[i]==PADX) { eval(pf+'padxl='+ar[++i]); eval(pf+'padxr='+ar[++i]); continue; } if (ar[i]==PADY) { eval(pf+'padyt='+ar[++i]); eval(pf+'padyb='+ar[++i]); continue; } if (ar[i]==FULLHTML) { if (pf!='ol_') eval(pf+'fullhtml=1'); continue; } if (ar[i]==BELOW || ar[i]==ABOVE) { eval(pf+'vpos='+ar[i]); if (pf!='ol_') olVautoFlag=1; continue; } if (ar[i]==CAPICON) { eval(pf+'capicon="'+ar[++i]+'"'); continue; } if (ar[i]==TEXTFONT) { eval(pf+"textfont='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==CAPTIONFONT) { eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==CLOSEFONT) { eval(pf+"closefont='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==TEXTSIZE) { eval(pf+'textsize="'+ar[++i]+'"'); continue; } if (ar[i]==CAPTIONSIZE) { eval(pf+'captionsize="'+ar[++i]+'"'); continue; } if (ar[i]==CLOSESIZE) { eval(pf+'closesize="'+ar[++i]+'"'); continue; } if (ar[i]==TIMEOUT) { eval(pf+'timeout='+ar[++i]); continue; } if (ar[i]==FUNCTION) { if (pf=='ol_') { if (typeof ar[i+1]!='number') { v=ar[++i]; ol_function=(typeof v=='function' ? v : null); }} else {fnMark = 0; v = null; if (typeof ar[i+1]!='number') v = ar[++i]; opt_FUNCTION(v); } continue; } if (ar[i]==DELAY) { eval(pf+'delay='+ar[++i]); continue; } if (ar[i]==HAUTO) { eval(pf+'hauto=('+pf+'hauto == 0) ? 1 : 0'); continue; } if (ar[i]==VAUTO) { eval(pf+'vauto=('+pf+'vauto == 0) ? 1 : 0'); continue; } if (ar[i]==CLOSECLICK) { eval(pf +'closeclick=('+pf+'closeclick == 0) ? 1 : 0'); continue; } if (ar[i]==WRAP) { eval(pf +'wrap=('+pf+'wrap == 0) ? 1 : 0'); continue; } if (ar[i]==FOLLOWMOUSE) { eval(pf +'followmouse=('+pf+'followmouse == 1) ? 0 : 1'); continue; } if (ar[i]==MOUSEOFF) { eval(pf +'mouseoff=('+pf+'mouseoff==0) ? 1 : 0'); v=ar[i+1]; if (pf != 'ol_' && eval(pf+'mouseoff') && typeof v == 'number' && (v < pmStart || v > pmUpper)) olHideDelay=ar[++i]; continue; } if (ar[i]==CLOSETITLE) { eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==CSSOFF||ar[i]==CSSCLASS) { eval(pf+'css='+ar[i]); continue; } if (ar[i]==COMPATMODE) { eval(pf+'compatmode=('+pf+'compatmode==0) ? 1 : 0'); continue; } if (ar[i]==FGCLASS) { eval(pf+'fgclass="'+ar[++i]+'"'); continue; } if (ar[i]==BGCLASS) { eval(pf+'bgclass="'+ar[++i]+'"'); continue; } if (ar[i]==TEXTFONTCLASS) { eval(pf+'textfontclass="'+ar[++i]+'"'); continue; } if (ar[i]==CAPTIONFONTCLASS) { eval(pf+'captionfontclass="'+ar[++i]+'"'); continue; } if (ar[i]==CLOSEFONTCLASS) { eval(pf+'closefontclass="'+ar[++i]+'"'); continue; } i = parseCmdLine(pf, i, ar); } } if (fnMark && o3_function) o3_text = o3_function(); if ((pf == 'o3_') && o3_wrap) { o3_width = 0; var tReg=/<.*\n*>/ig; if (!tReg.test(o3_text)) o3_text = o3_text.replace(/[ ]+/g, ' '); if (!tReg.test(o3_cap))o3_cap = o3_cap.replace(/[ ]+/g, ' '); } if ((pf == 'o3_') && o3_sticky) { if (!o3_close && (o3_frame != ol_frame)) o3_close = ol_close; if (o3_mouseoff && (o3_frame == ol_frame)) opt_NOCLOSE(' '); } } //////// // LAYER FUNCTIONS //////// // Writes to a layer function layerWrite(txt) { txt += "\n"; if (olNs4) { var lyr = o3_frame.document.layers['overDiv'].document lyr.write(txt) lyr.close() } else if (typeof over.innerHTML != 'undefined') { if (olIe5 && isMac) over.innerHTML = ''; over.innerHTML = txt; } else { range = o3_frame.document.createRange(); range.setStartAfter(over); domfrag = range.createContextualFragment(txt); while (over.hasChildNodes()) { over.removeChild(over.lastChild); } over.appendChild(domfrag); } } // Make an object visible function showObject(obj) { runHook("showObject", FBEFORE); var theObj=(olNs4 ? obj : obj.style); theObj.visibility = 'visible'; runHook("showObject", FAFTER); } // Hides an object function hideObject(obj) { runHook("hideObject", FBEFORE); var theObj=(olNs4 ? obj : obj.style); if (olNs6 && olShowId>0) { clearTimeout(olShowId); olShowId=0; } theObj.visibility = 'hidden'; theObj.top = theObj.left = ((olIe4&&!olOp) ? 0 : -10000) + (!olNs4 ? 'px' : 0); if (o3_timerid > 0) clearTimeout(o3_timerid); if (o3_delayid > 0) clearTimeout(o3_delayid); o3_timerid = 0; o3_delayid = 0; self.status = ""; if (obj.onmouseout||obj.onmouseover) { if (olNs4) obj.releaseEvents(Event.MOUSEOUT || Event.MOUSEOVER); obj.onmouseout = obj.onmouseover = null; } runHook("hideObject", FAFTER); } // Move a layer function repositionTo(obj, xL, yL) { var theObj=(olNs4 ? obj : obj.style); theObj.left = xL + (!olNs4 ? 'px' : 0); theObj.top = yL + (!olNs4 ? 'px' : 0); } // Check position of cursor relative to overDiv DIVision; mouseOut function function cursorOff() { var left = parseInt(over.style.left); var top = parseInt(over.style.top); var right = left + (over.offsetWidth >= parseInt(o3_width) ? over.offsetWidth : parseInt(o3_width)); var bottom = top + (over.offsetHeight >= o3_aboveheight ? over.offsetHeight : o3_aboveheight); if (o3_x < left || o3_x > right || o3_y < top || o3_y > bottom) return true; return false; } //////// // COMMAND FUNCTIONS //////// // Calls callme or the default function. function opt_FUNCTION(callme) { o3_text = (callme ? (typeof callme=='string' ? (/.+\(.*\)/.test(callme) ? eval(callme) : callme) : callme()) : (o3_function ? o3_function() : 'No Function')); return 0; } // Handle hovering function opt_NOCLOSE(unused) { if (!unused) o3_close = ""; if (olNs4) { over.captureEvents(Event.MOUSEOUT || Event.MOUSEOVER); over.onmouseover = function () { if (o3_timerid > 0) { clearTimeout(o3_timerid); o3_timerid = 0; } } over.onmouseout = function (e) { if (olHideDelay) hideDelay(olHideDelay); else cClick(e); } } else { over.onmouseover = function () {hoveringSwitch = true; if (o3_timerid > 0) { clearTimeout(o3_timerid); o3_timerid =0; } } } return 0; } // Function to scan command line arguments for multiples function opt_MULTIPLEARGS(i, args, parameter) { var k=i, re, pV, str=''; for(k=i; kpmStart) break; str += args[k] + ','; } if (str) str = str.substring(0,--str.length); k--; // reduce by one so the for loop this is in works correctly pV=(olNs4 && /cellpad/i.test(parameter)) ? str.split(',')[0] : str; eval(parameter + '="' + pV + '"'); return k; } // Remove   in texts when done. function nbspCleanup() { if (o3_wrap) { o3_text = o3_text.replace(/\ /g, ' '); o3_cap = o3_cap.replace(/\ /g, ' '); } } // Escape embedded single quotes in text strings function escSglQuote(str) { return str.toString().replace(/'/g,"\\'"); } // Onload handler for window onload event function OLonLoad_handler(e) { var re = /\w+\(.*\)[;\s]+/g, olre = /overlib\(|nd\(|cClick\(/, fn, l, i; if(!olLoaded) olLoaded=1; // Remove it for Gecko based browsers if(window.removeEventListener && e.eventPhase == 3) window.removeEventListener("load",OLonLoad_handler,false); else if(window.detachEvent) { // and for IE and Opera 4.x but execute calls to overlib, nd, or cClick() window.detachEvent("onload",OLonLoad_handler); var fN = document.body.getAttribute('onload'); if (fN) { fN=fN.toString().match(re); if (fN && fN.length) { for (i=0; i' : '') : ''; else { fontStr='o3_'+whichString+'font'; fontColor='o3_'+((whichString=='caption')? 'cap' : whichString)+'color'; return (hasDims&&!olNs4) ? (isClose ? '' : '
') : ''; } } // Quotes Multi word font names; needed for CSS Standards adherence in font-family function quoteMultiNameFonts(theFont) { var v, pM=theFont.split(','); for (var i=0; i 0) clearTimeout(o3_timerid); o3_timerid=setTimeout("cClick()",(o3_timeout=time)); } } // Was originally in the placeLayer() routine; separated out for future ease function horizontalPlacement(browserWidth, horizontalScrollAmount, widthFix) { var placeX, iwidth=browserWidth, winoffset=horizontalScrollAmount; var parsedWidth = parseInt(o3_width); if (o3_fixx > -1 || o3_relx != null) { // Fixed position placeX=(o3_relx != null ? ( o3_relx < 0 ? winoffset +o3_relx+ iwidth - parsedWidth - widthFix : winoffset+o3_relx) : o3_fixx); } else { // If HAUTO, decide what to use. if (o3_hauto == 1) { if ((o3_x - winoffset) > (iwidth / 2)) { o3_hpos = LEFT; } else { o3_hpos = RIGHT; } } // From mouse if (o3_hpos == CENTER) { // Center placeX = o3_x+o3_offsetx-(parsedWidth/2); if (placeX < winoffset) placeX = winoffset; } if (o3_hpos == RIGHT) { // Right placeX = o3_x+o3_offsetx; if ((placeX+parsedWidth) > (winoffset+iwidth - widthFix)) { placeX = iwidth+winoffset - parsedWidth - widthFix; if (placeX < 0) placeX = 0; } } if (o3_hpos == LEFT) { // Left placeX = o3_x-o3_offsetx-parsedWidth; if (placeX < winoffset) placeX = winoffset; } // Snapping! if (o3_snapx > 1) { var snapping = placeX % o3_snapx; if (o3_hpos == LEFT) { placeX = placeX - (o3_snapx+snapping); } else { // CENTER and RIGHT placeX = placeX+(o3_snapx - snapping); } if (placeX < winoffset) placeX = winoffset; } } return placeX; } // was originally in the placeLayer() routine; separated out for future ease function verticalPlacement(browserHeight,verticalScrollAmount) { var placeY, iheight=browserHeight, scrolloffset=verticalScrollAmount; var parsedHeight=(o3_aboveheight ? parseInt(o3_aboveheight) : (olNs4 ? over.clip.height : over.offsetHeight)); if (o3_fixy > -1 || o3_rely != null) { // Fixed position placeY=(o3_rely != null ? (o3_rely < 0 ? scrolloffset+o3_rely+iheight - parsedHeight : scrolloffset+o3_rely) : o3_fixy); } else { // If VAUTO, decide what to use. if (o3_vauto == 1) { if ((o3_y - scrolloffset) > (iheight / 2) && o3_vpos == BELOW && (o3_y + parsedHeight + o3_offsety - (scrolloffset + iheight) > 0)) { o3_vpos = ABOVE; } else if (o3_vpos == ABOVE && (o3_y - (parsedHeight + o3_offsety) - scrolloffset < 0)) { o3_vpos = BELOW; } } // From mouse if (o3_vpos == ABOVE) { if (o3_aboveheight == 0) o3_aboveheight = parsedHeight; placeY = o3_y - (o3_aboveheight+o3_offsety); if (placeY < scrolloffset) placeY = scrolloffset; } else { // BELOW placeY = o3_y+o3_offsety; } // Snapping! if (o3_snapy > 1) { var snapping = placeY % o3_snapy; if (o3_aboveheight > 0 && o3_vpos == ABOVE) { placeY = placeY - (o3_snapy+snapping); } else { placeY = placeY+(o3_snapy - snapping); } if (placeY < scrolloffset) placeY = scrolloffset; } } return placeY; } // checks positioning flags function checkPositionFlags() { if (olHautoFlag) olHautoFlag = o3_hauto=0; if (olVautoFlag) olVautoFlag = o3_vauto=0; return true; } // get Browser window width function windowWidth() { var w; if (o3_frame.innerWidth) w=o3_frame.innerWidth; else if (eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientWidth=='number'")&&eval('o3_frame.'+docRoot+'.clientWidth')) w=eval('o3_frame.'+docRoot+'.clientWidth'); return w; } // create the div container for popup content if it doesn't exist function createDivContainer(id,frm,zValue) { id = (id || 'overDiv'), frm = (frm || o3_frame), zValue = (zValue || 1000); var objRef, divContainer = layerReference(id); if (divContainer == null) { if (olNs4) { divContainer = frm.document.layers[id] = new Layer(window.innerWidth, frm); objRef = divContainer; } else { var body = (olIe4 ? frm.document.all.tags('BODY')[0] : frm.document.getElementsByTagName("BODY")[0]); if (olIe4&&!document.getElementById) { body.insertAdjacentHTML("beforeEnd",'
'); divContainer=layerReference(id); } else { divContainer = frm.document.createElement("DIV"); divContainer.id = id; body.appendChild(divContainer); } objRef = divContainer.style; } objRef.position = 'absolute'; objRef.visibility = 'hidden'; objRef.zIndex = zValue; if (olIe4&&!olOp) objRef.left = objRef.top = '0px'; else objRef.left = objRef.top = -10000 + (!olNs4 ? 'px' : 0); } return divContainer; } // get reference to a layer with ID=id function layerReference(id) { return (olNs4 ? o3_frame.document.layers[id] : (document.all ? o3_frame.document.all[id] : o3_frame.document.getElementById(id))); } //////// // UTILITY FUNCTIONS //////// // Checks if something is a function. function isFunction(fnRef) { var rtn = true; if (typeof fnRef == 'object') { for (var i = 0; i < fnRef.length; i++) { if (typeof fnRef[i]=='function') continue; rtn = false; break; } } else if (typeof fnRef != 'function') { rtn = false; } return rtn; } // Converts an array into an argument string for use in eval. function argToString(array, strtInd, argName) { var jS = strtInd, aS = '', ar = array; argName=(argName ? argName : 'ar'); if (ar.length > jS) { for (var k = jS; k < ar.length; k++) aS += argName+'['+k+'], '; aS = aS.substring(0, aS.length-2); } return aS; } // Places a hook in the correct position in a hook point. function reOrder(hookPt, fnRef, order) { var newPt = new Array(), match, i, j; if (!order || typeof order == 'undefined' || typeof order == 'number') return hookPt; if (typeof order=='function') { if (typeof fnRef=='object') { newPt = newPt.concat(fnRef); } else { newPt[newPt.length++]=fnRef; } for (i = 0; i < hookPt.length; i++) { match = false; if (typeof fnRef == 'function' && hookPt[i] == fnRef) { continue; } else { for(j = 0; j < fnRef.length; j++) if (hookPt[i] == fnRef[j]) { match = true; break; } } if (!match) newPt[newPt.length++] = hookPt[i]; } newPt[newPt.length++] = order; } else if (typeof order == 'object') { if (typeof fnRef == 'object') { newPt = newPt.concat(fnRef); } else { newPt[newPt.length++] = fnRef; } for (j = 0; j < hookPt.length; j++) { match = false; if (typeof fnRef == 'function' && hookPt[j] == fnRef) { continue; } else { for (i = 0; i < fnRef.length; i++) if (hookPt[j] == fnRef[i]) { match = true; break; } } if (!match) newPt[newPt.length++]=hookPt[j]; } for (i = 0; i < newPt.length; i++) hookPt[i] = newPt[i]; newPt.length = 0; for (j = 0; j < hookPt.length; j++) { match = false; for (i = 0; i < order.length; i++) { if (hookPt[j] == order[i]) { match = true; break; } } if (!match) newPt[newPt.length++] = hookPt[j]; } newPt = newPt.concat(order); } hookPt = newPt; return hookPt; } //////// // PLUGIN ACTIVATION FUNCTIONS //////// // Runs plugin functions to set runtime variables. function setRunTimeVariables(){ if (typeof runTime != 'undefined' && runTime.length) { for (var k = 0; k < runTime.length; k++) { runTime[k](); } } } // Runs plugin functions to parse commands. function parseCmdLine(pf, i, args) { if (typeof cmdLine != 'undefined' && cmdLine.length) { for (var k = 0; k < cmdLine.length; k++) { var j = cmdLine[k](pf, i, args); if (j >- 1) { i = j; break; } } } return i; } // Runs plugin functions to do things after parse. function postParseChecks(pf,args){ if (typeof postParse != 'undefined' && postParse.length) { for (var k = 0; k < postParse.length; k++) { if (postParse[k](pf,args)) continue; return false; // end now since have an error } } return true; } //////// // PLUGIN REGISTRATION FUNCTIONS //////// // Registers commands and creates constants. function registerCommands(cmdStr) { if (typeof cmdStr!='string') return; var pM = cmdStr.split(','); pms = pms.concat(pM); for (var i = 0; i< pM.length; i++) { eval(pM[i].toUpperCase()+'='+pmCount++); } } // Registers no-parameter commands function registerNoParameterCommands(cmdStr) { if (!cmdStr && typeof cmdStr != 'string') return; pmt=(!pmt) ? cmdStr : pmt + ',' + cmdStr; } // Register a function to hook at a certain point. function registerHook(fnHookTo, fnRef, hookType, optPm) { var hookPt, last = typeof optPm; if (fnHookTo == 'plgIn'||fnHookTo == 'postParse') return; if (typeof hookPts[fnHookTo] == 'undefined') hookPts[fnHookTo] = new FunctionReference(); hookPt = hookPts[fnHookTo]; if (hookType != null) { if (hookType == FREPLACE) { hookPt.ovload = fnRef; // replace normal overlib routine if (fnHookTo.indexOf('ol_content_') > -1) hookPt.alt[pms[CSSOFF-1-pmStart]]=fnRef; } else if (hookType == FBEFORE || hookType == FAFTER) { var hookPt=(hookType == 1 ? hookPt.before : hookPt.after); if (typeof fnRef == 'object') { hookPt = hookPt.concat(fnRef); } else { hookPt[hookPt.length++] = fnRef; } if (optPm) hookPt = reOrder(hookPt, fnRef, optPm); } else if (hookType == FALTERNATE) { if (last=='number') hookPt.alt[pms[optPm-1-pmStart]] = fnRef; } else if (hookType == FCHAIN) { hookPt = hookPt.chain; if (typeof fnRef=='object') hookPt=hookPt.concat(fnRef); // add other functions else hookPt[hookPt.length++]=fnRef; } return; } } // Register a function that will set runtime variables. function registerRunTimeFunction(fn) { if (isFunction(fn)) { if (typeof fn == 'object') { runTime = runTime.concat(fn); } else { runTime[runTime.length++] = fn; } } } // Register a function that will handle command parsing. function registerCmdLineFunction(fn){ if (isFunction(fn)) { if (typeof fn == 'object') { cmdLine = cmdLine.concat(fn); } else { cmdLine[cmdLine.length++] = fn; } } } // Register a function that does things after command parsing. function registerPostParseFunction(fn){ if (isFunction(fn)) { if (typeof fn == 'object') { postParse = postParse.concat(fn); } else { postParse[postParse.length++] = fn; } } } //////// // PLUGIN REGISTRATION FUNCTIONS //////// // Runs any hooks registered. function runHook(fnHookTo, hookType) { var l = hookPts[fnHookTo], k, rtnVal = null, optPm, arS, ar = runHook.arguments; if (hookType == FREPLACE) { arS = argToString(ar, 2); if (typeof l == 'undefined' || !(l = l.ovload)) rtnVal = eval(fnHookTo+'('+arS+')'); else rtnVal = eval('l('+arS+')'); } else if (hookType == FBEFORE || hookType == FAFTER) { if (typeof l != 'undefined') { l=(hookType == 1 ? l.before : l.after); if (l.length) { arS = argToString(ar, 2); for (var k = 0; k < l.length; k++) eval('l[k]('+arS+')'); } } } else if (hookType == FALTERNATE) { optPm = ar[2]; arS = argToString(ar, 3); if (typeof l == 'undefined' || (l = l.alt[pms[optPm-1-pmStart]]) == 'undefined') { rtnVal = eval(fnHookTo+'('+arS+')'); } else { rtnVal = eval('l('+arS+')'); } } else if (hookType == FCHAIN) { arS=argToString(ar,2); l=l.chain; for (k=l.length; k > 0; k--) if((rtnVal=eval('l[k-1]('+arS+')'))!=void(0)) break; } return rtnVal; } //////// // OBJECT CONSTRUCTORS //////// // Object for handling hooks. function FunctionReference() { this.ovload = null; this.before = new Array(); this.after = new Array(); this.alt = new Array(); this.chain = new Array(); } // Object for simple access to the overLIB version used. // Examples: simpleversion:351 major:3 minor:5 revision:1 function Info(version, prerelease) { this.version = version; this.prerelease = prerelease; this.simpleversion = Math.round(this.version*100); this.major = parseInt(this.simpleversion / 100); this.minor = parseInt(this.simpleversion / 10) - this.major * 10; this.revision = parseInt(this.simpleversion) - this.major * 100 - this.minor * 10; this.meets = meets; } // checks for Core Version required function meets(reqdVersion) { return (!reqdVersion) ? false : this.simpleversion >= Math.round(100*parseFloat(reqdVersion)); } //////// // STANDARD REGISTRATIONS //////// registerHook("ol_content_simple", ol_content_simple, FALTERNATE, CSSOFF); registerHook("ol_content_caption", ol_content_caption, FALTERNATE, CSSOFF); registerHook("ol_content_background", ol_content_background, FALTERNATE, CSSOFF); registerHook("ol_content_simple", ol_content_simple, FALTERNATE, CSSCLASS); registerHook("ol_content_caption", ol_content_caption, FALTERNATE, CSSCLASS); registerHook("ol_content_background", ol_content_background, FALTERNATE, CSSCLASS); registerPostParseFunction(checkPositionFlags); registerHook("hideObject", nbspCleanup, FAFTER); registerHook("horizontalPlacement", horizontalPlacement, FCHAIN); registerHook("verticalPlacement", verticalPlacement, FCHAIN); if (olNs4||(olIe5&&isMac)||olKq) olLoaded=1; registerNoParameterCommands('sticky,autostatus,autostatuscap,fullhtml,hauto,vauto,closeclick,wrap,followmouse,mouseoff,compatmode'); /////// // ESTABLISH MOUSECAPTURING /////// // Capture events, alt. diffuses the overlib function. var olCheckMouseCapture=true; if ((olNs4 || olNs6 || olIe4)) { olMouseCapture(); } else { overlib = no_overlib; nd = no_overlib; ver3fix = true; } if(typeof MooTools=="undefined"){throw"Unable to load Shadowbox, MooTools library not found."}var Shadowbox={};Shadowbox.lib={getStyle:function(B,A){return $(B).getStyle(A)},setStyle:function(D,C,E){D=$(D);if(typeof C!="object"){var A={};A[C]=E;C=A}for(var B in C){D.setStyle(B,C[B])}},get:function(A){return $(A)},remove:function(A){A.parentNode.removeChild(A)},getTarget:function(A){return A.target},preventDefault:function(A){new Event(A).preventDefault()},addEvent:function(C,A,B){$(C).addEvent(A,B)},removeEvent:function(C,A,B){$(C).removeEvent(A,B)},animate:function(B,F,E,H){var A={duration:(E*1000)};if(typeof H=="function"){A.onComplete=H}var C=new Fx.Styles(B,A);var G={};for(var D in F){G[D]=String(F[D].to);if(D!="opacity"){G[D]+="px"}}C.start(G)}};Element.extend({setOpacity:function(A){var B=this.style;if(window.ie){B.zoom=1;B.filter=(B.filter||"").replace(/alpha\([^\)]*\)/gi,"")+(A==1?"":" alpha(opacity="+A*100+")")}else{B.opacity=A}}}) if(typeof Shadowbox=="undefined"){throw"Unable to load Shadowbox, no base library adapter found."}(function(){var version="1.0";var options={assetURL:"",loadingImage:"images/loading.gif",animate:true,animSequence:"wh",flvPlayer:"flvplayer.swf",overlayColor:"#000",overlayOpacity:0.5,overlayBgImage:"images/overlay-85.png",listenOverlay:true,autoplayMovies:true,showMovieControls:true,resizeDuration:0.35,fadeDuration:0.35,displayNav:true,continuous:false,displayCounter:true,counterType:"default",viewportPadding:20,handleLgImages:"resize",initialHeight:160,initialWidth:320,enableKeys:true,keysClose:["c","q",27],keysNext:["n",39],keysPrev:["p",37],onOpen:null,onFinish:null,onChange:null,onClose:null,handleUnsupported:"link",skipSetup:false,text:{cancel:"Cancel",loading:"loading",close:'Close',next:'Next',prev:'Previous',errors:{single:'You must install the {1} browser plugin to view this content.',shared:'You must install both the {1} and {3} browser plugins to view this content.',either:'You must install either the {1} or the {3} browser plugin to view this content.'}},errors:{fla:{name:"Flash",url:"http://www.adobe.com/products/flashplayer/"},qt:{name:"QuickTime",url:"http://www.apple.com/quicktime/download/"},wmp:{name:"Windows Media Player",url:"http://www.microsoft.com/windows/windowsmedia/"},f4m:{name:"Flip4Mac",url:"http://www.flip4mac.com/wmv_download.htm"}},skin:{main:'
',loading:'{1}{2}',counter:'
{0}
',close:'',next:'',prev:''},ext:{img:["png","jpg","jpeg","gif","bmp"],qt:["dv","mov","moov","movie","mp4"],wmp:["asf","wm","wmv"],qtwmp:["avi","mpg","mpeg"],iframe:["asp","aspx","cgi","cfm","htm","html","pl","php","php3","php4","php5","phtml","rb","rhtml","shtml","txt","vbs"]}};var default_options=null;var SL=Shadowbox.lib;var RE={resize:/(img|swf|flv)/,overlay:/(img|iframe|html|inline)/,swf:/\.swf\s*$/i,flv:/\.flv\s*$/i,domain:/:\/\/(.*?)[:\/]/,inline:/#(.+)$/,rel:/^(light|shadow)box/i,gallery:/^(light|shadow)box\[(.*?)\]/i,unsupported:/^unsupported-(\w+)/,param:/\s*([a-z_]*?)\s*=\s*(.+)\s*/,empty:/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i};var cache=[];var current_gallery;var current;var optimal_height=options.initialHeight;var optimal_width=options.initialWidth;var current_height=0;var current_width=0;var preloader;var initialized=false;var activated=false;var drag;var draggable;var overlay_img_needed;var ua=navigator.userAgent.toLowerCase();var isStrict=document.compatMode=="CSS1Compat",isOpera=ua.indexOf("opera")>-1,isIE=ua.indexOf("msie")>-1,isIE7=ua.indexOf("msie 7")>-1,isBorderBox=isIE&&!isStrict,isSafari=(/webkit|khtml/).test(ua),isSafari3=isSafari&&!!(document.evaluate),isGecko=!isSafari&&ua.indexOf("gecko")>-1,isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),isLinux=(ua.indexOf("linux")!=-1);var absolute_pos=isIE&&!isIE7;var plugins=null;if(navigator.plugins&&navigator.plugins.length){var detectPlugin=function(plugin_name){var detected=false;for(var i=0,len=navigator.plugins.length;i-1){detected=true;break}}return detected};var f4m=detectPlugin("Flip4Mac");var plugins={fla:detectPlugin("Shockwave Flash"),qt:detectPlugin("QuickTime"),wmp:!f4m&&detectPlugin("Windows Media"),f4m:f4m}}else{var detectPlugin=function(plugin_name){var detected=false;try{var axo=new ActiveXObject(plugin_name);if(axo){detected=true}}catch(e){}return detected};var plugins={fla:detectPlugin("ShockwaveFlash.ShockwaveFlash"),qt:detectPlugin("QuickTime.QuickTime"),wmp:detectPlugin("wmplayer.ocx"),f4m:false}}var apply=function(o,e){for(var p in e){o[p]=e[p]}return o};var isLink=function(el){return typeof el.tagName=="string"&&(el.tagName.toUpperCase()=="A"||el.tagName.toUpperCase()=="AREA")};SL.getViewportHeight=function(){var height=window.innerHeight;var mode=document.compatMode;if((mode||isIE)&&!isOpera){height=isStrict?document.documentElement.clientHeight:document.body.clientHeight}return height};SL.getViewportWidth=function(){var width=window.innerWidth;var mode=document.compatMode;if(mode||isIE){width=isStrict?document.documentElement.clientWidth:document.body.clientWidth}return width};SL.getDocumentHeight=function(){var scrollHeight=isStrict?document.documentElement.scrollHeight:document.body.scrollHeight;return Math.max(scrollHeight,SL.getViewportHeight())};SL.getDocumentWidth=function(){var scrollWidth=isStrict?document.documentElement.scrollWidth:document.body.scrollWidth;return Math.max(scrollWidth,SL.getViewportWidth())};var clearOpacity=function(el){if(isIE){if(typeof el.style.filter=="string"&&(/alpha/i).test(el.style.filter)){el.style.filter=""}}else{el.style.opacity="";el.style["-moz-opacity"]="";el.style["-khtml-opacity"]=""}};var fadeIn=function(el,endingOpacity,duration,callback){if(options.animate){SL.setStyle(el,"opacity",0);el.style.visibility="visible";SL.animate(el,{opacity:{to:endingOpacity}},duration,function(){if(endingOpacity==1){clearOpacity(el)}if(typeof callback=="function"){callback()}})}else{if(endingOpacity==1){clearOpacity(el)}else{SL.setStyle(el,"opacity",endingOpacity)}el.style.visibility="visible";if(typeof callback=="function"){callback()}}};var fadeOut=function(el,duration,callback){var cb=function(){el.style.visibility="hidden";clearOpacity(el);if(typeof callback=="function"){callback()}};if(options.animate){SL.animate(el,{opacity:{to:0}},duration,cb)}else{cb()}};var appendHTML=function(el,html){el=SL.get(el);if(el.insertAdjacentHTML){el.insertAdjacentHTML("BeforeEnd",html);return el.lastChild}if(el.lastChild){var range=el.ownerDocument.createRange();range.setStartAfter(el.lastChild);var frag=range.createContextualFragment(html);el.appendChild(frag);return el.lastChild}else{el.innerHTML=html;return el.lastChild}};var overwriteHTML=function(el,html){el=SL.get(el);el.innerHTML=html;return el.firstChild};var getComputedHeight=function(el){var h=Math.max(el.offsetHeight,el.clientHeight);if(!h){h=parseInt(SL.getStyle(el,"height"),10)||0;if(!isBorderBox){h+=parseInt(SL.getStyle(el,"padding-top"),10)+parseInt(SL.getStyle(el,"padding-bottom"),10)+parseInt(SL.getStyle(el,"border-top-width"),10)+parseInt(SL.getStyle(el,"border-bottom-width"),10)}}return h};var getComputedWidth=function(el){var w=Math.max(el.offsetWidth,el.clientWidth);if(!w){w=parseInt(SL.getStyle(el,"width"),10)||0;if(!isBorderBox){w+=parseInt(SL.getStyle(el,"padding-left"),10)+parseInt(SL.getStyle(el,"padding-right"),10)+parseInt(SL.getStyle(el,"border-left-width"),10)+parseInt(SL.getStyle(el,"border-right-width"),10)}}return w};var getPlayerType=function(url){if(RE.img.test(url)){return"img"}var match=url.match(RE.domain);var this_domain=match?document.domain==match[1]:false;if(url.indexOf("#")>-1&&this_domain){return"inline"}var q_index=url.indexOf("?");if(q_index>-1){url=url.substring(0,q_index)}if(RE.swf.test(url)){return plugins.fla?"swf":"unsupported-swf"}if(RE.flv.test(url)){return plugins.fla?"flv":"unsupported-flv"}if(RE.qt.test(url)){return plugins.qt?"qt":"unsupported-qt"}if(RE.wmp.test(url)){if(plugins.wmp){return"wmp"}else{if(plugins.f4m){return"qt"}else{return isMac?(plugins.qt?"unsupported-f4m":"unsupported-qtf4m"):"unsupported-wmp"}}}else{if(RE.qtwmp.test(url)){if(plugins.qt){return"qt"}else{if(plugins.wmp){return"wmp"}else{return isMac?"unsupported-qt":"unsupported-qtwmp"}}}else{if(!this_domain||RE.iframe.test(url)){return"iframe"}}}return"unsupported"};var handleClick=function(ev){var link;if(isLink(this)){link=this}else{link=SL.getTarget(ev);while(!isLink(link)&&link.parentNode){link=link.parentNode}}Shadowbox.open(link);if(current_gallery.length){SL.preventDefault(ev)}};var setupGallery=function(obj){var copy=apply({},obj);if(!obj.gallery){current_gallery=[copy];current=0}else{current_gallery=[];var index,ci;for(var i=0,len=cache.length;i'+m+"
"})}else{r=true}}else{if(current_gallery[i].type=="inline"){var match=RE.inline.exec(current_gallery[i].content);if(match){var el;if(el=SL.get(match[1])){current_gallery[i].content=el.innerHTML}else{throw"No element found with id "+match[1]}}else{throw"No element id found for inline content"}}}}if(r){current_gallery.splice(i,1);if(i1){if(options.continuous){appendHTML(tool_i,String.format(options.skin.next,options.text.next));appendHTML(tool_i,String.format(options.skin.prev,options.text.prev))}else{if((current_gallery.length-1)>current){appendHTML(tool_i,String.format(options.skin.next,options.text.next))}if(current>0){appendHTML(tool_i,String.format(options.skin.prev,options.text.prev))}}}}if(current_gallery.length>1&&options.displayCounter){var counter="";if(options.counterType=="skip"){for(var i=0,len=current_gallery.length;i"}}else{counter=(current+1)+" of "+current_gallery.length}appendHTML(tool_i,String.format(options.skin.counter,counter))}};var hideBars=function(callback){var title_m=getComputedHeight(SL.get("shadowbox_title"));var tool_m=0-getComputedHeight(SL.get("shadowbox_toolbar"));var title_i=SL.get("shadowbox_title_inner");var tool_i=SL.get("shadowbox_toolbar_inner");if(options.animate&&callback){SL.animate(title_i,{marginTop:{to:title_m}},0.2);SL.animate(tool_i,{marginTop:{to:tool_m}},0.2,callback)}else{SL.setStyle(title_i,"marginTop",title_m+"px");SL.setStyle(tool_i,"marginTop",tool_m+"px")}};var showBars=function(callback){var title_i=SL.get("shadowbox_title_inner");if(options.animate){if(title_i.innerHTML!=""){SL.animate(title_i,{marginTop:{to:0}},0.35)}SL.animate(SL.get("shadowbox_toolbar_inner"),{marginTop:{to:0}},0.35,callback)}else{if(title_i.innerHTML!=""){SL.setStyle(title_i,"margin-top","0px")}SL.setStyle(SL.get("shadowbox_toolbar_inner"),"margin-top","0px");callback()}};var resetDrag=function(){drag={x:0,y:0,start_x:null,start_y:null}};var toggleDrag=function(on){if(on){resetDrag();var styles=["position:absolute","cursor:"+(isGecko?"-moz-grab":"move")];styles.push(isIE?"background-color:#fff;filter:alpha(opacity=0)":"background-color:transparent");appendHTML("shadowbox_body_inner",'
');SL.addEvent(SL.get("shadowbox_drag_layer"),"mousedown",listenDrag)}else{var d=SL.get("shadowbox_drag_layer");if(d){SL.removeEvent(d,"mousedown",listenDrag);SL.remove(d)}}};var listenDrag=function(ev){drag.start_x=ev.clientX;drag.start_y=ev.clientY;draggable=SL.get("shadowbox_content");SL.addEvent(document,"mousemove",positionDrag);SL.addEvent(document,"mouseup",unlistenDrag);if(isGecko){SL.setStyle(SL.get("shadowbox_drag_layer"),"cursor","-moz-grabbing")}};var unlistenDrag=function(){SL.removeEvent(document,"mousemove",positionDrag);SL.removeEvent(document,"mouseup",unlistenDrag);if(isGecko){SL.setStyle(SL.get("shadowbox_drag_layer"),"cursor","-moz-grab")}};var positionDrag=function(ev){var move_y=ev.clientY-drag.start_y;drag.start_y=drag.start_y+move_y;drag.y=Math.max(Math.min(0,drag.y+move_y),current_height-optimal_height);SL.setStyle(draggable,"top",drag.y+"px");var move_x=ev.clientX-drag.start_x;drag.start_x=drag.start_x+move_x;drag.x=Math.max(Math.min(0,drag.x+move_x),current_width-optimal_width);SL.setStyle(draggable,"left",drag.x+"px")};var loadContent=function(){var obj=current_gallery[current];if(!obj){return }buildBars();switch(obj.type){case"img":preloader=new Image();preloader.onload=function(){var h=obj.height?parseInt(obj.height,10):preloader.height;var w=obj.width?parseInt(obj.width,10):preloader.width;resizeContent(h,w,function(dims){showBars(function(){setContent({tag:"img",height:dims.i_height,width:dims.i_width,src:obj.content,style:"position:absolute"});if(dims.enableDrag&&options.handleLgImages=="drag"){toggleDrag(true);SL.setStyle(SL.get("shadowbox_drag_layer"),{height:dims.i_height+"px",width:dims.i_width+"px"})}finishContent()})});preloader.onload=function(){}};preloader.src=obj.content;break;case"swf":case"flv":case"qt":case"wmp":var markup=Shadowbox.movieMarkup(obj);resizeContent(markup.height,markup.width,function(){showBars(function(){setContent(markup);finishContent()})});break;case"iframe":var h=obj.height?parseInt(obj.height,10):SL.getViewportHeight();var w=obj.width?parseInt(obj.width,10):SL.getViewportWidth();var content={tag:"iframe",name:"shadowbox_content",height:"100%",width:"100%",frameborder:"0",marginwidth:"0",marginheight:"0",scrolling:"auto"};resizeContent(h,w,function(dims){showBars(function(){setContent(content);var win=(isIE)?SL.get("shadowbox_content").contentWindow:window.frames["shadowbox_content"];win.location=obj.content;finishContent()})});break;case"html":case"inline":var h=obj.height?parseInt(obj.height,10):SL.getViewportHeight();var w=obj.width?parseInt(obj.width,10):SL.getViewportWidth();var content={tag:"div",cls:"html",html:obj.content};resizeContent(h,w,function(){showBars(function(){setContent(content);finishContent()})});break;default:throw"Shadowbox cannot open content of type "+obj.type}if(current_gallery.length>0){var next=current_gallery[current+1];if(!next){next=current_gallery[0]}if(next.type=="img"){var preload_next=new Image();preload_next.src=next.href}var prev=current_gallery[current-1];if(!prev){prev=current_gallery[current_gallery.length-1]}if(prev.type=="img"){var preload_prev=new Image();preload_prev.src=prev.href}}};var setContent=function(obj){var id="shadowbox_content";var content=SL.get(id);if(content){switch(content.tagName.toUpperCase()){case"OBJECT":var link=current_gallery[(obj?current-1:current)];if(link.type=="wmp"&&isIE){try{shadowbox_content.controls.stop();shadowbox_content.URL="non-existent.wmv";window.shadowbox_content=function(){}}catch(e){}}else{if(link.type=="qt"&&isSafari){try{document.shadowbox_content.Stop()}catch(e){}content.innerHTML=""}}setTimeout(function(){SL.remove(content)},10);break;case"IFRAME":SL.remove(content);if(isGecko){delete window.frames[id]}break;default:SL.remove(content)}}if(obj){if(!obj.id){obj.id=id}return appendHTML("shadowbox_body_inner",Shadowbox.createHTML(obj))}return null};var finishContent=function(){var obj=current_gallery[current];if(!obj){return }hideLoading(function(){listenKeyboard(true);if(options.onFinish&&typeof options.onFinish=="function"){options.onFinish(obj)}})};var resizeContent=function(height,width,callback){optimal_height=height;optimal_width=width;var resizable=RE.resize.test(current_gallery[current].type);var dims=getDimensions(optimal_height,optimal_width,resizable);if(callback){var cb=function(){callback(dims)};switch(options.animSequence){case"hw":adjustHeight(dims.height,dims.top,true,function(){adjustWidth(dims.width,true,cb)});break;case"wh":adjustWidth(dims.width,true,function(){adjustHeight(dims.height,dims.top,true,cb)});break;default:adjustWidth(dims.width,true);adjustHeight(dims.height,dims.top,true,cb)}}else{adjustWidth(dims.width,false);adjustHeight(dims.height,dims.top,false);if(options.handleLgImages=="resize"&&resizable){var content=SL.get("shadowbox_content");if(content){content.height=dims.i_height;content.width=dims.i_width}}}};var getDimensions=function(o_height,o_width,resizable){if(typeof resizable=="undefined"){resizable=false}var height=o_height=parseInt(o_height);var width=o_width=parseInt(o_width);var shadowbox_b=SL.get("shadowbox_body");var view_height=SL.getViewportHeight();var extra_height=parseInt(SL.getStyle(shadowbox_b,"border-top-width"),10)+parseInt(SL.getStyle(shadowbox_b,"border-bottom-width"),10)+parseInt(SL.getStyle(shadowbox_b,"margin-top"),10)+parseInt(SL.getStyle(shadowbox_b,"margin-bottom"),10)+getComputedHeight(SL.get("shadowbox_title"))+getComputedHeight(SL.get("shadowbox_toolbar"))+(2*options.viewportPadding);if((height+extra_height)>=view_height){height=view_height-extra_height}var view_width=SL.getViewportWidth();var extra_body_width=parseInt(SL.getStyle(shadowbox_b,"border-left-width"),10)+parseInt(SL.getStyle(shadowbox_b,"border-right-width"),10)+parseInt(SL.getStyle(shadowbox_b,"margin-left"),10)+parseInt(SL.getStyle(shadowbox_b,"margin-right"),10);var extra_width=extra_body_width+(2*options.viewportPadding);if((width+extra_width)>=view_width){width=view_width-extra_width}var enableDrag=false;var i_height=o_height;var i_width=o_width;var handle=options.handleLgImages;if(resizable&&(handle=="resize"||handle=="drag")){var change_h=(o_height-height)/o_height;var change_w=(o_width-width)/o_width;if(handle=="resize"){if(change_h>change_w){width=Math.round((o_width/o_height)*height)}else{if(change_w>change_h){height=Math.round((o_height/o_width)*width)}}i_width=width;i_height=height}else{var link=current_gallery[current];if(link){enableDrag=link.type=="img"&&(change_h>0||change_w>0)}}}return{height:height,width:width+extra_body_width,i_height:i_height,i_width:i_width,top:((view_height-(height+extra_height))/2)+options.viewportPadding,enableDrag:enableDrag}};var centerVertically=function(){var shadowbox=SL.get("shadowbox");var scroll=document.documentElement.scrollTop;var s_top=scroll+Math.round((SL.getViewportHeight()-(shadowbox.offsetHeight||0))/2);SL.setStyle(shadowbox,"top",s_top+"px")};var adjustHeight=function(height,top,animate,callback){height=parseInt(height);current_height=height;var sbi=SL.get("shadowbox_body_inner");if(animate&&options.animate){SL.animate(sbi,{height:{to:height}},options.resizeDuration,callback)}else{SL.setStyle(sbi,"height",height+"px");if(typeof callback=="function"){callback()}}if(absolute_pos){centerVertically();SL.addEvent(window,"scroll",centerVertically);top+=document.documentElement.scrollTop}var shadowbox=SL.get("shadowbox");if(animate&&options.animate){SL.animate(shadowbox,{top:{to:top}},options.resizeDuration)}else{SL.setStyle(shadowbox,"top",top+"px")}};var adjustWidth=function(width,animate,callback){width=parseInt(width);current_width=width;var shadowbox=SL.get("shadowbox");if(animate&&options.animate){SL.animate(shadowbox,{width:{to:width}},options.resizeDuration,callback)}else{SL.setStyle(shadowbox,"width",width+"px");if(typeof callback=="function"){callback()}}};var listenKeyboard=function(on){if(!options.enableKeys){return }if(on){document.onkeydown=handleKey}else{document.onkeydown=""}};var assertKey=function(valid,key,code){return(valid.indexOf(key)!=-1||valid.indexOf(code)!=-1)};var handleKey=function(e){var code=e?e.which:event.keyCode;var key=String.fromCharCode(code).toLowerCase();if(assertKey(options.keysClose,key,code)){Shadowbox.close()}else{if(assertKey(options.keysPrev,key,code)){Shadowbox.previous()}else{if(assertKey(options.keysNext,key,code)){Shadowbox.next()}}}};var toggleTroubleElements=function(on){var vis=(on?"visible":"hidden");var selects=document.getElementsByTagName("select");for(i=0,len=selects.length;i\n"}return html};Shadowbox.getPlugins=function(){return plugins};Shadowbox.getOptions=function(){return options};Shadowbox.getCurrent=function(){return current_gallery[current]};Shadowbox.getVersion=function(){return version}})();Array.prototype.indexOf=Array.prototype.indexOf||function(C){for(var B=0,A=this.length;B