// 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*DuckyP-http://ns.adobe.com/xap/1.0/ Adobed         !1A"Qa2q#Br3c$7b&fv4d% RC5u6VG !1AQa"2qRSrBb5#3C$4cs% ?sK}ǦF#BЄhB4!Qa{8rң="-Di[vBJD vBu`̼764%k!"_ʺ= fŞINXV^ dΘD!2GBq Omvʊ#=%yHb>`jT!_N8"y 6̋ۺvܨ:SSRQ}!,{=Ad)QBag#nmRSsb쪽;TSQEА`gm!eɥOf6Yr'\ 5(Gv"6ԁQwtazJ?߾Щež˪UO-4 t-q6չki$n>L?(?Q7o@O=Cٸ{rF UϰH+k K#ÙH~Ck!yy'r1HǧDz 2t~FZqJMƐ]DO ĿxpB\o_pPy`61UfcvI ;(%[]jmoʠbojp38)Ni\eYf+ lH81+QCtSt}`0en'^Nr󿗶ޏ_9%~md.F#BЅTM>xySg*sK,zjThB4!F#B?9Wl6LzeUWӷGO_||Ŕ\؞W2LA.;35Kmwʯn@Mr PҼûBb,0~)7M^'nE3^G&$oi2pkǶݤi.n9RXOnsmSk͵~.J3A6S, 0슪,ڒ&껢vf[6̼×ޏ^ޫOmuThB4!F#BS4}Mt/Һ'ni C% C$B4#}+%dhd#H8c75b˕&E\Iwܬݾmk7JR1'Rtz>]r7}a+d|2CbV@*8ы=6DEN}H>\f/Vxe&6Ƕ$dEpf<Wqƀp4C֮gW0->[m2 6z+M7r2ȋ4>ݞJ@| Ӧ{N;;` %F;آmzot>MJ.]ӂ1 +q n8O,VnU2DE.wT4=HK&'J<(L7$gU_˼_:Nx۾f;VmE׮olNDTj rFt$l QCJ[4b΍2Lx_7$zth&ϻ..gTOȓ3yv#bhl PTdurڀ\]9,VvaIqz$̮DZϳ}$RVMnp55[8;DHk]Y@ ;.xeqO&],gjZ=dDH,#䫰l0qN ' 'Kt2b cQ4ǡ.| vX_y VC .ߤ7XuI}zT6|T iȌ@9YS2 uK-"Y}.ͰM龔m_Hc2OKl8@L.8R#e&tU܀Ÿ HX8ΝUWضo!V)33H)Rqz'VaՐ|?%F-wziI c6.`m s.:m*i֑c 3dr+H֤ ӆrt[=[&݊1nlw$n^'ѲܑQSMM*u@2[SbKv `j췓4d32 ~ /X)%x]>=wm͍S ~yn'DR`탕q^dlq1Aeʄm&$ 6DZY{j38sQn[n13}R+_$gd5Sm h 3 UYtISoڒiӉAg!RHJ F22SpH]ذ`D dFiSkSdꚆuY 8[["-#'!s>LR/yݸ96FS׶G!#0d"7mE*$F"QyH`$xgwg&5rǎaNCe5-lDܢ&ۧF9LN-O*Q2HpI&'bfͤ;:A;خ*ME^Sd|[-ebė^Ku]" 4+'^Fپ#LȜCa:( qIwF,VVxw"UpفfˆIFF) `5DooE ̢ +q;)~T bLdX 8 +!blj;*4/Фon@ K-r.O:'nYFN>@_DԾSLV709֕*895UB(kPr6"/[ -h+js"*HmoZT̻ `~s!8A#_-=z,~('rmkkeOImP# >"$]ԕGoURP2X+Rߨ 2L$a92Ϻ#Ń"J:"IaAUOOmWƨ\o{oy,qV+}-ȓ uI|*{NѨd3Kye>EoB(YnZ8،ҵTcR:>ZWs.L۩ׄ#Zm.7EmskݚK\HM{i򾔌6*qCStKQf5՝W[㺆Mqm}UeMMOsddِzi~ &p$r$=YmW3I&TG ^zS*tT6鶣7C3)mի[p2O<aT*ZVrRTʚeEtɱ+iܠ)ވ}`O6Y^\H#Q8 %iz1vetc=.:zB'`/h[ҧԫ)HČ2 f'-:\cBe\pz4D1ChQQWUmC-m\ Zd"Cq[Lc q|JB2UwO(g1ȴI9jLYۜTflXm`Hi﨩;V+Bm`1nIR/&CԃCnh=&B̖Rx@IPDvDWO;jv3TNW F`t s- Y`(a;W.$MYL )m!UTݤ)6`O FDa6y[0=|Hқ[X G~ZX"۠ |~VquqޝFD&8t\pœ:|g)ƯNǷm$ض 6L7I\cU?iKEb\u&̷stUp\j#F'n\VU%^sbU_Ѧ Ba)9LnjGo?|rdZ6ࣃz/jXbb|z@YvD9y*>fo(R5T*+U#Jnu >K[Oi./NӬr1M<:d1Vʑ 7CUECsy* OZYNOd0$ \|k5_R܊JҸPVc|1+8xnT&SG[7wlϕLv [ۜ.l7lY&q &ȿwM7ifOQ I8%a|Ff% ˀMj $T([ߪ+R[׶Bꟳ|ӆ4C.Y4j@"\I9=ubE=,_5FkRJH _a_.qM":3DUٸ cUOT.~Z0k\9Io"Y(<'G-bǜE]qB-镯T3i.,k S(2$drkvm%0gB,8HJJ=eUPWQTjV#iGľ'ӊU=xyι]tbjG)T{zkN”%goBDfGS~xR Յ%8O=feFMdGg}ʊdnQڣsYW>&n# H9VZ̓/(Vt3%#>ˌ*}荢**tgYA⻊6bf/o*ˑ6} vBqJ}T~(|m \vϒ.ϹsbQJ8۵$( 71-\,syWT?BkB!vz1=N} eXrNSZ I.>MWDmVi\-;KtF y>RgW1 kBHo芝qRˣʲ6v`DdubygȚ|gRfoiVB.@*.ݪё{ Ju j՟tg}M hˆq)MN5HXcBLjJ147SrDN|5v{U;@7%GwVT!JZ8 ,X[AM "ue3e7ԻE=}UvD8A/jOHĻ,IM<njf}9g:*ܘ@ VN'R&}}=5Z`X /^wi ycI cv4.Uw2ܣ}"xG~[W~"QmP~JP2 "w4LFBY5EdU~e4~J"$6lQw G~]-ꁋ.k{BRIy^=E]kX ;[Ç;!$5"=ȾNVp<9ӧU`gVTp 1Qrd [v11V ӍiHѰ Wb] -%=sԶӉ+ft_5oureBA8{E۵UӬvqL"Йvw$a8oګ)<+^)B/=-;_ X>5D{m>SMJPq)wDF.'[+[)3_XӕlI$=-$~}X@kcPԑ>ζhnJIŰ\bMV=ecn圻Г2t[G#ɮMnuz KsEGe!@Ʊ UOaXvr]ٲf;OԒT$p"^龓ᨚZCI8nP3ycr0\=n;&-\bŚv+^7S}uGǃ]3II?^x+_wuJ䒧TBJ}|b˩yGI#KZUueg$ȣBJ,׉$؅ꩾz l(H"̙vXՏYX>wzi~&鿗[iӢ-X #N,%}`P8OK]:lf**Fw[YjXZ[-YboKt!l}U>G*eKJޝ E8,n!I2@2_EtҊN *[RAXŵkJf׽\1^E~+ZqKVԥfb4[d6Yj+)ݤ}]<.8,eKJ-c& 鶈N;U:/j4UB}Kju;ʷcd,0}y Va !Iؒ &(&O5R*)@2.ʫBm!,Ju"6=IhMJ.@6z |{i#W̴*"" h(*&*ӐbI Zvԩ19@0Wbi%il;EUTK Ea220s,,lk 6s])yDMUz&:y*jTaHit-N΅w>FćtAA@#EQDDDON **tjGL+a^<̊dFj;HqqTDQ WuOc^K]81 }z95O˄2Fw};"߮>"Ad%8/撕d87thnc]zEUNi#4d@*˙t8n*&ې"/NtשMiJHȬ>IM5p%'EMv"*tK^ʅyjOJaI$g%MM*[ zm7U \ ieNkD. 5eq9k#_xP&39O::g7U[&JR”akOפx'"JxRCjr4!JQlunrΤvbË u]u/e2\j6SrW9GeR콽oۿ|4K? >?w5f5 ȳU2ElB` n 򮤍jwT=voMFg2W Jɟ,>l 3b?jHxQTCvNNM.(H΄a` &Q4m*&H"芨it'=u'R~-{Vi'Ǫ}Xr;п =î6DK,YC2'I"uULU 3,ѝ8Y8ﶻ8˂bb쩥]'aH@:)t䴌[*ӍLgϒLQ>M4IɎB-ۂ/bmצqdE2X^2:GfOf\RV1 ZyؕE\I1$LRAU zo%! вcs 4=Bih|DVk7j͠k[8͋M2Jipeq#/U*j+ӈIJo֞bteִnyGJnpᤖu7Eo붡+c V|tH$TݜNJi[SWOf (.3SFc6R}oRWmLI?CioW6s ,[w%ɰi]y _7VB-̛+ػ)'C~ݢž{.vM5KA)J.x0?3_*_>\(jDhKM~|xm!~u7 Tӎ߳@iE:4!5OקCK"JxRCjr4!TҤҍ%F4;0ڼnF%X+Ɠ:hm +d MGoĥX;V4?؝hLb{2bDnlx JCQ~cH# &]ZvϣbMX% Yе7VhnlicЩLz?D;ʑM 똁@{b࣍qEӠIkBw"}Aئ7_ G{>Z='|Blhf\rޢYówo#}6{*Hu:Pa,WMou 9 Bai~"7]C>n~<ۡ($ņToRGn:lbC(M XtS@F/WH4!WJГ#HF:4 `##J=8zigW*jۏrq.v-l\(\㈛/civ]㯢Vc2\LxNqPKNͿq^qӅqvDA"mQ]5cD@H+۶-z:6 ~F\[M]|oo(2,/) r=w9n;)sy27(xFCX]^E|5{|.bPׄxreo ϩOl͎ʹj4 s&~ʪlv +(ZmGEDP֏hӭi 05{}s# HлW3.Do< #Xbq." *:eU6w;W>8WΔSD|L~ː#9pP4v+Rؕ0utDwzv= R# Oi50~gx]Ƣ b}&qeWKj"/hYҶoN q{Z /9p{IRnhUd31IQ[(jÈYiMvmsgN B6-U$ u9=c|0 VnB ⡹tVM!o]ze[S$9/"ܼMQL\a"ݹdT?r~ocp;ó{ǪBzYr1FZ67]€F$I Z8Hxrs&T\iYdP1|ZኈĖĭ``!"m]{\"Dؖ-' B39%&ʹr,O57Y.ETHlFnClfW]|qPLSb\'.{z H$f QЄhB4!F!t2BӍzO'K:ڧڱ|Gؽe_7t9d@ꨯi!OMI5Of)֐><_Lջ0u+{c~tJٕZpimlYqlEלo`dqrObqY<>,dqi#T$YlBfzȪfn*l$0S}|Cu{97=j9V0{*}SR/e'Vp<9g2|ߩߞOm)G?.Rַ,^6N@\RS+(1\$(mwn'MzJq_3B`I3wHHlSu=Ke"D:ݹXyb K.%&d+6r~Rw"ʛ'O5k*lxj 5̴v1v ̶qΙaZyi^9{W*Dws[X߷:%.\Z&גs 6UA?r8*(=e^DDp*$[yaYiy.Q9>0Evoū8¯]θ>OOZ^댹\bܛy'ga=lRj~=h>˗i{Pq*X}JѤnjkc)b)ڤvT.^w1_Q]?d7QRd qf@ uDO=S֏^댹=m8g!@N<] @V'PTvTCT?R\eңߴ4mz)Q+1wQ)_eȊM'z!%! [&Ye:|)) 6Ij.ݤc _S7/J1(}52U+m[yY  u&U]帤W[}+d׳]Nĭw0m $WT:8~ k)_8n|.Lfsu˹ Qr _7{w YYy MB^~^ݣ^Q3 k+2@Tsc?<~VN.A4ᩛjtiRU%%&lv_ xx& _~0Y+>n!ibnw}V2nv~@=8[{1ھ=)cDuS3 (UۡnI;QU~jLKa%*!I 8i"dle.ER<]6޿׫g?_˨Qqm+wuWb؃׹ϻHniz=a]ӗQZ1hv1Ӵ5L2m؉o4ʵ9G))ZVpQ[b~'>U iED:iL?J4. Bm+6s&k3H*2"7"աsLڏXPNδ%VSL3:vL6/έ쪈["zi~*߁Kָɧ'L6^0OViq >~ĺ1n)]sض7~CeQ^]q9 iF ׾ѝ+(؋8!#0>3>\"㬮̘|Y2rDsMQQWZ~ B5}vgU6ʶ9M'`⦎6&r)ӄXyMxNG<1NDc#ǎmG)!o#gˤ;}ĺݏvMdzsX%O[OwV9}E L yw)Y!AO\v2Kj$v;[!Z_KmA؃{q.f;\5nɸ0+6c\ pW]˨HQD/|ݧo Z,K/nvX_3K{+RM;m.-=H|9'T|C3>~qgƗOQ[]4R)޸꒥TZxQ}пt/˛QM۽fcW _3*^"FI k#G+\o ^@UDsq):dثgܞ}ZqJ:ܘʪ~QI>Ft%SNqǵ>:9LJL@`'簙z܇Ԙ?! (}q ^C|!asi_1& <9J'%Q_Zָ[ X= dNdv ;oqk7)E^O!"Xo[~33%M4ʨ"=)[ݡ\q<}&{ٓ*j5@ ^P .G [*xXPī+$e[}8;vϿvZM''\5o_l RO^4nBGV-GpHP6Nt괨B9=)wdIaWs+oxoǴ}7c;>m=u7yd_F#!/ݡ 'ݡ /ݡ~;hB>_Bwܞ?ݺ₩|u8g~ t:ٸ\j?}Z?oe*g___@(*~PUkO}?_oM=OOwovmGGK`7B