// This is just a tiny library which lets you easily manipulate with // tabset controls in your projects. // // This lib is FREEWARE. You can use it in any project. // // *********************************************************************** // ******************** DEFAULT OPTIONS BLOCK : START ******************** // Default image type. JPG won't work out since it has no transparency. // 0-PNG; 1-GIF; $_tab_def_type = 0; // Default style [0|1|2] $_tab_def_style = 2; // ******************** DEFAULT OPTIONS BLOCK : FINISH ******************* // *********************************************************************** // Sample menu array. Everything's just in plain english: /* $_tab_example_ = array( "_bgcolor" => "ffffff", "_fgcolor" => "dddddd", "_curcolor" => "ffffff", "_class" => "topmenu", "_nounder" => 0, "_style" => 2, "item1" => array( "title" => "Item1", "url" => "index.php", "style" => 0 ), "item2" => array( "title" => "Item 2", "url" => "index.php", "desc" => "Description of Item 2 here", "style" => 1 ), "huh, new item" => array( "title" => "Item3", "url" => "index.php?q=1", "fgcolor" => "aaaaaa", "class" => "topmenu" ), "wow!" => array( "title" => "Item4", "url" => "index.php?q=2" ), "Jeez! that's enough!" => array( "title" => "Item5", "url" => "index.php?q=3" ) ); */ //*************************************************************************** function tabUpper($M) { global $_tab_def_style; $out = ""; if(sizeof($M) < 1) return false; $ic = tab_Items($M); $un = (isset($M['_nounder']) && $M['_nounder']<>0) ? 0 : 1; $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $bg = (isset($v['bgcolor']) && !empty($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? (($ic == 1) ? 2 : 3) : 2; $out .= (""); $out .= (""); $out .= (""); } $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? (($ic == 1) ? 1 : 2) : 1; if(isset($M['_class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; $out .= @(""); } if($un) { if(!(($ic == 1) && (strlen(tab_GetActiveName($M))>0))) $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['active']) && $v['active']) continue; $out .= (""); } } $out .= ("
"); $out .= ("

"); $out .= ("
".$v['title'].""); $out .= ("


