Ignore:
Timestamp:
08.05.2009 20:02:49 (3 years ago)
Author:
chris
Message:
  • ZMSGallery: added first galleriffic tests
File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMESS/mediaplayer/branches/3.0/com/zms/mediaplayer/xml/mediaplayer.metaobj.xml

    r529 r535  
    917917<item key="custom"><![CDATA[<dtml-comment>--// BO bodyContentZMSCustom_ZMSGallery //--</dtml-comment> 
    918918 
     919<div id="gallery"> 
     920 
     921<div id="controlsContainerSel"></div> 
     922<div id="imageContainerSel"></div> 
     923<div id="titleContainerSel"></div> 
     924<div id="descContainerSel"></div> 
     925<a id="downloadLinkSel">Download Original</a> 
     926<div id="thumbsContainerSel"> 
     927<ul class="noscript"> 
     928<li> 
     929<a href="http://localhost:8080/mediaplayer/content/e5/ZMSScreen_small_ger.jpg" original="http://localhost:8080/mediaplayer/content/e5/ZMSScreen_ger.jpg" title="{imageTitle}" description="{imageDescription}"><img src="http://localhost:8080/mediaplayer/content/e5/ZMSScreen_small_ger.jpg" alt="{imageTitle (again for graceful degradation)}" /></a> 
     930</li> 
     931<li> 
     932<a href="http://localhost:8080/mediaplayer/content/e5/ZMSScreen_small_ger.jpg" original="http://localhost:8080/mediaplayer/content/e5/ZMSScreen_ger.jpg" title="{imageTitle}" description="{imageDescription}"><img src="http://localhost:8080/mediaplayer/content/e5/ZMSScreen_small_ger.jpg" alt="{imageTitle (again for graceful degradation)}" /></a> 
     933</li> 
     934</ul> 
     935</div> 
     936 
     937</div> 
     938 
     939<script> 
     940 
     941$(document).ready(function() { 
     942        var gallery = $('#gallery').galleriffic('#thumbsContainerSel', { 
     943                delay:                3000, 
     944                numThumbs:            20, 
     945                preloadAhead:         40, // Set to -1 to preload all images 
     946                enableTopPager:       true, 
     947                enableBottomPager:    true, 
     948                imageContainerSel:    '#imageContainerSel', 
     949                controlsContainerSel: '#controlsContainerSel', 
     950                titleContainerSel:    '#titleContainerSel', 
     951                descContainerSel:     '#descContainerSel', 
     952                downloadLinkSel:      '#downloadLinkSel', 
     953                renderSSControls:     true, 
     954                renderNavControls:    true, 
     955                playLinkText:         'Play', 
     956                pauseLinkText:        'Pause', 
     957                prevLinkText:         'Previous', 
     958                nextLinkText:         'Next', 
     959                nextPageLinkText:     'Next &rsaquo;', 
     960                prevPageLinkText:     '&lsaquo; Prev' 
     961        }); 
     962}); 
     963 
     964</script> 
    919965 
    920966<dtml-comment>--// EO bodyContentZMSCustom_ZMSGallery //--</dtml-comment>]]></item> 
     
    9911037<item type="dictionary"><dictionary> 
    9921038<item key="custom"> 
    993 <data content_type="application/x-javascript" filename="jquery.galleriffic.min.js" type="file">2f2f202863292032303038205472656e7420466f6c65790a3b2866756e6374696f6e2824297b646f63756d656e742e777269746528223c7374796c6520747970653d27746578742f637373273e2e6e6f7363726970747b646973706c61793a6e6f6e657d3c2f7374796c653e22293b766172207665723d2767616c6c657269666669632d312e30273b7661722067616c6c6572794f66667365743d303b7661722067616c6c65726965733d5b5d3b76617220616c6c496d616765733d5b5d3b76617220686973746f727943757272656e74486173683b76617220686973746f72794261636b537461636b3b76617220686973746f7279466f7277617264537461636b3b76617220697346697273743d66616c73653b76617220646f6e74436865636b3d66616c73653b766172206973496e697469616c697a65643d66616c73653b66756e6374696f6e206765744861736846726f6d537472696e672868617368297b69662821686173682972657475726e2d313b686173683d686173682e7265706c616365282f5e2e2a232f2c2727293b69662869734e614e2868617368292972657475726e2d313b72657475726e282b68617368293b7d0a66756e6374696f6e206765744861736828297b76617220686173683d6c6f636174696f6e2e686173683b72657475726e206765744861736846726f6d537472696e672868617368293b7d0a66756e6374696f6e20726567697374657247616c6c6572792867616c6c657279297b67616c6c65726965732e707573682867616c6c657279293b67616c6c6572794f66667365742b3d67616c6c6572792e646174612e6c656e6774683b7d0a66756e6374696f6e2067657447616c6c6572792868617368297b666f7228693d303b693c67616c6c65726965732e6c656e6774683b692b2b297b7661722067616c6c6572793d67616c6c65726965735b695d3b696628686173683c2867616c6c6572792e646174612e6c656e6774682b67616c6c6572792e6f666673657429290a72657475726e2067616c6c6572793b7d0a72657475726e20303b7d0a66756e6374696f6e20676574496e6465782867616c6c6572792c68617368297b72657475726e20686173682d67616c6c6572792e6f66667365743b7d0a66756e6374696f6e20636c69636b48616e646c657228652c67616c6c6572792c6c696e6b297b67616c6c6572792e706175736528293b6966282167616c6c6572792e73657474696e67732e656e61626c65486973746f7279297b76617220686173683d6765744861736846726f6d537472696e67286c696e6b2e68726566293b696628686173683e3d30297b76617220696e6465783d676574496e6465782867616c6c6572792c68617368293b696628696e6465783e3d30290a67616c6c6572792e676f746f28696e646578293b7d0a652e70726576656e7444656661756c7428293b7d7d0a66756e6374696f6e20686973746f727943616c6c6261636b28297b76617220686173683d6765744861736828293b696628686173683c302972657475726e3b7661722067616c6c6572793d67657447616c6c6572792868617368293b6966282167616c6c6572792972657475726e3b76617220696e6465783d686173682d67616c6c6572792e6f66667365743b67616c6c6572792e676f746f28696e646578293b7d0a66756e6374696f6e20686973746f7279496e697428297b6966286973496e697469616c697a65642972657475726e3b6973496e697469616c697a65643d747275653b7661722063757272656e745f686173683d6c6f636174696f6e2e686173683b686973746f727943757272656e74486173683d63757272656e745f686173683b696628242e62726f777365722e6d736965297b696628686973746f727943757272656e74486173683d3d2727297b686973746f727943757272656e74486173683d2723273b7d7d656c736520696628242e62726f777365722e736166617269297b686973746f72794261636b537461636b3d5b5d3b686973746f72794261636b537461636b2e6c656e6774683d686973746f72792e6c656e6774683b686973746f7279466f7277617264537461636b3d5b5d3b697346697273743d747275653b7d0a736574496e74657276616c2866756e6374696f6e28297b686973746f7279436865636b28293b7d2c313030293b7d0a66756e6374696f6e20686973746f7279416464486973746f72792868617368297b686973746f72794261636b537461636b2e707573682868617368293b686973746f7279466f7277617264537461636b2e6c656e6774683d303b697346697273743d747275653b7d0a66756e6374696f6e20686973746f7279436865636b28297b696628242e62726f777365722e736166617269297b69662821646f6e74436865636b297b76617220686973746f727944656c74613d686973746f72792e6c656e6774682d686973746f72794261636b537461636b2e6c656e6774683b696628686973746f727944656c7461297b697346697273743d66616c73653b696628686973746f727944656c74613c30297b666f722876617220693d303b693c4d6174682e61627328686973746f727944656c7461293b692b2b29686973746f7279466f7277617264537461636b2e756e736869667428686973746f72794261636b537461636b2e706f702829293b7d656c73657b666f722876617220693d303b693c686973746f727944656c74613b692b2b29686973746f72794261636b537461636b2e7075736828686973746f7279466f7277617264537461636b2e73686966742829293b7d0a76617220636163686564486173683d686973746f72794261636b537461636b5b686973746f72794261636b537461636b2e6c656e6774682d315d3b69662863616368656448617368213d756e646566696e6564297b686973746f727943757272656e74486173683d6c6f636174696f6e2e686173683b686973746f727943616c6c6261636b28293b7d7d656c736520696628686973746f72794261636b537461636b5b686973746f72794261636b537461636b2e6c656e6774682d315d3d3d756e646566696e656426262169734669727374297b686973746f727943616c6c6261636b28293b697346697273743d747275653b7d7d7d656c73657b7661722063757272656e745f686173683d6c6f636174696f6e2e686173683b69662863757272656e745f68617368213d686973746f727943757272656e7448617368297b686973746f727943757272656e74486173683d63757272656e745f686173683b686973746f727943616c6c6261636b28293b7d7d7d0a7661722064656661756c74733d7b64656c61793a333030302c6e756d5468756d62733a32302c7072656c6f616441686561643a34302c656e61626c65546f7050616765723a66616c73652c656e61626c65426f74746f6d50616765723a747275652c696d616765436f6e7461696e657253656c3a27272c63617074696f6e436f6e7461696e657253656c3a27272c636f6e74726f6c73436f6e7461696e657253656c3a27272c6c6f6164696e67436f6e7461696e657253656c3a27272c72656e6465725353436f6e74726f6c733a747275652c72656e6465724e6176436f6e74726f6c733a747275652c706c61794c696e6b546578743a27506c6179272c70617573654c696e6b546578743a275061757365272c707265764c696e6b546578743a2750726576696f7573272c6e6578744c696e6b546578743a274e657874272c6e657874506167654c696e6b546578743a274e657874202672736171756f3b272c70726576506167654c696e6b546578743a27266c736171756f3b2050726576272c656e61626c65486973746f72793a66616c73652c6175746f53746172743a66616c73652c6f6e4368616e67653a756e646566696e65642c6f6e5472616e736974696f6e4f75743a756e646566696e65642c6f6e5472616e736974696f6e496e3a756e646566696e65642c6f6e506167655472616e736974696f6e4f75743a756e646566696e65642c6f6e506167655472616e736974696f6e496e3a756e646566696e65647d3b242e666e2e67616c6c657269666669633d66756e6374696f6e287468756d6273436f6e7461696e657253656c2c73657474696e6773297b242e657874656e6428746869732c7b7665723a66756e6374696f6e28297b72657475726e207665723b7d2c696e697469616c697a655468756d62733a66756e6374696f6e28297b746869732e646174613d5b5d3b7661722067616c6c6572793d746869733b746869732e247468756d6273436f6e7461696e65722e66696e642827756c2e7468756d6273203e206c6927292e656163682866756e6374696f6e2869297b76617220246c693d242874686973293b7661722024615468756d623d246c692e66696e642827612e7468756d6227293b76617220686173683d67616c6c6572792e6f66667365742b693b67616c6c6572792e646174612e70757368287b7469746c653a24615468756d622e6174747228277469746c6527292c736c69646555726c3a24615468756d622e6174747228276872656627292c63617074696f6e3a246c692e66696e6428272e63617074696f6e27292e72656d6f766528292c686173683a686173687d293b24615468756d622e61747472282772656c272c27686973746f727927293b24615468756d622e61747472282768726566272c2723272b68617368293b24615468756d622e636c69636b2866756e6374696f6e2865297b636c69636b48616e646c657228652c67616c6c6572792c74686973293b7d293b7d293b72657475726e20746869733b7d2c69735072656c6f6164436f6d706c6574653a66616c73652c7072656c6f6164496e69743a66756e6374696f6e28297b696628746869732e73657474696e67732e7072656c6f616441686561643d3d302972657475726e20746869733b746869732e7072656c6f61645374617274496e6465783d746869732e63757272656e74496e6465783b766172206e657874496e6465783d746869732e6765744e657874496e64657828746869732e7072656c6f61645374617274496e646578293b72657475726e20746869732e7072656c6f616452656375727369766528746869732e7072656c6f61645374617274496e6465782c6e657874496e646578293b7d2c7072656c6f616452656c6f636174653a66756e6374696f6e28696e646578297b746869732e7072656c6f61645374617274496e6465783d696e6465783b72657475726e20746869733b7d2c7072656c6f61645265637572736976653a66756e6374696f6e287374617274496e6465782c63757272656e74496e646578297b6966287374617274496e646578213d746869732e7072656c6f61645374617274496e646578297b766172206e657874496e6465783d746869732e6765744e657874496e64657828746869732e7072656c6f61645374617274496e646578293b72657475726e20746869732e7072656c6f616452656375727369766528746869732e7072656c6f61645374617274496e6465782c6e657874496e646578293b7d0a7661722067616c6c6572793d746869733b766172207072656c6f6164436f756e743d63757272656e74496e6465782d7374617274496e6465783b6966287072656c6f6164436f756e743c30290a7072656c6f6164436f756e743d746869732e646174612e6c656e6774682d312d7374617274496e6465782b63757272656e74496e6465783b696628746869732e73657474696e67732e7072656c6f616441686561643e3d3026267072656c6f6164436f756e743e746869732e73657474696e67732e7072656c6f61644168656164297b73657454696d656f75742866756e6374696f6e28297b67616c6c6572792e7072656c6f6164526563757273697665287374617274496e6465782c63757272656e74496e646578293b7d2c353030293b72657475726e20746869733b7d0a76617220696d616765446174613d746869732e646174615b63757272656e74496e6465785d3b69662821696d61676544617461290a72657475726e20746869733b696628696d616765446174612e696d616765290a72657475726e20746869732e7072656c6f61644e657874287374617274496e6465782c63757272656e74496e646578293b76617220696d6167653d6e657720496d61676528293b696d6167652e6f6e6c6f61643d66756e6374696f6e28297b696d616765446174612e696d6167653d746869733b67616c6c6572792e7072656c6f61644e657874287374617274496e6465782c63757272656e74496e646578293b7d3b696d6167652e616c743d696d616765446174612e7469746c653b696d6167652e7372633d696d616765446174612e736c69646555726c3b72657475726e20746869733b7d2c7072656c6f61644e6578743a66756e6374696f6e287374617274496e6465782c63757272656e74496e646578297b766172206e657874496e6465783d746869732e6765744e657874496e6465782863757272656e74496e646578293b6966286e657874496e6465783d3d7374617274496e646578297b746869732e69735072656c6f6164436f6d706c6574653d747275653b7d656c73657b7661722067616c6c6572793d746869733b73657454696d656f75742866756e6374696f6e28297b67616c6c6572792e7072656c6f6164526563757273697665287374617274496e6465782c6e657874496e646578293b7d2c313030293b7d0a72657475726e20746869733b7d2c6765744e657874496e6465783a66756e6374696f6e28696e646578297b766172206e657874496e6465783d696e6465782b313b6966286e657874496e6465783e3d746869732e646174612e6c656e677468290a6e657874496e6465783d303b72657475726e206e657874496e6465783b7d2c67657450726576496e6465783a66756e6374696f6e28696e646578297b7661722070726576496e6465783d696e6465782d313b69662870726576496e6465783c30290a70726576496e6465783d746869732e646174612e6c656e6774682d313b72657475726e2070726576496e6465783b7d2c70617573653a66756e6374696f6e28297b696628746869732e696e74657276616c290a746869732e746f67676c65536c69646573686f7728293b72657475726e20746869733b7d2c706c61793a66756e6374696f6e28297b69662821746869732e696e74657276616c290a746869732e746f67676c65536c69646573686f7728293b72657475726e20746869733b7d2c746f67676c65536c69646573686f773a66756e6374696f6e28297b696628746869732e696e74657276616c297b636c656172496e74657276616c28746869732e696e74657276616c293b746869732e696e74657276616c3d303b696628746869732e24636f6e74726f6c73436f6e7461696e6572297b746869732e24636f6e74726f6c73436f6e7461696e65722e66696e6428276469762e73732d636f6e74726f6c73206127292e72656d6f7665436c61737328292e616464436c6173732827706c617927292e6174747228277469746c65272c746869732e73657474696e67732e706c61794c696e6b54657874292e61747472282768726566272c2723706c617927292e68746d6c28746869732e73657474696e67732e706c61794c696e6b54657874293b7d7d656c73657b746869732e7373416476616e636528293b7661722067616c6c6572793d746869733b746869732e696e74657276616c3d736574496e74657276616c2866756e6374696f6e28297b67616c6c6572792e7373416476616e636528293b7d2c746869732e73657474696e67732e64656c6179293b696628746869732e24636f6e74726f6c73436f6e7461696e6572297b746869732e24636f6e74726f6c73436f6e7461696e65722e66696e6428276469762e73732d636f6e74726f6c73206127292e72656d6f7665436c61737328292e616464436c6173732827706175736527292e6174747228277469746c65272c746869732e73657474696e67732e70617573654c696e6b54657874292e61747472282768726566272c2723706175736527292e68746d6c28746869732e73657474696e67732e70617573654c696e6b54657874293b7d7d0a72657475726e20746869733b7d2c7373416476616e63653a66756e6374696f6e28297b766172206e657874496e6465783d746869732e6765744e657874496e64657828746869732e63757272656e74496e646578293b766172206e657874486173683d746869732e646174615b6e657874496e6465785d2e686173683b696628746869732e73657474696e67732e656e61626c65486973746f7279290a6c6f636174696f6e2e687265663d2723272b6e657874486173683b656c73650a746869732e676f746f286e657874496e646578293b72657475726e20746869733b7d2c676f746f3a66756e6374696f6e28696e646578297b696628696e6465783c3029696e6465783d303b656c736520696628696e6465783e3d746869732e646174612e6c656e67746829696e6465783d746869732e646174612e6c656e6774682d313b696628746869732e73657474696e67732e6f6e4368616e6765290a746869732e73657474696e67732e6f6e4368616e676528746869732e63757272656e74496e6465782c696e646578293b746869732e63757272656e74496e6465783d696e6465783b746869732e7072656c6f616452656c6f6361746528696e646578293b72657475726e20746869732e7265667265736828293b7d2c726566726573683a66756e6374696f6e28297b76617220696d616765446174613d746869732e646174615b746869732e63757272656e74496e6465785d3b69662821696d61676544617461290a72657475726e20746869733b7661722069735472616e736974696f6e696e673d747275653b7661722067616c6c6572793d746869733b766172207472616e736974696f6e4f757443616c6c6261636b3d66756e6374696f6e28297b69735472616e736974696f6e696e673d66616c73653b69662867616c6c6572792e24636f6e74726f6c73436f6e7461696e6572297b67616c6c6572792e24636f6e74726f6c73436f6e7461696e65722e66696e6428276469762e6e61762d636f6e74726f6c7320612e7072657627292e61747472282768726566272c2723272b67616c6c6572792e646174615b67616c6c6572792e67657450726576496e6465782867616c6c6572792e63757272656e74496e646578295d2e68617368292e656e6428292e66696e6428276469762e6e61762d636f6e74726f6c7320612e6e65787427292e61747472282768726566272c2723272b67616c6c6572792e646174615b67616c6c6572792e6765744e657874496e6465782867616c6c6572792e63757272656e74496e646578295d2e68617368293b7d0a76617220696d616765446174613d67616c6c6572792e646174615b67616c6c6572792e63757272656e74496e6465785d3b69662867616c6c6572792e2463617074696f6e436f6e7461696e6572297b67616c6c6572792e2463617074696f6e436f6e7461696e65722e656d70747928292e617070656e6428696d616765446174612e63617074696f6e293b7d0a696628696d616765446174612e696d616765297b67616c6c6572792e6275696c64496d61676528696d616765446174612e696d616765293b7d656c73657b69662867616c6c6572792e246c6f6164696e67436f6e7461696e6572297b67616c6c6572792e246c6f6164696e67436f6e7461696e65722e73686f7728293b7d7d7d0a696628746869732e73657474696e67732e6f6e5472616e736974696f6e4f7574297b746869732e73657474696e67732e6f6e5472616e736974696f6e4f7574287472616e736974696f6e4f757443616c6c6261636b293b7d656c73657b746869732e247472616e736974696f6e436f6e7461696e6572732e6869646528293b7472616e736974696f6e4f757443616c6c6261636b28293b7d0a69662821696d616765446174612e696d616765297b76617220696d6167653d6e657720496d61676528293b696d6167652e6f6e6c6f61643d66756e6374696f6e28297b696d616765446174612e696d6167653d746869733b6966282169735472616e736974696f6e696e67297b67616c6c6572792e6275696c64496d61676528696d616765446174612e696d616765293b7d7d3b696d6167652e616c743d696d616765446174612e7469746c653b696d6167652e7372633d696d616765446174612e736c69646555726c3b7d0a746869732e72656c6f636174655072656c6f61643d747275653b72657475726e20746869732e73796e635468756d627328293b7d2c6275696c64496d6167653a66756e6374696f6e28696d616765297b696628746869732e24696d616765436f6e7461696e6572297b746869732e24696d616765436f6e7461696e65722e656d70747928293b7661722067616c6c6572793d746869733b766172206e657874496e6465783d746869732e6765744e657874496e64657828746869732e63757272656e74496e646578293b696628746869732e246c6f6164696e67436f6e7461696e6572297b746869732e246c6f6164696e67436f6e7461696e65722e6869646528293b7d0a746869732e24696d616765436f6e7461696e65722e617070656e6428273c7370616e20636c6173733d22696d6167652d77726170706572223e3c6120636c6173733d22616476616e63652d6c696e6b222072656c3d22686973746f72792220687265663d2223272b746869732e646174615b6e657874496e6465785d2e686173682b2722207469746c653d22272b696d6167652e616c742b27223e3c2f613e3c2f7370616e3e27292e66696e6428276127292e617070656e6428696d616765292e636c69636b2866756e6374696f6e2865297b636c69636b48616e646c657228652c67616c6c6572792c74686973293b7d293b7d0a696628746869732e73657474696e67732e6f6e5472616e736974696f6e496e290a746869732e73657474696e67732e6f6e5472616e736974696f6e496e28293b656c73650a746869732e247472616e736974696f6e436f6e7461696e6572732e73686f7728293b72657475726e20746869733b7d2c73796e635468756d62733a66756e6374696f6e28297b696628746869732e247468756d6273436f6e7461696e6572297b76617220706167653d4d6174682e666c6f6f7228746869732e63757272656e74496e6465782f746869732e73657474696e67732e6e756d5468756d6273293b69662870616765213d746869732e63757272656e7450616765297b746869732e63757272656e74506167653d706167653b746869732e7570646174655468756d627328293b7d0a76617220247468756d62733d746869732e247468756d6273436f6e7461696e65722e66696e642827756c2e7468756d627327292e6368696c6472656e28293b247468756d62732e66696c74657228272e73656c656374656427292e72656d6f7665436c617373282773656c656374656427293b247468756d62732e657128746869732e63757272656e74496e646578292e616464436c617373282773656c656374656427293b7d0a72657475726e20746869733b7d2c7570646174655468756d62733a66756e6374696f6e28297b7661722067616c6c6572793d746869733b766172207472616e736974696f6e4f757443616c6c6261636b3d66756e6374696f6e28297b67616c6c6572792e72656275696c645468756d627328293b69662867616c6c6572792e73657474696e67732e6f6e506167655472616e736974696f6e496e290a67616c6c6572792e73657474696e67732e6f6e506167655472616e736974696f6e496e28293b656c73650a67616c6c6572792e247468756d6273436f6e7461696e65722e73686f7728293b7d3b696628746869732e73657474696e67732e6f6e506167655472616e736974696f6e4f7574297b746869732e73657474696e67732e6f6e506167655472616e736974696f6e4f7574287472616e736974696f6e4f757443616c6c6261636b293b7d656c73657b746869732e247468756d6273436f6e7461696e65722e6869646528293b7472616e736974696f6e4f757443616c6c6261636b28293b7d0a72657475726e20746869733b7d2c72656275696c645468756d62733a66756e6374696f6e28297b696628746869732e63757272656e74506167653c30290a746869732e63757272656e74506167653d303b766172206e65656473506167696e6174696f6e3d746869732e646174612e6c656e6774683e746869732e73657474696e67732e6e756d5468756d62733b7661722024746f7050616765723d746869732e247468756d6273436f6e7461696e65722e66696e6428276469762e746f7027293b69662824746f7050616765722e6c656e6774683d3d30290a24746f7050616765723d746869732e247468756d6273436f6e7461696e65722e70726570656e6428273c64697620636c6173733d22746f7020706167696e6174696f6e223e3c2f6469763e27292e66696e6428276469762e746f7027293b6966286e65656473506167696e6174696f6e2626746869732e73657474696e67732e656e61626c65546f705061676572297b24746f7050616765722e656d70747928293b746869732e6275696c6450616765722824746f705061676572293b7d0a6966286e65656473506167696e6174696f6e2626746869732e73657474696e67732e656e61626c65426f74746f6d5061676572297b7661722024626f74746f6d50616765723d746869732e247468756d6273436f6e7461696e65722e66696e6428276469762e626f74746f6d27293b69662824626f74746f6d50616765722e6c656e6774683d3d30290a24626f74746f6d50616765723d746869732e247468756d6273436f6e7461696e65722e617070656e6428273c64697620636c6173733d22626f74746f6d20706167696e6174696f6e223e3c2f6469763e27292e66696e6428276469762e626f74746f6d27293b656c73650a24626f74746f6d50616765722e656d70747928293b746869732e6275696c6450616765722824626f74746f6d5061676572293b7d0a766172207374617274496e6465783d746869732e63757272656e74506167652a746869732e73657474696e67732e6e756d5468756d62733b7661722073746f70496e6465783d7374617274496e6465782b746869732e73657474696e67732e6e756d5468756d62732d313b69662873746f70496e6465783e3d746869732e646174612e6c656e677468290a73746f70496e6465783d746869732e646174612e6c656e6774682d313b76617220247468756d6273556c3d746869732e247468756d6273436f6e7461696e65722e66696e642827756c2e7468756d627327293b247468756d6273556c2e66696e6428276c6927292e656163682866756e6374696f6e2869297b76617220246c693d242874686973293b696628693e3d7374617274496e6465782626693c3d73746f70496e646578297b246c692e73686f7728293b7d656c73657b246c692e6869646528293b7d7d293b247468756d6273556c2e72656d6f7665436c61737328276e6f73637269707427293b72657475726e20746869733b7d2c6275696c6450616765723a66756e6374696f6e287061676572297b7661722067616c6c6572793d746869733b766172207374617274496e6465783d746869732e63757272656e74506167652a746869732e73657474696e67732e6e756d5468756d62733b696628746869732e63757272656e74506167653e30297b7661722070726576506167653d7374617274496e6465782d746869732e73657474696e67732e6e756d5468756d62733b70616765722e617070656e6428273c612072656c3d22686973746f72792220687265663d2223272b746869732e646174615b70726576506167655d2e686173682b2722207469746c653d22272b746869732e73657474696e67732e70726576506167654c696e6b546578742b27223e272b746869732e73657474696e67732e70726576506167654c696e6b546578742b273c2f613e27293b7d0a666f7228693d746869732e63757272656e74506167652d333b693c3d746869732e63757272656e74506167652b333b692b2b297b76617220706167654e756d3d692b313b696628693d3d746869732e63757272656e7450616765290a70616765722e617070656e6428273c7370616e20636c6173733d2263757272656e74223e272b706167654e756d2b273c2f7370616e3e27293b656c736520696628693e3d302626693c746869732e6e756d5061676573297b76617220696d616765496e6465783d692a746869732e73657474696e67732e6e756d5468756d62733b70616765722e617070656e6428273c612072656c3d22686973746f72792220687265663d2223272b746869732e646174615b696d616765496e6465785d2e686173682b2722207469746c653d22272b706167654e756d2b27223e272b706167654e756d2b273c2f613e27293b7d7d0a766172206e657874506167653d7374617274496e6465782b746869732e73657474696e67732e6e756d5468756d62733b6966286e657874506167653c746869732e646174612e6c656e677468297b70616765722e617070656e6428273c612072656c3d22686973746f72792220687265663d2223272b746869732e646174615b6e657874506167655d2e686173682b2722207469746c653d22272b746869732e73657474696e67732e6e657874506167654c696e6b546578742b27223e272b746869732e73657474696e67732e6e657874506167654c696e6b546578742b273c2f613e27293b7d0a70616765722e66696e6428276127292e636c69636b2866756e6374696f6e2865297b636c69636b48616e646c657228652c67616c6c6572792c74686973293b7d293b72657475726e20746869733b7d7d293b746869732e73657474696e67733d242e657874656e64287b7d2c64656661756c74732c73657474696e6773293b696628746869732e696e74657276616c290a636c656172496e74657276616c28746869732e696e74657276616c293b746869732e696e74657276616c3d303b696628746869732e73657474696e67732e696d616765436f6e7461696e657253656c29746869732e24696d616765436f6e7461696e65723d2428746869732e73657474696e67732e696d616765436f6e7461696e657253656c293b696628746869732e73657474696e67732e63617074696f6e436f6e7461696e657253656c29746869732e2463617074696f6e436f6e7461696e65723d2428746869732e73657474696e67732e63617074696f6e436f6e7461696e657253656c293b696628746869732e73657474696e67732e6c6f6164696e67436f6e7461696e657253656c29746869732e246c6f6164696e67436f6e7461696e65723d2428746869732e73657474696e67732e6c6f6164696e67436f6e7461696e657253656c293b746869732e247472616e736974696f6e436f6e7461696e6572733d24285b5d293b696628746869732e24696d616765436f6e7461696e6572290a746869732e247472616e736974696f6e436f6e7461696e6572733d746869732e247472616e736974696f6e436f6e7461696e6572732e61646428746869732e24696d616765436f6e7461696e6572293b696628746869732e2463617074696f6e436f6e7461696e6572290a746869732e247472616e736974696f6e436f6e7461696e6572733d746869732e247472616e736974696f6e436f6e7461696e6572732e61646428746869732e2463617074696f6e436f6e7461696e6572293b746869732e6f66667365743d67616c6c6572794f66667365743b746869732e247468756d6273436f6e7461696e65723d24287468756d6273436f6e7461696e657253656c293b746869732e696e697469616c697a655468756d627328293b726567697374657247616c6c6572792874686973293b746869732e6e756d50616765733d4d6174682e6365696c28746869732e646174612e6c656e6774682f746869732e73657474696e67732e6e756d5468756d6273293b746869732e63757272656e74506167653d2d313b746869732e63757272656e74496e6465783d303b7661722067616c6c6572793d746869733b696628746869732e246c6f6164696e67436f6e7461696e6572290a746869732e246c6f6164696e67436f6e7461696e65722e6869646528293b696628746869732e73657474696e67732e636f6e74726f6c73436f6e7461696e657253656c297b746869732e24636f6e74726f6c73436f6e7461696e65723d2428746869732e73657474696e67732e636f6e74726f6c73436f6e7461696e657253656c292e656d70747928293b696628746869732e73657474696e67732e72656e6465725353436f6e74726f6c73297b696628746869732e73657474696e67732e6175746f5374617274297b746869732e24636f6e74726f6c73436f6e7461696e65722e617070656e6428273c64697620636c6173733d2273732d636f6e74726f6c73223e3c6120687265663d222370617573652220636c6173733d22706175736522207469746c653d22272b746869732e73657474696e67732e70617573654c696e6b546578742b27223e272b746869732e73657474696e67732e70617573654c696e6b546578742b273c2f613e3c2f6469763e27293b7d656c73657b746869732e24636f6e74726f6c73436f6e7461696e65722e617070656e6428273c64697620636c6173733d2273732d636f6e74726f6c73223e3c6120687265663d2223706c61792220636c6173733d22706c617922207469746c653d22272b746869732e73657474696e67732e706c61794c696e6b546578742b27223e272b746869732e73657474696e67732e706c61794c696e6b546578742b273c2f613e3c2f6469763e27293b7d0a746869732e24636f6e74726f6c73436f6e7461696e65722e66696e6428276469762e73732d636f6e74726f6c73206127292e636c69636b2866756e6374696f6e2865297b67616c6c6572792e746f67676c65536c69646573686f7728293b652e70726576656e7444656661756c7428293b72657475726e2066616c73653b7d293b7d0a696628746869732e73657474696e67732e72656e6465724e6176436f6e74726f6c73297b76617220246e6176436f6e74726f6c733d746869732e24636f6e74726f6c73436f6e7461696e65722e617070656e6428273c64697620636c6173733d226e61762d636f6e74726f6c73223e3c6120636c6173733d2270726576222072656c3d22686973746f727922207469746c653d22272b746869732e73657474696e67732e707265764c696e6b546578742b27223e272b746869732e73657474696e67732e707265764c696e6b546578742b273c2f613e3c6120636c6173733d226e657874222072656c3d22686973746f727922207469746c653d22272b746869732e73657474696e67732e6e6578744c696e6b546578742b27223e272b746869732e73657474696e67732e6e6578744c696e6b546578742b273c2f613e3c2f6469763e27292e66696e6428276469762e6e61762d636f6e74726f6c73206127292e636c69636b2866756e6374696f6e2865297b636c69636b48616e646c657228652c67616c6c6572792c74686973293b7d293b7d7d0a686973746f7279496e697428293b76617220686173683d6765744861736828293b766172206861736847616c6c6572793d28686173683e3d30293f67657447616c6c6572792868617368293a303b76617220676f746f496e6465783d286861736847616c6c6572792626746869733d3d6861736847616c6c657279293f28686173682d746869732e6f6666736574293a303b746869732e676f746f28676f746f496e646578293b696628746869732e73657474696e67732e6175746f5374617274297b73657454696d656f75742866756e6374696f6e28297b67616c6c6572792e706c617928293b7d2c746869732e73657474696e67732e64656c6179293b7d0a73657454696d656f75742866756e6374696f6e28297b67616c6c6572792e7072656c6f6164496e697428293b7d2c31303030293b72657475726e20746869733b7d3b7d29286a5175657279293b</data></item> 
     1039<data content_type="text/x-c" filename="jquery.galleriffic-0.7.js" type="file"><![CDATA[/* 
     1040 * jQuery Galleriffic plugin 
     1041 * 
     1042 * Copyright (c) 2008 Trent Foley 
     1043 * Licensed under the MIT License: 
     1044 *   http://www.opensource.org/licenses/mit-license.php 
     1045 * 
     1046 * Thanks to Taku Sano (Mikage Sawatari), whose history plugin I adapted to work with Galleriffic 
     1047 */ 
     1048;(function($) { 
     1049 
     1050        // Write noscript style 
     1051        document.write("<style type='text/css'>.noscript{display:none}</style>"); 
     1052 
     1053        var ver = 'galleriffic-0.7'; 
     1054        var galleryOffset = 0; 
     1055        var galleries = []; 
     1056        var allImages = [];      
     1057        var historyCurrentHash; 
     1058        var historyBackStack; 
     1059        var historyForwardStack; 
     1060        var isFirst = false; 
     1061        var dontCheck = false; 
     1062        var isInitialized = false; 
     1063 
     1064        function getHash() { 
     1065                var hash = location.hash; 
     1066                if (!hash) return -1; 
     1067                hash = hash.replace(/^.*#/, ''); 
     1068                if (isNaN(hash)) return -1; 
     1069                return (+hash); 
     1070        } 
     1071 
     1072        function registerGallery(gallery) { 
     1073                galleries.push(gallery); 
     1074                 
     1075                // update the global offset value 
     1076                galleryOffset += gallery.data.length; 
     1077        } 
     1078 
     1079        function getGallery(hash) { 
     1080                for (i = 0; i < galleries.length; i++) { 
     1081                        var gallery = galleries[i]; 
     1082                        if (hash < (gallery.data.length+gallery.offset)) 
     1083                                return gallery; 
     1084                } 
     1085                return 0; 
     1086        } 
     1087         
     1088        function historyCallback() { 
     1089                // Using present location.hash always (seems to work, unlike the hash argument passed to this callback) 
     1090                var hash = getHash(); 
     1091                if (hash < 0) return; 
     1092 
     1093                var gallery = getGallery(hash); 
     1094                if (!gallery) return; 
     1095                 
     1096                var index = hash-gallery.offset; 
     1097                gallery.goto(index); 
     1098        } 
     1099         
     1100        function historyInit() { 
     1101                if (isInitialized) return; 
     1102                isInitialized = true;  
     1103 
     1104                var current_hash = location.hash; 
     1105                 
     1106                historyCurrentHash = current_hash; 
     1107                if ($.browser.msie) { 
     1108                        // To stop the callback firing twice during initilization if no hash present 
     1109                        if (historyCurrentHash == '') { 
     1110                                historyCurrentHash = '#'; 
     1111                        } 
     1112                } else if ($.browser.safari) { 
     1113                        // etablish back/forward stacks 
     1114                        historyBackStack = []; 
     1115                        historyBackStack.length = history.length; 
     1116                        historyForwardStack = []; 
     1117                        isFirst = true; 
     1118                } 
     1119 
     1120                setInterval(function() { historyCheck(); }, 100); 
     1121        } 
     1122         
     1123        function historyAddHistory(hash) { 
     1124                // This makes the looping function do something 
     1125                historyBackStack.push(hash); 
     1126                historyForwardStack.length = 0; // clear forwardStack (true click occured) 
     1127                isFirst = true; 
     1128        } 
     1129         
     1130        function historyCheck() { 
     1131                if ($.browser.safari) { 
     1132                        if (!dontCheck) { 
     1133                                var historyDelta = history.length - historyBackStack.length; 
     1134                                 
     1135                                if (historyDelta) { // back or forward button has been pushed 
     1136                                        isFirst = false; 
     1137                                        if (historyDelta < 0) { // back button has been pushed 
     1138                                                // move items to forward stack 
     1139                                                for (var i = 0; i < Math.abs(historyDelta); i++) historyForwardStack.unshift(historyBackStack.pop()); 
     1140                                        } else { // forward button has been pushed 
     1141                                                // move items to back stack 
     1142                                                for (var i = 0; i < historyDelta; i++) historyBackStack.push(historyForwardStack.shift()); 
     1143                                        } 
     1144                                        var cachedHash = historyBackStack[historyBackStack.length - 1]; 
     1145                                        if (cachedHash != undefined) { 
     1146                                                historyCurrentHash = location.hash; 
     1147                                                historyCallback(); 
     1148                                        } 
     1149                                } else if (historyBackStack[historyBackStack.length - 1] == undefined && !isFirst) { 
     1150                                        historyCallback(); 
     1151                                        isFirst = true; 
     1152                                } 
     1153                        } 
     1154                } else { 
     1155                        // otherwise, check for location.hash 
     1156                        var current_hash = location.hash; 
     1157                        if(current_hash != historyCurrentHash) { 
     1158                                historyCurrentHash = current_hash; 
     1159                                historyCallback(); 
     1160                        } 
     1161                } 
     1162        } 
     1163 
     1164        var defaults = { 
     1165                delay:                3000, 
     1166                numThumbs:            20, 
     1167                preloadAhead:         40, // Set to -1 to preload all images 
     1168                enableTopPager:       true, 
     1169                enableBottomPager:    true, 
     1170                imageContainerSel:    '', 
     1171                thumbsContainerSel:   '', 
     1172                controlsContainerSel: '', 
     1173                titleContainerSel:    '', 
     1174                descContainerSel:     '', 
     1175                downloadLinkSel:      '', 
     1176                renderSSControls:     true, 
     1177                renderNavControls:    true, 
     1178                playLinkText:         'Play', 
     1179                pauseLinkText:        'Pause', 
     1180                prevLinkText:         'Previous', 
     1181                nextLinkText:         'Next', 
     1182                nextPageLinkText:     'Next &rsaquo;', 
     1183                prevPageLinkText:     '&lsaquo; Prev' 
     1184        }; 
     1185 
     1186        function clickHandler(gallery) { 
     1187                gallery.pause(); 
     1188                return false; 
     1189        } 
     1190 
     1191        $.fn.galleriffic = function(thumbsContainerSel, settings) { 
     1192                //  Extend Gallery Object 
     1193                $.extend(this, { 
     1194                        ver: function() { 
     1195                                return ver; 
     1196                        }, 
     1197 
     1198                        buildDataFromThumbs: function() { 
     1199                                this.data = []; 
     1200                                var gallery = this; 
     1201                                this.$thumbsContainer.find('li').each(function(i) { 
     1202                                        var $a = $(this).find('a'); 
     1203                                        var $img = $a.find('img:first'); 
     1204                                        gallery.data.push({slide:$a.attr('href'),thumb:$img.attr('src'),original:$a.attr('original'),title:$a.attr('title'),description:$a.attr('description'),hash:gallery.offset+i}); 
     1205                                }); 
     1206                                return this; 
     1207                        }, 
     1208 
     1209                        isPreloadComplete: false, 
     1210 
     1211                        preloadInit: function() { 
     1212                                if (this.settings.preloadAhead == 0) return this; 
     1213                                 
     1214                                this.preloadStartIndex = this.currentIndex; 
     1215                                var nextIndex = this.getNextIndex(this.preloadStartIndex); 
     1216                                return this.preloadRecursive(this.preloadStartIndex, nextIndex); 
     1217                        }, 
     1218                         
     1219                        preloadRelocate: function(index) { 
     1220                                // By changing this startIndex, the current preload script will restart 
     1221                                this.preloadStartIndex = index; 
     1222                                return this; 
     1223                        }, 
     1224 
     1225                        preloadRecursive: function(startIndex, currentIndex) { 
     1226                                // Check if startIndex has been relocated 
     1227                                if (startIndex != this.preloadStartIndex) { 
     1228                                        var nextIndex = this.getNextIndex(this.preloadStartIndex); 
     1229                                        return this.preloadRecursive(this.preloadStartIndex, nextIndex); 
     1230                                } 
     1231 
     1232                                var gallery = this; 
     1233 
     1234                                // Now check for preloadAhead count 
     1235                                var preloadCount = currentIndex - startIndex; 
     1236                                if (preloadCount < 0) 
     1237                                        preloadCount = this.data.length-1-startIndex+currentIndex; 
     1238                                if (this.settings.preloadAhead >= 0 && preloadCount > this.settings.preloadAhead) { 
     1239                                        // Do this in order to keep checking for relocated start index 
     1240                                        setTimeout(function() { gallery.preloadRecursive(startIndex, currentIndex); }, 500); 
     1241                                        return this; 
     1242                                } 
     1243 
     1244                                var imageData = this.data[currentIndex]; 
     1245 
     1246                                // If already loaded, continue 
     1247                                if (imageData.$image) 
     1248                                        return this.preloadNext(startIndex, currentIndex);  
     1249                                 
     1250                                // Preload the image 
     1251                                var image = new Image(); 
     1252                                 
     1253                                image.onload = function() { 
     1254                                        imageData.$image = this; 
     1255                                        gallery.preloadNext(startIndex, currentIndex); 
     1256                                }; 
     1257 
     1258                                image.alt = imageData.title; 
     1259                                image.src = imageData.slide; 
     1260 
     1261                                return this; 
     1262                        }, 
     1263                         
     1264                        preloadNext: function(startIndex, currentIndex) { 
     1265                                var nextIndex = this.getNextIndex(currentIndex); 
     1266                                if (nextIndex == startIndex) { 
     1267                                        this.isPreloadComplete = true; 
     1268                                } else { 
     1269                                        // Use set timeout to free up thread 
     1270                                        var gallery = this; 
     1271                                        setTimeout(function() { gallery.preloadRecursive(startIndex, nextIndex); }, 100); 
     1272                                } 
     1273                                return this; 
     1274                        }, 
     1275 
     1276                        getNextIndex: function(index) { 
     1277                                var nextIndex = index+1; 
     1278                                if (nextIndex >= this.data.length) 
     1279                                        nextIndex = 0; 
     1280                                return nextIndex; 
     1281                        }, 
     1282                         
     1283                        getPrevIndex: function(index) { 
     1284                                var prevIndex = index-1; 
     1285                                if (prevIndex < 0) 
     1286                                        prevIndex = this.data.length-1; 
     1287                                return prevIndex; 
     1288                        }, 
     1289 
     1290                        pause: function() { 
     1291                                if (this.interval) 
     1292                                        this.toggleSlideshow(); 
     1293                                 
     1294                                return this; 
     1295                        }, 
     1296 
     1297                        play: function() { 
     1298                                if (!this.interval) 
     1299                                        this.toggleSlideshow(); 
     1300                                 
     1301                                return this; 
     1302                        }, 
     1303 
     1304                        toggleSlideshow: function() { 
     1305                                if (this.interval) { 
     1306                                        clearInterval(this.interval); 
     1307                                        this.interval = 0; 
     1308                                         
     1309                                        if (this.$controlsContainer) { 
     1310                                                this.$controlsContainer 
     1311                                                        .find('div.ss-controls span').removeClass().addClass('play') 
     1312                                                        .attr('title', this.settings.playLinkText) 
     1313                                                        .html(this.settings.playLinkText); 
     1314                                        } 
     1315                                } else { 
     1316                                        this.ssAdvance(); 
     1317 
     1318                                        var gallery = this; 
     1319                                        this.interval = setInterval(function() { 
     1320                                                gallery.ssAdvance(); 
     1321                                        }, this.settings.delay); 
     1322                                         
     1323                                        if (this.$controlsContainer) { 
     1324                                                this.$controlsContainer 
     1325                                                        .find('div.ss-controls span').removeClass().addClass('pause') 
     1326                                                        .attr('title', this.settings.pauseLinkText) 
     1327                                                        .html(this.settings.pauseLinkText); 
     1328                                        } 
     1329                                } 
     1330 
     1331                                return this; 
     1332                        }, 
     1333 
     1334                        ssAdvance: function() { 
     1335                                var nextIndex = this.getNextIndex(this.currentIndex); 
     1336                                var nextHash = this.data[nextIndex].hash; 
     1337                                 
     1338                                // Seems to be working on both FF and Safari 
     1339                                location.href = '#'+nextHash; 
     1340 
     1341                                // IE we need to explicity call goto 
     1342                                if ($.browser.msie) { 
     1343                                        this.goto(nextIndex); 
     1344                                } 
     1345 
     1346                                return this; 
     1347                        }, 
     1348 
     1349                        goto: function(index) { 
     1350                                if (index < 0) index = 0; 
     1351                                else if (index >= this.data.length) index = this.data.length-1; 
     1352                                this.currentIndex = index; 
     1353                                this.preloadRelocate(index); 
     1354                                return this.refresh(); 
     1355                        }, 
     1356                         
     1357                        refresh: function() { 
     1358                                if (this.$imageContainer) { 
     1359                                        var imageData = this.data[this.currentIndex]; 
     1360                                        var isFading = 1; 
     1361                                        var gallery = this; 
     1362 
     1363                                        // hide img 
     1364                                        this.$imageContainer.fadeOut('fast', function() { 
     1365                                                isFading = 0; 
     1366 
     1367                                                // Update Controls 
     1368                                                if (gallery.$controlsContainer) { 
     1369                                                        gallery.$controlsContainer 
     1370                                                                .find('div.nav-controls a.prev').attr('href', '#'+gallery.data[gallery.getPrevIndex(gallery.currentIndex)].hash).end() 
     1371                                                                .find('div.nav-controls a.next').attr('href', '#'+gallery.data[gallery.getNextIndex(gallery.currentIndex)].hash); 
     1372                                                } 
     1373 
     1374                                                // Replace Title 
     1375                                                if (gallery.$titleContainer) { 
     1376                                                        gallery.$titleContainer.empty().html(imageData.title); 
     1377                                                } 
     1378 
     1379                                                // Replace Description 
     1380                                                if (gallery.$descContainer) { 
     1381                                                        gallery.$descContainer.empty().html(imageData.description); 
     1382                                                } 
     1383 
     1384                                                // Update Download Link 
     1385                                                if (gallery.$downloadLink) { 
     1386                                                        gallery.$downloadLink.attr('href', imageData.original); 
     1387                                                } 
     1388 
     1389                                                if (imageData.$image) { 
     1390                                                        gallery.buildImage(imageData.$image); 
     1391                                                } 
     1392                                        }); 
     1393                                         
     1394                                        if (this.onFadeOut) this.onFadeOut(); 
     1395 
     1396                                        if (!imageData.$image) { 
     1397                                                var image = new Image(); 
     1398                                                // Wire up mainImage onload event 
     1399                                                image.onload = function() { 
     1400                                                        imageData.$image = this; 
     1401 
     1402                                                        if (!isFading) { 
     1403                                                                gallery.buildImage(imageData.$image); 
     1404                                                        } 
     1405                                                }; 
     1406 
     1407                                                // set alt and src 
     1408                                                image.alt = imageData.title; 
     1409                                                image.src = imageData.slide; 
     1410                                        } 
     1411 
     1412                                        // This causes the preloader (if still running) to relocate out from the currentIndex 
     1413                                        this.relocatePreload = true; 
     1414                                } 
     1415 
     1416                                return this.syncThumbs(); 
     1417                        }, 
     1418                         
     1419                        buildImage: function(image) { 
     1420                                if (this.$imageContainer) { 
     1421                                        this.$imageContainer.empty(); 
     1422 
     1423                                        var gallery = this; 
     1424 
     1425                                        // Setup image 
     1426                                        this.$imageContainer 
     1427                                                .append('<span class="image-wrapper"><a class="advance-link" rel="history" href="#'+this.data[this.getNextIndex(this.currentIndex)].hash+'" title="'+image.alt+'"></a></span>') 
     1428                                                .find('a') 
     1429                                                .append(image) 
     1430                                                .click(function() { clickHandler(gallery); }) 
     1431                                                .end() 
     1432                                                .fadeIn('fast'); 
     1433                                         
     1434                                        if (this.onFadeIn) this.onFadeIn(); 
     1435                                } 
     1436 
     1437                                return this; 
     1438                        }, 
     1439 
     1440                        syncThumbs: function() { 
     1441                        if (this.$thumbsContainer) { 
     1442                                        var page = Math.floor(this.currentIndex / this.settings.numThumbs); 
     1443                                if (page != this.currentPage) { 
     1444                                    this.currentPage = page; 
     1445                                    this.updateThumbs(); 
     1446                                        } else { 
     1447                                                var selectedThumb = this.currentIndex % this.settings.numThumbs; 
     1448 
     1449                                                // Remove existing selected class and add selected class to new thumb 
     1450                                                this.$thumbsContainer 
     1451                                                        .find('ul.thumbs li.selected') 
     1452                                                        .removeClass('selected') 
     1453                                                        .end() 
     1454                                                        //.find('ul.thumbs a[href="#'+this.currentIndex+'"]') 
     1455                                                        .find('ul.thumbs li').eq(selectedThumb) 
     1456                                                        .addClass('selected'); 
     1457                                        } 
     1458                                } 
     1459 
     1460                                return this; 
     1461                        }, 
     1462 
     1463                        updateThumbs: function() { 
     1464                                if (this.$thumbsContainer) { 
     1465                                        // Initialize currentPage to first page 
     1466                                        if (this.currentPage < 0) 
     1467                                                this.currentPage = 0; 
     1468                                 
     1469                                        var startIndex = this.currentPage*this.settings.numThumbs; 
     1470                                var stopIndex = startIndex+this.settings.numThumbs-1; 
     1471                                if (stopIndex >= this.data.length) 
     1472                                                stopIndex = this.data.length-1; 
     1473 
     1474                                        var needsPagination = this.data.length > this.settings.numThumbs; 
     1475 
     1476                                        // Clear thumbs container 
     1477                                        this.$thumbsContainer.empty(); 
     1478                                 
     1479                                        // Rebuild top pager 
     1480                                        this.$thumbsContainer.append('<div class="top pagination"></div>'); 
     1481                                        if (needsPagination && this.settings.enableTopPager) { 
     1482                                                this.buildPager(this.$thumbsContainer.find('div.top')); 
     1483                                        } 
     1484 
     1485                                        // Rebuild thumbs 
     1486                                        var $ulThumbs = this.$thumbsContainer.append('<ul class="thumbs"></ul>').find('ul.thumbs'); 
     1487                                        for (i=startIndex; i<=stopIndex; i++) { 
     1488                                                var selected = ''; 
     1489                                         
     1490                                                if (i==this.currentIndex) 
     1491                                                        selected = ' class="selected"'; 
     1492                                                 
     1493                                                var imageData = this.data[i]; 
     1494                                                $ulThumbs.append('<li'+selected+'><a rel="history" href="#'+imageData.hash+'" title="'+imageData.title+'"><img src="'+imageData.thumb+'" alt="'+imageData.title+'" /></a></li>'); 
     1495                                        } 
     1496 
     1497                                        // Rebuild bottom pager 
     1498                                        if (needsPagination && this.settings.enableBottomPager) { 
     1499                                                this.$thumbsContainer.append('<div class="bottom pagination"></div>'); 
     1500                                                this.buildPager(this.$thumbsContainer.find('div.bottom')); 
     1501                                        } 
     1502 
     1503                                        // Add click handlers 
     1504                                        var gallery = this; 
     1505                                        this.$thumbsContainer.find('a[@rel="history"]').click(function() { clickHandler(gallery); }); 
     1506                                } 
     1507 
     1508                                return this; 
     1509                        }, 
     1510 
     1511                        buildPager: function(pager) { 
     1512                                var startIndex = this.currentPage*this.settings.numThumbs; 
     1513                                 
     1514                                // Prev Page Link 
     1515                                if (this.currentPage > 0) { 
     1516                                        var prevPage = startIndex - this.settings.numThumbs; 
     1517                                        pager.append('<a rel="history" href="#'+this.data[prevPage].hash+'" title="'+this.settings.prevPageLinkText+'">'+this.settings.prevPageLinkText+'</a>'); 
     1518                                } 
     1519                                 
     1520                                // Page Index Links 
     1521                                for (i=this.currentPage-3; i<=this.currentPage+3; i++) { 
     1522                                        var pageNum = i+1; 
     1523                                         
     1524                                        if (i == this.currentPage) 
     1525                                                pager.append('<strong>'+pageNum+'</strong>'); 
     1526                                        else { 
     1527                                                var imageIndex = i*this.settings.numThumbs; 
     1528                                                if (i>=0 && i<this.numPages) { 
     1529                                                        pager.append('<a rel="history" href="#'+this.data[imageIndex].hash+'" title="'+pageNum+'">'+pageNum+'</a>'); 
     1530                                                } 
     1531                                        } 
     1532                                } 
     1533                                 
     1534                                // Next Page Link 
     1535                                var nextPage = startIndex+this.settings.numThumbs; 
     1536                                if (nextPage < this.data.length) { 
     1537                                        pager.append('<a rel="history" href="#'+this.data[nextPage].hash+'" title="'+this.settings.nextPageLinkText+'">'+this.settings.nextPageLinkText+'</a>'); 
     1538                                } 
     1539                                 
     1540                                return this; 
     1541                        } 
     1542                }); 
     1543 
     1544                // Now initialize the gallery 
     1545                this.settings = $.extend({}, defaults, settings); 
     1546 
     1547                if (this.interval) 
     1548                        clearInterval(this.interval); 
     1549 
     1550                this.interval = 0; 
     1551                 
     1552                if (this.settings.imageContainerSel) this.$imageContainer = $(this.settings.imageContainerSel); 
     1553                if (this.settings.thumbsContainerSel) this.$thumbsContainer = $(this.settings.thumbsContainerSel); 
     1554                if (this.settings.titleContainerSel) this.$titleContainer = $(this.settings.titleContainerSel); 
     1555                if (this.settings.descContainerSel) this.$descContainer = $(this.settings.descContainerSel); 
     1556                if (this.settings.downloadLinkSel) this.$downloadLink = $(this.settings.downloadLinkSel); 
     1557 
     1558                // Set the hash index offset for this gallery 
     1559                this.offset = galleryOffset; 
     1560 
     1561                // This is for backward compatibility 
     1562                if (thumbsContainerSel instanceof Array) { 
     1563                        this.data = thumbsContainerSel; 
     1564                } else { 
     1565                        this.$thumbsContainer = $(thumbsContainerSel); 
     1566                        this.buildDataFromThumbs(); 
     1567                } 
     1568                 
     1569                // Add this gallery to the global galleries array 
     1570                registerGallery(this); 
     1571 
     1572                this.numPages = Math.ceil(this.data.length/this.settings.numThumbs); 
     1573                this.currentPage = -1; 
     1574                this.currentIndex = 0; 
     1575                var gallery = this; 
     1576 
     1577                // Setup controls 
     1578                if (this.settings.controlsContainerSel) { 
     1579                        this.$controlsContainer = $(this.settings.controlsContainerSel).empty(); 
     1580                         
     1581                        if (this.settings.renderSSControls) { 
     1582                                this.$controlsContainer 
     1583                                        .append('<div class="ss-controls"><span class="play" title="'+this.settings.playLinkText+'">'+this.settings.playLinkText+'</span></div>') 
     1584                                        .find('div.ss-controls span') 
     1585                                        .click(function() { gallery.toggleSlideshow(); }); 
     1586                        } 
     1587                 
     1588                        if (this.settings.renderNavControls) {                                   
     1589                                this.$controlsContainer 
     1590                                        .append('<div class="nav-controls"><a class="prev" rel="history" title="'+this.settings.prevLinkText+'">'+this.settings.prevLinkText+'</a><a class="next" rel="history" title="Next">'+this.settings.nextLinkText+'</a></div>') 
     1591                                        .find('a[@rel="history"]') 
     1592                                        .click(function() { clickHandler(gallery); }); 
     1593                        } 
     1594                } 
     1595 
     1596                // Initialize history only once when the first gallery on the page is initialized 
     1597                historyInit(); 
     1598 
     1599                // Build image 
     1600                var hash = getHash(); 
     1601                var hashGallery = (hash >= 0) ? getGallery(hash) : 0; 
     1602                var gotoIndex = (hashGallery && this == hashGallery) ? (hash-this.offset) : 0; 
     1603                this.goto(gotoIndex); 
     1604 
     1605                // Kickoff Image Preloader after 1 second 
     1606                setTimeout(function() { gallery.preloadInit(); }, 1000); 
     1607                 
     1608                return this; 
     1609        }; 
     1610 
     1611})(jQuery); 
     1612]]></data></item> 
    9941613<item key="id"><![CDATA[jquery.galleriffic.js]]></item> 
    9951614<item key="mandatory" type="int">0</item> 
    9961615<item key="multilang" type="int">0</item> 
    997 <item key="name"><![CDATA[Galleriffic-1.0.0]]></item> 
     1616<item key="name"><![CDATA[Galleriffic-0.7]]></item> 
    9981617<item key="repetitive" type="int">0</item> 
    9991618<item key="type"><![CDATA[resource]]></item> 
     
    17002319<dtml-if "REQUEST is not None and REQUEST.get('URL','').find('/manage') >= 0 and isPreviewRequest(REQUEST)"> 
    17012320 
    1702  
    17032321<dtml-if "getObjProperty('videoPreview',REQUEST)"> 
    17042322  <img src="<dtml-var "getObjProperty('videoPreview',REQUEST).getHref(REQUEST)">" width="<dtml-var "getObjProperty('videoWith',REQUEST)">" height="<dtml-var "getObjProperty('videoHeight',REQUEST)">" <border="0" /> 
     
    17112329<div id="mediaplayer_<dtml-var id>"></div> 
    17122330 
    1713 <dtml-if "getObjProperty('videoLink',REQUEST).strip()!=''"> 
     2331<dtml-call "REQUEST.set('flashvars_file','')"> 
     2332<dtml-call "REQUEST.set('flashvars_type',_.False)"> 
     2333 
     2334<dtml-if "getObjProperty('videoLink',REQUEST).find('youtube.com/watch?')>-1"> 
    17142335  <dtml-call "REQUEST.set('flashvars_file',getObjProperty('videoLink',REQUEST))"> 
     2336  <dtml-call "REQUEST.set('flashvars_type','youtube')"> 
    17152337<dtml-elif "getObjProperty('videoFile',REQUEST)"> 
    17162338  <dtml-call "REQUEST.set('flashvars_file',getObjProperty('videoFile',REQUEST).getHref(REQUEST))"> 
     2339  <dtml-if "getObjProperty('videoFile',REQUEST).getHref(REQUEST).find('.flv')>-1 or getObjProperty('videoFile',REQUEST).getHref(REQUEST).find('.mp4')>-1"> 
     2340    <dtml-call "REQUEST.set('flashvars_type','video')"> 
     2341  <dtml-elif "getObjProperty('videoFile',REQUEST).getHref(REQUEST).find('.mp3')>-1"> 
     2342    <dtml-call "REQUEST.set('flashvars_type','sound')"> 
     2343  </dtml-if> 
    17172344</dtml-if> 
    17182345 
     
    17212348        so_<dtml-var id>.addParam('allowfullscreen','true'); 
    17222349        so_<dtml-var id>.addParam('allowscriptaccess','always'); 
    1723         so_<dtml-var id>.addParam('flashvars','file=<dtml-var "flashvars_file">&image=<dtml-var "getObjProperty('videoPreview',REQUEST).getHref(REQUEST)">&type=video&skin=<dtml-var ZMS_ROOT>/metaobj_manager/ZMSMediaPlayerLib.<dtml-var "getObjProperty('videoSkin',REQUEST)">.swf&stretching=<dtml-var "getObjProperty('videoStretching',REQUEST)"><dtml-if "getObjProperty('videoAutostart',REQUEST)">&autostart=true</dtml-if><dtml-if "getObjProperty('videoControlbar',REQUEST)==_.False">&controlbar=none</dtml-if>'); 
     2350        so_<dtml-var id>.addParam('flashvars','file=<dtml-var "flashvars_file">&image=<dtml-var "getObjProperty('videoPreview',REQUEST).getHref(REQUEST)"><dtml-if flashvars_type>&type=<dtml-var flashvars_type></dtml-if>&skin=<dtml-var ZMS_ROOT>/metaobj_manager/ZMSMediaPlayerLib.<dtml-var "getObjProperty('videoSkin',REQUEST)">.swf&stretching=<dtml-var "getObjProperty('videoStretching',REQUEST)"><dtml-if "getObjProperty('videoAutostart',REQUEST)">&autostart=true</dtml-if><dtml-if "getObjProperty('videoControlbar',REQUEST)==_.False">&controlbar=none</dtml-if>'); 
    17242351        so_<dtml-var id>.write('mediaplayer_<dtml-var id>'); 
    17252352</script> 
Note: See TracChangeset for help on using the changeset viewer.