diff --git a/wp-content/plugins/studio-blimed/studio-blimed.php b/wp-content/plugins/studio-blimed/studio-blimed.php
new file mode 100644
index 0000000..34243d8
--- /dev/null
+++ b/wp-content/plugins/studio-blimed/studio-blimed.php
@@ -0,0 +1,235 @@
+prefix . "studio_blimed_table";
+ $wpdb->query("DROP TABLE IF EXISTS $studio_blimed_table ;");
+}
+
+
+function studio_blimed_install() {
+ global $wpdb;
+ $studio_blimed_table = $wpdb->prefix . 'studio_blimed_table';
+
+ if ( $wpdb->get_var( "show tables like 'studio_blimed_table'" ) != $studio_blimed_table ) {
+
+ $sql = "CREATE TABLE $studio_blimed_table (
+ id mediumint(9) NOT NULL AUTO_INCREMENT,
+ name tinytext NOT NULL,
+ studsted tinytext NOT NULL,
+ mail tinytext NOT NULL,
+ tlf tinytext NOT NULL,
+ teknisk tinyint(1) NOT NULL,
+ trivsel tinyint(1) NOT NULL,
+ transport tinyint(1) NOT NULL,
+ bar tinyint(1) NOT NULL,
+ konsert tinyint(1) NOT NULL,
+ artist tinyint(1) NOT NULL,
+ morgen tinyint(1) NOT NULL,
+ dag tinyint(1) NOT NULL,
+ kveld tinyint(1) NOT NULL,
+ natt tinyint(1) NOT NULL,
+
+ man1 tinyint(1), tir1 tinyint(1), ons1 tinyint(1), tor1 tinyint(1), fre1 tinyint(1), lor1 tinyint(1), son1 tinyint(1),
+ man2 tinyint(1), tir2 tinyint(1), ons2 tinyint(1), tor2 tinyint(1), fre2 tinyint(1), lor2 tinyint(1), son2 tinyint(1),
+ man3 tinyint(1), tir3 tinyint(1), ons3 tinyint(1), tor3 tinyint(1), fre3 tinyint(1), lor3 tinyint(1), son3 tinyint(1),
+
+ kommentar text,
+ UNIQUE KEY id (id)
+ )";
+
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
+ dbDelta( $sql );
+
+ }
+}
+
+function blimed_form( ) {
+ global $wpdb;
+ $table_name = $wpdb->prefix . 'studio_blimed_table';
+ $backspinn = '';
+
+ if (isset($_POST['save'])) {
+
+ if ($_POST['funk_name'] != '' &&
+ $_POST['funk_mail'] != '' &&
+ $_POST['funk_tlf'] != '' &&
+ ($_POST['funk_artist'] == 't' ||
+ $_POST['funk_bar'] == 't' ||
+ $_POST['funk_teknisk'] == 't' ||
+ $_POST['funk_transport'] == 't' ||
+ $_POST['funk_konsert'] == 't' ||
+ $_POST['funk_trivsel'] == 't')) {
+
+ $settinnidb = $wpdb->insert( $table_name, array( 'name' => mysql_real_escape_string($_POST['funk_name']) ,
+ 'tlf' => mysql_real_escape_string($_POST['funk_tlf']) ,
+ 'mail' => mysql_real_escape_string($_POST['funk_mail']) ,
+ 'studsted' => mysql_real_escape_string($_POST['funk_studsted']) ,
+ 'artist' => $_POST['funk_artist'] == "t" ,
+ 'konsert' => $_POST['funk_konsert'] == "t" ,
+ 'bar' => $_POST['funk_bar'] == "t" ,
+ 'teknisk' => $_POST['funk_teknisk'] == "t" ,
+ 'transport' => $_POST['funk_transport'] == "t" ,
+ 'trivsel' => $_POST['funk_trivsel'] == "t" ,
+ 'morgen' => $_POST['funk_morgen'] == "t" ,
+ 'dag' => $_POST['funk_dag'] == "t" ,
+ 'kveld' => $_POST['funk_kveld'] == "t" ,
+ 'natt' => $_POST['funk_natt'] == "t" ,
+
+ 'man1' => $_POST['funk_1man'] == "t" ,
+ 'tir1' => $_POST['funk_1tir'] == "t" ,
+ 'ons1' => $_POST['funk_1ons'] == "t" ,
+ 'tor1' => $_POST['funk_1tor'] == "t" ,
+ 'fre1' => $_POST['funk_1fre'] == "t" ,
+ 'lor1' => $_POST['funk_1lør'] == "t" ,
+ 'son1' => $_POST['funk_1søn'] == "t" ,
+ 'man2' => $_POST['funk_2man'] == "t" ,
+ 'tir2' => $_POST['funk_2tir'] == "t" ,
+ 'ons2' => $_POST['funk_2ons'] == "t" ,
+ 'tor2' => $_POST['funk_2tor'] == "t" ,
+ 'fre2' => $_POST['funk_2fre'] == "t" ,
+ 'lor2' => $_POST['funk_2lør'] == "t" ,
+ 'son2' => $_POST['funk_2søn'] == "t" ,
+ 'man3' => $_POST['funk_3man'] == "t" ,
+ 'tir3' => $_POST['funk_3tir'] == "t" ,
+ 'ons3' => $_POST['funk_3ons'] == "t" ,
+ 'tor3' => $_POST['funk_3tor'] == "t" ,
+ 'fre3' => $_POST['funk_3fre'] == "t" ,
+ 'lor3' => $_POST['funk_3lør'] == "t" ,
+ 'son3' => $_POST['funk_3søn'] == "t" ,
+ 'kommentar' => mysql_real_escape_string($_POST['funk_kommentar'])
+ )
+ );
+
+ if ($settinnidb) {
+ $backspinn = 'Du er nå registrert';
+
+ // TODO MAILER!!
+
+ } else $backspinn = 'Beklager teknisk feil, sjekk verdiene og prøv på nytt';
+ } else $backspinn = 'Du må oppgi navn, epost, tlf og minst et arbeidsområde';
+
+ }
+ echo '
';
+
+ if ($backspinn != '') echo $backspinn;
+ else echo 'Bli med';
+}
+
+add_shortcode('blimed_form', 'blimed_form');
diff --git a/wp-content/themes/studio11 b/wp-content/themes/studio11
index 90a43e7..2e5e481 160000
--- a/wp-content/themes/studio11
+++ b/wp-content/themes/studio11
@@ -1 +1 @@
-Subproject commit 90a43e7493edfec255f24a44097810d2b6f009a5
+Subproject commit 2e5e4814d7a0d16e03158ea703a643a028a1c5e5
diff --git a/wp-content/themes/twentyten/frontbox/fbox.css b/wp-content/themes/twentyten/frontbox/fbox.css
new file mode 100644
index 0000000..c8819d5
--- /dev/null
+++ b/wp-content/themes/twentyten/frontbox/fbox.css
@@ -0,0 +1,118 @@
+/* images are blocky under internet explorer when downsized
+I must apply a global rule, otherwise behavior is random
+*/
+img{
+ -ms-interpolation-mode:bicubic;
+}
+
+span.frontbox {
+ display:none;
+}
+
+/* by default for all elements defined by the script :*/
+#fbox_bg, #fbox_progress, #fbox_fg, #fbox_content, #fbox_spacer, #fbox_bar, #fbox_title, #fbox_sys, #fbox_content_img, #fbox_content_iframe {
+ margin:0px;
+ padding:0px;
+ border-width:0px;
+}
+
+/* for strict mode */
+#fbox_content_img, #fbox_content_iframe {
+ display:block;
+}
+
+/* now working with absolute positionned elements */
+
+#fbox_bg, #fbox_progress, #fbox_fg {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+}
+
+#fbox_bg{
+ z-index:998;
+ background-color: #000000;
+}
+
+#fbox_progress {
+ z-index:999;
+}
+
+#fbox_fg {
+ z-index:1000;
+ background-color:#999999;
+ padding:5px;
+ border:solid #000000 1px;
+}
+
+/* non positionned elements */
+
+#fbox_fg_inner {
+ background-color:#FFFFFF;
+
+}
+
+#fbox_content {
+ padding:3px;
+}
+
+#fbox_spacer {
+height:3px;
+overflow:hidden;
+background-image:url(spacer.gif);
+font-size:8px; /* ie5 bug */
+}
+
+#fbox_bar td{
+ padding:3px 8px; /*v,h*/
+ color:black;
+ font-size: 12px;
+ font-weight:normal;
+ line-height: 1.45;
+ font-family:Arial, Helvetica, sans-serif;
+}
+
+#fbox_sys, #fbox_navig {
+white-space:nowrap;
+}
+
+#fbox_sys {
+ float:right;
+}
+
+#fbox_title {
+ float:left;
+ background-color:whitesmoke;
+ text-align:justify;
+}
+
+a#fbox_resize_a:link, a#fbox_resize_a:hover, a#fbox_resize_a:visited {
+ text-decoration: none;
+ color:#999999;
+ font-weight: bold;
+}
+
+a#fbox_close_a:link, a#fbox_close_a:hover, a#fbox_close_a:visited {
+ text-decoration: none;
+ color:#999999;
+ font-weight: bold;
+}
+
+#fbox_navig {
+ margin-top:3px;
+ clear:left;
+ float:left;
+}
+
+a#fbox_prev_a:link, a#fbox_prev_a:hover, a#fbox_prev_a:visited {
+ text-decoration: none;
+ color:#999999;
+ font-weight: bold;
+}
+
+a#fbox_next_a:link, a#fbox_next_a:hover, a#fbox_next_a:visited {
+ text-decoration: none;
+ color:#999999;
+ font-weight: bold;
+}
+
diff --git a/wp-content/themes/twentyten/frontbox/fbox_conf.js b/wp-content/themes/twentyten/frontbox/fbox_conf.js
new file mode 100644
index 0000000..9a3796a
--- /dev/null
+++ b/wp-content/themes/twentyten/frontbox/fbox_conf.js
@@ -0,0 +1,12 @@
+function fbox_conf(){};
+fbox_conf.prototype = {
+ disable_fadin:false,
+//---------------------------------
+ progress_src : 'indicator.gif',
+ nbsp_count: 4, //IE5 ...
+ close_txt : 'Lukk vindu uten å lagre',
+ max_txt: 'Maksimer',
+ min_txt: 'Minimer',
+ prev_txt: '« Forrige',
+ next_txt: 'Neste »'
+}
\ No newline at end of file
diff --git a/wp-content/themes/twentyten/frontbox/fbox_engine-min.js b/wp-content/themes/twentyten/frontbox/fbox_engine-min.js
new file mode 100644
index 0000000..2c7d7af
--- /dev/null
+++ b/wp-content/themes/twentyten/frontbox/fbox_engine-min.js
@@ -0,0 +1 @@
+function fbox_engine(){if(typeof(fbox_conf)!="function"){return;}var j,an;var ag,d,al;var n,A;var Z;var u=0;var o;var K,H;var R,V,am;var x,Q,aa;var G,O;var S,I,v;var T,l,ae;var aq;var ab;var ac=0,aj=0,f=0,ao=0;var t=false;var M=false;var p;var P=null;var ak="";var B,g;var N=false;var D=[];function Y(){return false;}function r(at){return;}function b(at){if(!at){return"";}at=at.replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1");return(at);}function w(at){return document.getElementById(at);}function m(at){return document.createElement(at);}function k(av,au,at){if(av.addEventListener){av.addEventListener(au,at,false);return true;}if(av.attachEvent){av.detachEvent("on"+au,at);return av.attachEvent("on"+au,at);}return false;}function c(av,au,at){if(av.removeEventListener){av.removeEventListener(au,at,false);return true;}if(av.detachEvent){return av.detachEvent("on"+au,at);}return false;}function ar(ay){var aw=false;function at(){if(!aw){aw=true;ay();}}if(window.ActiveXObject){var au;var av=null;var ax;au=document.createElement("div");ax=function(){var az;az=false;try{au.doScroll("left");}catch(aA){az=true;}if(!az||aw){if(av){window.clearInterval(av);av=null;}au=null;at();}};av=window.setInterval(ax,30);}else{if(document.addEventListener){document.addEventListener("DOMContentLoaded",at,false);}}k(window,"load",at);}function F(){var at=document.documentElement;this.left=window.pageXOffset||(at&&at.scrollLeft)||K.scrollLeft;this.top=window.pageYOffset||(at&&at.scrollTop)||K.scrollTop;}function C(){var az=document.documentElement;var au,aB,ax;var ay,at,aC;var aA=0,aw=0;var av;au=az?az.clientHeight:0;aB=K.clientHeight?K.clientHeight:0;ax=window.innerHeight?window.innerHeight:0;ay=az?az.clientWidth:0;at=K.clientWidth?K.clientWidth:0;aC=window.innerWidth?window.innerWidth:0;if(au&&aB&&ax){if(au==aB){aA=aC;aw=ax;}else{if(aB=100){aw.style.opacity="";aw.style.filter="";aw.style.display="";}else{if(aD<=0){aw.style.display="none";aw.style.opacity=0;aw.style.filter="alpha(opacity=0)";}else{aw.style.opacity=aD*0.01;aw.style.filter="alpha(opacity="+aD+")";aw.style.display="";}}}function ay(aE){var aD=ax?true:false;if(aD){window.clearInterval(ax);ax=null;}at=0;aE=aE-0;if(!isNaN(aE)){aA=aE;av(aE);}return aD;}function aB(){if(at===0){ay();}else{if((at>0&&aA>=az)||(at<0&&aA<=az)){ay();aA=az;}}av(aA);}function aC(){if((at>0&&aAaz)){av(aA);aA+=at;return true;}aB();return false;}function au(aG,aD,aF,aE){if(Z){ay(aD);return;}if(!ay()){aA=aG;}az=aD;at=aF;if(aC()){ax=window.setInterval(aC,aE);}}this.halt=ay;this.animate=au;this.redisplay=aB;}function h(av){if(!av){Q.innerHTML="";Q.style.overflow="hidden";return;}var au=null;if(P.type===0){var at=m("a");at.href="#";au=P.objImg;au.id="fbox_content_img";au.style.border="0px";at.appendChild(au);Q.appendChild(at);}else{if(P.type==3){av='';}else{if(typeof(av)!="string"){av="";}}Q.innerHTML=av;if(P.type==3){au=w("fbox_content_iframe");}}Q.style.overflow="auto";if(au){au.style.width=P.width+"px";au.style.height=P.height+"px";}}function af(at){var aw,av,au,ax;for(av=0;av>1;var au=(at.height-V.offsetHeight)>>1;if(N){V.style.position="fixed";}else{var aw=new F();V.style.position="absolute";av=aw.left+av;au=aw.top+au;}V.style.left=av+"px";V.style.top=au+"px";}function y(){var aw=false;var ax=new F();var at=new C();x.style.display="";var av=(at.width-x.offsetWidth)>>1;var au=(at.height-x.offsetHeight)>>1;g.redisplay();if(N){if(av<=0||au<=0){aw=false;x.style.position="absolute";}else{aw=true;x.style.position="fixed";}}if(av<=0){if(!t){t=true;av=ax.left+av;if(av<0){av=0;}x.style.left=av+"px";}}else{t=false;if(!aw){av=ax.left+av;}x.style.left=av+"px";}if(au<=0){if(!M){M=true;au=ax.top+au;if(au<0){au=0;}x.style.top=au+"px";}}else{M=false;if(!aw){au=ax.top+au;}x.style.top=au+"px";}}function z(at){var aA=P.width;var au=P.height;var ax=b(P.title)?true:false;var ay=P.next||P.prev?true:false;var aC=false;if(!at){aC=ax||ay;}else{if(at==1){aC=true;}}if(aC&&aA<200){aA=200;}if(aC){aa.style.visibility="visible";aa.style.display="";G.style.visibility="visible";G.style.display="";if(ax){O.style.styleFloat=O.style.cssFloat="left";O.style.visibility="visible";O.style.height="auto";O.style.overflow="visible";T.style.marginTop=3+"px";}else{O.style.styleFloat=O.style.cssFloat="right";O.style.visibility="hidden";O.style.height=1+"px";O.style.overflow="hidden";T.style.marginTop=0+"px";}}else{aa.style.visibility="hidden";aa.style.display="none";G.style.visibility="hidden";G.style.display="none";}if(ay){if(P.prev){l.style.visibility="visible";}else{l.style.visibility="hidden";}if(P.next){ae.style.visibility="visible";}else{ae.style.visibility="hidden";}T.style.visibility="visible";T.style.display="";}else{T.style.visibility="hidden";T.style.display="none";}if(p){x.style.width=(aA+18)+"px";Q.style.width=(aA+6)+"px";Q.style.height=(au+6)+"px";}else{x.style.width=(aA+6)+"px";Q.style.width=aA+"px";Q.style.height=au+"px";}if(aC){aa.style.width=(aA+6)+"px";G.style.width=(aA+6)+"px";O.style.width="auto";x.style.height="auto";G.style.height="auto";x.style.display="";var az=S.offsetWidth;var av=O.offsetWidth;x.style.display="none";az=aA-az-25;var aB=az<=190?aA-10:az>av?av:az;O.style.width=aB+"px";x.style.display="";var aw=x.offsetHeight;x.style.display="none";aw=aw-12;x.style.height=aw+"px";G.style.height=aw-au-15+"px";}else{if(p){x.style.height=(au+18)+"px";}else{x.style.height=(au+6)+"px";}}y();}function E(){var aw=P.objImg;var ax=0;switch(P.imgType){case 0:var au=new C();var at=Math.max(au.width-125,200);var ay=Math.max(au.height-125,200);var av=Math.max(1,Math.max(P.exactImgWidth/at,P.exactImgHeight/ay));if(av>1){v.style.visibility="visible";v.style.display="";ab.style.visibility="visible";ab.style.display="";ax=1;}else{v.style.visibility="hidden";v.style.display="none";ab.style.visibility="hidden";ab.style.display="none";}if(P.imgState===0){v.innerHTML=d;P.width=aw.width=Math.round(P.exactImgWidth/av);P.height=aw.height=Math.round(P.exactImgHeight/av);}else{v.innerHTML=al;P.width=aw.width=P.exactImgWidth;P.height=aw.height=P.exactImgHeight;}break;case 1:P.height=aw.height=Math.round(P.exactImgHeight*P.width/P.exactImgWidth);aw.width=P.width;break;case 2:P.width=aw.width=Math.round(P.exactImgWidth*P.height/P.exactImgHeight);aw.height=P.height;break;case 3:aw.width=P.width;aw.height=P.height;}z(ax);}function a(){function av(){if((u&1)==1){c(window,"scroll",a);return;}if((u&8)==8){y();}if((u&2)==2){X();}if((u&4)==4){J();}var ax=new Date();var aw=ax.getTime();aj=aw;k(window,"scroll",a);var ay=new F();f=ay.left;ao=ay.top;}c(window,"scroll",a);var au=new Date();var at=au.getTime()-aj;if(at>=200){av();}else{window.setTimeout(av,200-at);}}function ap(){var av=new F();if(Math.abs(av.left-f)>50||Math.abs(av.top-ao>50)){if((u&8)==8){y();}if((u&2)==2){X();}if((u&4)==4){J();}f=av.left;ao=av.top;var au=new Date();var at=au.getTime();aj=at;}}function ah(){function av(){if((u&1)==1){c(window,"resize",ah);return;}R.style.display="none";x.style.display="none";if((u&8)==8){if(P.imgType===0){h(false);E();h(true);}else{y();}}if((u&2)==2){X();}if((u&4)==4){J();}var ax=new Date();var aw=ax.getTime();aj=ac=aw;k(window,"resize",ah);var ay=new F();f=ay.left;ao=ay.top;}c(window,"resize",ah);var au=new Date();var at=au.getTime()-ac;if(at>=200){av();}else{window.setTimeout(av,200-at);}}function W(){u=u&(~4);V.style.display="none";V.onclick=null;}function s(){u=u|1;g.halt(0);if(o){o.onreadystatechange=Y;}if(P.objImg){P.objImg.onload=null;if(!P.imgReadyTest){P.objImg.src=null;P.objImg=null;}}if((u&4)==4){W();}u=u&(~8);if((u&2)==2){U();}x.style.display="none";h(false);c(window,"resize",ah);c(window,"scroll",a);c(window,"scroll",ap);if(typeof(K.style.cssText)!="undefined"){K.style.cssText=ak;}else{K.setAttribute("style",ak);}return false;}function i(){V.style.display="";J();V.onclick=s;u=u|4;}function q(){if(((u&8)==8)&&(P.imgType===0)){P.imgState=P.imgState?0:1;h(false);E();h(true);if((u&2)==2){X();}}return false;}function ai(au){function aw(){ai(P.next);return false;}function av(){ai(P.prev);return false;}if(!au||(typeof(au)!="object")){return;}if(P&&(typeof(P)=="object")&&P.objImg&&(typeof(P.objImg)=="object")){P.objImg.id=null;}P=au;var at=P.src;K.style.width="auto";K.style.height="auto";t=M=false;f=0;ao=0;v.style.visibility="hidden";v.style.display="none";ab.style.visibility="hidden";ab.style.display="none";h(false);var ax=b(P.title);if(!ax||ax=="."){ax=" ";}O.innerHTML=ax;ax=null;g.halt(0);u=u&2;if((u&2)===0){e();}ah();a();if(!N){k(window,"scroll",ap);}if(P.type===0||P.type==2){i();}if(P.type===0){Q.onclick=s;v.onclick=q;}else{Q.onclick=null;v.onclick=Y;}l.onclick=P.prev?av:Y;ae.onclick=P.next?aw:Y;switch(P.type){case 0:var ay=function(){var aC=P.imgReadyTest;P.imgReadyTest=true;if((u&1)!=1){W();if(!aC){P.exactImgWidth=P.objImg.width;P.exactImgHeight=P.objImg.height;}E();h(true);if(aC){g.animate(0,100,25,20);}else{g.animate(0,100,10,35);}u=u|8;}};if(P.imgReadyTest){ay();}else{var aB=new Image();P.objImg=aB;aB.onload=function(){this.onload=null;this.onerror=null;ay();};aB.onerror=function(){this.onerror=null;s();};aB.src=at;}break;case 1:z(1);var az=P.tagContent.innerHTML;h(az);g.animate(0,100,10,30);u=u|8;break;case 2:try{o.open("GET",at,true);}catch(aA){P.tagLink.onclick=Y;s();break;}o.onreadystatechange=function(){if((u&1)==1){o.onreadystatechange=Y;o.abort();}else{if(o.readyState==4){o.onreadystatechange=Y;if(o.status==200||!o.status){W();z(1);var aC=o.responseText;h(aC);g.animate(0,100,10,30);u=u|8;}else{P.tagLink.onclick=Y;s();}}}};o.send(null);break;case 3:z(1);h(true);g.animate(0,100,10,30);u=u|8;}}function L(){if(w("fbox_world")){return;}o=null;try{if(window.XMLHttpRequest){o=new XMLHttpRequest();}else{if(window.ActiveXObject){o=new ActiveXObject("Microsoft.XMLHTTP");}}}catch(ay){}var aw=new fbox_conf();Z=aw.disable_fadin;j=aw.progress_src;ag=aw.close_txt;n=aw.prev_txt;A=aw.next_txt;d=aw.max_txt;al=aw.min_txt;an="";for(var au=0;au'+an+''+ag+'
";H=document.createElement("div");H.setAttribute("id","fbox_world");H.innerHTML=ax;K=document.getElementsByTagName("body")[0];K.appendChild(H);ak=typeof(K.style.cssText)!="undefined"?K.style.cssText:K.getAttribute("style");R=w("fbox_bg");V=w("fbox_progress");x=w("fbox_fg");Q=w("fbox_content");aa=w("fbox_spacer");G=w("fbox_bar");O=w("fbox_title");S=w("fbox_sys");I=w("fbox_close_a");v=w("fbox_resize_a");T=w("fbox_navig");l=w("fbox_prev_a");ae=w("fbox_next_a");aq=w("fbox_fg_inner");ab=w("fbox_resize_nbsp");I.onclick=s;g=new ad(x);B=new ad(R);Q.style.visibility="hidden";x.style.width=100+"px";Q.style.width="auto";x.style.left=-200+"px";x.style.top=-200+"px";x.style.display="";p=Q.offsetWidth<100;x.style.display="none";Q.style.visibility="visible";x.style.left=0+"px";x.style.top=0+"px";N=!p;if(window.ActiveXObject&&!window.XMLHttpRequest){N=false;}am=new Image();var at=false;am.onload=function(){this.onload=null;this.onerror=null;this.style.width=this.width+"px";this.style.height=this.height+"px";this.style.border="0px";if(!at){at=true;V.appendChild(this);}};am.onerror=function(){this.onerror=null;if(!at){at=true;V.appendChild(this);}};am.src=j;D=["select","object","embed"];var av=[];function aA(aQ){var aN=this;this.tagLink=aQ.parentNode;this.title=aQ.getAttribute("title");var aC=b(aQ.getAttribute("src"));if(!aC){aC=b(this.tagLink.getAttribute("href"));}this.src=aC;this.type=3;var aO=b(aQ.getAttribute("type")).toLowerCase();switch(aO){case"image":this.type=0;break;case"inline":this.type=1;break;case"ajax":this.type=2;break;case"iframe":this.type=3;break;default:if(aC.indexOf("#")>=0){this.type=1;break;}var aF=aC.lastIndexOf(".");if(aF<1){break;}var aG=aC.substr(aF+1,aC.length).toLowerCase();if(aG=="jpg"||aG=="jpeg"||aG=="png"||aG=="gif"){this.type=0;}}this.tagContent=null;if(this.type==1){var aI=aC.substr(aC.indexOf("#")+1,1000);this.tagContent=w(aI);if(this.tagContent){var aL,aK,aE;for(aK=0;aK0){this.imgType+=1;}else{this.width=200;}if(this.height&&this.height>0){this.imgType+=2;}else{this.height=150;}this.imgState=this.imgType?1:0;if(!b(this.title)){var aM=this.tagLink.getElementsByTagName("img");if(aM[0]){var aJ=aM[0].getAttribute("title");if(b(aJ)){this.title=aJ;}}}}else{if(!this.width){this.width=400;}if(!this.height){this.height=300;}}this.next=null;this.prev=null;var aD=b(aQ.getAttribute("name")).toLowerCase();if(aD&&this.type!=-1){if(av[aD]){var aH=av[aD].length;this.prev=av[aD][aH-1];this.prev.next=this;av[aD][aH]=this;}else{av[aD]=[];av[aD][0]=this;}}function aP(){ai(aN);return false;}this.tagLink.onclick=this.type==-1?Y:aP;}var az=document.getElementsByTagName("span");for(au=0;au=100) {
+ elem.style.opacity ='';
+ elem.style.filter=''; //remove style, avoid bugs in explorer and selects
+ elem.style.display='';
+ } else if (blend<=0) {
+ elem.style.display='none'; //avoid some flicker
+ elem.style.opacity = 0; //problem is that we display elements that are supposed to be hidden, in order to calculate size
+ elem.style.filter= 'alpha(opacity=0)';
+ } else {
+ elem.style.opacity = blend*0.01;
+ elem.style.filter= 'alpha(opacity=' + blend + ')';
+ elem.style.display='';
+ }
+ }//end function setBlend
+
+ function halt(val) {
+ var isBusy= intervalID ? true: false;
+ if (isBusy) {
+ window.clearInterval(intervalID);
+ intervalID = null;
+ }
+
+ i_incr=0; //no begin, no end, avoid bug with redisplay
+ val=val-0; //NaN if val undefined
+ if (!isNaN(val)) { // warning typeof(NaN) is number !
+ curr_i=val; //don't forget to memorize state
+ setBlend(val);
+ }
+
+ return isBusy;
+ } //end function halt()
+
+ function redisplay() {
+ if (i_incr===0) {
+ halt();
+ } else {
+ if ( (i_incr>0 && curr_i>=i_end) || (i_incr<0 && curr_i<=i_end) ) {
+ halt();
+ curr_i = i_end;
+ }
+ }
+ setBlend(curr_i);
+ }//end function redisplay
+
+ function majorTask() {
+ if ( (i_incr>0 && curr_ii_end ) ) {
+ setBlend(curr_i);
+ curr_i+=i_incr;
+ return true;
+ }
+
+ redisplay();
+ return false;
+ }//end function majorTask
+
+ function animate(j_begin,j_end,j_incr,delay) {
+ if (fbox_disable_fadin) {
+ halt(j_end);
+ return;
+ }
+ if (!halt()) {
+ curr_i = j_begin;
+ }
+ i_end=j_end;
+ i_incr=j_incr;
+ //------- let's go -----------------
+ //first iteration is immediate
+ if (majorTask()) {
+ intervalID=window.setInterval(majorTask,delay);
+ }
+ }//end function animate
+
+ //----------------
+ //------ making some method publicly available
+ this.halt=halt;
+ this.animate=animate;
+ this.redisplay=redisplay;
+ } //end function blendingTransition
+
+ //-------------------------------------------------------------------------------
+ function setContent(str) {
+ if (!str) {
+ fbox_content.innerHTML = "";
+ fbox_content.style.overflow = "hidden";
+ return;
+ }
+
+ var elem=null;
+ if (currFbox.type===0) { //image
+ var a=createElem('a');
+ a.href="#";
+ //-----------------------
+ elem=currFbox.objImg;
+ elem.id='fbox_content_img';
+ elem.style.border='0px';
+ //------------------------
+ a.appendChild(elem);
+ fbox_content.appendChild(a);
+ } else {//if NOT image
+ if (currFbox.type==3) { //iframe
+ str= '';
+ } else {
+ if (typeof(str) != 'string') {
+ str='';
+ }
+ }
+ //-------------------------
+ fbox_content.innerHTML = str;
+ //------------------------
+ if (currFbox.type==3) {
+ elem = getElem("fbox_content_iframe");
+ }
+ }//end if NOT image
+
+ fbox_content.style.overflow = "auto";
+
+ if (elem) {
+ elem.style.width=currFbox.width+'px';
+ elem.style.height=currFbox.height+'px';
+ }
+ }//end function setContent
+
+ //--------------------------------------------------------------------------
+ function fixSpecialTagsVisibility(fix) {
+ var i,j,elems,elem;
+ for (j=0;j>1;
+ var top = (pageSize.height - fbox_progress.offsetHeight)>>1;
+ if (posfix_enabled) {
+ fbox_progress.style.position="fixed";
+ } else {
+ var scrollPos = new getScrollPos();
+ fbox_progress.style.position="absolute";
+ left=scrollPos.left+ left;
+ top=scrollPos.top+ top;
+ }
+
+ fbox_progress.style.left = left+'px';
+ fbox_progress.style.top = top+'px';
+ } //end function centerProgress
+
+ //---- much complicated centering for Fg
+ function centerFg() {
+ var posfix_fg=false;
+ var scrollPos = new getScrollPos();
+ var pageSize = new getPageSize();
+ fbox_fg.style.display="";
+ var left= (pageSize.width - fbox_fg.offsetWidth)>>1;
+ var top = (pageSize.height - fbox_fg.offsetHeight)>>1;
+ blending_fg.redisplay();
+
+ if (posfix_enabled) {
+ if (left<=0 || top<=0) {
+ posfix_fg=false;
+ fbox_fg.style.position="absolute";
+ } else {
+ posfix_fg=true;
+ fbox_fg.style.position="fixed";
+ }
+ }//end if posfix_enabled
+
+ if (left<=0) {//disable centering
+ if (!lockHoriz) { //not horizontally locked
+ lockHoriz=true;
+ left= scrollPos.left+ left;
+ if (left<0) {
+ left=0;
+ }
+ fbox_fg.style.left = left+'px';
+ }//end if not horizontally locked
+ } else {
+ lockHoriz=false;
+ if (!posfix_fg) {
+ left=scrollPos.left+ left;
+ }
+ fbox_fg.style.left = left+'px';
+ }
+
+ if (top<=0) {//disable centering
+ if (!lockVertic) {
+ lockVertic=true;
+ top= scrollPos.top+ top;
+ if (top<0) {
+ top=0;
+ }
+ fbox_fg.style.top = top+'px';
+ }
+ } else {
+ lockVertic=false;
+ if (!posfix_fg) {
+ top=scrollPos.top+ top;
+ }
+ fbox_fg.style.top =top+'px';
+ }
+ }//end function centerFg
+
+
+ //----- set correctly width, height of fg even when explorer in Quirks mode ---
+ //----- also recenter fg --------------------------------------------------------
+ //----- forceCaption: -1, hide,
+ //------------------ 0, auto
+ //------------------ 1, show
+
+ function adjustFg(forceCaption) {
+ var fboxWidth = currFbox.width;
+ var fboxHeight = currFbox.height;
+ var showTitle = trim(currFbox.title) ? true:false;
+ var showNavig = currFbox.next || currFbox.prev ? true:false;
+ var showCaption = false;
+
+ if (!forceCaption) {
+ showCaption = showTitle || showNavig;
+ } else if (forceCaption == 1) {
+ showCaption= true;
+ }
+
+ if (showCaption && fboxWidth<200) {
+ fboxWidth=200; //not less than 200 when caption
+ }
+
+ if (showCaption) {
+ fbox_spacer.style.visibility='visible';
+ fbox_spacer.style.display='';
+ fbox_bar.style.visibility='visible';
+ fbox_bar.style.display='';
+ if (showTitle) {
+ fbox_title.style.styleFloat=fbox_title.style.cssFloat= 'left';
+ fbox_title.style.visibility='visible';
+ fbox_title.style.height='auto';
+ fbox_title.style.overflow='visible';
+ fbox_navig.style.marginTop =3+'px';
+ } else {
+ fbox_title.style.styleFloat=fbox_title.style.cssFloat= 'right';
+ fbox_title.style.visibility='hidden';
+ fbox_title.style.height=1+'px';
+ fbox_title.style.overflow='hidden';
+ fbox_navig.style.marginTop =0+'px';
+ }
+ }//end if(showCaption)
+ else {
+ fbox_spacer.style.visibility='hidden'; //silly bug in IE6
+ fbox_spacer.style.display='none';
+ fbox_bar.style.visibility='hidden';
+ fbox_bar.style.display='none';
+ } //end else if(showCaption)
+
+ if (showNavig) {
+ if (currFbox.prev) {
+ fbox_prev_a.style.visibility= 'visible';
+ } else {
+ fbox_prev_a.style.visibility= 'hidden';
+ }
+
+ if (currFbox.next) {
+ fbox_next_a.style.visibility= 'visible';
+ } else {
+ fbox_next_a.style.visibility= 'hidden';
+ }
+
+ fbox_navig.style.visibility = 'visible'; //bug or not I do it
+ fbox_navig.style.display='';
+ } else {
+ fbox_navig.style.visibility = 'hidden'; //bug or not I do it
+ fbox_navig.style.display='none';
+ }
+
+ if (ieQkMd) {
+ fbox_fg.style.width= (fboxWidth+18) +'px';
+ fbox_content.style.width= (fboxWidth+6) +'px';
+ fbox_content.style.height= (fboxHeight+6) +'px';
+ } else {
+ fbox_fg.style.width= (fboxWidth+6) +'px';
+ fbox_content.style.width= fboxWidth +'px';
+ fbox_content.style.height= fboxHeight +'px';
+ }
+
+ if (showCaption) {
+ fbox_spacer.style.width= (fboxWidth+6)+'px'; //no padding so stay same
+
+ fbox_bar.style.width = (fboxWidth+6) +'px'; //fboxWidth-10 without table/strict
+
+ fbox_title.style.width = 'auto';
+ fbox_fg.style.height = 'auto';
+ fbox_bar.style.height = 'auto';
+
+ fbox_fg.style.display = "";
+ var w1= fbox_sys.offsetWidth;
+ var w2=fbox_title.offsetWidth;
+ fbox_fg.style.display = "none";
+ w1= fboxWidth-w1-25; //what is remaining when removing everything except "title width" ?
+ var w = w1<=190 ? fboxWidth-10 : w1>w2 ? w2:w1;
+ fbox_title.style.width = w+ 'px';
+
+ fbox_fg.style.display = "";
+ var h=fbox_fg.offsetHeight;
+ fbox_fg.style.display = "none";
+
+ h=h-12; //h-9 without table/strict
+
+ fbox_fg.style.height=h+'px';
+ fbox_bar.style.height=h-fboxHeight-15+ 'px';
+ } //end if(showCaption)
+ else { //no caption
+ if (ieQkMd) {
+ fbox_fg.style.height= (fboxHeight+18) +'px';
+ } else {
+ fbox_fg.style.height= (fboxHeight+6) +'px';
+ }
+ } //end if no caption
+
+ centerFg();
+ }//end function adjustFg
+
+
+ //adjustImage ---> adjustFg ---> (display)+ centerFg
+ function adjustImage() {
+ var objImg= currFbox.objImg;
+ var forceCaption=0;
+
+ switch (currFbox.imgType) {
+ case 0: //auto;
+ var pagesize = new getPageSize();
+ var x = Math.max(pagesize.width - 125,200); //not less than 200 or it is exasperating
+ var y = Math.max(pagesize.height - 125,200);
+ var ratio = Math.max(1,Math.max(currFbox.exactImgWidth/x,currFbox.exactImgHeight/y));
+
+ if (ratio>1) {
+ fbox_resize_a.style.visibility="visible";
+ fbox_resize_a.style.display="";
+ fbox_resize_nbsp.style.visibility="visible";
+ fbox_resize_nbsp.style.display="";
+ forceCaption=1;
+ } else {
+ fbox_resize_a.style.visibility="hidden";
+ fbox_resize_a.style.display="none";
+ fbox_resize_nbsp.style.visibility="hidden";
+ fbox_resize_nbsp.style.display="none";
+ }
+
+ if (currFbox.imgState===0) {
+ fbox_resize_a.innerHTML=fbox_max_txt;
+ currFbox.width=objImg.width = Math.round(currFbox.exactImgWidth / ratio);
+ currFbox.height=objImg.height = Math.round(currFbox.exactImgHeight/ ratio);
+ } else {
+ fbox_resize_a.innerHTML= fbox_min_txt;
+ currFbox.width=objImg.width = currFbox.exactImgWidth;
+ currFbox.height=objImg.height = currFbox.exactImgHeight;
+ }
+ break;
+ case 1: //width is set, keep the ratio
+ currFbox.height= objImg.height = Math.round(currFbox.exactImgHeight * currFbox.width/currFbox.exactImgWidth);
+ objImg.width = currFbox.width;
+ break;
+ case 2: //height is set, keep the ratio
+ currFbox.width=objImg.width = Math.round(currFbox.exactImgWidth * currFbox.height/currFbox.exactImgHeight);
+ objImg.height =currFbox.height;
+ break;
+ case 3: //width and height set, nothing to compute
+ objImg.width = currFbox.width;
+ objImg.height = currFbox.height;
+ }//end switch (currFbox.imgType)
+
+ adjustFg(forceCaption);
+ }//end function adjustImage
+
+
+ //------------------------------------------------------------------------------
+ //--- Remark: the scrolling event can be induced when popup size change --------
+ //--- popup exceeds window --> scroll appears ---> background size change --> repostion other elements (wtf ?)
+
+ function adjustOnScrollTime() {
+ function majorTask() {
+ if ((loadState&1) == 1) {
+ removeEvent(window,'scroll',adjustOnScrollTime);
+ return;
+ }
+ if ((loadState&8) == 8) {
+ centerFg();
+ }
+ if ((loadState&2) == 2) {
+ adjustBg(); //size of background depends of popup, so do that after
+ }
+ if ((loadState&4) == 4) {
+ centerProgress(); //wtf ?
+ }
+ //----------------------------------
+ var now = new Date();
+ var currTime = now.getTime();
+ lastScrollTime=currTime;
+ addEvent(window,'scroll',adjustOnScrollTime);
+ //--------------------------------
+ var scrollPos = new getScrollPos();
+ lastScrollPosLeft=scrollPos.left; //delay adjustOnScrollPos
+ lastScrollPosTop=scrollPos.top;
+ }//end function majorTask
+
+ /* must use removeEvent or doesn't work */
+ removeEvent(window,'scroll',adjustOnScrollTime);
+
+ var now = new Date();
+ var deltaTime = now.getTime()-lastScrollTime;
+ if (deltaTime>=200) {
+ majorTask();
+ } else {
+ window.setTimeout(majorTask,200-deltaTime);
+ }
+ }//end function adjustOnScrollTime
+
+ function adjustOnScrollPos() {
+ var scrollPos = new getScrollPos();
+ if (Math.abs(scrollPos.left-lastScrollPosLeft)>50 || Math.abs(scrollPos.top - lastScrollPosTop>50)) {
+ if ((loadState&8) == 8) {
+ centerFg();
+ }
+ if ((loadState&2) == 2) {
+ adjustBg(); //size of background depends of popup, so do that after
+ }
+ if ((loadState&4) == 4) {
+ centerProgress(); //wtf ?
+ }
+ lastScrollPosLeft=scrollPos.left;
+ lastScrollPosTop=scrollPos.top;
+ //----------------------------
+ var now = new Date();
+ var currTime = now.getTime();
+ lastScrollTime= currTime; //delay also adjustOnScrollTime
+ }
+ }//end function adjustOnScrollPos
+
+ //we excessive flicker by introducing a timer
+ //and prevent browser from being too busy
+ function adjustOnResizeTime() {
+ function majorTask() {
+ if ((loadState&1) == 1) {
+ removeEvent(window,'resize',adjustOnResizeTime);
+ return;
+ }
+
+ fbox_bg.style.display="none"; //reason of flicker, necessary to compute accurately page size
+ fbox_fg.style.display="none";
+
+ if ((loadState&8) == 8) {
+ if (currFbox.imgType === 0) {
+ setContent(false);
+ adjustImage();
+ setContent(true);
+ } else {
+ centerFg();
+ }
+ }
+ if ((loadState&2) == 2) {
+ adjustBg(); //size of background depends of popup, so do that after
+ }
+ if ((loadState&4) == 4) {
+ centerProgress(); //wtf ?
+ }
+
+ //------------------------------
+ var now = new Date();
+ var currTime = now.getTime();
+ lastScrollTime=lastResizeTime=currTime; //delay also adjustOnScrollTime
+ addEvent(window,'resize',adjustOnResizeTime);
+ //--------------------------------
+ var scrollPos = new getScrollPos();
+ lastScrollPosLeft=scrollPos.left; //delay adjustOnScrollPos
+ lastScrollPosTop=scrollPos.top;
+ }//end function majorTask
+
+ /* must use removeEvent or doesn't work */
+ removeEvent(window,'resize',adjustOnResizeTime);
+
+ var now = new Date();
+ var deltaTime = now.getTime()-lastResizeTime;
+ if (deltaTime>=200) {
+ majorTask();
+ } else {
+ window.setTimeout(majorTask,200-deltaTime);
+ }
+ }//end function adjustOnResizeTime
+ //--------------------------------------------------------------------------
+ function hideProgress() {
+ loadState= loadState&(~4);
+ fbox_progress.style.display = "none";
+ fbox_progress.onclick = null;
+ }
+
+ function hideFbox() {
+ loadState = loadState|1; //termination
+ blending_fg.halt(0);
+ if (http) {
+ http.onreadystatechange = nope; //IE doesn't accept null
+ }
+ if (currFbox.objImg) {
+ currFbox.objImg.onload=null;
+ if (!currFbox.imgReadyTest) { //try to abort image loading
+ currFbox.objImg.src=null;
+ currFbox.objImg=null;
+ }//end if try to abort image loading
+ }
+ if ((loadState&4)==4) {
+ hideProgress();
+ }
+ loadState= loadState & (~8); //remove fbox
+ if ((loadState&2) == 2) {
+ hideBg();
+ }
+ fbox_fg.style.display = "none";
+ setContent(false);
+ removeEvent(window,'resize',adjustOnResizeTime);
+ removeEvent(window,'scroll', adjustOnScrollTime);
+ removeEvent(window,'scroll', adjustOnScrollPos);
+ //---- restore original body style:
+ if (typeof(body.style.cssText) != 'undefined') {
+ body.style.cssText=body_style_begin;
+ } else {
+ body.setAttribute("style",body_style_begin);
+ }
+ return false;//link is #
+ }//end function hideFbox
+
+ function showProgress() {
+ fbox_progress.style.display = "";
+ centerProgress();
+ fbox_progress.onclick = hideFbox;
+ loadState= loadState|4;
+ }
+
+//---------------------------------------------------------------------------------------
+ function toggleImgState() {
+ if ( ((loadState&8) == 8)&& (currFbox.imgType === 0) ) {
+ currFbox.imgState = currFbox.imgState ? 0:1;
+ setContent(false);
+ adjustImage();
+ setContent(true);
+ if ((loadState&2) == 2) {
+ adjustBg(); //size of background depends of popup, so do that after
+ }
+ }
+ return false;
+ }//end function toggleImgState
+
+
+//------------------------------------------------------------------------------
+ function showFbox(fbObj) {
+ function showNext() {
+ showFbox(currFbox.next);
+ return false; //link is #
+ }//end function showNext
+
+ function showPrev() {
+ showFbox(currFbox.prev);
+ return false; //link is #
+ }//end function showPrev
+
+ if (!fbObj || (typeof(fbObj)!='object')) {
+ return;
+ }
+ //--- works even without this, but according to standard each id -----
+ //--- is only for one element (but if not rendered inside DOM ?) -----
+ if (currFbox && (typeof(currFbox)=='object') && currFbox.objImg && (typeof(currFbox.objImg)=='object')) {
+ currFbox.objImg.id=null;
+ }
+ //----- ok, now the current fbox, is the one shown ---------------
+ currFbox=fbObj;
+
+ var src= currFbox.src;
+
+ body.style.width='auto';//don't let external css change default behavior
+ body.style.height='auto';
+
+ lockHoriz=lockVertic= false; //prevent centering when fbox exceeds page size
+ lastScrollPosLeft=0;
+ lastScrollPosTop=0;
+ fbox_resize_a.style.visibility="hidden";
+ fbox_resize_a.style.display="none";
+ fbox_resize_nbsp.style.visibility="hidden";
+ fbox_resize_nbsp.style.display="none";
+
+ setContent(false);
+ // set title here
+ var tmp_title= trim(currFbox.title);
+ if (!tmp_title || tmp_title=='.') {
+ tmp_title=" ";
+ }
+ fbox_title.innerHTML = tmp_title;
+ tmp_title= null;
+
+ blending_fg.halt(0);
+ loadState= loadState & 2; //remove all except background
+
+ if ((loadState&2) === 0) {
+ showBg();
+ }
+
+ adjustOnResizeTime();
+ adjustOnScrollTime();
+ if (!posfix_enabled) {
+ addEvent(window,'scroll', adjustOnScrollPos);
+ }
+
+ if (currFbox.type === 0 || currFbox.type == 2) {
+ showProgress();
+ }
+ if (currFbox.type === 0) {
+ fbox_content.onclick= hideFbox;
+ fbox_resize_a.onclick=toggleImgState;
+ } else {
+ fbox_content.onclick= null;
+ fbox_resize_a.onclick=nope; // facultative, but safer
+ }
+
+ //--------- set prev and next actions ------------
+ fbox_prev_a.onclick = currFbox.prev ? showPrev: nope;
+ fbox_next_a.onclick = currFbox.next ? showNext: nope;
+
+ //---------- now the "loading part" -------------
+ //-----------------------------------------------
+
+ switch (currFbox.type) {
+ case 0: //picture
+
+ var imgReadyFunc = function() {
+ var tmpImgReadyTest=currFbox.imgReadyTest;
+ currFbox.imgReadyTest=true;
+ if ((loadState&1) != 1) {
+ hideProgress();
+ if (!tmpImgReadyTest) {
+ currFbox.exactImgWidth=currFbox.objImg.width;
+ currFbox.exactImgHeight=currFbox.objImg.height;
+ }
+ adjustImage();
+ setContent(true);
+ if (tmpImgReadyTest) {
+ blending_fg.animate(0,100,25,20);
+ } else {
+ blending_fg.animate(0,100,10,35);
+ }
+ loadState=loadState|8;
+ }
+ };//end function imgReadyFunc
+
+ if (currFbox.imgReadyTest) {
+ imgReadyFunc();
+ } else {
+ var imgPreloader = new Image();
+ currFbox.objImg=imgPreloader;
+
+ imgPreloader.onload = function() {
+ this.onload=null;
+ this.onerror=null;
+ imgReadyFunc();
+ };
+
+ imgPreloader.onerror = function() {
+ this.onerror=null;
+ hideFbox();
+ };
+
+ imgPreloader.src = src;
+ }
+ break;
+
+ case 1: //Support for overlay of div on existing page
+ //nothing to load
+ adjustFg(1);
+ var strHTML = currFbox.tagContent.innerHTML;
+ setContent(strHTML);
+ blending_fg.animate(0,100,10,30);
+ loadState=loadState|8;
+ break;
+
+ case 2: //using ajax to retrieve a file
+ try {
+ http.open('GET',src,true);
+ } catch (e) {
+ currFbox.tagLink.onclick=nope;
+ hideFbox();
+ break;
+ }
+
+ http.onreadystatechange = function() {
+ if ((loadState&1) == 1) {
+ // see http://www.quirksmode.org/blog/archives/2005/09/xmlhttp_notes_a_1.html
+ http.onreadystatechange = nope;
+ http.abort();
+ } else if (http.readyState == 4) {
+ http.onreadystatechange = nope; //IE ...
+ if (http.status == 200 || !http.status) {
+ hideProgress();
+ adjustFg(1);
+ var response = http.responseText;
+ setContent(response);
+ blending_fg.animate(0,100,10,30);
+ loadState=loadState|8;
+ } else {
+ currFbox.tagLink.onclick= nope;
+ hideFbox();
+ }
+ }//end if (http.readyState == 4)
+ };
+
+ http.send(null);
+ break;
+ case 3://iframe
+ adjustFg(1);
+ setContent(true);
+ blending_fg.animate(0,100,10,30);
+ loadState=loadState|8;
+ }//end switch
+ }//end function showFbox
+
+//------------------------------------------------
+ function init_fbox() {
+ if (getElem("fbox_world")) {
+ return;
+ } //note: fbox_engine should be called only once
+
+ //how to make/use http request properly, see there:
+ // http://blogs.msdn.com/ie/archive/2006/01/23/516393.aspx
+ // http://keelypavan.blogspot.com/2006/03/reusing-xmlhttprequest-object-in-ie.html
+ //remark: window.XMLHttpRequest works only if target file truly online with IE7beta3
+
+ http = null;
+ try {
+ if (window.XMLHttpRequest) { // If IE7, Mozilla, Safari, etc: Use native object
+ http=new XMLHttpRequest();
+ } else if (window.ActiveXObject) {// ...otherwise, use the ActiveX control for IE5.x and IE6
+ http=new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ } catch (e) {}
+
+ var cst= new fbox_conf();
+ fbox_disable_fadin=cst.disable_fadin;
+ fbox_progress_src = cst.progress_src;
+ fbox_close_txt = cst.close_txt;
+ fbox_prev_txt = cst.prev_txt;
+ fbox_next_txt = cst.next_txt;
+ fbox_max_txt = cst.max_txt;
+ fbox_min_txt = cst.min_txt;
+
+ fbox_nbsp_txt='';
+ for (var i=0; i' + //will insert progress image after
+ '' +
+ '
'+
+ '
' +
+ '
' +
+ //------------- our caption --------------------------------
+ '
| ' + //why a table? IE5 with small windows
+ ''+ //close for "fbox_sys"
+ ' ' +
+ '' + //close for "fbox_navig"
+ ' |
' + //close for "fbox_bar"
+ //------------ end of caption --------------------------------
+ '
' + //close for "fbox_fg_inner"
+ '
' ; //close for "fbox_fg"
+
+ fbox_world = document.createElement("div");
+ fbox_world.setAttribute("id","fbox_world");
+ fbox_world.innerHTML = strHTML;
+
+ body = document.getElementsByTagName("body")[0];
+ body.appendChild(fbox_world);
+ //-----------------
+ //save original body style
+ body_style_begin= typeof(body.style.cssText) != 'undefined' ? body.style.cssText : body.getAttribute("style");
+
+ //--- all elements of the fbox we always use --------------
+ fbox_bg=getElem("fbox_bg"); fbox_progress=getElem("fbox_progress");
+ fbox_fg=getElem("fbox_fg"); fbox_content=getElem("fbox_content"); fbox_spacer=getElem("fbox_spacer");
+ fbox_bar=getElem("fbox_bar"); fbox_title=getElem("fbox_title");
+ fbox_sys=getElem("fbox_sys"); fbox_close_a=getElem("fbox_close_a"); fbox_resize_a=getElem("fbox_resize_a");
+ fbox_navig=getElem("fbox_navig"); fbox_prev_a=getElem("fbox_prev_a"); fbox_next_a=getElem("fbox_next_a");
+ fbox_fg_inner=getElem("fbox_fg_inner"); //this one is just for white background...
+ fbox_resize_nbsp=getElem("fbox_resize_nbsp");
+
+ //------------- close link, always same action:
+ fbox_close_a.onclick = hideFbox;
+
+ //----- let's define two "blending transitions" ---------------
+ //blendingTransition(elem)
+ blending_fg = new blendingTransition(fbox_fg);
+ blending_bg = new blendingTransition(fbox_bg);
+
+ //----- let's detect explorer Quirks Mode -------------------------------
+ //---- what a silly test, but It works even with a fake "user agent" ----
+ fbox_content.style.visibility='hidden';
+ fbox_fg.style.width = 100+'px';
+ fbox_content.style.width='auto';
+ fbox_fg.style.left=-200+'px'; //let's put this outside preview
+ fbox_fg.style.top=-200+'px';
+ fbox_fg.style.display = ''; //must display to get properties
+ ieQkMd = fbox_content.offsetWidth<100; //silly test, we get exactely 100 with other modes
+ fbox_fg.style.display = 'none';
+ fbox_content.style.visibility='visible';
+ fbox_fg.style.left=0+'px'; //facultative, I think
+ fbox_fg.style.top=0+'px';
+
+ //-------- is position fixed supported ? -------------------
+ //--- posfix doesn't work in ie7 if "quirck mode" ---------
+ posfix_enabled=!ieQkMd;
+ //by default yes, except old internet explorer versions
+ if (window.ActiveXObject && !window.XMLHttpRequest) {
+ posfix_enabled=false;
+ }
+
+ //----------- let's preload the progress image -------------
+ fbox_progress_img = new Image();
+ var tmpAppendedTest=false;
+ fbox_progress_img.onload= function() {
+ this.onload=null;
+ this.onerror=null;
+ this.style.width= this.width +'px';
+ this.style.height= this.height +'px';
+ this.style.border='0px';
+ if (!tmpAppendedTest) {
+ tmpAppendedTest=true;
+ fbox_progress.appendChild(this);
+ }
+ };
+
+ fbox_progress_img.onerror = function () {
+ this.onerror=null;
+ //never mind -------------------
+ if (!tmpAppendedTest) {
+ tmpAppendedTest=true;
+ fbox_progress.appendChild(this);
+ }
+ };
+
+ fbox_progress_img.src=fbox_progress_src;
+ specialTags=['select','object','embed'];
+ var fbox_stack= []; //array literal notation
+
+ //------------------------------------------------------------------
+ //------- let's define a class that will store some params ---------
+ //------- and allow to launch fbox ---------------------------------
+ function fbox_kind(tagFB) {
+ var _this=this;
+ this.tagLink=tagFB.parentNode;
+ this.title = tagFB.getAttribute('title');
+ var src= trim(tagFB.getAttribute('src'));
+ if (!src) {
+ src= trim(this.tagLink.getAttribute('href'));
+ }
+ this.src=src;
+
+ this.type = 3; //by default iframe
+ var typeStr = trim(tagFB.getAttribute('type')).toLowerCase();
+ switch (typeStr) {
+ case 'image':
+ this.type = 0;
+ break;
+ case 'inline':
+ this.type = 1;
+ break;
+ case 'ajax':
+ this.type = 2;
+ break;
+ case 'iframe':
+ this.type = 3;
+ break;
+ default:
+ if (src.indexOf("#")>=0) {
+ this.type = 1;
+ break;
+ }
+
+ var dot = src.lastIndexOf(".");
+ if (dot<1) {
+ break;
+ }
+ var ext = src.substr(dot+1,src.length).toLowerCase(); //add 1 to remove the dot
+ if ( ext == 'jpg' || ext == 'jpeg' || ext == 'png' || ext == 'gif' ) {
+ this.type = 0;
+ }
+ }//end switch(typeStr)
+
+ this.tagContent= null;
+ if (this.type==1) {
+ var elemSrcId = src.substr(src.indexOf("#")+1,1000);
+ this.tagContent= getElem(elemSrcId);
+
+ if (this.tagContent) {//let's mark all select elements of the hidden div
+ var i,j,elems;
+ for (j=0;j0 ) {
+ this.imgType+=1;
+ } else {
+ this.width = 200;
+ }
+
+ if (this.height && this.height>0 ) {
+ this.imgType+=2;
+ } else {
+ this.height = 150;
+ }
+
+ this.imgState = this.imgType ? 1:0;
+
+ //---- special: images have a title attribute ------------------
+ //---- so if there's no title attribute in frontbox tag --------
+ //---- let's use the one from the thumbnail (if there's one) ---
+
+ if (!trim(this.title)) { //no title defined in frontbox tag
+ var imgs=this.tagLink.getElementsByTagName('img');
+ if (imgs[0]) { //should be at least one image
+ var newtitle= imgs[0].getAttribute('title');
+ if (trim(newtitle)) {
+ this.title= newtitle;
+ }
+ }//end if should be at least one image
+ }//end if no title defined in frontbox tag
+
+ }//end if this is an image
+ else {
+ if (!this.width) {
+ this.width=400;
+ }
+ if (!this.height) {
+ this.height=300;
+ }
+ }
+
+ //---------------------------------------------------------
+ //----------- set next and previous link ------------------
+ //--- must declare public, otherwise cannot create list
+
+ this.next=null;
+ this.prev=null;
+ var name=trim(tagFB.getAttribute('name')).toLowerCase();
+ if (name && this.type != -1 ) { //ok we have a set
+ if (fbox_stack[name]) { //already a previous element
+ var n= fbox_stack[name].length;
+ this.prev= fbox_stack[name][n-1];
+ this.prev.next= this;
+ fbox_stack[name][n]= this; //add the new element
+ } //end if already a previous element
+ else { //inserting first elem of set
+ fbox_stack[name]=[]; //array literal notation
+ fbox_stack[name][0]= this;
+ } //end inserting first elem of set
+ }//end if ok we have a set
+
+ //---------------------------------------------------------
+ function ready() {
+ showFbox(_this);
+ return false; //otherwise, would follow link
+ }
+
+ this.tagLink.onclick = this.type == -1 ? nope : ready;
+ //---- for debug --------
+ //if(this.type != -1 ) this.tagLink.href="javascript:void(0);";
+ }//end function fbox_kind
+
+ //----------------------------------------------------------
+ //check tags
+ var spans = document.getElementsByTagName("span");
+
+ //var i: already defined in scope
+ for ( i=0; i< spans.length; i++) {
+ var span = spans[i];
+ if ( span.className=="frontbox" && span.parentNode.nodeName.toLowerCase() == "a" ) { // check if parent is a link
+ _void(new fbox_kind(span)); // just to make jslint happy
+ }
+ } //end for i
+ }//end function init_fbox()
+
+ //addEvent(window, 'load',init_fbox); //let's do-it right now
+ //---- onReady like func ----------------------
+ boostLoad(init_fbox);
+}//end of function fbox_engine
+
+fbox_engine(); //and go !
\ No newline at end of file
diff --git a/wp-content/themes/twentyten/frontbox/indicator.gif b/wp-content/themes/twentyten/frontbox/indicator.gif
new file mode 100644
index 0000000..915c198
Binary files /dev/null and b/wp-content/themes/twentyten/frontbox/indicator.gif differ
diff --git a/wp-content/themes/twentyten/frontbox/spacer.gif b/wp-content/themes/twentyten/frontbox/spacer.gif
new file mode 100644
index 0000000..56ee8e2
Binary files /dev/null and b/wp-content/themes/twentyten/frontbox/spacer.gif differ