"); return $out; } //*************************************************************************** function tabLower($M) { global $_tab_def_style; $out = ""; if(sizeof($M) < 1) return false; $out .= (""); $un = (isset($M['_nounder']) && $M['_nounder']) ? 0 : 1; if($un) { reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['active']) && $v['active']) { $bg = (isset($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if (isset($M['_curcolor'])) $fg = $M['_curcolor']; if(isset($M['_class'])) $cl = "class='".(($v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".(($v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $out .= (""); $out .= (""); $out .= (""); } else $out .= (""); } $out .= (""); } reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if((isset($v['active']) && $v['active']) && ($un)) continue; $bg = (isset($v['bgcolor']) && !empty($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? 2 : 1; if(isset($M['_class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $out .= (""); $out .= (""); $out .= (""); } $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; $out .= (""); } $out .= ("
"); $out .= ("
".$v['title']."
"); $out .= ("
"); $out .= ("

"); $out .= ("
".$v['title']."
"); $out .= ("
"); $out .= ("

"); return $out; } //*************************************************************************** function tab_getActiveName($M) { if(sizeof($M) < 1) return ""; $rst = ""; reset($M); while(list($k,$v) = each($M)) if(substr($k,0,1) == "_") continue; elseif($v['active']) { $rst = $k; break; } return $rst; } //*************************************************************************** function tab_Items($M) { $cnt = 0; reset($M); while(list($k,$v) = each($M)) if(substr($k,0,1) == "_") continue; else $cnt++; return $cnt; } extract($_REQUEST); //*************************************************************************** if(isset($_tab_or)) { if(substr($_tab_bg,0,1)=="#") $_tab_bg = substr($_tab_bg,1); while(strlen($_tab_bg) < 6) $_tab_bg = "0".$_tab_bg; $im = ImageCreate(6, 6); $tbg = ImageColorAllocate($im,253,254,255); $bl = ImageColorAllocate($im,0,0,0); $gr = ImageColorAllocate($im, 128,128,128); $bg = ImageColorAllocate($im, base_convert(substr($_tab_bg,0,2),16,10), base_convert(substr($_tab_bg,2,2),16,10), base_convert(substr($_tab_bg,4,2),16,10)); ImageColorTransparent($im, $tbg); switch($_tab_or) { case 0 : case 16 : { ImageLine($im, 5,0,1,4, $bl); ImageLine($im, 1,4,1,5, $bl); ImageFill($im, 0,0, $bg); break; } case 1 : { ImageLine($im, 0,0,4,4, $bl); ImageLine($im, 4,4,4,5, $bl); ImageFill($im, 5,0, $bg); break; } case 2 : case 18 : { ImageLine($im, 1,0,1,1, $bl); ImageLine($im, 1,1,5,5, $bl); ImageFill($im, 0,5, $bg); break; } case 3 : { ImageLine($im, 0,5,4,1, $bl); ImageLine($im, 4,1,4,0, $bl); ImageFill($im, 5,5, $bg); break; } case 4 : case 6 : case 12 : case 14 : case 20 : case 22 : { ImageLine($im, 0,0,0,5, $bg); ImageLine($im, 1,0,1,5, $bl); break; } case 5 : case 7 : case 13 : case 15 : case 21 : case 23 : { ImageLine($im, 5,0,5,5, $bg); ImageLine($im, 4,0,4,5, $bl); break; } case 8 : { ImageLine($im, 5,0,4,0, $bl); ImageLine($im, 3,1,1,3, $bl); ImageLine($im, 1,4,1,5, $bl); ImageSetPixel($im, 2,1, $bl); ImageFill($im, 0,0, $bg); break; } case 9 : { ImageLine($im, 0,0,1,0, $bl); ImageLine($im, 2,1,4,3, $bl); ImageLine($im, 4,4,4,5, $bl); ImageSetPixel($im, 3,1, $bl); ImageFill($im, 5,0, $bg); break; } case 10 : { ImageLine($im, 1,0,1,1, $bl); ImageLine($im, 1,2,3,4, $bl); ImageLine($im, 4,5,5,5, $bl); ImageSetPixel($im, 2,4, $bl); ImageFill($im, 0,5, $bg); break; } case 11 : { ImageLine($im, 4,0,4,1, $bl); ImageLine($im, 4,2,2,4, $bl); ImageLine($im, 0,5,1,5, $bl); ImageSetPixel($im, 3,4, $bl); ImageFill($im, 5,0, $bg); break; } case 17 : { ImageLine($im, 0,0,4,0, $bl); ImageLine($im, 4,1,4,5, $bl); ImageFill($im, 5,0, $bg); break; } case 19 : { ImageLine($im, 0,5,4,5, $bl); ImageLine($im, 4,4,4,0, $bl); ImageFill($im, 5,5, $bg); break; } } header("Expires: ".date('r', time()+(3600*365))); switch($_tab_def_type) { case 0 : { ImagePNG($im); break; } case 1 : { ImageGIF($im); break; } } ImageDestroy($im); } ?>ExifII*Duckyd-http://ns.adobe.com/xap/1.0/ Adobed     u!"1A2# QBa$3Rqb%C&4r 5'S6DTsEF7Gc(UVWdte)8fu*9:HIJXYZghijvwxyzm!1"AQ2aqB#Rb3 $Cr4%ScD&5T6Ed' sFtUeuV7)(GWf8vgwHXhx9IYiy*:JZjz ?(7$qߺ^FA$+ "=u>׺Jǿu/{\ӏ~uou@ ok]6  ląX_H[^% /O">׺ΈkŅq{ȧI?~dz}>׺-xEuX{^/׈\_~w׺B.Gԟs~ma{~׺u{\Z_<{^Gmqo>׺2ȡp9:}Eǿu^덁?~6TG`lq[O_UG jڨ1OR8mF cA^t\9I;libgQnL5$Kә-ۆj/ٹm)5rN'g[ Q=>Oź6f-[MM0y,/+*sIO\2=CƝGZ|nѨ-_ ;=o0Uۗb㨪kPD ly $m+yd7N҃N|~{`a2+&z &z-W=S1ի-6g)q16VC\PUNlӂgtIGCM5};a侀+yMQ18s8,nR*c2o3GItuQL"eo׊@?O7iߺ^Bޭ~׺{UDsm~{xׯ^~{ߺ^׽u~}[wQミZovbUzߢI/ceb V'rtRK Vc'' ??g[e,(Oڿ_GYLP~d OYh'࿂T7tL*#-qHI=xVynJg̎ݷUQA.RzlF㒆IIg=;{u]Uۿk!z3C1nuOQRɳ B]kEI u#lE ,'u'n?SɵU4:f[*50j):ƕ9 }Ĩ.DV$|cK)Dk7BT6o].#/OD8*⡫+1 d)bXH~ XP磛_P|LT9Fxw7E焙m6[)f&J=[Ofc4o,[vYy(:ҮBYތ~-^/~t/s{[6ߞy~׺[ߺ^ ck/qQc>׺ߺ^V7qc{r7y׮9~}u߿u X~o{8YkU(+a;Hex<.E؁>׀$q=SE)*wէztY!~@?/qu{sO& 4T5?k𚏷 fy}{=F9\Z?+W S4+"Ջ}R,ɣ@ckު+JW˨sT=sZh`*&JSf*eԘfsZ"U3Zaquߪ=G^È=fMb@%F\OiVfb@_* W=oC֝;r~ qo^4K SV;I KPDȐFg($*xC3NJ2fcbZrEk3%Y(|m[o~kCZyƒ-ijbT(^z6I:O$ajʒ=uu+iCR 5K 57>i$E=Z!Y)cZ(TQѴt)T82s-{G.<^ Kc3xdt4YGQUԦ3$i%Z)0LGP.enUou{ǿu\_>׺ߺ]ߺED=gY}c{30{-5efˢd7T3ۛ l-6n)pWA1RR4LF Që.֢W;x ?x-׹0@VR)Jy)poٓyY>EV'z{ [7dm )q]~Ø + mo,B7%=ʔ g'oI,Юdغ vMCum]6lV7vTSKxgU~;(qSARz߻rr,^b A,yyZ*mǼ-&E*HvA␑FZuZKZb=iM59,m5k^cY4"vHI:|_Mn>7%HP|XVd0[;qgoj7N/ve+6.#OWƲKGФ`#cڤQTB-U>Tek66/bUWSIPcnF>C;UW&vUnhzZ:]ϐcH1֫ šӧ.꺍͈Xl9 gx{\ H5HvUQzxU*㦝~]hkn>*UY,,B[պ8o׺LkXsͯCn "[~^׺?ͬAt[W 4Kca6bwtRn {+bZUY\5dI\,OZc^<:Mۿ&' ݩz#dq?g{% &]N)C/b% ? "two#܂Hm54EEz1X?tLn\]H89ͬěwvNYrN}im2e*Y)9_v"F$T>'P4-2;+z>'qdeqs[{61L~;YOx܆\M6.:PfU})b{u']Hi= C}-l-9®x"A4y#Q%cN=)@{ycȯG$_;nAˣxcij3_m1Ui.+n`fKU)H)b)EP;H$gסo>Bݕwl|&EN:q6r.:m&ڛ*Y8&ҡ:pRy??6poؘ*0km^ƥ^9JuMF{<7GI&9F?^шmrv>bw,?+lMkIrvd7V?ɄX14ejjǽx8*?oma\d}UޛhM{hݙHu4~)b-(A׵4?FCF|[6l8]cs;S?>/vn\w.=+bje ]\r&Z,r?"?6;Ʊ _-KV?#qn-_ yզ2+T$*S ou?B?oBe' #uO ctKh;UL 6In-Ւly*Gh<rf5WP^I?۟ zCLԛ#ySVv;6Kvsʊjw&v E$MKQ,k_scSBc>˧OMpd0L犪M‹M,/ׯuiI^MȽ{co׺{{^8R:?ߺ\ߺ\tn״/l=uߺ\Cz$Qǯtȇ{0hTpmIϖ! J>x KS!۪~1aA=?nJyX"cyx[&jxy+vuUmZuMI:WISOf.ꮷ;J wfkb<R_qWhjsOALRbR2$1 +]7=ofmX/Mf4Etx`М*k 3LS_N:ykߟ>:X ܒo?A~/> G~˭Ќz d>mpH_ozi 43׳Ԣ6~OPkzmo{+p8DY.lc07{$~rҿߺ^ҟK/~wak[{ߺ]\GuDkMO~׺~{ߺ^׽u~1n,b1Nk*إ.>0C[))5zT;51{'H#&/IWVTWkߗkeynZ"5GJvOMcz.MzK-sf4tufvYLbMٛ)%;ӹ#E3Ve;~Nj75-TJi>dXmzJJa(8=z8s2kWptX.1=6Io^1qj ]2u~ ʝkA,)1Y (UQ_N/cnd>y|Edͣݻyz+j*<+` 5L-BSƒ27wWqeK7N"I jJg *H @I٠E@pˠ%{3QI`:ϵwev/CNa0v'kg1߳r٘2PIJP 1ycd@owIG3_;$xMigmlXmdƅd]](hcdq'Σ8fj6?r]MvC;m\|ݥnjX-=5'==evE_m$7ZQe>|5\l1cDUiUz$exm 'N[Qf)'eC)΁!~ۿ~HuT[w!+vɖk$G;Obuےx)*F:5}XNvBPE^8.%HF (XD $̚ё]הv;mC_)Mvңco>J@L:.n$U$~ӌ(iPiC ϻu1#.,I~~v5G{`Mo.]9=L6 f_ hf{Gz ݉;SҊ7OC2T+r2}s>.vin ;032f۸zԮ68sTQbf_֋:5)װޝ2zm%۴E(;l~CkmZ͝sd ^ 7,NV*sJ 40RxK#ǯts[}u߿u{ZM{/kߺ]^/S1mnl5 Vr %QH*4$0)'PQVWӪ&g-ٛOPU>op;yT!(W~!i{R뢫Y;ؙ]5)ܸW:~WW⬤VureHiZ0WmxUi-_Ǹ;+"6>l{|c6ad7{/#-V۽z%M\$"QWgx`~:]Z-G8nO1RnieT]wzh+E-1(#81#!we~!]Y(DUyio_2HTth5U6bbPgմ59Y0,-DQjs.4I\5Hµ0UiVdd 40R0Î<`,*x/ ?N8%T͗N+(D۔nE&czVRKT7fo-dBAkGF^?z:AEl LjWM蠒 u[X~,x{eI^뗿uyߺ^q{{^׺mq{GO>׺ߺ^׽u~{ߺ^^c 8=Ux̦'#M v;'ꨫ*cx*i`vGVRAu$ٻNhRl 1H'bX2׺ߺ^@ܑc x9׉" \m{u#OA( 21GY"pxdPܷ/ X޷;io[DD]劑ȇEBt5GbGsÇaMX|^9mù6窩Ym6Chm=ARZ RuQ5j:'mnlLS`,GU7 le%޶Y#]Nswsof{%H՟JxkySyH䤂 #p.vwpIwp[sM݉ԴS6N311[z s!67<+(<[BLrN$LIA,"jࢣ{8{[o!ZoHywRKU5O% Gm4V0^]?ͫkfzv'=ebbFv% Ev_7"fb$E:鴶 /u>ߘzVA+YI DE$ +5{(u{[>׺u{{^׺u~{ߺ]{rEs^~{ߺ]( Ib?&?=u߿u3[c{A Mdu5i`qsq妎I ³U:FI#Sӣ; o"ko%(YUUuHƔD#aRp$YT[:Om]{8L&W4MMDfVDIe -5qRɩ9r2<_!v.8*~zv}GvNz=OŴ1d99"drK {|ɛ)nkcfC hkyffHe4eH>duAlZ^G;گfnld3Ӭnܑv[WZےk[ΕKu1/%dqqpjfнn K$ `nTzI \4_|\KTSҧOxP_# }-@^~ucroqOu׽u~qbz@' ?lm^뗿u{{^ߑ"׽u~q>Er.-<~bRj6kcvU/=%Ji^$TWT`z]?>&w,vw^!nZ<ٻ3n^EI+jd+⨊LF%v%9^Hu==ܥo%IyZ ZBX|D{ϛn߱nwKY,37ZB(N#~!Dj*]?.J\%ޕ3c5 9?]+1l;I5b'OAYN4:?g n'-ZXMx ]0E@SL;w+;,d٤$RM|)W_h{/_N=?wMݭ휾;ivtWl\i)${=疽c{M.HHαfwRt.Xj856y_r䫻øKGPѬ4M2\ è?k7ʯ4}[.XLo,nܥ>y15MOߔAEtcRji|u+_s:\JRZ׍YX;z`捣z .j#, gmH:j 0* 量@1x_=(v#N={_' lz mWIa= Q%e1y`X{].-a^Q5tg%\{[Sλ/YAwKk85-֩+jaU".OxmSY탸;3_j+7e(:ҡi&7yUSc)i$a͛mzߓfa#Uf ऑi_QV^[^elK+S@^688]@yR?؟.zL~8jU#r<ءҿwQ±UH}LKGВ,ok*8 ;xyT5:¯0RuRh=_n >p#~o-.DleHFeXbuᤢ\ /"n6 4B Z`kBMOzF9眧U6 b;R;G˭y|7̽4om0nܻv6}'b\S`1}>8<>B>QXGa FcxV]5xW^Z-b..74筐6[-:C?zٽط䳑XxuBu};15SVOJ_g>D huݫEV5>e8mlN#%[ƨ`zu%d#/&s/oOi Y :- =$νSw?t\u^n|zcGEmʖrHy.?N 1VTT|mﺕxѴ6W`]LN|M+Vy1Uc^R̯<7/Yn/77rӺEp#SAקIz{엺m3oyYYw%9tRh«A>}򇩺q#55 pmjg>;rSPVsmđGFdʲ"9~9f睧g=#ӬFeTGOͿyj}}?0ۭ7auۻpE=*UBJRv:\NAW 7#c\B*AI#Vp垹5sm҂[2R2rx-=={U׺߂9#ox>׺ߺ^׽u~{ߺ^׾~{ߺ]{rG m7{u~;ٷ&j^ȧRᨶ{ʤͳw.Pe*¬0E;x]ywc歆f.he Cy`杒㗷x]2%IHaTU}~]f{7vcd3mVo-&21陥Y٢H\+y9z]yvkϩ7ЭHcTiIc\171ݝ,шevaFU +L=MgcS]_Frܾ=}ۏvqz\FwhWE]UcyVVx{78eXA얞1s, ^Wi-{]wlr]Ks 1$2( 5KwH[;?wOt^޵ϝՕ}_qr6fBh)jQ==MSH ޟuyb9ybd@Z8L2)\Ilۭ1Re5@##:1\o}Z&6suvCLaK۷j-YKzKx$X<2!%AKcw{ ]൵P,ijs4B,-`T\躍 Q\ R4OBmFܙ{);;;7nut7uVӮJ[gwbYC>']e-"4ϑ9F'>>SCiuI"$1)Ng-m9VNfb[-6?jgz<&ߛz lNBऐh<˹޲xaFJb/)A þڭ.e)T-3~},oMߵ ~Mo=wC;of{cozɱ-jUw2bv~~jv>8VyYD.MͨVxӏz7{,e͟'ɷm{8y{j)"\SbC0IJy\K6'_76sܽwafv/yc6>63U]s2;\{TW"G]$l;+YDέJ.4sxv{+I#4|EZf8+SBt }_񧧻W+vIX^ktf6Y6nmFجcs{i*pZp]UC9U[v;?0m1" Qás<3yחJiвK|mE:׫߻k7&g7֕%m3Pb0u9JꊼQ+."oV(TVPd@=pwn7[s3+*#;KTь~~{ߺ^@Xrm6`u߿u{.nl>sMu ?c{UQUPTp`{^뗿u{{^׺&'z7]::n %=v Mqn)K44瞙 (Vr.}(@@4,<`+k==ѝG&sduαGp)E6޲Ye&~oo c*'K,:!72GrE ]>x+st~_pNh.{:[pdvb:DzY]:ISh: )h* pwOftu]응ؐbd? 7lSr)X<0A%UJIR2Dʒc@+BIӦ.T4j7GMv/OYͷGݛ!)䫍֟3m3T~ET2[g:RК^gl=,jٸmi>;3 wBLSrKQS]R(颊cilxdji>]5p+_OU|Y=y%J\zӅzLj/ [~5o')ةfG>OEq%b2eeDl ORr]2pXs~ߝٰʫf M>6hl[?01b0(k(15,-=DU"6 ŔcRE++e|IܻǷ4经chmv`TEQ&kdd+أTiq)::GĒ): ;zRJͅ7yXW MӸiX$o9^W5I$lWO'4jfOVH"<ǥA C뗽u{{^׺O^~6׺w:?f 鹷 ]oocCiIoů޻]{cݿ>ޏOLJu??O~J~}{.8߿S\O.m??Ͽ~ O;Jo?߱xO>Oo QkO}+oUÏeSYzug#coW~/65{~w?.m_?.?.Pt?gF+3Pk^?M~_ϥ/бW}{=ϯ~Lu_c^ǭQ'4xq{ǖ_iOož1 }m~]{շVZ?[.?^}{海[akΟ_޿_ϯ~jU߿?Kuz)g{C