FreePOP_Theme - Version 1.5.0

Version Notes

add smart menu and easy tesimonial extension

Download this release

Release Info

Developer Hai Nguyen
Extension FreePOP_Theme
Version 1.5.0
Comparing to
See all releases


Code changes from version 1.4.2.0 to 1.5.0

Files changed (101) hide show
  1. app/design/frontend/default/freepop/layout/easybanner.xml +22 -0
  2. app/design/frontend/default/freepop/layout/newsletter.xml +1 -1
  3. app/design/frontend/default/freepop/layout/smartmenu.xml +57 -0
  4. app/design/frontend/default/freepop/layout/testimonial.xml +3 -4
  5. app/design/frontend/default/freepop/template/easybanner/cycleslider.phtml +52 -0
  6. app/design/frontend/default/freepop/template/easybanner/galleryview.phtml +76 -0
  7. app/design/frontend/default/freepop/template/easybanner/simpleslider.phtml +55 -0
  8. app/design/frontend/default/freepop/template/easybanner/staticview.phtml +39 -0
  9. app/design/frontend/default/freepop/template/smartmenu/accordion_left.phtml +460 -0
  10. app/design/frontend/default/freepop/template/smartmenu/accordion_right.phtml +459 -0
  11. app/design/frontend/default/freepop/template/smartmenu/dropdown_left.phtml +261 -0
  12. app/design/frontend/default/freepop/template/smartmenu/dropdown_right.phtml +262 -0
  13. app/design/frontend/default/freepop/template/smartmenu/shopby.phtml +138 -0
  14. app/design/frontend/default/freepop/template/testimonial/list.phtml +135 -0
  15. app/design/frontend/default/freepop/template/testimonial/list_nopaging.phtml +131 -0
  16. app/design/frontend/default/freepop/template/testimonial/pager.phtml +53 -0
  17. app/design/frontend/default/freepop/template/testimonial/submit.phtml +97 -0
  18. app/design/frontend/default/freepop/template/testimonial/testimonial.phtml +71 -0
  19. app/design/frontend/default/freepop/template/testimonial/testimonial_advance.phtml +79 -0
  20. app/design/frontend/default/freepop/template/testimonial/view.phtml +9 -0
  21. package.xml +5 -5
  22. skin/frontend/default/freepop/css/easybanner.css +180 -0
  23. skin/frontend/default/freepop/css/styles.css +3 -3
  24. skin/frontend/default/freepop/css/testimonial/images/Thumbs.db +0 -0
  25. skin/frontend/default/freepop/css/testimonial/images/bkg_toolbar2.gif +0 -0
  26. skin/frontend/default/freepop/css/testimonial/images/pager_bg.gif +0 -0
  27. skin/frontend/default/freepop/css/testimonial/style.css +75 -0
  28. skin/frontend/default/freepop/images/bg_active_banner.gif +0 -0
  29. skin/frontend/default/freepop/images/bg_banner.gif +0 -0
  30. skin/frontend/default/freepop/images/bg_select_banner.gif +0 -0
  31. skin/frontend/default/freepop/images/testimonial/Thumbs.db +0 -0
  32. skin/frontend/default/freepop/images/testimonial/bottom.jpg +0 -0
  33. skin/frontend/default/freepop/images/testimonial/bottom_r.jpg +0 -0
  34. skin/frontend/default/freepop/images/testimonial/div_bt.gif +0 -0
  35. skin/frontend/default/freepop/images/testimonial/div_md.gif +0 -0
  36. skin/frontend/default/freepop/images/testimonial/div_top.gif +0 -0
  37. skin/frontend/default/freepop/images/testimonial/icon_bt.gif +0 -0
  38. skin/frontend/default/freepop/images/testimonial/icon_top.gif +0 -0
  39. skin/frontend/default/freepop/images/testimonial/left.jpg +0 -0
  40. skin/frontend/default/freepop/images/testimonial/right.jpg +0 -0
  41. skin/frontend/default/freepop/images/testimonial/top.jpg +0 -0
  42. skin/frontend/default/freepop/images/testimonial/top_left.jpg +0 -0
  43. skin/frontend/default/freepop/images/testimonial/top_right.jpg +0 -0
  44. skin/frontend/default/freepop/js/easybanner/easySlider1.5.js +175 -0
  45. skin/frontend/default/freepop/js/easybanner/jquery.cycle.js +750 -0
  46. skin/frontend/default/freepop/js/easybanner/jquery.lightbox-0.5.js +472 -0
  47. skin/frontend/default/freepop/js/easybanner/jquery.msAccordion.js +97 -0
  48. skin/frontend/default/freepop/js/easybanner/plugins.init.js +16 -0
  49. skin/frontend/default/freepop/js/galleryview/jquery.easing.1.3.js +205 -0
  50. skin/frontend/default/freepop/js/galleryview/jquery.galleryview-1.1.js +548 -0
  51. skin/frontend/default/freepop/js/galleryview/jquery.timers-1.1.2.js +147 -0
  52. skin/frontend/default/freepop/js/galleryview/themes/.DS_Store +0 -0
  53. skin/frontend/default/freepop/js/galleryview/themes/dark/Thumbs.db +0 -0
  54. skin/frontend/default/freepop/js/galleryview/themes/dark/next.png +0 -0
  55. skin/frontend/default/freepop/js/galleryview/themes/dark/panel-nav-next.png +0 -0
  56. skin/frontend/default/freepop/js/galleryview/themes/dark/panel-nav-prev.png +0 -0
  57. skin/frontend/default/freepop/js/galleryview/themes/dark/pointer-down.png +0 -0
  58. skin/frontend/default/freepop/js/galleryview/themes/dark/pointer.png +0 -0
  59. skin/frontend/default/freepop/js/galleryview/themes/dark/prev.png +0 -0
  60. skin/frontend/default/freepop/js/galleryview/themes/light/next.png +0 -0
  61. skin/frontend/default/freepop/js/galleryview/themes/light/panel-nav-next.png +0 -0
  62. skin/frontend/default/freepop/js/galleryview/themes/light/panel-nav-prev.png +0 -0
  63. skin/frontend/default/freepop/js/galleryview/themes/light/pointer-down.png +0 -0
  64. skin/frontend/default/freepop/js/galleryview/themes/light/pointer.png +0 -0
  65. skin/frontend/default/freepop/js/galleryview/themes/light/prev.png +0 -0
  66. skin/frontend/default/freepop/js/testimonial/jquery-1.3.2.min.js +19 -0
  67. skin/frontend/default/freepop/js/testimonial/jquery.cycle.js +750 -0
  68. skin/frontend/default/freepop/js/testimonial/jquery_noconflict.js +1 -0
  69. skin/frontend/default/freepop/smartmenu/css/smartmenu.css +324 -0
  70. skin/frontend/default/freepop/smartmenu/css/superfish-navbar.css +93 -0
  71. skin/frontend/default/freepop/smartmenu/css/superfish-vertical.css +24 -0
  72. skin/frontend/default/freepop/smartmenu/css/superfish.css +245 -0
  73. skin/frontend/default/freepop/smartmenu/images/Thumbs.db +0 -0
  74. skin/frontend/default/freepop/smartmenu/images/arrow-cat-active.gif +0 -0
  75. skin/frontend/default/freepop/smartmenu/images/arrow-cat-active.png +0 -0
  76. skin/frontend/default/freepop/smartmenu/images/arrow-cat-hover.gif +0 -0
  77. skin/frontend/default/freepop/smartmenu/images/arrow-cat-hover.png +0 -0
  78. skin/frontend/default/freepop/smartmenu/images/arrow-cat.gif +0 -0
  79. skin/frontend/default/freepop/smartmenu/images/arrow-cat.png +0 -0
  80. skin/frontend/default/freepop/smartmenu/images/arrows-ffffff.png +0 -0
  81. skin/frontend/default/freepop/smartmenu/images/base_mini_head_bg.gif +0 -0
  82. skin/frontend/default/freepop/smartmenu/images/bg-cate-active.gif +0 -0
  83. skin/frontend/default/freepop/smartmenu/images/bg-cate-active2.gif +0 -0
  84. skin/frontend/default/freepop/smartmenu/images/bg-li.gif +0 -0
  85. skin/frontend/default/freepop/smartmenu/images/bg_block_content.gif +0 -0
  86. skin/frontend/default/freepop/smartmenu/images/bg_listmenu.png +0 -0
  87. skin/frontend/default/freepop/smartmenu/images/bg_listmenu2.png +0 -0
  88. skin/frontend/default/freepop/smartmenu/images/icon.gif +0 -0
  89. skin/frontend/default/freepop/smartmenu/images/icon.png +0 -0
  90. skin/frontend/default/freepop/smartmenu/images/icon_01.gif +0 -0
  91. skin/frontend/default/freepop/smartmenu/images/layered_nav_head_bg.gif +0 -0
  92. skin/frontend/default/freepop/smartmenu/images/layered_nav_narrowed_category_heading.gif +0 -0
  93. skin/frontend/default/freepop/smartmenu/images/shadow.png +0 -0
  94. skin/frontend/default/freepop/smartmenu/js/accordion.js +272 -0
  95. skin/frontend/default/freepop/smartmenu/js/accordion_menu.js +62 -0
  96. skin/frontend/default/freepop/smartmenu/js/hoverIntent.js +84 -0
  97. skin/frontend/default/freepop/smartmenu/js/jquery-accordion-menu.js +7 -0
  98. skin/frontend/default/freepop/smartmenu/js/jquery.bgiframe.min.js +10 -0
  99. skin/frontend/default/freepop/smartmenu/js/jquery.js +1 -0
  100. skin/frontend/default/freepop/smartmenu/js/superfish.js +121 -0
  101. skin/frontend/default/freepop/smartmenu/js/supersubs.js +90 -0
app/design/frontend/default/freepop/layout/easybanner.xml ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <default>
4
+ <reference name="head">
5
+ <action method="addCss"><stylesheet>css/easybanner.css</stylesheet></action>
6
+ <action method="addJs"><script>mw_js/jquery.js</script></action>
7
+ <action method="addJs"><script>mw_js/jquery_noconflict.js</script></action>
8
+ <action method="addItem"><type>skin_js</type><name>js/easybanner/jquery.lightbox-0.5.js</name></action>
9
+ <action method="addItem"><type>skin_js</type><name>js/easybanner/plugins.init.js</name></action>
10
+ </reference>
11
+ </default>
12
+ <easybanner_index_index>
13
+ <reference name="root">
14
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
15
+ </reference>
16
+ <reference name="content">
17
+ <block type="easybanner/banner" name="banner" template="easybanner/simpleslider.phtml">
18
+ <action method="setBannerId"><banner_id>home</banner_id></action>
19
+ </block>
20
+ </reference>
21
+ </easybanner_index_index>
22
+ </layout>
app/design/frontend/default/freepop/layout/newsletter.xml CHANGED
@@ -36,7 +36,7 @@ Default layout, loads most of the pages
36
 
37
  <!-- Mage_Newsletter -->
38
  <reference name="left">
39
- <block type="newsletter/subscribe" after="menuleft" name="left.newsletter" template="newsletter/subscribe.phtml"/>
40
  </reference>
41
 
42
  </default>
36
 
37
  <!-- Mage_Newsletter -->
38
  <reference name="left">
39
+ <block type="newsletter/subscribe" after="left.permanent.callout" name="left.newsletter" template="newsletter/subscribe.phtml"/>
40
  </reference>
41
 
42
  </default>
app/design/frontend/default/freepop/layout/smartmenu.xml ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <default>
4
+ <reference name="head">
5
+ <action method="addJs"><script>mw_js/jquery.js</script></action>
6
+ <action method="addJs"><script>mw_js/jquery_noconflict.js</script></action>
7
+
8
+ <action method="addItem"><type>skin_js</type><name>smartmenu/js/accordion.js</name></action>
9
+ <action method="addItem"><type>skin_js</type><name>smartmenu/js/accordion_menu.js</name></action>
10
+ <action method="addItem"><type>skin_js</type><name>smartmenu/js/hoverIntent.js</name></action>
11
+ <action method="addItem"><type>skin_js</type><name>smartmenu/js/superfish.js</name></action>
12
+ <action method="addItem"><type>skin_js</type><name>smartmenu/js/jquery-accordion-menu.js</name></action>
13
+ <action method="addCss"><stylesheet>smartmenu/css/smartmenu.css</stylesheet></action>
14
+ <action method="addCss"><stylesheet>smartmenu/css/superfish.css</stylesheet></action>
15
+ <action method="addCss"><stylesheet>smartmenu/css/superfish-vertical.css</stylesheet></action>
16
+ </reference>
17
+
18
+ <reference name="left">
19
+ <block type="catalog/navigation" after="currency" name="left_navigation" template="">
20
+ <action method="setTemplate" ifconfig="smartmenu/smartmenu/leftmenu" ifvalue="2">
21
+ <template>smartmenu/dropdown_left.phtml</template>
22
+ </action>
23
+ </block>
24
+ <block type="catalog/navigation" after="currency" name="left_smartmenu" template="">
25
+ <action method="setTemplate" ifconfig="smartmenu/smartmenu/leftmenu" ifvalue="1">
26
+ <template>smartmenu/accordion_left.phtml</template>
27
+ </action>
28
+ </block>
29
+ </reference>
30
+
31
+ <reference name="right">
32
+ <block type="catalog/navigation" before="-" name="right_navigation" template="">
33
+ <action method="setTemplate" ifconfig="smartmenu/smartmenu/rightmenu" ifvalue="1">
34
+ <template>smartmenu/accordion_right.phtml</template>
35
+ </action>
36
+ </block>
37
+ <block type="catalog/navigation" before="-" name="right_smartmenu" template="">
38
+ <action method="setTemplate" ifconfig="smartmenu/smartmenu/rightmenu" ifvalue="2">
39
+ <template>smartmenu/dropdown_right.phtml</template>
40
+ </action>
41
+ </block>
42
+ </reference>
43
+ </default>
44
+
45
+ <catalog_category_default>
46
+ </catalog_category_default>
47
+ <catalog_category_layered>
48
+ <reference name="catalog.leftnav">
49
+ <action method="setTemplate" ifconfig="smartmenu/smartmenu/override"><template>smartmenu/shopby.phtml</template></action>
50
+ </reference>
51
+ </catalog_category_layered>
52
+ <catalogsearch_result_index>
53
+ <reference name="catalogsearch.leftnav">
54
+ <action method="setTemplate" ifconfig="smartmenu/smartmenu/override"><template>smartmenu/shopby.phtml</template></action>
55
+ </reference>
56
+ </catalogsearch_result_index>
57
+ </layout>
app/design/frontend/default/freepop/layout/testimonial.xml CHANGED
@@ -11,15 +11,14 @@
11
  <template>testimonial/testimonial_advance.phtml</template>
12
  </action>
13
  </block>
14
- </reference>
15
  <reference name="left">
16
- <block type="testimonial/testimonial" name="left.testimonial.testimonial" before="-">
17
  <action method="setTemplate">
18
  <template>testimonial/testimonial_advance.phtml</template>
19
  </action>
20
  </block>
21
- </reference>
22
- -->
23
  </default>
24
  <testimonial_index_index>
25
  <reference name="content">
11
  <template>testimonial/testimonial_advance.phtml</template>
12
  </action>
13
  </block>
14
+ </reference> -->
15
  <reference name="left">
16
+ <block type="testimonial/testimonial" name="left.testimonial.testimonial" after="left_smartmenu">
17
  <action method="setTemplate">
18
  <template>testimonial/testimonial_advance.phtml</template>
19
  </action>
20
  </block>
21
+ </reference>
 
22
  </default>
23
  <testimonial_index_index>
24
  <reference name="content">
app/design/frontend/default/freepop/template/easybanner/cycleslider.phtml ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (Mage::getStoreConfig('easybanner/info/enabled')):?>
2
+ <?php $randnum = rand(1000,99999);?>
3
+ <script src="<?php echo $this->getSkinUrl('js/easybanner/jquery.cycle.js')?>" type="text/javascript"></script>
4
+
5
+ <?php //if ($this->isVisible()): ?>
6
+ <?php $_banner = $this->getBanner();
7
+ if ($_banner->getStatus() == 1):?>
8
+ <?php if ($_banner->getShowTitle()==1): ?>
9
+ <h3><?php echo $_banner->getTitle(); ?></h3>
10
+ <?php endif; ?>
11
+
12
+ <div id="slideshow_<?php echo $randnum;?>" class="slideshow" style="width: <?php echo $_banner->getWidth().'px'?>; height: <?php echo $_banner->getHeight().'px' ?>; display:none;">
13
+
14
+ <?php $_banner_items = $this->getBannerItems(); ?>
15
+ <?php foreach ($_banner_items as $_banner_item): ?>
16
+ <a href="<?php echo $_banner_item->getLinkUrl(); ?>">
17
+ <?php if ($_banner_item->getImage()): ?>
18
+ <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$_banner_item->getImage()?>" width="<?php echo $_banner->getWidth().'px'?> " height=" <?php echo $_banner->getHeight().'px'?>" alt="<?php echo $_banner_item->getContent()?>"/>
19
+ <?php elseif ($_banner_item->getImageUrl()): ?>
20
+ <img src="<?php echo $_banner_item->getImageUrl()?>" width="<?php echo $_banner->getWidth().'px'?> " height=" <?php echo $_banner->getHeight().'px'?>" alt="<?php echo $_banner_item->getContent()?>" />
21
+ <?php endif; ?>
22
+ </a>
23
+ <?php endforeach ?>
24
+
25
+ </div>
26
+ <script type="text/javascript">
27
+ var $j<?php echo $randnum?> = jQuery.noConflict();
28
+
29
+ $j<?php echo $randnum?>(document).ready(function() {
30
+ $j<?php echo $randnum?>('#slideshow_<?php echo $randnum;?>').cycle({
31
+ fx: 'fade',
32
+ timeout: <?php echo $_banner->getDelay(); ?>
33
+ });
34
+ $j<?php echo $randnum?>('#slideshow_<?php echo $randnum;?>').fadeIn(1500);
35
+ });
36
+
37
+ </script>
38
+ <?php endif; ?>
39
+ <?php endif; ?>
40
+ <!--<div id="mwref" style="position:absolute;left:-999em;text-indent:-999em;top:-999em;">
41
+ <h2>
42
+ Your world of <a href="http://www.mage-world.com/magento-extensions.html" title="Magento Extensions">Magento Extensions</a>,
43
+ <a href="http://www.mage-world.com/magento-extensions.html" title="Magento Modules">Magento Modules</a>,
44
+ <a href="http://www.mage-world.com/magento-themes.html" title="Magento Themes">Magento Themes</a>
45
+ and <a href="http://www.mage-world.com/magento-themes.html" title="Magento Templates">Magento Templates</a> by Mage-World.
46
+ </h2>
47
+ <script type="text/javascript">
48
+ var mwref = document.getElementById('mwref');
49
+ mwref.parentNode.removeChild(mwref);
50
+ </script>
51
+ </div>
52
+ -->
app/design/frontend/default/freepop/template/easybanner/galleryview.phtml ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (Mage::getStoreConfig('easybanner/info/enabled')):?>
2
+
3
+ <script src="<?php echo $this->getSkinUrl('js/galleryview/jquery.easing.1.3.js')?>" type="text/javascript"></script>
4
+ <script src="<?php echo $this->getSkinUrl('js/galleryview/jquery.galleryview-1.1.js')?>" type="text/javascript"></script>
5
+ <script src="<?php echo $this->getSkinUrl('js/galleryview/jquery.timers-1.1.2.js')?>" type="text/javascript"></script>
6
+
7
+
8
+ <!-- InstanceBeginEditable name="head" -->
9
+
10
+ <?php $_banner = $this->getBanner();
11
+ if ($_banner->getStatus() == 1): ?>
12
+ <script type="text/javascript">
13
+ jQuery.noConflict();
14
+ jQuery(document).ready(function(){
15
+ jQuery('#photos').galleryView({
16
+ panel_width: <?php echo $_banner->getWidth()?>,
17
+ panel_height: <?php echo $_banner->getHeight()?>,
18
+ frame_width: 100,
19
+ frame_height: 100,
20
+ nav_theme: 'light'
21
+ });
22
+ });
23
+ </script>
24
+ <?php if ($_banner->getShowTitle()==1): ?>
25
+ <h3><?php echo $_banner->getTitle(); ?></h3>
26
+ <?php endif; ?>
27
+
28
+
29
+ <div id="photos" class="galleryview">
30
+ <?php $_banner_items = $this->getBannerItems(); ?>
31
+ <?php foreach ($_banner_items as $_banner_item): ?>
32
+ <div class="panel">
33
+ <?php if ($_banner_item->getImage()): ?>
34
+ <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$_banner_item->getImage()?>" width="<?php echo $_banner->getWidth().'px'?> " height=" <?php echo $_banner->getHeight().'px'?>" alt="<?php echo $_banner_item->getContent()?>"/>
35
+ <?php elseif ($_banner_item->getImageUrl()): ?>
36
+ <img src="<?php echo $_banner_item->getImageUrl()?>" width="<?php echo $_banner->getWidth().'px'?> " height=" <?php echo $_banner->getHeight().'px'?>" alt="<?php echo $_banner_item->getContent()?>" />
37
+ <?php endif; ?>
38
+
39
+ <div class="panel-overlay">
40
+ <h2><a href="<?php echo $_banner_item->getLinkUrl(); ?>"><?php echo $_banner_item->getTitle(); ?></a></h2>
41
+ <p><?php echo $_banner_item->getContent(); ?></p>
42
+ </div>
43
+ </div>
44
+ <?php endforeach ?>
45
+
46
+ <ul class="filmstrip">
47
+
48
+ <?php $_banner_items = $this->getBannerItems(); ?>
49
+ <?php foreach ($_banner_items as $_banner_item): ?>
50
+ <?php if ($_banner_item->getThumbImage()): ?>
51
+ <li><img src="<?php echo $this->helper('easybanner/image')->init($_banner_item->getThumbImage())->resize(100, 100) ?>" alt="<?php echo $_banner_item->getContent()?>"/></li>
52
+ <?php elseif ($_banner_item->getThumbImageUrl()): ?>
53
+ <li><img src="<?php echo $_banner_item->getThumbImageUrl() ?>" /></li>
54
+ <?php elseif ($_banner_item->getImage()): ?>
55
+ <li><img src="<?php echo $this->helper('easybanner/image')->init($_banner_item->getImage())->resize(100, 100) ?>" alt="<?php echo $_banner_item->getContent()?>"/></li>
56
+ <?php endif; ?>
57
+
58
+ <?php endforeach ?>
59
+
60
+ </ul>
61
+ </div>
62
+ <?php endif;?>
63
+ <?php endif; ?>
64
+ <!--<div id="mwref" style="position:absolute;left:-999em;text-indent:-999em;top:-999em;">
65
+ <h2>
66
+ Your world of <a href="http://www.mage-world.com/magento-extensions.html" title="Magento Extensions">Magento Extensions</a>,
67
+ <a href="http://www.mage-world.com/magento-extensions.html" title="Magento Modules">Magento Modules</a>,
68
+ <a href="http://www.mage-world.com/magento-themes.html" title="Magento Themes">Magento Themes</a>
69
+ and <a href="http://www.mage-world.com/magento-themes.html" title="Magento Templates">Magento Templates</a> by Mage-World.
70
+ </h2>
71
+ <script type="text/javascript">
72
+ var mwref = document.getElementById('mwref');
73
+ mwref.parentNode.removeChild(mwref);
74
+ </script>
75
+ </div>
76
+ -->
app/design/frontend/default/freepop/template/easybanner/simpleslider.phtml ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (Mage::getStoreConfig('easybanner/info/enabled')):?>
2
+ <script src="<?php echo $this->getSkinUrl('js/easybanner/jquery.cycle.js')?>" type="text/javascript"></script>
3
+ <?php $randnum = rand(1000,99999);?>
4
+ <?php //if ($this->isVisible()): ?>
5
+ <?php $_banner = $this->getBanner();
6
+ if ($_banner->getStatus() == 1):?>
7
+ <?php if ($_banner->getShowTitle()==1): ?>
8
+ <h3><?php echo $_banner->getTitle(); ?></h3>
9
+ <?php endif; ?>
10
+
11
+ <div id="top_banner_<?php echo $randnum;?>" style="width: <?php echo $_banner->getWidth().'px'?>; padding:0px; height: <?php echo $_banner->getHeight().'px' ?>; background:none; position: relative; display:none;">
12
+ <div id="divSimpleSlider_<?php echo $randnum;?>" class="divSimpleSlider">
13
+ <?php $_banner_items = $this->getBannerItems(); ?>
14
+ <?php foreach ($_banner_items as $_banner_item): ?>
15
+ <a href="<?php echo $_banner_item->getLinkUrl(); ?>">
16
+ <?php if ($_banner_item->getImage()): ?>
17
+ <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$_banner_item->getImage()?>" width="<?php echo $_banner->getWidth()?>" height="<?php echo $_banner->getHeight()?>" alt="<?php echo $_banner_item->getContent()?>"/>
18
+ <?php elseif ($_banner_item->getImageUrl()): ?>
19
+ <img src="<?php echo $_banner_item->getImageUrl()?>" width="<?php echo $_banner->getWidth()?>" height="<?php echo $_banner->getHeight()?>" alt="<?php echo $_banner_item->getContent()?>" />
20
+ <?php endif; ?>
21
+ </a>
22
+ <?php endforeach ?>
23
+ </div>
24
+ <div id="divSimpleSliderRotate_<?php echo $randnum;?>" class="divSimpleSliderRotate"></div>
25
+ </div>
26
+ <script type="text/javascript">
27
+ var $j<?php echo $randnum?> = jQuery.noConflict();
28
+
29
+ $j<?php echo $randnum?>(document).ready(function(){
30
+ //Setup the main rotater on the home page
31
+ $j<?php echo $randnum?>('#divSimpleSlider_<?php echo $randnum;?>').cycle({
32
+ timeout: <?php echo $_banner->getDelay(); ?>,
33
+ pager: '#divSimpleSliderRotate_<?php echo $randnum;?>',
34
+ pagerEvent: 'mouseover',
35
+ fastOnEvent: false
36
+ });
37
+ $j<?php echo $randnum?>('#top_banner_<?php echo $randnum;?>').fadeIn(1500);
38
+ });
39
+
40
+ </script>
41
+ <?php endif;?>
42
+ <?php endif;?>
43
+ <!--<div id="mwref" style="position:absolute;left:-999em;text-indent:-999em;top:-999em;">
44
+ <h2>
45
+ Your world of <a href="http://www.mage-world.com/magento-extensions.html" title="Magento Extensions">Magento Extensions</a>,
46
+ <a href="http://www.mage-world.com/magento-extensions.html" title="Magento Modules">Magento Modules</a>,
47
+ <a href="http://www.mage-world.com/magento-themes.html" title="Magento Themes">Magento Themes</a>
48
+ and <a href="http://www.mage-world.com/magento-themes.html" title="Magento Templates">Magento Templates</a> by Mage-World.
49
+ </h2>
50
+ <script type="text/javascript">
51
+ var mwref = document.getElementById('mwref');
52
+ mwref.parentNode.removeChild(mwref);
53
+ </script>
54
+ </div>
55
+ -->
app/design/frontend/default/freepop/template/easybanner/staticview.phtml ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (Mage::getStoreConfig('easybanner/info/enabled')):?>
2
+ <?php //if ($this->isVisible()): ?>
3
+ <?php $_banner = $this->getBanner();
4
+ if ($_banner->getStatus() == 1):?>
5
+
6
+ <?php if ($_banner->getShowTitle()==1): ?>
7
+ <h3><?php echo $_banner->getTitle(); ?></h3>
8
+ <?php endif; ?>
9
+
10
+ <?php $_width = $_banner->getWidth(); ?>
11
+ <?php $_height = $_banner->getHeight(); ?>
12
+
13
+
14
+ <?php $_banner_items = $this->getBannerItems(); ?>
15
+ <?php foreach ($_banner_items as $_banner_item): ?>
16
+ <a href="<?php echo $_banner_item->getLinkUrl(); ?>">
17
+ <!-- Show image -->
18
+ <?php if ($_banner_item->getImage()): ?>
19
+ <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$_banner_item->getImage()?>" width="<?php echo $_banner->getWidth().'px'?> " height=" <?php echo $_banner->getHeight().'px'?>" alt="<?php echo $_banner_item->getContent()?>"/>
20
+ <?php elseif ($_banner_item->getImageUrl()): ?>
21
+ <img src="<?php echo $_banner_item->getImageUrl() ?>" alt="<?php echo $_banner_item->getContent()?>" />
22
+ <?php endif; ?>
23
+ </a>
24
+ <?php endforeach ?>
25
+ <?php endif; ?>
26
+ <?php endif; ?>
27
+ <!--<div id="mwref" style="position:absolute;left:-999em;text-indent:-999em;top:-999em;">
28
+ <h2>
29
+ Your world of <a href="http://www.mage-world.com/magento-extensions.html" title="Magento Extensions">Magento Extensions</a>,
30
+ <a href="http://www.mage-world.com/magento-extensions.html" title="Magento Modules">Magento Modules</a>,
31
+ <a href="http://www.mage-world.com/magento-themes.html" title="Magento Themes">Magento Themes</a>
32
+ and <a href="http://www.mage-world.com/magento-themes.html" title="Magento Templates">Magento Templates</a> by Mage-World.
33
+ </h2>
34
+ <script type="text/javascript">
35
+ var mwref = document.getElementById('mwref');
36
+ mwref.parentNode.removeChild(mwref);
37
+ </script>
38
+ </div>
39
+ -->
app/design/frontend/default/freepop/template/smartmenu/accordion_left.phtml ADDED
@@ -0,0 +1,460 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Smart menu for store
4
+ *
5
+ * @see Mage_Catalog_Block_Navigation
6
+ */
7
+ ?>
8
+ <?php $deeplevel = Mage::getStoreConfig("smartmenu/smartmenu/deeplevel"); ?>
9
+ <?php $allows1 = Mage::getStoreConfig("smartmenu/smartmenu/leftmenu"); ?>
10
+ <?php if($allows1==1):?>
11
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/collapse')==true ):?>
12
+
13
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/toplevel')==true ):?>
14
+
15
+ <?php if (!Mage::registry('current_category')) return ?>
16
+ <?php $_categories=$this->getCurrentChildCategories() ?>
17
+
18
+ <div class="mv_smartmenu">
19
+ <div class="mv_smartmenu_head">
20
+ <h4>
21
+ <?php
22
+ $_main_categories=$this->getStoreCategories();
23
+ $i=0;
24
+ foreach ($_main_categories as $_main_category):
25
+ if($this->isCategoryActive($_main_category)):
26
+ echo $_main_category->getName();
27
+ endif;
28
+ endforeach;
29
+ ?>
30
+ </h4>
31
+ </div>
32
+ <div class="mv_smartmenu_content">
33
+ <ul id="theMenu_acc">
34
+ <?php
35
+ $_main_categories=$this->getStoreCategories();
36
+ $i=0;
37
+ foreach ($_main_categories as $_main_category):
38
+ if($this->isCategoryActive($_main_category)):
39
+ ?>
40
+ <?php
41
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
42
+ $_sub_categories = $_main_category->getChildrenNodes();
43
+ } else {
44
+ $_sub_categories = $_main_category->getChildren();
45
+ }
46
+ foreach ($_sub_categories as $_sub_category):
47
+ ?>
48
+ <li class="<?php if ($this->isCategoryActive($_sub_category)): echo 'active'; endif; if($i==0): echo ' first'; endif;?>">
49
+ <a class="left main-cate" href="<?php echo $this->getCategoryUrl($_sub_category)?>">
50
+ <?php echo $_sub_category->getName()?>
51
+ </a>
52
+ <?php if(($_sub_category->hasChildren()) && ($deeplevel!=2)):?>
53
+ <span class="right head <?php if ($this->isCategoryActive($_sub_category)): echo 'selected'; endif; ?>">
54
+ <a href="javascript:;"></a>
55
+ </span>
56
+ <?php endif;?>
57
+ <?php if($_sub_category->hasChildren()):?>
58
+ <ul style="margin-left: 10px; clear:both;" >
59
+ <?php
60
+ $_sub3s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
61
+ if ($_sub3s):
62
+ $_sub3s = explode(',',$_sub3s);
63
+ foreach ($_sub3s as $_sub3id):
64
+ if($deeplevel==2): break; endif;
65
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
66
+ <li <?php if ($this->isCategoryActive($_sub3)): ?> class="active"<?php endif ?>>
67
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>">
68
+ <?php echo $_sub3->getName()?>
69
+ </a>
70
+ <?php if($_sub3->hasChildren()):?>
71
+ <ul style="margin-left: 10px; clear:both;" >
72
+ <?php
73
+ $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
74
+ if ($_sub4s):
75
+ $_sub4s = explode(',',$_sub4s);
76
+ foreach ($_sub4s as $_sub4id):
77
+ if($deeplevel==3): break; endif;
78
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
79
+ <li <?php if ($this->isCategoryActive($_sub4)): ?> class="active"<?php endif ?>>
80
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
81
+ <?php echo $_sub4->getName()?>
82
+ </a>
83
+ <?php if($_sub4->hasChildren()):?>
84
+ <ul style="margin-left: 10px; clear:both;" >
85
+ <?php
86
+ $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
87
+ if ($_sub5s):
88
+ $_sub5s = explode(',',$_sub5s);
89
+ foreach ($_sub5s as $_sub5id):
90
+ if($deeplevel==4): break; endif;
91
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
92
+ <li <?php if ($this->isCategoryActive($_sub5)): ?> class="active"<?php endif ?>>
93
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
94
+ <?php echo $_sub5->getName()?>
95
+ </a>
96
+ </li>
97
+ <?php endforeach;?>
98
+ <?php endif;?>
99
+ </ul>
100
+ <?php endif;?>
101
+ </li>
102
+ <?php endforeach;?>
103
+ <?php endif;?>
104
+ </ul>
105
+ <?php endif;?>
106
+ </li>
107
+ <?php endforeach;?>
108
+ <?php endif;?>
109
+ </ul>
110
+ <?php endif;?>
111
+ </li>
112
+ <?php endforeach;?>
113
+
114
+ <?php
115
+ $i++;
116
+ endif;
117
+ endforeach;
118
+ ?>
119
+ </ul>
120
+ </div>
121
+ </div>
122
+ <div style="clear: both;"></div>
123
+
124
+ <?php else:?>
125
+
126
+ <div class="block mv_smartmenu">
127
+ <div class="block-title mv_smartmenu_head">
128
+ <strong>
129
+ <span><?php echo $this->__('Categories')?></span>
130
+ </strong>
131
+ </div>
132
+ <div class="mv_smartmenu_content">
133
+ <ul id="theMenu_acc">
134
+ <?php
135
+ $_main_categories=$this->getStoreCategories();
136
+ $i=0;
137
+ foreach ($_main_categories as $_main_category):
138
+ ?>
139
+ <li class="<?php if ($this->isCategoryActive($_main_category)): echo 'active'; endif; if($i==0): echo ' first'; endif;?>">
140
+ <a class="left main-cate" href="<?php echo $this->getCategoryUrl($_main_category)?>">
141
+ <?php echo $_main_category->getName()?>
142
+ </a>
143
+ <?php if(($_main_category->hasChildren()) && ($deeplevel!=1)):?>
144
+ <span class="right head <?php if ($this->isCategoryActive($_main_category)): echo 'selected'; endif; ?>">
145
+ <a href="javascript:;"></a>
146
+ </span>
147
+ <?php endif;?>
148
+ <?php if($_main_category->hasChildren()):?>
149
+ <ul style="margin-left: 17px; clear:both;" >
150
+ <?php
151
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
152
+ $_sub_categories = $_main_category->getChildrenNodes();
153
+ } else {
154
+ $_sub_categories = $_main_category->getChildren();
155
+ }
156
+ foreach ($_sub_categories as $_sub_category):
157
+ if($deeplevel==1): break; endif;
158
+ ?>
159
+ <li <?php if ($this->isCategoryActive($_sub_category)): ?> class="active"<?php endif ?>>
160
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>">
161
+ <?php echo $_sub_category->getName()?>
162
+ </a>
163
+ <?php if($_sub_category->hasChildren()):?>
164
+ <ul style="margin-left: 12px; clear:both;" >
165
+ <?php
166
+ $_sub3s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
167
+ if ($_sub3s):
168
+ $_sub3s = explode(',',$_sub3s);
169
+ foreach ($_sub3s as $_sub3id):
170
+ if($deeplevel==2): break; endif;
171
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
172
+ <li <?php if ($this->isCategoryActive($_sub3)): ?> class="active"<?php endif ?>>
173
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>">
174
+ <?php echo $_sub3->getName()?>
175
+ </a>
176
+ <?php if($_sub3->hasChildren()):?>
177
+ <ul style="margin-left: 10px; clear:both;" >
178
+ <?php
179
+ $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
180
+ if ($_sub4s):
181
+ $_sub4s = explode(',',$_sub4s);
182
+
183
+ foreach ($_sub4s as $_sub4id):
184
+ if($deeplevel==3): break; endif;
185
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
186
+ <li <?php if ($this->isCategoryActive($_sub4)): ?> class="active"<?php endif ?>>
187
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
188
+ <?php echo $_sub4->getName()?>
189
+ </a>
190
+ <?php if($_sub4->hasChildren()):?>
191
+ <ul style="margin-left: 10px; clear:both;" >
192
+ <?php
193
+ $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
194
+ if ($_sub5s):
195
+ $_sub5s = explode(',',$_sub5s);
196
+
197
+ foreach ($_sub5s as $_sub5id):
198
+ if($deeplevel==4): break; endif;
199
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
200
+
201
+ <li <?php if ($this->isCategoryActive($_sub5)): ?> class="active"<?php endif ?>>
202
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
203
+ <?php echo $_sub5->getName()?>
204
+ </a>
205
+ </li>
206
+ <?php endforeach;?>
207
+ <?php endif;?>
208
+ </ul>
209
+ <?php endif;?>
210
+ </li>
211
+ <?php endforeach;?>
212
+ <?php endif;?>
213
+ </ul>
214
+ <?php endif;?>
215
+ </li>
216
+ <?php endforeach;?>
217
+ <?php endif;?>
218
+ </ul>
219
+ <?php endif;?>
220
+ </li>
221
+ <?php endforeach;?>
222
+ </ul>
223
+ <?php endif;?>
224
+ </li>
225
+ <?php
226
+ $i++;
227
+ endforeach;
228
+ ?>
229
+ </ul>
230
+ <div class="clear_both"><span></span></div>
231
+ </div>
232
+ </div>
233
+ <div style="clear:both;"><span></span></div>
234
+ <?php endif;?>
235
+
236
+ <?php else:?>
237
+
238
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/toplevel')==true ):?>
239
+
240
+ <?php if (!Mage::registry('current_category')) return ?>
241
+ <?php $_categories=$this->getCurrentChildCategories() ?>
242
+
243
+ <div class="mv_smartmenu">
244
+ <div class="mv_smartmenu_head">
245
+ <h4>
246
+ <?php
247
+ $_main_categories=$this->getStoreCategories();
248
+ $i=0;
249
+ foreach ($_main_categories as $_main_category):
250
+ if($this->isCategoryActive($_main_category)):
251
+ echo $_main_category->getName();
252
+ endif;
253
+ endforeach;
254
+ ?>
255
+ </h4>
256
+ </div>
257
+ <div class="mv_smartmenu_content">
258
+ <ul id="cate_collap">
259
+ <?php
260
+ $_main_categories=$this->getStoreCategories();
261
+ $i=0;
262
+ foreach ($_main_categories as $_main_category):
263
+ if($this->isCategoryActive($_main_category)):
264
+ ?>
265
+ <?php if ($_main_category->getIsActive()) {?>
266
+ <?php
267
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
268
+ $_sub_categories = $_main_category->getChildrenNodes();
269
+ } else {
270
+ $_sub_categories = $_main_category->getChildren();
271
+ }
272
+ foreach ($_sub_categories as $_sub_category):
273
+ ?>
274
+ <li class="<?php if ($this->isCategoryActive($_sub_category)): echo'active'; endif; if($i==0): echo ' first'; endif;?>" style="clear: both; float: left; width:100%;">
275
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>">
276
+ <?php echo $_sub_category->getName()?>
277
+ </a>
278
+ <?php if(($_sub_category->hasChildren()) && ($deeplevel!=2)): ?>
279
+ <a class="title_collap" href="#" onclick="return false;"><span class="right head">&nbsp;</span> </a>
280
+ <?php endif;?>
281
+ <ul style="margin-left: 10px; clear:both;" >
282
+ <?php
283
+ $_sub3s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
284
+ if ($_sub3s):
285
+ $_sub3s = explode(',',$_sub3s);
286
+ foreach ($_sub3s as $_sub3id):
287
+ if($deeplevel==2): break; endif;
288
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
289
+ <li <?php if ($this->isCategoryActive($_sub3)): ?> class="active"<?php endif ?>>
290
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>">
291
+ <?php echo $_sub3->getName()?>
292
+ </a>
293
+ <ul style="margin-left: 10px; clear:both;" >
294
+ <?php
295
+ $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
296
+ if ($_sub4s):
297
+ $_sub4s = explode(',',$_sub4s);
298
+ foreach ($_sub4s as $_sub4id):
299
+ if($deeplevel==3): break; endif;
300
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
301
+ <li <?php if ($this->isCategoryActive($_sub4)): ?> class="active"<?php endif ?>>
302
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
303
+ <?php echo $_sub4->getName()?>
304
+ </a>
305
+ <ul style="margin-left: 10px; clear:both;" >
306
+ <?php
307
+ $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
308
+ if ($_sub5s):
309
+ $_sub5s = explode(',',$_sub5s);
310
+ foreach ($_sub5s as $_sub5id):
311
+ if($deeplevel==4): break; endif;
312
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
313
+ <li <?php if ($this->isCategoryActive($_sub5)): ?> class="active"<?php endif ?>>
314
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
315
+ <?php echo $_sub5->getName()?>
316
+ </a>
317
+ </li>
318
+ <?php endforeach;?>
319
+ <?php endif;?>
320
+ </ul>
321
+ </li>
322
+ <?php endforeach;?>
323
+ <?php endif;?>
324
+ </ul>
325
+ </li>
326
+ <?php endforeach;?>
327
+ <?php endif;?>
328
+ </ul>
329
+ </li>
330
+ <?php endforeach;?>
331
+ <?php }?>
332
+ </li>
333
+ <?php
334
+ $i++;
335
+ endif;
336
+ endforeach;
337
+ ?>
338
+ </ul>
339
+ </div>
340
+ </div>
341
+ <div style="clear: both;"></div>
342
+
343
+ <?php else:?>
344
+
345
+ <div class="mv_smartmenu">
346
+ <div class="mw_smartmenu_head">
347
+ <h4><?php echo $this->__('Categories')?> </h4>
348
+ </div>
349
+ <ul id="cate_collap">
350
+
351
+ <?php
352
+ $_main_categories=$this->getStoreCategories();
353
+ $i=0;
354
+ foreach ($_main_categories as $_main_category):
355
+ ?>
356
+ <li class="<?php if ($this->isCategoryActive($_main_category)):echo 'active'; endif; if($i==0): echo ' first'; endif;?>" style="clear: both; float: left; width:100%;">
357
+ <a class="left main_cate " href="<?php echo $this->getCategoryUrl($_main_category)?>"><?php echo $_main_category->getName()?></a>
358
+ <?php if(($_main_category->hasChildren()) && ($deeplevel!=1)): ?>
359
+ <a class="title_collap" href="#" onclick="return false;"><span class="right head">&nbsp;</span> </a>
360
+ <?php endif;?>
361
+
362
+ <?php if ($_main_category->getIsActive()) {
363
+ ?>
364
+
365
+
366
+ <ul style="margin-left: 10px; clear: both;" class="ul_level1" >
367
+
368
+ <?php
369
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
370
+ $_sub_categories = $_main_category->getChildrenNodes();
371
+ } else {
372
+ $_sub_categories = $_main_category->getChildren();
373
+ }
374
+
375
+ foreach ($_sub_categories as $_sub_category):
376
+ if($deeplevel==1): break; endif;
377
+ ?>
378
+ <li <?php if ($this->isCategoryActive($_sub_category)): ?> class="active"<?php endif ?>>
379
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>">
380
+ <?php echo $_sub_category->getName()?>
381
+ </a>
382
+ <ul style="margin-left: 10px; clear:both;" >
383
+ <?php
384
+ $_sub3s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
385
+ if ($_sub3s):
386
+ $_sub3s = explode(',',$_sub3s);
387
+
388
+ foreach ($_sub3s as $_sub3id):
389
+ if($deeplevel==2): break; endif;
390
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
391
+ <li <?php if ($this->isCategoryActive($_sub3)): ?> class="active"<?php endif ?>>
392
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>">
393
+ <?php echo $_sub3->getName()?>
394
+ </a>
395
+ <ul style="margin-left: 10px; clear:both;" >
396
+ <?php
397
+ $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
398
+ if ($_sub4s):
399
+ $_sub4s = explode(',',$_sub4s);
400
+
401
+ foreach ($_sub4s as $_sub4id):
402
+ if($deeplevel==3): break; endif;
403
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
404
+ <li <?php if ($this->isCategoryActive($_sub4)): ?> class="active"<?php endif ?>>
405
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
406
+ <?php echo $_sub4->getName()?>
407
+ </a>
408
+ <ul style="margin-left: 10px; clear:both;" >
409
+ <?php
410
+ $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
411
+ if ($_sub5s):
412
+ $_sub5s = explode(',',$_sub5s);
413
+
414
+ foreach ($_sub5s as $_sub5id):
415
+ if($deeplevel==4): break; endif;
416
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
417
+
418
+ <li <?php if ($this->isCategoryActive($_sub5)): ?> class="active"<?php endif ?>>
419
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
420
+ <?php echo $_sub5->getName()?>
421
+ </a>
422
+ </li>
423
+ <?php endforeach;?>
424
+ <?php endif;?>
425
+ </ul>
426
+ </li>
427
+ <?php endforeach;?>
428
+ <?php endif;?>
429
+ </ul>
430
+ </li>
431
+ <?php endforeach;?>
432
+ <?php endif;?>
433
+ </ul>
434
+ </li>
435
+ <?php endforeach;?>
436
+ </ul>
437
+
438
+ <?php
439
+ }
440
+ ?>
441
+ </li>
442
+ <?php
443
+ $i++;
444
+ endforeach;
445
+ ?>
446
+
447
+
448
+
449
+ </ul>
450
+ </div>
451
+ <div style="clear: both;"></div>
452
+ <?php endif;?>
453
+
454
+ <?php endif;?>
455
+ <?php endif;?>
456
+
457
+
458
+
459
+
460
+
app/design/frontend/default/freepop/template/smartmenu/accordion_right.phtml ADDED
@@ -0,0 +1,459 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Smart menu for store
4
+ *
5
+ * @see Mage_Catalog_Block_Navigation
6
+ */
7
+ ?>
8
+ <?php $deeplevel = Mage::getStoreConfig("smartmenu/smartmenu/deeplevel"); ?>
9
+ <?php $allows1 = Mage::getStoreConfig("smartmenu/smartmenu/rightmenu"); ?>
10
+ <?php if($allows1==1):?>
11
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/collapse')==true ):?>
12
+
13
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/toplevel')==true ):?>
14
+
15
+ <?php if (!Mage::registry('current_category')) return ?>
16
+ <?php $_categories=$this->getCurrentChildCategories() ?>
17
+
18
+ <div class="mv_smartmenu">
19
+ <div class="mv_smartmenu_head">
20
+ <h4>
21
+ <?php
22
+ $_main_categories=$this->getStoreCategories();
23
+ $i=0;
24
+ foreach ($_main_categories as $_main_category):
25
+ if($this->isCategoryActive($_main_category)):
26
+ echo $_main_category->getName();
27
+ endif;
28
+ endforeach;
29
+ ?>
30
+ </h4>
31
+ </div>
32
+ <div class="mv_smartmenu_content">
33
+ <ul id="theMenu_acc">
34
+ <?php
35
+ $_main_categories=$this->getStoreCategories();
36
+ $i=0;
37
+ foreach ($_main_categories as $_main_category):
38
+ if($this->isCategoryActive($_main_category)):
39
+ ?>
40
+ <?php
41
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
42
+ $_sub_categories = $_main_category->getChildrenNodes();
43
+ } else {
44
+ $_sub_categories = $_main_category->getChildren();
45
+ }
46
+ foreach ($_sub_categories as $_sub_category):
47
+ ?>
48
+ <li class="<?php if ($this->isCategoryActive($_sub_category)): echo 'active'; endif; if($i==0): echo ' first'; endif;?>">
49
+ <a class="left main-cate" href="<?php echo $this->getCategoryUrl($_sub_category)?>">
50
+ <?php echo $_sub_category->getName()?>
51
+ </a>
52
+ <?php if(($_sub_category->hasChildren()) && ($deeplevel!=2)):?>
53
+ <span class="right head <?php if ($this->isCategoryActive($_sub_category)): echo 'selected'; endif; ?>">
54
+ <a href="javascript:;"></a>
55
+ </span>
56
+ <?php endif;?>
57
+ <?php if($_sub_category->hasChildren()):?>
58
+ <ul style="margin-left: 10px; clear:both;" >
59
+ <?php
60
+ $_sub3s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
61
+ if ($_sub3s):
62
+ $_sub3s = explode(',',$_sub3s);
63
+ foreach ($_sub3s as $_sub3id):
64
+ if($deeplevel==2): break; endif;
65
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
66
+ <li <?php if ($this->isCategoryActive($_sub3)): ?> class="active"<?php endif ?>>
67
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>">
68
+ <?php echo $_sub3->getName()?>
69
+ </a>
70
+ <?php if($_sub3->hasChildren()):?>
71
+ <ul style="margin-left: 10px; clear:both;" >
72
+ <?php
73
+ $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
74
+ if ($_sub4s):
75
+ $_sub4s = explode(',',$_sub4s);
76
+ foreach ($_sub4s as $_sub4id):
77
+ if($deeplevel==3): break; endif;
78
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
79
+ <li <?php if ($this->isCategoryActive($_sub4)): ?> class="active"<?php endif ?>>
80
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
81
+ <?php echo $_sub4->getName()?>
82
+ </a>
83
+ <?php if($_sub4->hasChildren()):?>
84
+ <ul style="margin-left: 10px; clear:both;" >
85
+ <?php
86
+ $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
87
+ if ($_sub5s):
88
+ $_sub5s = explode(',',$_sub5s);
89
+ foreach ($_sub5s as $_sub5id):
90
+ if($deeplevel==4): break; endif;
91
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
92
+ <li <?php if ($this->isCategoryActive($_sub5)): ?> class="active"<?php endif ?>>
93
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
94
+ <?php echo $_sub5->getName()?>
95
+ </a>
96
+ </li>
97
+ <?php endforeach;?>
98
+ <?php endif;?>
99
+ </ul>
100
+ <?php endif;?>
101
+ </li>
102
+ <?php endforeach;?>
103
+ <?php endif;?>
104
+ </ul>
105
+ <?php endif;?>
106
+ </li>
107
+ <?php endforeach;?>
108
+ <?php endif;?>
109
+ </ul>
110
+ <?php endif;?>
111
+ </li>
112
+ <?php endforeach;?>
113
+
114
+ <?php
115
+ $i++;
116
+ endif;
117
+ endforeach;
118
+ ?>
119
+ </ul>
120
+ </div>
121
+ </div>
122
+ <div style="clear: both;"></div>
123
+
124
+ <?php else:?>
125
+
126
+ <div class="mv_smartmenu">
127
+ <div class="mv_smartmenu_head">
128
+ <h4><?php echo $this->__('Categories')?></h4>
129
+ </div>
130
+ <div class="mv_smartmenu_content">
131
+ <ul id="theMenu_acc">
132
+ <?php
133
+ $_main_categories=$this->getStoreCategories();
134
+ $i=0;
135
+ foreach ($_main_categories as $_main_category):
136
+ ?>
137
+ <li class="<?php if ($this->isCategoryActive($_main_category)): echo 'active'; endif; if($i==0): echo ' first'; endif;?>">
138
+ <a class="left main-cate" href="<?php echo $this->getCategoryUrl($_main_category)?>">
139
+ <?php echo $_main_category->getName()?>
140
+ </a>
141
+ <?php if(($_main_category->hasChildren()) && ($deeplevel!=1)):?>
142
+ <span class="right head <?php if ($this->isCategoryActive($_main_category)): echo 'selected'; endif; ?>">
143
+ <a href="javascript:;"></a>
144
+ </span>
145
+ <?php endif;?>
146
+
147
+ <?php if($_main_category->hasChildren()):?>
148
+ <ul style="margin-left: 10px; clear:both;" >
149
+ <?php
150
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
151
+ $_sub_categories = $_main_category->getChildrenNodes();
152
+ } else {
153
+ $_sub_categories = $_main_category->getChildren();
154
+ }
155
+ foreach ($_sub_categories as $_sub_category):
156
+ if($deeplevel==1): break; endif;
157
+ ?>
158
+ <li <?php if ($this->isCategoryActive($_sub_category)): ?> class="active"<?php endif ?>>
159
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>">
160
+ <?php echo $_sub_category->getName()?>
161
+ </a>
162
+ <?php if($_sub_category->hasChildren()):?>
163
+ <ul style="margin-left: 10px; clear:both;" >
164
+ <?php
165
+ $_sub3s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
166
+ if ($_sub3s):
167
+ $_sub3s = explode(',',$_sub3s);
168
+ foreach ($_sub3s as $_sub3id):
169
+ if($deeplevel==2): break; endif;
170
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
171
+ <li <?php if ($this->isCategoryActive($_sub3)): ?> class="active"<?php endif ?>>
172
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>">
173
+ <?php echo $_sub3->getName()?>
174
+ </a>
175
+ <?php if($_sub3->hasChildren()):?>
176
+ <ul style="margin-left: 10px; clear:both;" >
177
+ <?php
178
+ $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
179
+ if ($_sub4s):
180
+ $_sub4s = explode(',',$_sub4s);
181
+
182
+ foreach ($_sub4s as $_sub4id):
183
+ if($deeplevel==3): break; endif;
184
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
185
+ <li <?php if ($this->isCategoryActive($_sub4)): ?> class="active"<?php endif ?>>
186
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
187
+ <?php echo $_sub4->getName()?>
188
+ </a>
189
+ <?php if($_sub4->hasChildren()):?>
190
+ <ul style="margin-left: 10px; clear:both;" >
191
+ <?php
192
+ $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
193
+ if ($_sub5s):
194
+ $_sub5s = explode(',',$_sub5s);
195
+
196
+ foreach ($_sub5s as $_sub5id):
197
+ if($deeplevel==4): break; endif;
198
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
199
+
200
+ <li <?php if ($this->isCategoryActive($_sub5)): ?> class="active"<?php endif ?>>
201
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
202
+ <?php echo $_sub5->getName()?>
203
+ </a>
204
+ </li>
205
+ <?php endforeach;?>
206
+ <?php endif;?>
207
+ </ul>
208
+ <?php endif;?>
209
+ </li>
210
+ <?php endforeach;?>
211
+ <?php endif;?>
212
+ </ul>
213
+ <?php endif;?>
214
+ </li>
215
+ <?php endforeach;?>
216
+ <?php endif;?>
217
+ </ul>
218
+ <?php endif;?>
219
+ </li>
220
+ <?php endforeach;?>
221
+ </ul>
222
+ <?php endif;?>
223
+ </li>
224
+ <?php
225
+ $i++;
226
+ endforeach;
227
+ ?>
228
+
229
+ </ul>
230
+ </div>
231
+ </div>
232
+ <div style="clear: both;"></div>
233
+ <?php endif;?>
234
+
235
+ <?php else:?>
236
+
237
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/toplevel')==true ):?>
238
+
239
+ <?php if (!Mage::registry('current_category')) return ?>
240
+ <?php $_categories=$this->getCurrentChildCategories() ?>
241
+
242
+ <div class="mv_smartmenu">
243
+ <div class="mv_smartmenu_head">
244
+ <h4>
245
+ <?php
246
+ $_main_categories=$this->getStoreCategories();
247
+ $i=0;
248
+ foreach ($_main_categories as $_main_category):
249
+ if($this->isCategoryActive($_main_category)):
250
+ echo $_main_category->getName();
251
+ endif;
252
+ endforeach;
253
+ ?>
254
+ </h4>
255
+ </div>
256
+ <div class="mv_smartmenu_content">
257
+ <ul id="cate_collap">
258
+ <?php
259
+ $_main_categories=$this->getStoreCategories();
260
+ $i=0;
261
+ foreach ($_main_categories as $_main_category):
262
+ if($this->isCategoryActive($_main_category)):
263
+ ?>
264
+ <?php if ($_main_category->getIsActive()) {?>
265
+ <?php
266
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
267
+ $_sub_categories = $_main_category->getChildrenNodes();
268
+ } else {
269
+ $_sub_categories = $_main_category->getChildren();
270
+ }
271
+ foreach ($_sub_categories as $_sub_category):
272
+ ?>
273
+ <li class="<?php if ($this->isCategoryActive($_sub_category)): echo'active'; endif; if($i==0): echo ' first'; endif;?>" style="clear: both; float: left; width:100%;">
274
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>">
275
+ <?php echo $_sub_category->getName()?>
276
+ </a>
277
+ <?php if(($_sub_category->hasChildren()) && ($deeplevel!=2)): ?>
278
+ <a class="title_collap" href="#" onclick="return false;"><span class="right head">&nbsp;</span> </a>
279
+ <?php endif;?>
280
+ <ul style="margin-left: 10px; clear:both;" >
281
+ <?php
282
+ $_sub3s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
283
+ if ($_sub3s):
284
+ $_sub3s = explode(',',$_sub3s);
285
+ foreach ($_sub3s as $_sub3id):
286
+ if($deeplevel==2): break; endif;
287
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
288
+ <li <?php if ($this->isCategoryActive($_sub3)): ?> class="active"<?php endif ?>>
289
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>">
290
+ <?php echo $_sub3->getName()?>
291
+ </a>
292
+ <ul style="margin-left: 10px; clear:both;" >
293
+ <?php
294
+ $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
295
+ if ($_sub4s):
296
+ $_sub4s = explode(',',$_sub4s);
297
+ foreach ($_sub4s as $_sub4id):
298
+ if($deeplevel==3): break; endif;
299
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
300
+ <li <?php if ($this->isCategoryActive($_sub4)): ?> class="active"<?php endif ?>>
301
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
302
+ <?php echo $_sub4->getName()?>
303
+ </a>
304
+ <ul style="margin-left: 10px; clear:both;" >
305
+ <?php
306
+ $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
307
+ if ($_sub5s):
308
+ $_sub5s = explode(',',$_sub5s);
309
+ foreach ($_sub5s as $_sub5id):
310
+ if($deeplevel==4): break; endif;
311
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
312
+ <li <?php if ($this->isCategoryActive($_sub5)): ?> class="active"<?php endif ?>>
313
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
314
+ <?php echo $_sub5->getName()?>
315
+ </a>
316
+ </li>
317
+ <?php endforeach;?>
318
+ <?php endif;?>
319
+ </ul>
320
+ </li>
321
+ <?php endforeach;?>
322
+ <?php endif;?>
323
+ </ul>
324
+ </li>
325
+ <?php endforeach;?>
326
+ <?php endif;?>
327
+ </ul>
328
+ </li>
329
+ <?php endforeach;?>
330
+ <?php }?>
331
+ </li>
332
+ <?php
333
+ $i++;
334
+ endif;
335
+ endforeach;
336
+ ?>
337
+ </ul>
338
+ </div>
339
+ </div>
340
+ <div style="clear: both;"></div>
341
+
342
+ <?php else:?>
343
+
344
+ <div class="mv_smartmenu">
345
+ <div class="mw_smartmenu_head">
346
+ <h4><?php echo $this->__('Categories')?> </h4>
347
+ </div>
348
+ <ul id="cate_collap">
349
+
350
+ <?php
351
+ $_main_categories=$this->getStoreCategories();
352
+ $i=0;
353
+ foreach ($_main_categories as $_main_category):
354
+ ?>
355
+ <li class="<?php if ($this->isCategoryActive($_main_category)):echo 'active'; endif; if($i==0): echo ' first'; endif;?>" style="clear: both; float: left; width:100%;">
356
+ <a class="left main_cate " href="<?php echo $this->getCategoryUrl($_main_category)?>"><?php echo $_main_category->getName()?></a>
357
+ <?php if(($_main_category->hasChildren()) && ($deeplevel!=1)): ?>
358
+ <a class="title_collap" href="#" onclick="return false;"><span class="right head">&nbsp;</span> </a>
359
+ <?php endif;?>
360
+
361
+ <?php if ($_main_category->getIsActive()) {
362
+ ?>
363
+
364
+
365
+ <ul style="margin-left: 10px; clear: both;" class="ul_level1" >
366
+
367
+ <?php
368
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
369
+ $_sub_categories = $_main_category->getChildrenNodes();
370
+ } else {
371
+ $_sub_categories = $_main_category->getChildren();
372
+ }
373
+
374
+ foreach ($_sub_categories as $_sub_category):
375
+ if($deeplevel==1): break; endif;
376
+ ?>
377
+ <li <?php if ($this->isCategoryActive($_sub_category)): ?> class="active"<?php endif ?>>
378
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>">
379
+ <?php echo $_sub_category->getName()?>
380
+ </a>
381
+ <ul style="margin-left: 10px; clear:both;" >
382
+ <?php
383
+ $_sub3s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
384
+ if ($_sub3s):
385
+ $_sub3s = explode(',',$_sub3s);
386
+
387
+ foreach ($_sub3s as $_sub3id):
388
+ if($deeplevel==2): break; endif;
389
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
390
+ <li <?php if ($this->isCategoryActive($_sub3)): ?> class="active"<?php endif ?>>
391
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>">
392
+ <?php echo $_sub3->getName()?>
393
+ </a>
394
+ <ul style="margin-left: 10px; clear:both;" >
395
+ <?php
396
+ $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
397
+ if ($_sub4s):
398
+ $_sub4s = explode(',',$_sub4s);
399
+
400
+ foreach ($_sub4s as $_sub4id):
401
+ if($deeplevel==3): break; endif;
402
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
403
+ <li <?php if ($this->isCategoryActive($_sub4)): ?> class="active"<?php endif ?>>
404
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
405
+ <?php echo $_sub4->getName()?>
406
+ </a>
407
+ <ul style="margin-left: 10px; clear:both;" >
408
+ <?php
409
+ $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
410
+ if ($_sub5s):
411
+ $_sub5s = explode(',',$_sub5s);
412
+
413
+ foreach ($_sub5s as $_sub5id):
414
+ if($deeplevel==4): break; endif;
415
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
416
+
417
+ <li <?php if ($this->isCategoryActive($_sub5)): ?> class="active"<?php endif ?>>
418
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
419
+ <?php echo $_sub5->getName()?>
420
+ </a>
421
+ </li>
422
+ <?php endforeach;?>
423
+ <?php endif;?>
424
+ </ul>
425
+ </li>
426
+ <?php endforeach;?>
427
+ <?php endif;?>
428
+ </ul>
429
+ </li>
430
+ <?php endforeach;?>
431
+ <?php endif;?>
432
+ </ul>
433
+ </li>
434
+ <?php endforeach;?>
435
+ </ul>
436
+
437
+ <?php
438
+ }
439
+ ?>
440
+ </li>
441
+ <?php
442
+ $i++;
443
+ endforeach;
444
+ ?>
445
+
446
+
447
+
448
+ </ul>
449
+ </div>
450
+ <div style="clear: both;"></div>
451
+ <?php endif;?>
452
+
453
+ <?php endif;?>
454
+ <?php endif;?>
455
+
456
+
457
+
458
+
459
+
app/design/frontend/default/freepop/template/smartmenu/dropdown_left.phtml ADDED
@@ -0,0 +1,261 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Smart menu for store
4
+ *
5
+ * @see Mage_Catalog_Block_Navigation
6
+ */
7
+ ?>
8
+ <?php $deeplevel = Mage::getStoreConfig("smartmenu/smartmenu/deeplevel"); ?>
9
+ <?php $allows1 = Mage::getStoreConfig("smartmenu/smartmenu/leftmenu"); ?>
10
+ <?php $allows1 = Mage::getStoreConfig("smartmenu/smartmenu/leftmenu"); ?>
11
+ <?php if($allows1==2):?>
12
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/toplevel')==true ):?>
13
+
14
+ <div class="mw_menu">
15
+ <div class="mw_menu_head">
16
+ <h4 class="title">
17
+ <?php
18
+ $_main_categories=$this->getStoreCategories();
19
+ $i=0;
20
+ foreach ($_main_categories as $_main_category):
21
+ if($this->isCategoryActive($_main_category)):
22
+ echo $_main_category->getName();
23
+ endif;
24
+ endforeach;
25
+ ?>
26
+ </h4>
27
+ </div>
28
+ <ul class="sf-menu sf-vertical sf-js-enabled sf-shadow">
29
+ <?php
30
+ $_main_categories=$this->getStoreCategories();
31
+ foreach ($_main_categories as $_main_category):
32
+ if($this->isCategoryActive($_main_category)) {
33
+ ?>
34
+
35
+ <?php
36
+
37
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
38
+ $_sub_categories = $_main_category->getChildrenNodes();
39
+ } else {
40
+ $_sub_categories = $_main_category->getChildren();
41
+ }
42
+ if($_main_category->hasChildren()):
43
+ ?>
44
+
45
+ <?php foreach ($_sub_categories as $_sub_category):
46
+ if($deeplevel==1): break; endif;
47
+ if ($_sub_category->getIsActive()) {?>
48
+ <li <?php if($deeplevel==2): echo 'class="display_li"'; endif;?>>
49
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>"><?php echo $_sub_category->getName()?></a>
50
+ <?php
51
+ $_sub2s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
52
+ if ($_sub2s):
53
+ $_sub2s = explode(',',$_sub2s);
54
+ ?>
55
+
56
+ <ul <?php if($deeplevel==2): echo 'class="display"'; endif;?>>
57
+ <?php foreach ($_sub2s as $_sub2id):
58
+ if($deeplevel==2): break; endif;
59
+ $_sub2 = Mage::getModel('catalog/category')->load($_sub2id);?>
60
+ <li <?php if($deeplevel==3): echo 'class="display_li"'; endif;?>>
61
+ <a href="<?php echo $this->getCategoryUrl($_sub2)?>"><?php echo $_sub2->getName()?></a>
62
+
63
+ <?php $_sub3s = Mage::getModel('catalog/category')->load($_sub2->getId())->getChildren();
64
+ if ($_sub3s):
65
+ $_sub3s = explode(',',$_sub3s);
66
+ ?>
67
+ <ul <?php if($deeplevel==3): echo 'class="display"'; endif;?>>
68
+ <?php foreach ($_sub3s as $_sub3id):
69
+ if($deeplevel==3): break; endif;
70
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
71
+ <li <?php if($deeplevel==4): echo 'class="display_li"'; endif;?>>
72
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>"><?php echo $_sub3->getName()?></a>
73
+
74
+ <?php $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
75
+ if ($_sub4s):
76
+ $_sub4s = explode(',',$_sub4s);
77
+ ?>
78
+ <ul <?php if($deeplevel==4): echo 'class="display"'; endif;?>>
79
+ <?php foreach ($_sub4s as $_sub4id):
80
+ if($deeplevel==4): break; endif;
81
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
82
+ <li <?php if($deeplevel==5): echo 'class="display_li"'; endif;?>>
83
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
84
+ <?php echo $_sub4->getName()?>
85
+ </a>
86
+
87
+ <?php $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
88
+ if ($_sub5s):
89
+ $_sub5s = explode(',',$_sub5s);
90
+ ?>
91
+ <ul <?php if($deeplevel==5): echo 'class="display"'; endif;?>>
92
+ <?php foreach ($_sub5s as $_sub5id):
93
+ if($deeplevel==4): break; endif;
94
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
95
+ <li>
96
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
97
+ <?php echo $_sub5->getName()?>
98
+ </a>
99
+ </li>
100
+
101
+ <?php
102
+ endforeach;?>
103
+ </ul>
104
+ <?php endif; ?>
105
+
106
+ </li>
107
+
108
+ <?php
109
+ endforeach;?>
110
+ </ul>
111
+ <?php endif; ?>
112
+
113
+ </li>
114
+
115
+ <?php
116
+ endforeach;?>
117
+ </ul>
118
+ <?php endif; ?>
119
+
120
+ </li>
121
+
122
+ <?php
123
+ endforeach;?>
124
+ </ul>
125
+ <?php endif; ?>
126
+ </li>
127
+ <?php
128
+
129
+ }
130
+ endforeach;?>
131
+
132
+ <?php endif; ?>
133
+
134
+ <?php
135
+ }
136
+ endforeach;?>
137
+ </ul>
138
+ </div>
139
+ <div style="clear:both;"></div>
140
+
141
+ <?php else:?>
142
+ <div class="mw_menu">
143
+ <div class="mw_menu_head">
144
+ <h4 class="title"><?php echo $this->__('Categories');?></h4>
145
+ </div>
146
+ <ul class="sf-menu sf-vertical sf-js-enabled sf-shadow">
147
+ <?php
148
+ $_main_categories=$this->getStoreCategories();
149
+ foreach ($_main_categories as $_main_category):
150
+ if ($_main_category->getIsActive()) {
151
+ ?>
152
+ <li <?php if($deeplevel==1): echo 'class="display_li"'; endif;?>>
153
+ <a href="<?php echo $this->getCategoryUrl($_main_category)?>"><?php echo $_main_category->getName()?></a>
154
+ <?php
155
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
156
+ $_sub_categories = $_main_category->getChildrenNodes();
157
+ } else {
158
+ $_sub_categories = $_main_category->getChildren();
159
+ }
160
+ if($_main_category->hasChildren()):
161
+ ?>
162
+
163
+ <ul <?php if($deeplevel==1): echo 'class="display"'; endif;?>>
164
+ <?php foreach ($_sub_categories as $_sub_category):
165
+ if($deeplevel==1): break; endif;
166
+ if ($_sub_category->getIsActive()) {?>
167
+ <li <?php if($deeplevel==2): echo 'class="display_li"'; endif;?>>
168
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>"><?php echo $_sub_category->getName()?></a>
169
+ <?php
170
+ $_sub2s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
171
+ if ($_sub2s):
172
+ $_sub2s = explode(',',$_sub2s);
173
+ ?>
174
+
175
+ <ul <?php if($deeplevel==2): echo 'class="display"'; endif;?>>
176
+ <?php foreach ($_sub2s as $_sub2id):
177
+ if($deeplevel==2): break; endif;
178
+ $_sub2 = Mage::getModel('catalog/category')->load($_sub2id);?>
179
+ <li <?php if($deeplevel==3): echo 'class="display_li"'; endif;?>>
180
+ <a href="<?php echo $this->getCategoryUrl($_sub2)?>"><?php echo $_sub2->getName()?></a>
181
+
182
+ <?php $_sub3s = Mage::getModel('catalog/category')->load($_sub2->getId())->getChildren();
183
+ if ($_sub3s):
184
+ $_sub3s = explode(',',$_sub3s);
185
+ ?>
186
+ <ul <?php if($deeplevel==3): echo 'class="display"'; endif;?>>
187
+ <?php foreach ($_sub3s as $_sub3id):
188
+ if($deeplevel==3): break; endif;
189
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
190
+ <li <?php if($deeplevel==4): echo 'class="display_li"'; endif;?>>
191
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>"><?php echo $_sub3->getName()?></a>
192
+
193
+ <?php $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
194
+ if ($_sub4s):
195
+ $_sub4s = explode(',',$_sub4s);
196
+ ?>
197
+ <ul <?php if($deeplevel==4): echo 'class="display"'; endif;?>>
198
+ <?php foreach ($_sub4s as $_sub4id):
199
+ if($deeplevel==4): break; endif;
200
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
201
+ <li <?php if($deeplevel==5): echo 'class="display_li"'; endif;?>>
202
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
203
+ <?php echo $_sub4->getName()?>
204
+ </a>
205
+
206
+ <?php $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
207
+ if ($_sub5s):
208
+ $_sub5s = explode(',',$_sub5s);
209
+ ?>
210
+ <ul <?php if($deeplevel==5): echo 'class="display"'; endif;?>>
211
+ <?php foreach ($_sub5s as $_sub5id):
212
+ if($deeplevel==4): break; endif;
213
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
214
+ <li>
215
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
216
+ <?php echo $_sub5->getName()?>
217
+ </a>
218
+ </li>
219
+
220
+ <?php
221
+ endforeach;?>
222
+ </ul>
223
+ <?php endif; ?>
224
+
225
+ </li>
226
+
227
+ <?php
228
+ endforeach;?>
229
+ </ul>
230
+ <?php endif; ?>
231
+
232
+ </li>
233
+
234
+ <?php
235
+ endforeach;?>
236
+ </ul>
237
+ <?php endif; ?>
238
+
239
+ </li>
240
+
241
+ <?php
242
+ endforeach;?>
243
+ </ul>
244
+ <?php endif; ?>
245
+ </li>
246
+ <?php
247
+
248
+ }
249
+ endforeach;?>
250
+ </ul>
251
+ <?php endif; ?>
252
+ </li>
253
+ <?php
254
+ }
255
+ endforeach;?>
256
+
257
+ </ul>
258
+ <div style="clear:both;"></div>
259
+ </div>
260
+ <?php endif;?>
261
+ <?php endif;?>
app/design/frontend/default/freepop/template/smartmenu/dropdown_right.phtml ADDED
@@ -0,0 +1,262 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Smart menu for store
4
+ *
5
+ * @see Mage_Catalog_Block_Navigation
6
+ */
7
+ ?>
8
+ <?php $deeplevel = Mage::getStoreConfig("smartmenu/smartmenu/deeplevel"); ?>
9
+ <?php $allows1 = Mage::getStoreConfig("smartmenu/smartmenu/rightmenu"); ?>
10
+ <?php $allows1 = Mage::getStoreConfig("smartmenu/smartmenu/rightmenu"); ?>
11
+ <?php if($allows1==2):?>
12
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/toplevel')==true ):?>
13
+
14
+ <div class="mw_menu">
15
+ <div class="mw_menu_head">
16
+ <h4 class="title">
17
+ <?php
18
+ $_main_categories=$this->getStoreCategories();
19
+ $i=0;
20
+ foreach ($_main_categories as $_main_category):
21
+ if($this->isCategoryActive($_main_category)):
22
+ echo $_main_category->getName();
23
+ endif;
24
+ endforeach;
25
+ ?>
26
+ </h4>
27
+ </div>
28
+ <ul class="sf-menu sf-vertical sf-js-enabled sf-shadow">
29
+ <?php
30
+ $_main_categories=$this->getStoreCategories();
31
+ foreach ($_main_categories as $_main_category):
32
+ if($this->isCategoryActive($_main_category)) {
33
+ ?>
34
+
35
+ <?php
36
+
37
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
38
+ $_sub_categories = $_main_category->getChildrenNodes();
39
+ } else {
40
+ $_sub_categories = $_main_category->getChildren();
41
+ }
42
+ if($_main_category->hasChildren()):
43
+ ?>
44
+
45
+ <?php foreach ($_sub_categories as $_sub_category):
46
+ if($deeplevel==1): break; endif;
47
+ if ($_sub_category->getIsActive()) {?>
48
+ <li <?php if($deeplevel==2): echo 'class="display_li"'; endif;?>>
49
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>"><?php echo $_sub_category->getName()?></a>
50
+ <?php
51
+ $_sub2s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
52
+ if ($_sub2s):
53
+ $_sub2s = explode(',',$_sub2s);
54
+ ?>
55
+
56
+ <ul <?php if($deeplevel==2): echo 'class="display"'; endif;?>>
57
+ <?php foreach ($_sub2s as $_sub2id):
58
+ if($deeplevel==2): break; endif;
59
+ $_sub2 = Mage::getModel('catalog/category')->load($_sub2id);?>
60
+ <li <?php if($deeplevel==3): echo 'class="display_li"'; endif;?>>
61
+ <a href="<?php echo $this->getCategoryUrl($_sub2)?>"><?php echo $_sub2->getName()?></a>
62
+
63
+ <?php $_sub3s = Mage::getModel('catalog/category')->load($_sub2->getId())->getChildren();
64
+ if ($_sub3s):
65
+ $_sub3s = explode(',',$_sub3s);
66
+ ?>
67
+ <ul <?php if($deeplevel==3): echo 'class="display"'; endif;?>>
68
+ <?php foreach ($_sub3s as $_sub3id):
69
+ if($deeplevel==3): break; endif;
70
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
71
+ <li <?php if($deeplevel==4): echo 'class="display_li"'; endif;?>>
72
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>"><?php echo $_sub3->getName()?></a>
73
+
74
+ <?php $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
75
+ if ($_sub4s):
76
+ $_sub4s = explode(',',$_sub4s);
77
+ ?>
78
+ <ul <?php if($deeplevel==4): echo 'class="display"'; endif;?>>
79
+ <?php foreach ($_sub4s as $_sub4id):
80
+ if($deeplevel==4): break; endif;
81
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
82
+ <li <?php if($deeplevel==5): echo 'class="display_li"'; endif;?>>
83
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
84
+ <?php echo $_sub4->getName()?>
85
+ </a>
86
+
87
+ <?php $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
88
+ if ($_sub5s):
89
+ $_sub5s = explode(',',$_sub5s);
90
+ ?>
91
+ <ul <?php if($deeplevel==5): echo 'class="display"'; endif;?>>
92
+ <?php foreach ($_sub5s as $_sub5id):
93
+ if($deeplevel==4): break; endif;
94
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
95
+ <li>
96
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
97
+ <?php echo $_sub5->getName()?>
98
+ </a>
99
+ </li>
100
+
101
+ <?php
102
+ endforeach;?>
103
+ </ul>
104
+ <?php endif; ?>
105
+
106
+ </li>
107
+
108
+ <?php
109
+ endforeach;?>
110
+ </ul>
111
+ <?php endif; ?>
112
+
113
+ </li>
114
+
115
+ <?php
116
+ endforeach;?>
117
+ </ul>
118
+ <?php endif; ?>
119
+
120
+ </li>
121
+
122
+ <?php
123
+ endforeach;?>
124
+ </ul>
125
+ <?php endif; ?>
126
+ </li>
127
+ <?php
128
+
129
+ }
130
+ endforeach;?>
131
+
132
+ <?php endif; ?>
133
+
134
+ <?php
135
+ }
136
+ endforeach;?>
137
+ </ul>
138
+ </div>
139
+ <div style="clear:both;"></div>
140
+
141
+ <?php else:?>
142
+ <div class="mw_menu">
143
+ <div class="mw_menu_head">
144
+ <h4 class="title"><?php echo $this->__('Categories');?></h4>
145
+ </div>
146
+ <ul class="sf-menu sf-vertical sf-js-enabled sf-shadow">
147
+ <?php
148
+ $_main_categories=$this->getStoreCategories();
149
+ foreach ($_main_categories as $_main_category):
150
+ if ($_main_category->getIsActive()) {
151
+ ?>
152
+ <li <?php if($deeplevel==1): echo 'class="display_li"'; endif;?>>
153
+ <a href="<?php echo $this->getCategoryUrl($_main_category)?>"><?php echo $_main_category->getName()?></a>
154
+ <?php
155
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
156
+ $_sub_categories = $_main_category->getChildrenNodes();
157
+ } else {
158
+ $_sub_categories = $_main_category->getChildren();
159
+ }
160
+
161
+ if($_main_category->hasChildren()):
162
+ ?>
163
+
164
+ <ul <?php if($deeplevel==1): echo 'class="display"'; endif;?>>
165
+ <?php foreach ($_sub_categories as $_sub_category):
166
+ if($deeplevel==1): break; endif;
167
+ if ($_sub_category->getIsActive()) {?>
168
+ <li <?php if($deeplevel==2): echo 'class="display_li"'; endif;?>>
169
+ <a href="<?php echo $this->getCategoryUrl($_sub_category)?>"><?php echo $_sub_category->getName()?></a>
170
+ <?php
171
+ $_sub2s = Mage::getModel('catalog/category')->load($_sub_category->getId())->getChildren();
172
+ if ($_sub2s):
173
+ $_sub2s = explode(',',$_sub2s);
174
+ ?>
175
+
176
+ <ul <?php if($deeplevel==2): echo 'class="display"'; endif;?>>
177
+ <?php foreach ($_sub2s as $_sub2id):
178
+ if($deeplevel==2): break; endif;
179
+ $_sub2 = Mage::getModel('catalog/category')->load($_sub2id);?>
180
+ <li <?php if($deeplevel==3): echo 'class="display_li"'; endif;?>>
181
+ <a href="<?php echo $this->getCategoryUrl($_sub2)?>"><?php echo $_sub2->getName()?></a>
182
+
183
+ <?php $_sub3s = Mage::getModel('catalog/category')->load($_sub2->getId())->getChildren();
184
+ if ($_sub3s):
185
+ $_sub3s = explode(',',$_sub3s);
186
+ ?>
187
+ <ul <?php if($deeplevel==3): echo 'class="display"'; endif;?>>
188
+ <?php foreach ($_sub3s as $_sub3id):
189
+ if($deeplevel==3): break; endif;
190
+ $_sub3 = Mage::getModel('catalog/category')->load($_sub3id);?>
191
+ <li <?php if($deeplevel==4): echo 'class="display_li"'; endif;?>>
192
+ <a href="<?php echo $this->getCategoryUrl($_sub3)?>"><?php echo $_sub3->getName()?></a>
193
+
194
+ <?php $_sub4s = Mage::getModel('catalog/category')->load($_sub3->getId())->getChildren();
195
+ if ($_sub4s):
196
+ $_sub4s = explode(',',$_sub4s);
197
+ ?>
198
+ <ul <?php if($deeplevel==4): echo 'class="display"'; endif;?>>
199
+ <?php foreach ($_sub4s as $_sub4id):
200
+ if($deeplevel==4): break; endif;
201
+ $_sub4 = Mage::getModel('catalog/category')->load($_sub4id);?>
202
+ <li <?php if($deeplevel==5): echo 'class="display_li"'; endif;?>>
203
+ <a href="<?php echo $this->getCategoryUrl($_sub4)?>">
204
+ <?php echo $_sub4->getName()?>
205
+ </a>
206
+
207
+ <?php $_sub5s = Mage::getModel('catalog/category')->load($_sub4->getId())->getChildren();
208
+ if ($_sub5s):
209
+ $_sub5s = explode(',',$_sub5s);
210
+ ?>
211
+ <ul <?php if($deeplevel==5): echo 'class="display"'; endif;?>>
212
+ <?php foreach ($_sub5s as $_sub5id):
213
+ if($deeplevel==4): break; endif;
214
+ $_sub5 = Mage::getModel('catalog/category')->load($_sub5id);?>
215
+ <li>
216
+ <a href="<?php echo $this->getCategoryUrl($_sub5)?>">
217
+ <?php echo $_sub5->getName()?>
218
+ </a>
219
+ </li>
220
+
221
+ <?php
222
+ endforeach;?>
223
+ </ul>
224
+ <?php endif; ?>
225
+
226
+ </li>
227
+
228
+ <?php
229
+ endforeach;?>
230
+ </ul>
231
+ <?php endif; ?>
232
+
233
+ </li>
234
+
235
+ <?php
236
+ endforeach;?>
237
+ </ul>
238
+ <?php endif; ?>
239
+
240
+ </li>
241
+
242
+ <?php
243
+ endforeach;?>
244
+ </ul>
245
+ <?php endif; ?>
246
+ </li>
247
+ <?php
248
+
249
+ }
250
+ endforeach;?>
251
+ </ul>
252
+ <?php endif; ?>
253
+ </li>
254
+ <?php
255
+ }
256
+ endforeach;?>
257
+
258
+ </ul>
259
+ <div style="clear:both;"></div>
260
+ </div>
261
+ <?php endif;?>
262
+ <?php endif;?>
app/design/frontend/default/freepop/template/smartmenu/shopby.phtml ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Category layered navigation
4
+ *
5
+ *
6
+ */
7
+ ?>
8
+
9
+ <?php $allows = Mage::getStoreConfig("smartmenu/smartmenu/override"); ?>
10
+ <?php if($allows==1):?>
11
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/expanding')==true ):?>
12
+ <?php if($this->canShowBlock()): ?>
13
+ <div class="mw_shopby">
14
+ <div class="mw_shopby_head">
15
+ <h3 class="title" style="display: none;"><?php echo $this->__('Shop by') ?></h3>
16
+ </div>
17
+ <?php echo $this->getStateHtml() ?>
18
+ <?php if($this->canShowOptions()): ?>
19
+ <h4><?php echo $this->__('Shopping Options') ?></h4>
20
+ <div class="mw_shopby_content">
21
+ <div class="narrow-by">
22
+ <?php $_filters = $this->getFilters() ?>
23
+ <ul id="menu">
24
+ <?php foreach ($_filters as $_filter): ?>
25
+ <?php if($_filter->getItemsCount()): ?>
26
+ <li>
27
+ <a href="#" class="title_auto" onclick="return false;"><?php echo $this->__($_filter->getName()) ?></a>
28
+ <?php echo $_filter->getHtml() ?>
29
+
30
+ </li>
31
+ <?php endif; ?>
32
+ <?php endforeach; ?>
33
+ </ul>
34
+ </div>
35
+ </div>
36
+ <?php endif; ?>
37
+ </div>
38
+ <?php endif; ?>
39
+ <?php else:?>
40
+ <?php if(Mage::getStoreConfig('smartmenu/smartmenu/collapse')==true ):?>
41
+ <?php if($this->canShowBlock()): ?>
42
+ <div class="block mw_shopby">
43
+ <div class="block-title">
44
+ <strong>
45
+ <span><?php echo $this->__('Shop by')?></span>
46
+ </strong>
47
+ </div>
48
+ <h4><?php echo $this->__('Shopping Options') ?></h4>
49
+ <div class="block-content">
50
+ <?php echo $this->getStateHtml() ?>
51
+ <?php if($this->canShowOptions()): ?>
52
+ <div class="mw_shopby_content">
53
+ <div class="narrow-by">
54
+ <?php $_filters = $this->getFilters() ?>
55
+ <ul id="shopby">
56
+ <?php foreach ($_filters as $_filter): ?>
57
+ <?php if($_filter->getItemsCount()): ?>
58
+ <li>
59
+ <span class="title"><a href="javascript:;"><?php echo $this->__($_filter->getName()) ?></a></span>
60
+ <?php echo $_filter->getHtml() ?>
61
+
62
+ </li>
63
+ <?php endif; ?>
64
+ <?php endforeach; ?>
65
+ </ul>
66
+ </div>
67
+ </div>
68
+ <?php endif; ?>
69
+ </div>
70
+ </div>
71
+ <?php endif; ?>
72
+ <?php else:?>
73
+
74
+ <?php if($this->canShowBlock()): ?>
75
+ <div class="mw_shopby">
76
+ <div class="mw_shopby_head">
77
+ <h3 class="title" style="display: none;"><?php echo $this->__('Shop by') ?></h3>
78
+ </div>
79
+ <?php echo $this->getStateHtml() ?>
80
+ <?php if($this->canShowOptions()): ?>
81
+ <h4><?php echo $this->__('Shopping Options') ?></h4>
82
+ <div class="mw_shopby_content">
83
+ <div class="narrow-by">
84
+ <?php $_filters = $this->getFilters() ?>
85
+ <ul id="menu_collap">
86
+ <?php foreach ($_filters as $_filter): ?>
87
+ <?php if($_filter->getItemsCount()): ?>
88
+ <li>
89
+ <a href="#" class="select_collap" onclick="return false;"><?php echo $this->__($_filter->getName()) ?></a>
90
+ <?php echo $_filter->getHtml() ?>
91
+
92
+ </li>
93
+ <?php endif; ?>
94
+ <?php endforeach; ?>
95
+ </ul>
96
+ </div>
97
+ </div>
98
+ <?php endif; ?>
99
+ </div>
100
+ <?php endif; ?>
101
+
102
+ <?php endif; ?>
103
+ <!-- [ends] .browse-by // -->
104
+ <?php endif; ?>
105
+ <?php else:?>
106
+ <?php if($this->canShowBlock()): ?>
107
+ <div class="mw_shopby1">
108
+ <div class="mw_shopby1_head">
109
+ <h3 class="title" style="display: none;"><?php echo $this->__('Shop by') ?></h3>
110
+ </div>
111
+ <?php echo $this->getStateHtml() ?>
112
+ <?php if($this->canShowOptions()): ?>
113
+ <h4><?php echo $this->__('Shopping Options') ?></h4>
114
+ <div class="mw_shopby1_content">
115
+ <div class="narrow-by">
116
+ <?php $_filters = $this->getFilters() ?>
117
+ <ul class="sf-menu sf-vertical sf-js-enabled sf-shadow">
118
+ <?php foreach ($_filters as $_filter): ?>
119
+ <?php if($_filter->getItemsCount()): ?>
120
+ <li>
121
+ <a href="#" onclick="return false;"><?php echo $this->__($_filter->getName()) ?></a>
122
+ <?php $a= $_filter->getHtml();
123
+
124
+ $a = str_replace("ol","ul",$a);
125
+ echo $a;
126
+
127
+ ?>
128
+
129
+ </li>
130
+ <?php endif; ?>
131
+ <?php endforeach; ?>
132
+ </ul>
133
+ </div>
134
+ </div>
135
+ <?php endif; ?>
136
+ </div>
137
+ <?php endif; ?>
138
+ <?php endif;?>
app/design/frontend/default/freepop/template/testimonial/list.phtml ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/testimonial/style.css')?>" />
2
+ <style>
3
+ .mw_clear{clear:both;width:100%;}
4
+ </style>
5
+ <h3><?php echo Mage::helper('testimonial')->__('What our customers say'); ?></h3>
6
+ <div style="float:right; font-weight:bold; margin-bottom:0.4em;margin-right:0.4em;"><a href="<?php echo Mage::getUrl("testimonial/submit"); ?>"><?php echo Mage::helper('testimonial')->__('Submit Your Testimonial'); ?></a></div>
7
+ <div class="mw_clear"></div>
8
+ <?php
9
+ $testimonial = $this->getTestimonials();
10
+ $allow_media = (Mage::getStoreConfig('hm_testimonial/general/allow_media')) ? Mage::getStoreConfig('hm_testimonial/general/allow_media'):0;
11
+ ?>
12
+ <?php
13
+ if($testimonial->count() < 1):
14
+ ?>
15
+ <div class="postWrapper">
16
+ <p><?php echo Mage::helper('testimonial')->__('No Testimonials'); ?></p>
17
+ </div>
18
+ <?php
19
+ else:
20
+ ?>
21
+ <div class="postWrapper">
22
+ <?php foreach ($testimonial as $post): ?>
23
+ <?php if($allow_media){?>
24
+ <div style="border-bottom:1px solid silver;">
25
+ <div class="mw_clear" style="height:5px;"></div>
26
+ <div style="float:left;width:50%;">
27
+ <?php $media = $post->getMedia();
28
+ if($media){
29
+ $file_ext = array();
30
+ $file_ext = explode('.',$media);
31
+ $file_ext = $file_ext[sizeof($file_ext)-1];
32
+ if($file_ext=='flv'|| $file_ext=='avi'|| $file_ext=='mp3'){?>
33
+ <object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="<?php echo $this->getWidthMedia();?>"
34
+ height="<?php echo $this->getHeightMedia();?>">
35
+ <param name="movie" value="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'testimonial/'.'player-viral.swf';?>" />
36
+ <param name="allowfullscreen" value="true" />
37
+ <param name="allowscriptaccess" value="always" />
38
+ <param name="flashvars" value="file=<?php echo $this->getMediaUrl($post->getMedia());?>" />
39
+ <embed
40
+ type="application/x-shockwave-flash"
41
+ id="player2"
42
+ name="player2"
43
+ src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'testimonial/'.'player-viral.swf';?>"
44
+ allowscriptaccess="always"
45
+ allowfullscreen="true"
46
+ width="<?php echo $this->getWidthMedia();?>"
47
+ height="<?php echo $this->getHeightMedia(); ?>"
48
+ flashvars="file=<?php echo $this->getMediaUrl($post->getMedia());?>"
49
+ />
50
+ </object>
51
+ <?php }elseif ($file_ext=='swf'){?>
52
+ <object classid="clsid:your-class-id" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0">
53
+ <param name=movie value="">
54
+ <param name="autoplay" value="false" />
55
+ <param name="controller" value="true" />
56
+ <param name=quality value=high>
57
+ <param name="wmode" value="transparent">
58
+ <embed src="<?php echo $this->getMediaUrl($post->getMedia());?>"
59
+ quality="high"
60
+ wmode="transparent"
61
+ width="<?php echo $this->getWidthMedia();?>"
62
+ height="<?php echo $this->getHeightMedia();?>"
63
+ pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
64
+ type="application/x-shockwave-flash">
65
+ </embed>
66
+ </object>
67
+ <?php }elseif($file_ext=='mp4'){?>
68
+ <object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"
69
+ width="<?php echo $this->getWidthMedia(); ?>" height="<?php echo $this->HeightMedia(); ?>">
70
+ <param name="src" value="<?php echo $this->getMediaUrl() ?>" />
71
+ <param name="autoplay" value="false" />
72
+ <param name="controller" value="true" />
73
+ <embed width="<?php echo $this->getWidthMedia(); ?>" height="<?php echo $this->getHeightMedia();?>"
74
+ src="<?php echo $this->getMediaUrl($post->getMedia());?>"
75
+ type="video/mpeg"
76
+ pluginspage="http://www.apple.com/quicktime/download" autoplay="false" controller="true">
77
+ </object>
78
+ <?php }else{?>
79
+ <!--<img src="<?php echo $this->getMediaUrl($post->getMedia());?>" width="<?php echo $this->getWidthMedia();?>" height="<?php echo $this->getHeightMedia();?>">-->
80
+ <?php //echo $post->getMedia(); ?>
81
+ <img src="<?php echo Mage::helper('testimonial/image')->init($post->getMedia())->resize(intval($this->getWidthMedia()), intval($this->getHeightMedia())); ?>" />
82
+ <?php }?>
83
+ <?php }?>
84
+ </div>
85
+ <div style="float:right;width:50%;" class="tes_info">
86
+ <div style="font-style:italic;margin:0.4em 0.4em;"><?php echo $post->getDescription(); ?></div>
87
+ <div class="mw_clear"></div>
88
+ <div style="float:right;margin:0.4em 0.4em;"><?php echo $post->getClientName();?>
89
+ <?php
90
+
91
+ $allow_Email = Mage::getStoreConfig('hm_testimonial/general/allow_email');
92
+ $allow_address = Mage::getStoreConfig('hm_testimonial/general/allow_address');
93
+ $allow_company = Mage::getStoreConfig('hm_testimonial/general/allow_company');
94
+ if($allow_Email && $post->getEmail()!=''){
95
+ echo ' - '.$post->getEmail();
96
+ }
97
+ if($allow_company && $post->getCompany()!='') {?>- <a href="<?php echo $post->getWebsite(); ?>" ><?php echo $post->getCompany();?></a><?php }
98
+ if($allow_address && $post->getAddress()!=''){
99
+ echo ' - '.$post->getAddress();
100
+ }
101
+ ?>
102
+ </div>
103
+ <div class="mw_clear"></div>
104
+ </div>
105
+ <div class="mw_clear" style="height:4px;"></div>
106
+ </div>
107
+ <?php }else{?>
108
+ <div>
109
+ <blockquote style="font-style:italic; margin-right:0.4em; text-indent: 20px;margin: 0px;background:url('<?php echo $this->getSkinUrl('images/testimonial/icon_bt.gif');?>') no-repeat left top;"><?php echo $post->getDescription(); ?></blockquote>
110
+ <p style="float:right; margin-right:0.4em; "><?php echo $post->getClientName();?>
111
+ <?php
112
+
113
+ $allow_Email = Mage::getStoreConfig('hm_testimonial/general/allow_email');
114
+ $allow_address = Mage::getStoreConfig('hm_testimonial/general/allow_address');
115
+ $allow_company = Mage::getStoreConfig('hm_testimonial/general/allow_company');
116
+ if($allow_Email && $post->getEmail()!=''){
117
+ echo ' - '.$post->getEmail();
118
+ }
119
+ if($allow_company && $post->getCompany()!='') {?>- <a href="<?php echo $post->getWebsite(); ?>" ><?php echo $post->getCompany();?></a><?php }
120
+ if($allow_address && $post->getAddress()!=''){
121
+ echo ' - '.$post->getAddress();
122
+ }
123
+ ?>
124
+ </p>
125
+ </div>
126
+ <div class="mw_clear"></div>
127
+ <?php }?>
128
+ <?php endforeach; ?>
129
+ </div>
130
+ <?php
131
+ echo $this->getToolbarHtml();
132
+ ?>
133
+ <?php
134
+ endif;
135
+ ?>
app/design/frontend/default/freepop/template/testimonial/list_nopaging.phtml ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/testimonial/style.css')?>" />
2
+ <style>
3
+ .mw_clear{clear:both;width:100%;}
4
+ </style>
5
+ <h3><?php echo Mage::helper('testimonial')->__('What our customers say'); ?></h3>
6
+ <div style="float:right; font-weight:bold; margin-bottom:0.4em;margin-right:0.4em;"><a href="<?php echo Mage::getUrl("testimonial/submit"); ?>"><?php echo Mage::helper('testimonial')->__('Submit Your Testimonial'); ?></a></div>
7
+ <div class="mw_clear"></div>
8
+ <?php
9
+ $testimonial = $this->getTestimonials();
10
+ $allow_media = (Mage::getStoreConfig('hm_testimonial/general/allow_media')) ? Mage::getStoreConfig('hm_testimonial/general/allow_media'):0;
11
+ ?>
12
+ <?php
13
+ if($testimonial->count() < 1):
14
+ ?>
15
+ <div class="postWrapper">
16
+ <p><?php echo Mage::helper('testimonial')->__('No Testimonials'); ?></p>
17
+ </div>
18
+ <?php
19
+ else:
20
+ ?>
21
+ <div class="postWrapper">
22
+ <?php foreach ($testimonial as $post): ?>
23
+ <?php if($allow_media){?>
24
+ <div style="border-bottom:1px solid silver;">
25
+ <div class="mw_clear" style="height:5px;"></div>
26
+ <div style="float:left;width:50%;">
27
+ <?php $media = $post->getMedia();
28
+ if($media){
29
+ $file_ext = array();
30
+ $file_ext = explode('.',$media);
31
+ $file_ext = $file_ext[sizeof($file_ext)-1];
32
+ if($file_ext=='flv'|| $file_ext=='avi'|| $file_ext=='mp3'){?>
33
+ <object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="<?php echo $this->getWidthMedia();?>"
34
+ height="<?php echo $this->getHeightMedia();?>">
35
+ <param name="movie" value="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'testimonial/'.'player-viral.swf';?>" />
36
+ <param name="allowfullscreen" value="true" />
37
+ <param name="allowscriptaccess" value="always" />
38
+ <param name="flashvars" value="file=<?php echo $this->getMediaUrl($post->getMedia());?>" />
39
+ <embed
40
+ type="application/x-shockwave-flash"
41
+ id="player2"
42
+ name="player2"
43
+ src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'testimonial/'.'player-viral.swf';?>"
44
+ allowscriptaccess="always"
45
+ allowfullscreen="true"
46
+ width="<?php echo $this->getWidthMedia();?>"
47
+ height="<?php echo $this->getHeightMedia(); ?>"
48
+ flashvars="file=<?php echo $this->getMediaUrl($post->getMedia());?>"
49
+ />
50
+ </object>
51
+ <?php }elseif ($file_ext=='swf'){?>
52
+ <object classid="clsid:your-class-id" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0">
53
+ <param name=movie value="">
54
+ <param name=quality value=high>
55
+ <param name="wmode" value="transparent">
56
+ <embed src="<?php echo $this->getMediaUrl($post->getMedia());?>"
57
+ quality="high"
58
+ wmode="transparent"
59
+ width="<?php echo $this->getWidthMedia();?>"
60
+ height="<?php echo $this->getHeightMedia();?>"
61
+ pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
62
+ type="application/x-shockwave-flash">
63
+ </embed>
64
+ </object>
65
+ <?php }elseif($file_ext=='mp4'){?>
66
+ <object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"
67
+ width="<?php echo $this->getWidthMedia(); ?>" height="<?php echo $this->HeightMedia(); ?>">
68
+ <param name="src" value="<?php echo $this->getMediaUrl() ?>" />
69
+ <param name="autoplay" value="false" />
70
+ <param name="controller" value="true" />
71
+ <embed width="<?php echo $this->getWidthMedia(); ?>" height="<?php echo $this->getHeightMedia();?>"
72
+ src="<?php echo $this->getMediaUrl($post->getMedia());?>"
73
+ type="video/mpeg"
74
+ pluginspage="http://www.apple.com/quicktime/download" autoplay="false" controller="true">
75
+ </object>
76
+ <?php }else{?>
77
+ <!--<img src="<?php echo $this->getMediaUrl($post->getMedia());?>" width="<?php echo $this->getWidthMedia();?>" height="<?php echo $this->getHeightMedia();?>">-->
78
+ <?php if($media!=""){?>
79
+ <img src="<?php echo Mage::helper('testimonial/image')->init($post->getMedia())->resize(intval($this->getWidthMedia()), intval($this->getHeightMedia())); ?>" style="border:1px solid silver;"/>
80
+ <?php } ?>
81
+ <?php }?>
82
+ <?php }?>
83
+ </div>
84
+ <div style="float:right;width:50%;" class="tes_info">
85
+ <div style="font-style:italic;margin:0.4em 0.4em;"><?php echo $post->getDescription(); ?></div>
86
+ <div class="mw_clear"></div>
87
+ <div style="float:right;margin:0.4em 0.4em;"><?php echo $post->getClientName();?>
88
+ <?php
89
+
90
+ $allow_Email = Mage::getStoreConfig('hm_testimonial/general/allow_email');
91
+ $allow_address = Mage::getStoreConfig('hm_testimonial/general/allow_address');
92
+ $allow_company = Mage::getStoreConfig('hm_testimonial/general/allow_company');
93
+ if($allow_Email && $post->getEmail()!=''){
94
+ echo ' - '.$post->getEmail();
95
+ }
96
+ if($allow_company && $post->getCompany()!='') {?>- <a href="<?php echo $post->getWebsite(); ?>" ><?php echo $post->getCompany();?></a><?php }
97
+ if($allow_address && $post->getAddress()!=''){
98
+ echo ' - '.$post->getAddress();
99
+ }
100
+ ?>
101
+ </div>
102
+ <div class="mw_clear"></div>
103
+ </div>
104
+ <div class="mw_clear" style="height:4px;"></div>
105
+ </div>
106
+ <?php }else{?>
107
+ <div>
108
+ <blockquote style="font-style:italic; margin-right:0.4em; text-indent: 20px;margin: 0px;background:url('<?php echo $this->getSkinUrl('images/testimonial/icon_bt.gif');?>') no-repeat left top;"><?php echo $post->getDescription(); ?></blockquote>
109
+ <p style="float:right; margin-right:0.4em; "><?php echo $post->getClientName();?>
110
+ <?php
111
+
112
+ $allow_Email = Mage::getStoreConfig('hm_testimonial/general/allow_email');
113
+ $allow_address = Mage::getStoreConfig('hm_testimonial/general/allow_address');
114
+ $allow_company = Mage::getStoreConfig('hm_testimonial/general/allow_company');
115
+ if($allow_Email && $post->getEmail()!=''){
116
+ echo ' - '.$post->getEmail();
117
+ }
118
+ if($allow_company && $post->getCompany()!='') {?>- <a href="<?php echo $post->getWebsite(); ?>" ><?php echo $post->getCompany();?></a><?php }
119
+ if($allow_address && $post->getAddress()!=''){
120
+ echo ' - '.$post->getAddress();
121
+ }
122
+ ?>
123
+ </p>
124
+ </div>
125
+ <div class="mw_clear"></div>
126
+ <?php }?>
127
+ <?php endforeach; ?>
128
+ </div>
129
+ <?php
130
+ endif;
131
+ ?>
app/design/frontend/default/freepop/template/testimonial/pager.phtml ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <?php
3
+ /**
4
+ * Pager template
5
+ *
6
+ * @see Hm_Testimonial_Block_Html_Pager
7
+ */
8
+ ?>
9
+ <?php
10
+ if($this->getCollection()->getSize()): ?>
11
+ <table class="mw_tt_pager" cellspacing="0">
12
+ <tr>
13
+ <td>
14
+ <?php if($this->getLastPageNum()>1): ?>
15
+ <?php echo $this->__('Items %s to %s of %s total', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
16
+ <?php else: ?>
17
+ <strong><?php echo $this->__('%s Item(s)', $this->getTotalNum()) ?></strong>
18
+ <?php endif; ?>
19
+ </td>
20
+ <?php if($this->getLastPageNum()>1): ?>
21
+ <td class="pages">
22
+ <strong><?php echo $this->__('Page:') ?></strong>
23
+ <ol>
24
+ <?php if (!$this->isFirstPage()): ?>
25
+ <li><a href="<?php echo $this->getPreviousPageUrl() ?>"><img src="<?php echo $this->getSkinUrl('images/pager_arrow_left.gif') ?>" alt="<?php echo $this->__('Previous Page') ?>" /></a></li>
26
+ <?php endif ?>
27
+ <?php foreach ($this->getPages() as $_page): ?>
28
+ <?php if ($this->isPageCurrent($_page)): ?>
29
+ <li><span class="on"><?php echo $_page ?></span></li>
30
+ <?php else: ?>
31
+ <li><a href="<?php echo $this->getPageUrl($_page) ?>"><?php echo $_page ?></a></li>
32
+ <?php endif ?>
33
+ <?php endforeach;; ?>
34
+ <?php if (!$this->isLastPage()): ?>
35
+ <li><a href="<?php echo $this->getNextPageUrl() ?>"><img src="<?php echo $this->getSkinUrl('images/pager_arrow_right.gif') ?>" alt="<?php echo $this->__('Next Page') ?>"/></a></li>
36
+ <?php endif ?>
37
+ </ol>
38
+ </td>
39
+ <?php endif; ?>
40
+ <?php if($this->getShowPerPage()): ?>
41
+ <td class="a-right">
42
+ <?php echo $this->__('Show') ?> <select onchange="setLocation(this.value)">
43
+ <?php foreach ($this->getAvailableLimit() as $_key=>$_limit): ?>
44
+ <option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if($this->isLimitCurrent($_key)): ?> selected="selected"<?php endif ?>>
45
+ <?php echo $_limit ?>
46
+ </option>
47
+ <?php endforeach; ?>
48
+ </select> <?php echo $this->__('per page') ?>
49
+ </td>
50
+ <?php endif ?>
51
+ </tr>
52
+ </table>
53
+ <?php endif ?>
app/design/frontend/default/freepop/template/testimonial/submit.phtml ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="page-head">
2
+ <h3><?php echo Mage::helper('testimonial')->__('Write Your Own Testimonial') ?></h3>
3
+ </div>
4
+ <form action="<?php echo $this->getAction() ?>" enctype="multipart/form-data" method="post" id="testimonial-form" name="testimonial-form">
5
+ <fieldset>
6
+
7
+ <?php // do not remove div - some problem whith validator in IE ?>
8
+ <div>
9
+ <label for="client_name"><?php echo Mage::helper('testimonial')->__('Your Name') ?><span class="required">*</span></label><br />
10
+ <input class="required-entry input-text" name="client_name" id="client_name" style="width: 450px;" type="text" value="" />
11
+ </div>
12
+
13
+ <div>
14
+ <label for="company"><?php echo Mage::helper('testimonial')->__('Your Company') ?></label><br />
15
+ <input name="company" class="input-text" id="company" style="width: 450px;" type="text" value="" />
16
+ </div>
17
+
18
+ <div>
19
+ <label for="website"><?php echo Mage::helper('testimonial')->__('Your Website') ?></label><br />
20
+ <input name="website" class="input-text" id="website" style="width: 450px;" type="text" value="" />
21
+ </div>
22
+
23
+ <div>
24
+ <label for="email"><?php echo Mage::helper('testimonial')->__('Your Email') ?></label><br />
25
+ <input name="email" type="text" id="email" style="width: 450px;" class="required-entry validate-email input-text" />
26
+ </div>
27
+ <div>
28
+ <label for="address"><?php echo Mage::helper('testimonial')->__('Your Address') ?></label><br />
29
+ <input name="address" type="text" id="address" style="width: 450px;" class="input-text required-entry" />
30
+ </div>
31
+ <div style="padding:5px 0px;">
32
+ <label for="media"><?php echo Mage::helper('testimonial')->__('Upload Media:') ?></label>
33
+ <input type="file" name="media" id="media" style="width:200px;margin-left:20px;" class="input-text required-entry" />
34
+ </div>
35
+ <div>
36
+ <label for="description"><?php echo Mage::helper('testimonial')->__('Your Testimonial') ?><span class="required">*</span></label><br />
37
+ <textarea class="required-entry" name="description" id="description" cols="53" rows="10" style="width: 450px;"></textarea>
38
+ </div>
39
+ <div>
40
+ <?php if (Mage::getStoreConfig("hm_testimonial/general/enable")==true): ?>
41
+ <label for="security_code"><?php echo Mage::helper('testimonial')->__('Security code') ?><span class="required">*</span></label><br />
42
+ <div class="div_submit">
43
+ <div class="div_submit_content" >
44
+ <input class="input-text required-entry" type="text" id="security_code" name="security_code"/>
45
+ <script type="text/javascript">
46
+ // a regular expression to test for Base64 data
47
+ var BASE64_DATA = /^data:.*;base64/i;
48
+ // path to the PHP module that will decode the encoded data
49
+ var base64Path = "<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).'js/testimonial/base64.php'?>";
50
+ function fixBase64(img) {
51
+ // check the image src
52
+ if (BASE64_DATA.test(img.src)) {
53
+ // pass the data to the PHP routine
54
+ img.src = base64Path + "?" + img.src.slice(5);
55
+ }
56
+ };
57
+ // fix images on page load
58
+ onload = function() {
59
+ for (var i = 0; i < document.images.length; i++) {
60
+ fixBase64(document.images[i]);
61
+ }
62
+ };
63
+ </script>
64
+ <?php
65
+ $im = imagecreate(60, 20);
66
+ $bg = imagecolorallocate($im, 0 , 0, 0);
67
+ $textcolor = imagecolorallocate($im, 255, 255, 255);
68
+ $random=rand(1000,9999);
69
+ imagestring($im, 10, 10, 2, $random , $textcolor);
70
+ $filenametemp="gif".time().".gif";
71
+ ImageGIF($im, $filenametemp);
72
+ $ImageData = file_get_contents($filenametemp);
73
+ $ImageDataEnc = base64_encode($ImageData);
74
+ unlink($filenametemp);
75
+ ?>
76
+ </div>
77
+ <div class="div_submit">
78
+ <img id="security_image" style="float:left" alt="<?php echo $random ?>" src="data:image/gif;base64,<?php echo $ImageDataEnc?>" /></div>
79
+ </div>
80
+ <input type="hidden" name="codemd5" id="codemd5" value="<?php echo md5($random)?>"/>
81
+
82
+ <?php else: ?>
83
+ <input type="hidden" name="codemd5" id="codemd5" value=""/>
84
+ <?php endif; ?>
85
+
86
+ </div>
87
+
88
+ <div class="button-set">
89
+ <button class="form-button right" type="submit"><span><?php echo Mage::helper('testimonial')->__('Submit Testimonial') ?></span></button>
90
+ </div>
91
+ </fieldset>
92
+ </form>
93
+ <script type="text/javascript">
94
+ //<![CDATA[
95
+ // var testimonialForm = new VarienForm('testimonial-form');
96
+ //]]>
97
+ </script>
app/design/frontend/default/freepop/template/testimonial/testimonial.phtml ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <script src="<?php echo $this->getSkinUrl('js/testimonial/jquery.cycle.js')?>" type="text/javascript"></script>
3
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/testimonial/style.css')?>" />
4
+
5
+ <script type="text/javascript">
6
+ $j = jQuery.noConflict();
7
+ $j(document).ready(function() {
8
+ $j('#slideshow_advance').cycle({
9
+ fx: '<?php echo (Mage::getStoreConfig('hm_testimonial/general/slider')) ? Mage::getStoreConfig('hm_testimonial/general/slider'):''; ?>',
10
+ timeout: <?php echo (Mage::getStoreConfig('hm_testimonial/general/delay')) ? Mage::getStoreConfig('hm_testimonial/general/delay') : 1000; ?>
11
+ });
12
+ });
13
+ </script>
14
+
15
+ <?php $testimonials = $this->getTestimonials(); ?>
16
+ <?php
17
+ if($testimonials->count() < 1):
18
+ ?>
19
+ <div class="postWrapper">
20
+ <?php echo Mage::helper('testimonial')->__('No Testimonials'); ?>
21
+ </div>
22
+ <?php
23
+ else:
24
+ ?>
25
+ <div class="postWrapper">
26
+ <div class="box base-mini mini-cart">
27
+ <div class="head">
28
+ <h4><?php echo Mage::helper('testimonial')->__('Testimonials'); ?></h4>
29
+ </div>
30
+ <div class="content content_test">
31
+ <h1><img src="<?php echo $this->getSkinUrl()?>images/testimonial/icon_top.gif"> </h1>
32
+ <div id="slideshow">
33
+ <?php foreach ($testimonials as $testimonial): ?>
34
+ <div>
35
+ <font style="font-style:italic"><?php echo $testimonial->getPostContent(); ?></font>
36
+ <p style="float:right; margin-right:0.4em;"><?php echo $testimonial->getClientName();?>
37
+ <?php
38
+ $allow_Email = Mage::getStoreConfig('hm_testimonial/general/allow_email');
39
+ $allow_address = Mage::getStoreConfig('hm_testimonial/general/allow_address');
40
+ $allow_company = Mage::getStoreConfig('hm_testimonial/general/allow_company');
41
+ if($allow_Email && $testimonial->getEmail()!=''){
42
+ echo ' - '.$testimonial->getEmail();
43
+ }
44
+ if($allow_company && $testimonial->getCompany()!='') {?>- <a href="<?php echo $testimonial->getWebsite(); ?>" ><?php echo $testimonial->getCompany();?></a><?php }
45
+ if($allow_address && $testimonial->getAddress()!=''){
46
+ echo ' - '.$testimonial->getAddress();
47
+ }
48
+
49
+ ?>
50
+ </p>
51
+ </div>
52
+
53
+ <?php endforeach; ?>
54
+ </div>
55
+ <h1 class="icon_bt"><img src="<?php echo $this->getSkinUrl()?>images/testimonial/icon_bt.gif"> </h1>
56
+ </div>
57
+ <div class="div_bt_box">
58
+ <h6>
59
+ <a href="<?php echo Mage::getUrl("testimonial"); ?>">
60
+ <?php echo Mage::helper('testimonial')->__('View All'); ?>
61
+ </a>
62
+
63
+ </h6>
64
+ </div>
65
+ </div>
66
+ </div>
67
+
68
+ <?php
69
+ endif;
70
+ ?>
71
+
app/design/frontend/default/freepop/template/testimonial/testimonial_advance.phtml ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script src="<?php echo $this->getSkinUrl('js/testimonial/jquery.cycle.js')?>" type="text/javascript"></script>
2
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/testimonial/style.css')?>" />
3
+
4
+ <script type="text/javascript">
5
+ $j = jQuery.noConflict();
6
+ $j(document).ready(function() {
7
+ $j('#slideshow_advance').cycle({
8
+ fx: '<?php echo (Mage::getStoreConfig('hm_testimonial/general/slider')) ? Mage::getStoreConfig('hm_testimonial/general/slider'):''; ?>',
9
+ timeout: <?php echo (Mage::getStoreConfig('hm_testimonial/general/delay')) ? Mage::getStoreConfig('hm_testimonial/general/delay') : 1000; ?>
10
+ });
11
+ });
12
+ </script>
13
+ <?php $testimonials = $this->getRecents(); ?>
14
+ <?php
15
+ if($testimonials->count() < 1):
16
+ ?>
17
+ <div class="postWrapper">
18
+ <?php echo Mage::helper('testimonial')->__('No Testimonials'); ?>
19
+ </div>
20
+ <?php
21
+ else:
22
+ ?>
23
+ <div class="postWrapper">
24
+ <div class="div_testimonial_L">
25
+ <div class="div_testimonial_main_TR">
26
+ <div class="block div_testimonial_main_C">
27
+ <div class="block-title">
28
+ <strong>
29
+ <span><?php echo Mage::helper('testimonial')->__('Testimonials'); ?></span>
30
+ </strong>
31
+ </div>
32
+ <div class="block-content">
33
+ <div id="slideshow_advance">
34
+ <?php foreach ($testimonials as $testimonial): ?>
35
+ <div>
36
+ <p class="postcontents" style="font-style:italic; margin-bottom:5px;"><span>"</span>
37
+ <?php
38
+ $ldk = nl2br($testimonial->getPostContent());
39
+ if( strlen($ldk)>105){
40
+ $ldk = substr($ldk,0,105);
41
+ echo ($ldk."...");
42
+ }else{
43
+ echo $ldk ;
44
+ }
45
+ ?> <span>"</span></p>
46
+ <p class="address_test" style="float:right; margin-right:0;"><?php echo $testimonial->getClientName();?>
47
+ <?php
48
+ $allow_Email = Mage::getStoreConfig('hm_testimonial/general/allow_email');
49
+ $allow_address = Mage::getStoreConfig('hm_testimonial/general/allow_address');
50
+ $allow_company = Mage::getStoreConfig('hm_testimonial/general/allow_company');
51
+ if($allow_Email && $testimonial->getEmail()!=''){
52
+ echo ' - '.$testimonial->getEmail();
53
+ }
54
+ if($allow_company && $testimonial->getCompany()!='') {?>- <a href="<?php echo $testimonial->getWebsite(); ?>" ><?php echo $testimonial->getCompany();?></a><?php }
55
+
56
+ if($allow_address && $testimonial->getAddress()!=''){
57
+ echo ' - '.$testimonial->getAddress();
58
+ }
59
+ ?></p>
60
+ </div>
61
+
62
+ <?php endforeach; ?>
63
+ </div>
64
+ <div class="div_bt">
65
+ <h6>
66
+ <a href="<?php echo Mage::getUrl("testimonial"); ?>">
67
+ <?php echo Mage::helper('testimonial')->__('> View All'); ?>
68
+ </a>
69
+
70
+ </h6>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ <?php
78
+ endif;
79
+ ?>
app/design/frontend/default/freepop/template/testimonial/view.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php $testimonial = $this->getTestimonial();
2
+ ?>
3
+ <div class="postWrapper">
4
+ <div class="postTitle">
5
+ <h2><?php echo $testimonial->getTitle();?></h2>
6
+ <h3><?php echo $testimonial->getCreatedTime(); ?></h3>
7
+ </div>
8
+ <div class="postContent"><?php echo $testimonial->getDescription(); ?></div>
9
+ </div>
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>FreePOP_Theme</name>
4
- <version>1.4.2.0</version>
5
  <stability>stable</stability>
6
  <license>Free License</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Free POP is a simple, nice and clear theme for magento ecommerce site.</summary>
10
  <description>Free POP is a simple, nice and clear theme for magento ecommerce site. It is suite for many kind of webshop as CD, DVD, Music, Movie...More important, it is upgraded by our experienced experts to fully compatible with all Magento versions. Furthermore, it is easy to work with and edit.</description>
11
- <notes>Upgrade into 1.6.x, 1.7.0</notes>
12
  <authors><author><name>Hai Nguyen</name><user>mageworld</user><email>haint@mage-world.com</email></author></authors>
13
- <date>2012-07-12</date>
14
- <time>09:45:50</time>
15
- <contents><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="freepop"><dir name="layout"><file name="catalog.xml" hash="78a61bd3d773c3552851470f50bdd79d"/><file name="catalogsearch.xml" hash="1abcf6d6a67a04b0981d9de697ac36ca"/><file name="cms.xml" hash="74a54f6cccc19fb611c1b3bc52b46653"/><file name="directory.xml" hash="324f0d988943cfe039da8a1cbe038e7f"/><file name="newsletter.xml" hash="0fd5ca9fba31c0bd0993ecd4c6258896"/><file name="page.xml" hash="3392c3162eb8860738d2da6303791dd0"/><file name="tag.xml" hash="d8d238c3c74a6804ea74162beb33fde9"/><file name="testimonial.xml" hash="d30d11511fd565adb1b60f6ca98b57ac"/></dir><dir name="template"><dir name="catalog"><dir name="category"><file name="view.phtml" hash="a586b24e651b2e2e40b785efbbbe783b"/></dir><dir name="navigation"><file name="left.phtml" hash="3ec84f187ebbea1e9950731a9c1df65c"/><file name="left_main.phtml" hash="dac8e158cbeb0b61bd8daa15a6a60f26"/><file name="top.phtml" hash="9f0f42e6e2e22d1927caaf95896a8041"/></dir><dir name="product"><dir name="list"><file name="upsell.phtml" hash="b2184773a2a45372d452fa3b96896345"/></dir><file name="list.phtml" hash="9662f1cd4977becc034b65679fb90804"/><file name="newmovies.phtml" hash="7cc5059bedc7ef0647be971060e77ce3"/><file name="newmusic.phtml" hash="96e67ae921eb4a9eadee6b5148c2e017"/><file name="view.phtml" hash="bd73ba93d97b93f8cbc31fb8987fbd6f"/></dir></dir><dir name="cms"><file name="important.phtml" hash="452747b0272ea29fc7c7e4d99ffc0ab4"/></dir><dir name="page"><file name="1column.phtml" hash="1ff69c3d247359d3df640f70180cce26"/><file name="2columns-left.phtml" hash="bc2f2a72cce1868de2a2e98f71387958"/><file name="2columns-right.phtml" hash="f711a2f2cadd7ff07c09e29b76a75d1e"/><file name="3columns.phtml" hash="6161e3644029b6b230b0ff01c4888bff"/><dir name="html"><file name="breadcrumbs.phtml" hash="fdfa76871d3340eb6e1c59990a7d07b1"/><file name="footer.phtml" hash="5af10e8508edd3d6b3042de6f1604341"/><file name="head.phtml" hash="52bae233fd72cdb897aad7797a6aee0b"/><file name="header.phtml" hash="bdbb8782647289b54dda69f2aadae65c"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="freepop"><dir name="css"><file name="print.css" hash="fa66393ff642ef7184cd51949f30e397"/><file name="styles-ie.css" hash="c967437588a96041773583e1bdc1aa2e"/><file name="styles.css" hash="13d26da0e7f96004a6f52941700ee97c"/></dir><file name="favicon.ico" hash="88733ee53676a47fc354a61c32516e82"/><dir name="images"><file name="Thumbs.db" hash="5c59a18de83dd719dcc3ff56a5a88fe0"/><file name="Untitled-1_03.gif" hash="36d912bafee170e04bcc2a7d12dafc5c"/><file name="addto.gif" hash="eefe51ea8b6ffc70148e8ee888390b38"/><file name="banner_catalogy.gif" hash="99534c874b954ae31a70a9330c8183f7"/><file name="bg.gif" hash="68a674fe71609dc8ebee287ea631e65d"/><file name="bg_block_content.gif" hash="dd4393951d4462559e37f2346cf1a093"/><file name="bg_buttom.gif" hash="fd63f4a63860984c25825d949a9603eb"/><file name="bg_button.gif" hash="c92735d4f8e954a75966a4bb9cfc7073"/><file name="bg_button_all.gif" hash="2ebcf978e3a31e9351ff4177c6673aa2"/><file name="bg_compare_11.gif" hash="fa32a899b9cf2ab738ef2eb634e0d87e"/><file name="bg_content_03.gif" hash="ad38e78e429db89433665e7a31d7bf51"/><file name="bg_linav.gif" hash="1c533405aad78b65d345ab5fd71f3fad"/><file name="bg_new.gif" hash="351ff5ab3bac4963389febf538a00a76"/><file name="bg_shopby.gif" hash="2d7539059d67de04ad5e2817405911ab"/><file name="bg_title_03.gif" hash="3e01f219c3f09c940f31bb5b9ca0f192"/><file name="bg_title_03.png" hash="a5c1e5e3c74ce04158e979f0aeb42a16"/><file name="bg_title_catagy.gif" hash="1820ebf6718a52bcda4f5d0af99ba670"/><file name="bg_title_product.gif" hash="b7292af3475fdf182811d18d5d14bb53"/><file name="bg_top_main.gif" hash="b8632a54062d67986b8c62ab68e72540"/><file name="bkg_block-currency.png" hash="668f31380d9a1c671d3fdc10a68da1bd"/><file name="bkg_block-layered-dd.gif" hash="55a0d80cb0d780dcc68cf303429d7679"/><file name="bkg_block-layered-dt.png" hash="c751e031a8894fa53d1215e3a783692d"/><file name="bkg_collapse-gm.gif" hash="37418f23e65006dcfde07ce9b249e057"/><file name="bkg_collapse.gif" hash="2333c68e38163ed4656da82b9bcf362b"/><file name="bkg_divider1.gif" hash="260ebae91ffb1b7c663906b29a069925"/><file name="bkg_grand-total.gif" hash="10f1c3d82d78170706fa3e9c4baa7e04"/><file name="bkg_grid.gif" hash="a6f64fedbac51fb1b86184cd488cc4e6"/><file name="bkg_main1.gif" hash="6fbdc3f4972e3ab26bab39e0c38e68f6"/><file name="bkg_nav2.png" hash="1ebdd2e55d5915c8cb60536c0272990c"/><file name="bkg_opc-title-off.gif" hash="f69b40b5331ab3760f54d038daf287eb"/><file name="bkg_pipe1.gif" hash="15f1390defe198c1de726a42d1b6c1d6"/><file name="bkg_pipe2.gif" hash="7da64eefaf4da3855ab6ee76dbced0c2"/><file name="bkg_pipe3.gif" hash="11bfac1e590f0c77fb12f37d7f05cd3c"/><file name="bkg_product_collateral.gif" hash="1d4d6b22e5108aefae52709d3934f397"/><file name="bkg_products-grid3.gif" hash="6041e18c5bfb14bc17f942cebaffdb02"/><file name="bkg_rating.gif" hash="0a8777c815350ddf1e316a537ad0c335"/><file name="bkg_sp-methods.gif" hash="17d68b5449adaa87dafc62ae0afa1b9a"/><file name="bkg_tfoot.gif" hash="da2970eac0a22c850b19ee3680475d51"/><file name="bkg_th-v.gif" hash="b0d17555dfc6060941e0c067718189df"/><file name="bkg_th.gif" hash="f249911b08f2822fc0b561b7f98575d2"/><file name="bkg_toolbar.gif" hash="d5533203748d8e0cd4046ba557253271"/><file name="bkg_toolbar2.gif" hash="a884778e40311616646056c8eabd284d"/><file name="bottom_box_06.gif" hash="4e436d94352fa5d894fa24f8de927550"/><file name="bottom_box_06.png" hash="c76aa8af4ce225b0c990067e3cc09846"/><file name="btn_addtocat.png" hash="1d0325923a424a54c9cac11f9b3cbe78"/><file name="btn_checkout.gif" hash="d2060501e14e86c29e28137130e5726e"/><file name="btn_edit.gif" hash="df3565eb4e4d0dc578201df60de54b47"/><file name="btn_edit.png" hash="d65f7c6b4ce2a4ab4aa06f5a08b9a9bd"/><file name="btn_gm-close.gif" hash="346e26eece27449a2f224aef76ae372e"/><file name="btn_google_checkout.gif" hash="843d75249ce05b5d87ca5419f37b1c3b"/><file name="btn_mini_search.gif" hash="856b7ce3bc991482db4b59436ec12829"/><file name="btn_paypal_checkout.gif" hash="6edd61270b7b5632eafad10557129114"/><file name="btn_place_order.gif" hash="d35219f86ae2c983ee1a31557e37b612"/><file name="btn_proceed_to_checkout.gif" hash="4daac687b514fecfd1068539500ac3d7"/><file name="btn_proceed_to_checkout_dis.gif" hash="9e152c01d5d88f690dc52cb62428f3b6"/><file name="btn_remove.gif" hash="56f0362e5c2c958fd34bc508d03c66c2"/><file name="btn_remove2.gif" hash="234bddc4c5878c5ef16407a944824236"/><file name="btn_search.gif" hash="2d93b43c0a1c1182358677661e26a978"/><file name="btn_trash.gif" hash="bcb22f558a0eb32243a2a36645189e9f"/><file name="btn_trash.png" hash="a9e5e6c9c2b77d63d6f749cad0ca3b97"/><file name="btn_window_close.gif" hash="c83f3cbbb2aedfc580dff78d5cfb63ed"/><file name="calendar.gif" hash="b1468e5239504974c689eea5d93f86d4"/><dir name="catalog"><dir name="product"><dir name="placeholder"><file name="image.jpg" hash="097ab8a3051bc037ea3de0e17f440540"/><file name="small_image.jpg" hash="f825d16f97a640453553c79c48ebaa73"/><file name="thumbnail.jpg" hash="b2b682d28a08a748a73d2cda70ab5a57"/></dir></dir></dir><file name="center_head_06.gif" hash="5547b3d762341b870f75561f23bb7bf3"/><file name="currency_switcher_bg.gif" hash="2158d744ff03f418fbf7553c72fd82c4"/><file name="cvv.gif" hash="ed0f392004a405466291071a760b285d"/><file name="cvv.jpg" hash="e27210d810bbab732935d9410936ef87"/><file name="fam_book_open.png" hash="0ba89b9fbe7e88d4c6896ed0a1f495aa"/><file name="free_01.gif" hash="63f002481b624169d524fcfba8c7d111"/><file name="free_shipping_callout.jpg" hash="cbf2e494ef7ca50acf8826321d739559"/><file name="grid-cal.gif" hash="b1468e5239504974c689eea5d93f86d4"/><file name="head_05.gif" hash="d095688707b620157946bfc9b5796eff"/><file name="header_bg.gif" hash="7f211eedbe93388614d6e777b072ccf5"/><file name="home_07.gif" hash="9eb840c94a9a54491de7cbb4ca59ded8"/><file name="home_left_callout.jpg" hash="ee99a5586cf52e85c986d1275958a7da"/><file name="home_main_callout.jpg" hash="e6d1c119d5b24a5916fe394cb4b5cdc3"/><file name="i_arrow-top.gif" hash="3dbb0584e8eb1d96cc3d3c40c17d7aaf"/><file name="i_asc_arrow.gif" hash="40aa554212d6a1f60593c27d78d85fa3"/><file name="i_availability_only.gif" hash="bca1f00a50864171ad98317b778e869c"/><file name="i_availability_only_arrow.gif" hash="0cf32b72fefc94b89b74e4f3f02c2e93"/><file name="i_block-cart.gif" hash="cc19e21f9c89b70cc10354ff588ca8ab"/><file name="i_block-currency.gif" hash="471a2c163b7e9e82b9c1b1d86e2126e9"/><file name="i_block-list.gif" hash="fe8424127ecbe4b0d893bcf6f253dc1a"/><file name="i_block-list.png" hash="9e2d9b6438a82f45ba20649f5b0b74b8"/><file name="i_block-poll.gif" hash="52d778dddbf48b8d04226bee9370a7ef"/><file name="i_block-related.gif" hash="4e277173b6372b1a90b0f19e0388ad54"/><file name="i_block-subscribe.gif" hash="9e5fee06a543742045118a95f2debcb8"/><file name="i_block-tags.gif" hash="67d1255c2c3e9ed1a5c845f8d4e4a3ba"/><file name="i_block-tags.png" hash="b4dce30e69939e8cf367eb39700e9b43"/><file name="i_block-viewed.gif" hash="67d1255c2c3e9ed1a5c845f8d4e4a3ba"/><file name="i_block-viewed.png" hash="2b7b810190f25f3393248c1356b4c499"/><file name="i_block-wishlist.gif" hash="8f8cda89ca20ba4a9b2f8c91f73fdff9"/><file name="i_block-wishlist.png" hash="68c3111af76574f32222db587de5ea47"/><file name="i_desc_arrow.gif" hash="92fd194bfae4ce5ae3354e1e47d7ac7d"/><file name="i_discount.gif" hash="908d44da90de5e54185764d093bbdb77"/><file name="i_folder-table.gif" hash="bf006ddb591d8ac95d2e895bf2fdbc8d"/><file name="i_ma-info.gif" hash="91259557447ee80eb1110fe0c85cb3b5"/><file name="i_ma-reviews.gif" hash="859c97695ec396c0b284a0c3c7c416ad"/><file name="i_ma-tags.gif" hash="1e83e3b0b677c92b3aa8a252268f7b86"/><file name="i_msg-error.gif" hash="e4f28607f075a105e53fa3113d84bd26"/><file name="i_msg-note.gif" hash="e774ee481a2820789c1a77112377c4e0"/><file name="i_msg-success.gif" hash="834dfafd5f8b44c4b24a4c00add56fcf"/><file name="i_notice.gif" hash="ebd56dc80b8346e10e93628bc0e6c372"/><file name="i_page1.gif" hash="704f7d4eccbdf9cabbad7770f18856ff"/><file name="i_page2.gif" hash="57a04ca584e05e28dc94c7e68f0af62e"/><file name="i_pager-next.gif" hash="ed4d6640624c2b6edeab4c212314bd6d"/><file name="i_pager-prev.gif" hash="75973b020105dccbaf34e49d7852552d"/><file name="i_print.gif" hash="0aed138181495642e9ab29e55d194d40"/><file name="i_rss-big.png" hash="6cf70e7c52a3f3d7b833ccadb041a555"/><file name="i_rss.gif" hash="e5bbc388d818c142868b4a1df0b48793"/><file name="i_search_criteria.gif" hash="cf67b9cc5c311ae3f99e68cd29ae17be"/><file name="i_shipping.gif" hash="91a0d2cc2eb2391f90ec8a75c04b3183"/><file name="i_tag_add.gif" hash="a736baa992aa55b6fb71e8742a04dc82"/><file name="i_tier.gif" hash="c5189e25afeb7c1a8c4902a42832593e"/><file name="i_type_grid.gif" hash="a1e5d8ac36fb2891ea16e729b95c552c"/><file name="i_type_list.gif" hash="61333d383ec142b8d270abe77324aa5d"/><file name="icon_01.png" hash="e3297d4359e002c9639b6c532b769587"/><file name="icon_all.png" hash="1661ec257eacf2c6be0a5433f6a0a0ed"/><file name="icon_basket.gif" hash="429741bf7dbf5ed6aac49e1dcf6ef456"/><file name="icon_newspaper.gif" hash="57ce4a0cd0f97589c07237f24c460cda"/><file name="icon_table.gif" hash="3ef1946ad28582455b5aa00c0962aca1"/><file name="left_head.gif" hash="85afe5405acaa0023f109e9beffd5180"/><file name="logo.gif" hash="48b7eb03807fdf80bdfb19b872cf84b8"/><file name="logo.png" hash="139963c29d9941a17ed0cc1c7c8421b4"/><file name="logo_email.gif" hash="8de347192e0524cff7a69e4020182dbd"/><file name="logo_print.gif" hash="8de347192e0524cff7a69e4020182dbd"/><file name="magnifier_handle.gif" hash="238fbdd7959f517db11c6f57ee4daaf4"/><file name="map_popup_arrow.gif" hash="6383b40a9e7bd3c95260bef4fbb1b163"/><dir name="media"><file name="404_callout1.jpg" hash="834e53a03e2921a2fd3c135c0c7189df"/><file name="404_callout2.jpg" hash="016984b4a1579df34147f9407098db73"/><file name="about_us_img.jpg" hash="726f36dd75b5a709a1a14acab1660188"/><file name="best_selling_img01.jpg" hash="5e7337a4061a636df8ee4bf979a092ac"/><file name="best_selling_img02.jpg" hash="b9a49c0964938ec72fb834cb166b9352"/><file name="best_selling_img03.jpg" hash="e3581487fb4589baecc553f2ce8d5247"/><file name="best_selling_img04.jpg" hash="7e59bf99f5f813e327595c52d3320174"/><file name="best_selling_img05.jpg" hash="e396892daec7ffcf7244082b3e596911"/><file name="best_selling_img06.jpg" hash="2702839637efbe0fd0a4bad41cd6a551"/><file name="cell_phone_landing_banner1.jpg" hash="b25562360fc470f1091ca7ea014a3290"/><file name="col_left_callout.jpg" hash="4102087151d05c037b836bc2976b3d59"/><file name="col_right_callout.jpg" hash="efee9288d535fad301b177abefbc79ff"/><file name="electronics_cellphones.jpg" hash="8f6badbc32ce806c6109c788df6ef5e9"/><file name="electronics_digitalcameras.jpg" hash="953b8d7db6f0bdcd53b1d6b1386962b9"/><file name="electronics_laptops.jpg" hash="e050e92d72000e6bdc763a7b5888ec8a"/><file name="furniture_callout_spot.jpg" hash="28edc7d72486ab2362324995550d87af"/><file name="furnitures_bed_room.jpg" hash="b8616c5bffc23a92d2a1c97dae57b262"/><file name="furnitures_living_room.jpg" hash="2663737f3997cb1a49ce24d07dc8aefb"/><file name="head_electronics_cellphones.gif" hash="a69425966444ea597fb7c629114d5165"/><file name="head_electronics_digicamera.gif" hash="bde3cec3fc16b2d0ae57e7783eb00652"/><file name="head_electronics_laptops.gif" hash="b2c55387ffa92277315bdedeb4cb9b8f"/><file name="laptop_callout_mid1.jpg" hash="4ffb50bd3b7b32a78fd059b1571c202e"/><file name="laptop_callout_mid2.jpg" hash="662cf3881b06b090e9500496b19b03e4"/><file name="laptop_callout_mid3.jpg" hash="22aa71ecfe0aa9b6936a1eddb62d889e"/><file name="laptop_callout_spot.jpg" hash="2e469d1bd871355eaef6076487a973db"/><file name="shirts_landing_banner1.jpg" hash="4acc8620b009d835e5c25587671ea25d"/></dir><file name="menu_06.gif" hash="c93e92f9d709215cdde91a024f738343"/><file name="middle_box_03.gif" hash="a4d0bb64ed3925535b06645ba723bd5e"/><file name="narrow_by_set.gif" hash="08663578a21d6a59ba308a7a177658af"/><file name="new_movies.gif" hash="7544a602f1528f0785e09931ba7be888"/><file name="new_music.gif" hash="4727b360498d62a435ff44953e57b310"/><file name="np_cart_thumb.gif" hash="e9fdd943e0947e15f0638506f477e358"/><file name="np_more_img.gif" hash="ace357bfe3e81ffb62137cd5b25ae5e1"/><file name="np_product_main.gif" hash="d0cccda76de50efa025215ce85dacb1c"/><file name="np_thumb.gif" hash="e46270c89358ecc8341d1565c14644b8"/><file name="np_thumb2.gif" hash="8502866cdabc5c74aca7d7bd32a06a03"/><file name="opc-ajax-loader.gif" hash="e805ea7eca1f34c75ba0f93780d32d38"/><file name="pager_arrow_left.gif" hash="75973b020105dccbaf34e49d7852552d"/><file name="pager_arrow_right.gif" hash="cd47445a79a92502c8f7ec0eb70938ef"/><file name="pager_bg.gif" hash="22fc6c7ed4c93c1a1173006459f08172"/><file name="ph_callout_left_rebel.jpg" hash="0ce8ad0026d8b8a83ed7acdf6209129b"/><file name="ph_callout_left_top.gif" hash="f17a036d75e5065eb76bafbb2c8ad7ff"/><file name="product_03.gif" hash="794c137cd5bd90dc230700683bb56aaa"/><file name="product_btn.gif" hash="2c74cea0fb1618878921b6dc43bf6efd"/><file name="product_zoom_overlay_magnif.gif" hash="83834893e162221d6d9257fe67847370"/><file name="right_head.gif" hash="4f5f4b7fb7d2e753f321b53ca97215d7"/><file name="search.gif" hash="a1ef27f4afad18cc5583f1df973efa7d"/><file name="shop_access_pipe.gif" hash="15f1390defe198c1de726a42d1b6c1d6"/><file name="shopby.gif" hash="42467606f001e86eef4c20db9a13f4ec"/><file name="slider_bg.gif" hash="87bc1b46d87de4f6252c7216216627c3"/><file name="slider_btn_zoom_in.gif" hash="ef0fc67f77f30827ee67f4e744b60781"/><file name="slider_btn_zoom_out.gif" hash="68b3d1c28dc5aec4f6b64d70a6996b6f"/><file name="spacer.gif" hash="df3e567d6f16d040326c7a0ea29a4f41"/><file name="top_box_03.gif" hash="bc11eeff056a920bc106ea9538c4583d"/><file name="validation_advice_bg.gif" hash="b85432906de8985a8b14eeb2dc652d3c"/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>FreePOP_Theme</name>
4
+ <version>1.5.0</version>
5
  <stability>stable</stability>
6
  <license>Free License</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Free POP is a simple, nice and clear theme for magento ecommerce site.</summary>
10
  <description>Free POP is a simple, nice and clear theme for magento ecommerce site. It is suite for many kind of webshop as CD, DVD, Music, Movie...More important, it is upgraded by our experienced experts to fully compatible with all Magento versions. Furthermore, it is easy to work with and edit.</description>
11
+ <notes> add smart menu and easy tesimonial extension</notes>
12
  <authors><author><name>Hai Nguyen</name><user>mageworld</user><email>haint@mage-world.com</email></author></authors>
13
+ <date>2012-09-12</date>
14
+ <time>10:33:37</time>
15
+ <contents><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="freepop"><dir name="layout"><file name="catalog.xml" hash="78a61bd3d773c3552851470f50bdd79d"/><file name="catalogsearch.xml" hash="1abcf6d6a67a04b0981d9de697ac36ca"/><file name="cms.xml" hash="74a54f6cccc19fb611c1b3bc52b46653"/><file name="directory.xml" hash="324f0d988943cfe039da8a1cbe038e7f"/><file name="easybanner.xml" hash="7af9cdc695465da4d58f254c8e163266"/><file name="newsletter.xml" hash="412f7afddb6e01eb8b40fa4425e25dc7"/><file name="page.xml" hash="3392c3162eb8860738d2da6303791dd0"/><file name="smartmenu.xml" hash="fb3158530d0ea81296c29b9d2ae1eac1"/><file name="tag.xml" hash="d8d238c3c74a6804ea74162beb33fde9"/><file name="testimonial.xml" hash="a6901635b143d949f82014bb56a09f12"/></dir><dir name="template"><dir name="catalog"><dir name="category"><file name="view.phtml" hash="a586b24e651b2e2e40b785efbbbe783b"/></dir><dir name="navigation"><file name="left.phtml" hash="3ec84f187ebbea1e9950731a9c1df65c"/><file name="left_main.phtml" hash="dac8e158cbeb0b61bd8daa15a6a60f26"/><file name="top.phtml" hash="9f0f42e6e2e22d1927caaf95896a8041"/></dir><dir name="product"><dir name="list"><file name="upsell.phtml" hash="b2184773a2a45372d452fa3b96896345"/></dir><file name="list.phtml" hash="9662f1cd4977becc034b65679fb90804"/><file name="newmovies.phtml" hash="7cc5059bedc7ef0647be971060e77ce3"/><file name="newmusic.phtml" hash="96e67ae921eb4a9eadee6b5148c2e017"/><file name="view.phtml" hash="bd73ba93d97b93f8cbc31fb8987fbd6f"/></dir></dir><dir name="cms"><file name="important.phtml" hash="452747b0272ea29fc7c7e4d99ffc0ab4"/></dir><dir name="easybanner"><file name="cycleslider.phtml" hash="ef6278bf68b5550bb5a8e26b81c5ea52"/><file name="galleryview.phtml" hash="de416012650ea23b82066946bbe55851"/><file name="simpleslider.phtml" hash="4ed695164cfd72096daeee0a4641c9f5"/><file name="staticview.phtml" hash="879f2179dcbed5e4c1192bef82ff8950"/></dir><dir name="page"><file name="1column.phtml" hash="1ff69c3d247359d3df640f70180cce26"/><file name="2columns-left.phtml" hash="bc2f2a72cce1868de2a2e98f71387958"/><file name="2columns-right.phtml" hash="f711a2f2cadd7ff07c09e29b76a75d1e"/><file name="3columns.phtml" hash="6161e3644029b6b230b0ff01c4888bff"/><dir name="html"><file name="breadcrumbs.phtml" hash="fdfa76871d3340eb6e1c59990a7d07b1"/><file name="footer.phtml" hash="5af10e8508edd3d6b3042de6f1604341"/><file name="head.phtml" hash="52bae233fd72cdb897aad7797a6aee0b"/><file name="header.phtml" hash="bdbb8782647289b54dda69f2aadae65c"/></dir></dir><dir name="smartmenu"><file name="accordion_left.phtml" hash="67ae4a4f31515ddf74bdff5d42756c35"/><file name="accordion_right.phtml" hash="b62c87f709a3647368ba5e17a32026ff"/><file name="dropdown_left.phtml" hash="ce1d8c161548eca0cdd29f3298907e45"/><file name="dropdown_right.phtml" hash="296f52377b5b18df114aa2658eaa4b57"/><file name="shopby.phtml" hash="91bd19af11ef1bd5d9f1ee085cfd2742"/></dir><dir name="testimonial"><file name="list.phtml" hash="85e9d06e615b75f83732680e1049e718"/><file name="list_nopaging.phtml" hash="3213654546f964005bb61b2a04d75187"/><file name="pager.phtml" hash="2f05604ed00f0d325941a6da12c895a6"/><file name="submit.phtml" hash="72396f347bcf13f09b4e6dd3c7b08f13"/><file name="testimonial.phtml" hash="7d3e45b6cf6924c42e7226670032c1e6"/><file name="testimonial_advance.phtml" hash="0cf1266479411bf17f951f8607574d50"/><file name="view.phtml" hash="3b8d68f50ee1308253fb2d2421261176"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="freepop"><dir name="css"><file name="easybanner.css" hash="5e597e8a05bbc398a1cf1cbfb13d3b72"/><file name="print.css" hash="fa66393ff642ef7184cd51949f30e397"/><file name="styles-ie.css" hash="c967437588a96041773583e1bdc1aa2e"/><file name="styles.css" hash="2770abbd09fdbfdcb70a5d6a034c287b"/><dir name="testimonial"><dir name="images"><file name="Thumbs.db" hash="9f77d390f12320a4b8124e8a89b0046d"/><file name="bkg_toolbar2.gif" hash="a884778e40311616646056c8eabd284d"/><file name="pager_bg.gif" hash="e6967716de8c4bc4c96c206a0dbd2c5f"/></dir><file name="style.css" hash="14952b9ca439a650889dace872c8a414"/></dir></dir><file name="favicon.ico" hash="88733ee53676a47fc354a61c32516e82"/><dir name="images"><file name="Thumbs.db" hash="5c59a18de83dd719dcc3ff56a5a88fe0"/><file name="Untitled-1_03.gif" hash="36d912bafee170e04bcc2a7d12dafc5c"/><file name="addto.gif" hash="eefe51ea8b6ffc70148e8ee888390b38"/><file name="banner_catalogy.gif" hash="99534c874b954ae31a70a9330c8183f7"/><file name="bg.gif" hash="68a674fe71609dc8ebee287ea631e65d"/><file name="bg_active_banner.gif" hash="d5e594ce3a585bf53551b5cc9ded78bd"/><file name="bg_banner.gif" hash="fe550cbaabfcf840b72a34b1ebc17fd2"/><file name="bg_block_content.gif" hash="dd4393951d4462559e37f2346cf1a093"/><file name="bg_buttom.gif" hash="fd63f4a63860984c25825d949a9603eb"/><file name="bg_button.gif" hash="c92735d4f8e954a75966a4bb9cfc7073"/><file name="bg_button_all.gif" hash="2ebcf978e3a31e9351ff4177c6673aa2"/><file name="bg_compare_11.gif" hash="fa32a899b9cf2ab738ef2eb634e0d87e"/><file name="bg_content_03.gif" hash="ad38e78e429db89433665e7a31d7bf51"/><file name="bg_linav.gif" hash="1c533405aad78b65d345ab5fd71f3fad"/><file name="bg_new.gif" hash="351ff5ab3bac4963389febf538a00a76"/><file name="bg_select_banner.gif" hash="3cc13a43fbd1630672dcefdf2f1d7d4c"/><file name="bg_shopby.gif" hash="2d7539059d67de04ad5e2817405911ab"/><file name="bg_title_03.gif" hash="3e01f219c3f09c940f31bb5b9ca0f192"/><file name="bg_title_03.png" hash="a5c1e5e3c74ce04158e979f0aeb42a16"/><file name="bg_title_catagy.gif" hash="1820ebf6718a52bcda4f5d0af99ba670"/><file name="bg_title_product.gif" hash="b7292af3475fdf182811d18d5d14bb53"/><file name="bg_top_main.gif" hash="b8632a54062d67986b8c62ab68e72540"/><file name="bkg_block-currency.png" hash="668f31380d9a1c671d3fdc10a68da1bd"/><file name="bkg_block-layered-dd.gif" hash="55a0d80cb0d780dcc68cf303429d7679"/><file name="bkg_block-layered-dt.png" hash="c751e031a8894fa53d1215e3a783692d"/><file name="bkg_collapse-gm.gif" hash="37418f23e65006dcfde07ce9b249e057"/><file name="bkg_collapse.gif" hash="2333c68e38163ed4656da82b9bcf362b"/><file name="bkg_divider1.gif" hash="260ebae91ffb1b7c663906b29a069925"/><file name="bkg_grand-total.gif" hash="10f1c3d82d78170706fa3e9c4baa7e04"/><file name="bkg_grid.gif" hash="a6f64fedbac51fb1b86184cd488cc4e6"/><file name="bkg_main1.gif" hash="6fbdc3f4972e3ab26bab39e0c38e68f6"/><file name="bkg_nav2.png" hash="1ebdd2e55d5915c8cb60536c0272990c"/><file name="bkg_opc-title-off.gif" hash="f69b40b5331ab3760f54d038daf287eb"/><file name="bkg_pipe1.gif" hash="15f1390defe198c1de726a42d1b6c1d6"/><file name="bkg_pipe2.gif" hash="7da64eefaf4da3855ab6ee76dbced0c2"/><file name="bkg_pipe3.gif" hash="11bfac1e590f0c77fb12f37d7f05cd3c"/><file name="bkg_product_collateral.gif" hash="1d4d6b22e5108aefae52709d3934f397"/><file name="bkg_products-grid3.gif" hash="6041e18c5bfb14bc17f942cebaffdb02"/><file name="bkg_rating.gif" hash="0a8777c815350ddf1e316a537ad0c335"/><file name="bkg_sp-methods.gif" hash="17d68b5449adaa87dafc62ae0afa1b9a"/><file name="bkg_tfoot.gif" hash="da2970eac0a22c850b19ee3680475d51"/><file name="bkg_th-v.gif" hash="b0d17555dfc6060941e0c067718189df"/><file name="bkg_th.gif" hash="f249911b08f2822fc0b561b7f98575d2"/><file name="bkg_toolbar.gif" hash="d5533203748d8e0cd4046ba557253271"/><file name="bkg_toolbar2.gif" hash="a884778e40311616646056c8eabd284d"/><file name="bottom_box_06.gif" hash="4e436d94352fa5d894fa24f8de927550"/><file name="bottom_box_06.png" hash="c76aa8af4ce225b0c990067e3cc09846"/><file name="btn_addtocat.png" hash="1d0325923a424a54c9cac11f9b3cbe78"/><file name="btn_checkout.gif" hash="d2060501e14e86c29e28137130e5726e"/><file name="btn_edit.gif" hash="df3565eb4e4d0dc578201df60de54b47"/><file name="btn_edit.png" hash="d65f7c6b4ce2a4ab4aa06f5a08b9a9bd"/><file name="btn_gm-close.gif" hash="346e26eece27449a2f224aef76ae372e"/><file name="btn_google_checkout.gif" hash="843d75249ce05b5d87ca5419f37b1c3b"/><file name="btn_mini_search.gif" hash="856b7ce3bc991482db4b59436ec12829"/><file name="btn_paypal_checkout.gif" hash="6edd61270b7b5632eafad10557129114"/><file name="btn_place_order.gif" hash="d35219f86ae2c983ee1a31557e37b612"/><file name="btn_proceed_to_checkout.gif" hash="4daac687b514fecfd1068539500ac3d7"/><file name="btn_proceed_to_checkout_dis.gif" hash="9e152c01d5d88f690dc52cb62428f3b6"/><file name="btn_remove.gif" hash="56f0362e5c2c958fd34bc508d03c66c2"/><file name="btn_remove2.gif" hash="234bddc4c5878c5ef16407a944824236"/><file name="btn_search.gif" hash="2d93b43c0a1c1182358677661e26a978"/><file name="btn_trash.gif" hash="bcb22f558a0eb32243a2a36645189e9f"/><file name="btn_trash.png" hash="a9e5e6c9c2b77d63d6f749cad0ca3b97"/><file name="btn_window_close.gif" hash="c83f3cbbb2aedfc580dff78d5cfb63ed"/><file name="calendar.gif" hash="b1468e5239504974c689eea5d93f86d4"/><dir name="catalog"><dir name="product"><dir name="placeholder"><file name="image.jpg" hash="097ab8a3051bc037ea3de0e17f440540"/><file name="small_image.jpg" hash="f825d16f97a640453553c79c48ebaa73"/><file name="thumbnail.jpg" hash="b2b682d28a08a748a73d2cda70ab5a57"/></dir></dir></dir><file name="center_head_06.gif" hash="5547b3d762341b870f75561f23bb7bf3"/><file name="currency_switcher_bg.gif" hash="2158d744ff03f418fbf7553c72fd82c4"/><file name="cvv.gif" hash="ed0f392004a405466291071a760b285d"/><file name="cvv.jpg" hash="e27210d810bbab732935d9410936ef87"/><file name="fam_book_open.png" hash="0ba89b9fbe7e88d4c6896ed0a1f495aa"/><file name="free_01.gif" hash="63f002481b624169d524fcfba8c7d111"/><file name="free_shipping_callout.jpg" hash="cbf2e494ef7ca50acf8826321d739559"/><file name="grid-cal.gif" hash="b1468e5239504974c689eea5d93f86d4"/><file name="head_05.gif" hash="d095688707b620157946bfc9b5796eff"/><file name="header_bg.gif" hash="7f211eedbe93388614d6e777b072ccf5"/><file name="home_07.gif" hash="9eb840c94a9a54491de7cbb4ca59ded8"/><file name="home_left_callout.jpg" hash="ee99a5586cf52e85c986d1275958a7da"/><file name="home_main_callout.jpg" hash="e6d1c119d5b24a5916fe394cb4b5cdc3"/><file name="i_arrow-top.gif" hash="3dbb0584e8eb1d96cc3d3c40c17d7aaf"/><file name="i_asc_arrow.gif" hash="40aa554212d6a1f60593c27d78d85fa3"/><file name="i_availability_only.gif" hash="bca1f00a50864171ad98317b778e869c"/><file name="i_availability_only_arrow.gif" hash="0cf32b72fefc94b89b74e4f3f02c2e93"/><file name="i_block-cart.gif" hash="cc19e21f9c89b70cc10354ff588ca8ab"/><file name="i_block-currency.gif" hash="471a2c163b7e9e82b9c1b1d86e2126e9"/><file name="i_block-list.gif" hash="fe8424127ecbe4b0d893bcf6f253dc1a"/><file name="i_block-list.png" hash="9e2d9b6438a82f45ba20649f5b0b74b8"/><file name="i_block-poll.gif" hash="52d778dddbf48b8d04226bee9370a7ef"/><file name="i_block-related.gif" hash="4e277173b6372b1a90b0f19e0388ad54"/><file name="i_block-subscribe.gif" hash="9e5fee06a543742045118a95f2debcb8"/><file name="i_block-tags.gif" hash="67d1255c2c3e9ed1a5c845f8d4e4a3ba"/><file name="i_block-tags.png" hash="b4dce30e69939e8cf367eb39700e9b43"/><file name="i_block-viewed.gif" hash="67d1255c2c3e9ed1a5c845f8d4e4a3ba"/><file name="i_block-viewed.png" hash="2b7b810190f25f3393248c1356b4c499"/><file name="i_block-wishlist.gif" hash="8f8cda89ca20ba4a9b2f8c91f73fdff9"/><file name="i_block-wishlist.png" hash="68c3111af76574f32222db587de5ea47"/><file name="i_desc_arrow.gif" hash="92fd194bfae4ce5ae3354e1e47d7ac7d"/><file name="i_discount.gif" hash="908d44da90de5e54185764d093bbdb77"/><file name="i_folder-table.gif" hash="bf006ddb591d8ac95d2e895bf2fdbc8d"/><file name="i_ma-info.gif" hash="91259557447ee80eb1110fe0c85cb3b5"/><file name="i_ma-reviews.gif" hash="859c97695ec396c0b284a0c3c7c416ad"/><file name="i_ma-tags.gif" hash="1e83e3b0b677c92b3aa8a252268f7b86"/><file name="i_msg-error.gif" hash="e4f28607f075a105e53fa3113d84bd26"/><file name="i_msg-note.gif" hash="e774ee481a2820789c1a77112377c4e0"/><file name="i_msg-success.gif" hash="834dfafd5f8b44c4b24a4c00add56fcf"/><file name="i_notice.gif" hash="ebd56dc80b8346e10e93628bc0e6c372"/><file name="i_page1.gif" hash="704f7d4eccbdf9cabbad7770f18856ff"/><file name="i_page2.gif" hash="57a04ca584e05e28dc94c7e68f0af62e"/><file name="i_pager-next.gif" hash="ed4d6640624c2b6edeab4c212314bd6d"/><file name="i_pager-prev.gif" hash="75973b020105dccbaf34e49d7852552d"/><file name="i_print.gif" hash="0aed138181495642e9ab29e55d194d40"/><file name="i_rss-big.png" hash="6cf70e7c52a3f3d7b833ccadb041a555"/><file name="i_rss.gif" hash="e5bbc388d818c142868b4a1df0b48793"/><file name="i_search_criteria.gif" hash="cf67b9cc5c311ae3f99e68cd29ae17be"/><file name="i_shipping.gif" hash="91a0d2cc2eb2391f90ec8a75c04b3183"/><file name="i_tag_add.gif" hash="a736baa992aa55b6fb71e8742a04dc82"/><file name="i_tier.gif" hash="c5189e25afeb7c1a8c4902a42832593e"/><file name="i_type_grid.gif" hash="a1e5d8ac36fb2891ea16e729b95c552c"/><file name="i_type_list.gif" hash="61333d383ec142b8d270abe77324aa5d"/><file name="icon_01.png" hash="e3297d4359e002c9639b6c532b769587"/><file name="icon_all.png" hash="1661ec257eacf2c6be0a5433f6a0a0ed"/><file name="icon_basket.gif" hash="429741bf7dbf5ed6aac49e1dcf6ef456"/><file name="icon_newspaper.gif" hash="57ce4a0cd0f97589c07237f24c460cda"/><file name="icon_table.gif" hash="3ef1946ad28582455b5aa00c0962aca1"/><file name="left_head.gif" hash="85afe5405acaa0023f109e9beffd5180"/><file name="logo.gif" hash="48b7eb03807fdf80bdfb19b872cf84b8"/><file name="logo.png" hash="139963c29d9941a17ed0cc1c7c8421b4"/><file name="logo_email.gif" hash="8de347192e0524cff7a69e4020182dbd"/><file name="logo_print.gif" hash="8de347192e0524cff7a69e4020182dbd"/><file name="magnifier_handle.gif" hash="238fbdd7959f517db11c6f57ee4daaf4"/><file name="map_popup_arrow.gif" hash="6383b40a9e7bd3c95260bef4fbb1b163"/><dir name="media"><file name="404_callout1.jpg" hash="834e53a03e2921a2fd3c135c0c7189df"/><file name="404_callout2.jpg" hash="016984b4a1579df34147f9407098db73"/><file name="about_us_img.jpg" hash="726f36dd75b5a709a1a14acab1660188"/><file name="best_selling_img01.jpg" hash="5e7337a4061a636df8ee4bf979a092ac"/><file name="best_selling_img02.jpg" hash="b9a49c0964938ec72fb834cb166b9352"/><file name="best_selling_img03.jpg" hash="e3581487fb4589baecc553f2ce8d5247"/><file name="best_selling_img04.jpg" hash="7e59bf99f5f813e327595c52d3320174"/><file name="best_selling_img05.jpg" hash="e396892daec7ffcf7244082b3e596911"/><file name="best_selling_img06.jpg" hash="2702839637efbe0fd0a4bad41cd6a551"/><file name="cell_phone_landing_banner1.jpg" hash="b25562360fc470f1091ca7ea014a3290"/><file name="col_left_callout.jpg" hash="4102087151d05c037b836bc2976b3d59"/><file name="col_right_callout.jpg" hash="efee9288d535fad301b177abefbc79ff"/><file name="electronics_cellphones.jpg" hash="8f6badbc32ce806c6109c788df6ef5e9"/><file name="electronics_digitalcameras.jpg" hash="953b8d7db6f0bdcd53b1d6b1386962b9"/><file name="electronics_laptops.jpg" hash="e050e92d72000e6bdc763a7b5888ec8a"/><file name="furniture_callout_spot.jpg" hash="28edc7d72486ab2362324995550d87af"/><file name="furnitures_bed_room.jpg" hash="b8616c5bffc23a92d2a1c97dae57b262"/><file name="furnitures_living_room.jpg" hash="2663737f3997cb1a49ce24d07dc8aefb"/><file name="head_electronics_cellphones.gif" hash="a69425966444ea597fb7c629114d5165"/><file name="head_electronics_digicamera.gif" hash="bde3cec3fc16b2d0ae57e7783eb00652"/><file name="head_electronics_laptops.gif" hash="b2c55387ffa92277315bdedeb4cb9b8f"/><file name="laptop_callout_mid1.jpg" hash="4ffb50bd3b7b32a78fd059b1571c202e"/><file name="laptop_callout_mid2.jpg" hash="662cf3881b06b090e9500496b19b03e4"/><file name="laptop_callout_mid3.jpg" hash="22aa71ecfe0aa9b6936a1eddb62d889e"/><file name="laptop_callout_spot.jpg" hash="2e469d1bd871355eaef6076487a973db"/><file name="shirts_landing_banner1.jpg" hash="4acc8620b009d835e5c25587671ea25d"/></dir><file name="menu_06.gif" hash="c93e92f9d709215cdde91a024f738343"/><file name="middle_box_03.gif" hash="a4d0bb64ed3925535b06645ba723bd5e"/><file name="narrow_by_set.gif" hash="08663578a21d6a59ba308a7a177658af"/><file name="new_movies.gif" hash="7544a602f1528f0785e09931ba7be888"/><file name="new_music.gif" hash="4727b360498d62a435ff44953e57b310"/><file name="np_cart_thumb.gif" hash="e9fdd943e0947e15f0638506f477e358"/><file name="np_more_img.gif" hash="ace357bfe3e81ffb62137cd5b25ae5e1"/><file name="np_product_main.gif" hash="d0cccda76de50efa025215ce85dacb1c"/><file name="np_thumb.gif" hash="e46270c89358ecc8341d1565c14644b8"/><file name="np_thumb2.gif" hash="8502866cdabc5c74aca7d7bd32a06a03"/><file name="opc-ajax-loader.gif" hash="e805ea7eca1f34c75ba0f93780d32d38"/><file name="pager_arrow_left.gif" hash="75973b020105dccbaf34e49d7852552d"/><file name="pager_arrow_right.gif" hash="cd47445a79a92502c8f7ec0eb70938ef"/><file name="pager_bg.gif" hash="22fc6c7ed4c93c1a1173006459f08172"/><file name="ph_callout_left_rebel.jpg" hash="0ce8ad0026d8b8a83ed7acdf6209129b"/><file name="ph_callout_left_top.gif" hash="f17a036d75e5065eb76bafbb2c8ad7ff"/><file name="product_03.gif" hash="794c137cd5bd90dc230700683bb56aaa"/><file name="product_btn.gif" hash="2c74cea0fb1618878921b6dc43bf6efd"/><file name="product_zoom_overlay_magnif.gif" hash="83834893e162221d6d9257fe67847370"/><file name="right_head.gif" hash="4f5f4b7fb7d2e753f321b53ca97215d7"/><file name="search.gif" hash="a1ef27f4afad18cc5583f1df973efa7d"/><file name="shop_access_pipe.gif" hash="15f1390defe198c1de726a42d1b6c1d6"/><file name="shopby.gif" hash="42467606f001e86eef4c20db9a13f4ec"/><file name="slider_bg.gif" hash="87bc1b46d87de4f6252c7216216627c3"/><file name="slider_btn_zoom_in.gif" hash="ef0fc67f77f30827ee67f4e744b60781"/><file name="slider_btn_zoom_out.gif" hash="68b3d1c28dc5aec4f6b64d70a6996b6f"/><file name="spacer.gif" hash="df3e567d6f16d040326c7a0ea29a4f41"/><dir name="testimonial"><file name="Thumbs.db" hash="cdcd63129d9db47d0b7e3d5273c387fb"/><file name="bottom.jpg" hash="23ee406e5cea791e3121d39edd6c4e96"/><file name="bottom_r.jpg" hash="07868b4e7eb4c59c1c8f313ba7e7026c"/><file name="div_bt.gif" hash="0db8809ac332cba3f374c2b657cedcc8"/><file name="div_md.gif" hash="443663162116ea978c986574a56ba0ab"/><file name="div_top.gif" hash="a5d32de4a0ffed1b5bdf781105679845"/><file name="icon_bt.gif" hash="62a8ee2b864fe889e9273fc210531793"/><file name="icon_top.gif" hash="39abed11ee7fee32867359a4e0a74132"/><file name="left.jpg" hash="88d5779d27fa0359e91954dbdf8bc275"/><file name="right.jpg" hash="c073553e1391dbcdc51077a377e15b21"/><file name="top.jpg" hash="c8a53aad1d4c94aff997c2df4c8fbb7e"/><file name="top_left.jpg" hash="ba33717eb30dc9de1432f49388ef980a"/><file name="top_right.jpg" hash="b4668a39d957e3c9c0aa599bb1ba65da"/></dir><file name="top_box_03.gif" hash="bc11eeff056a920bc106ea9538c4583d"/><file name="validation_advice_bg.gif" hash="b85432906de8985a8b14eeb2dc652d3c"/></dir><dir name="js"><dir name="easybanner"><file name="easySlider1.5.js" hash="76cfc0e54ceaba7b0fedc6b6d556b0b2"/><file name="jquery.cycle.js" hash="25da3ed200c674c142afa5bef31dc6d7"/><file name="jquery.lightbox-0.5.js" hash="e8d2b95fa523157703abea5cc45451a2"/><file name="jquery.msAccordion.js" hash="0be5a6d56f981985bbc2e77ee0249df6"/><file name="plugins.init.js" hash="fc56267fd4599da5d6fd8e63c4d6d89e"/></dir><dir name="galleryview"><file name="jquery.easing.1.3.js" hash="6516449ed5089677ed3d7e2f11fc8942"/><file name="jquery.galleryview-1.1.js" hash="e4605eee9bb001c4417ed7105d8ddd21"/><file name="jquery.timers-1.1.2.js" hash="d71f25d56f3c462cc726dd57074b6018"/><dir name="themes"><dir name="dark"><file name="Thumbs.db" hash="d3cf4286629220fcdcc0416dce0cf38d"/><file name="next.png" hash="47ec5649c151404235a33d8bd28061e6"/><file name="panel-nav-next.png" hash="a49f579652343060f9fbf5bbc2555969"/><file name="panel-nav-prev.png" hash="67d503ad26afe4dad5e441c1c1db3a29"/><file name="pointer-down.png" hash="031b17c5f93af8e3394f6fde1b21390c"/><file name="pointer.png" hash="ae31b2952934f179a24758ac8984f6d7"/><file name="prev.png" hash="968316a1226c46c0d3bccec7fd2b79cf"/></dir><dir name="light"><file name="next.png" hash="1b72d4cb5935cec2ccba9d3578249142"/><file name="panel-nav-next.png" hash="f92a953488e2214e76945b395711dd88"/><file name="panel-nav-prev.png" hash="9fe9f9bc7fc0ca95a4d9871032de0d44"/><file name="pointer-down.png" hash="1db72a84729239a7388bc4b5fc3181d0"/><file name="pointer.png" hash="2a0edec8efcc35470e2f4e0e3f7ecbaf"/><file name="prev.png" hash="baa5b315418049648c2df71ace1d02df"/></dir><file name=".DS_Store" hash="362a79afd27257ca596702151f1a99ed"/></dir></dir><dir name="testimonial"><file name="jquery-1.3.2.min.js" hash="bb381e2d19d8eace86b34d20759491a5"/><file name="jquery.cycle.js" hash="25da3ed200c674c142afa5bef31dc6d7"/><file name="jquery_noconflict.js" hash="afdd9b4ecb226d898fe655136f849752"/></dir></dir><dir name="smartmenu"><dir name="css"><file name="smartmenu.css" hash="46ba51aa011469c2ec527aa45ef64708"/><file name="superfish-navbar.css" hash="61df71272322d300d10d5295e9d5b5ef"/><file name="superfish-vertical.css" hash="5be27fe96f3bf7b565b6312af2af51f3"/><file name="superfish.css" hash="5ecd0f8612f0299f114998e44286ab42"/></dir><dir name="images"><file name="Thumbs.db" hash="acc737e10c1216553ee418d6cdb55282"/><file name="arrow-cat-active.gif" hash="ec6021e66c4f7a44c3b096aead0906d4"/><file name="arrow-cat-active.png" hash="6de324ad3ad658ad361fc28d110b38ae"/><file name="arrow-cat-hover.gif" hash="917e50737a9a3250b083aafc3e21aa46"/><file name="arrow-cat-hover.png" hash="2911edcc30692463cd4a496fc3704451"/><file name="arrow-cat.gif" hash="efa81c9993c25e98a629f0a3ec90eec3"/><file name="arrow-cat.png" hash="eeaa932058b9cd0520e1abdf1fe0ce3b"/><file name="arrows-ffffff.png" hash="d0fcef6b2d88dcb1a39f3128214cd62a"/><file name="base_mini_head_bg.gif" hash="f8c1f130ad69464fe7aff2f589b2ec75"/><file name="bg-cate-active.gif" hash="e47cf1571eb73521e9c8855c8ad155d7"/><file name="bg-cate-active2.gif" hash="86567e3470983901c948411ded90ae60"/><file name="bg-li.gif" hash="dcad8070b6a20bf9aabeaf5f10482d14"/><file name="bg_block_content.gif" hash="dd4393951d4462559e37f2346cf1a093"/><file name="bg_listmenu.png" hash="102238ec066059956646d3489052f5b8"/><file name="bg_listmenu2.png" hash="441a453f5b570df20467193c1fb39e4b"/><file name="icon.gif" hash="0c269ee4cf132a6a65dd79b9dc458330"/><file name="icon.png" hash="e51f049f119cf4bede8a6c0d17789943"/><file name="icon_01.gif" hash="1b1a47b31aca979693789156200d922b"/><file name="layered_nav_head_bg.gif" hash="999526513f1214ba3ef6259b5396829f"/><file name="layered_nav_narrowed_category_heading.gif" hash="607167f198572e83a0e728b6b9383a70"/><file name="shadow.png" hash="f1d103b9df220b6bc49011a7141dd398"/></dir><dir name="js"><file name="accordion.js" hash="164b2511f5b91fbb87bde7ff785f7626"/><file name="accordion_menu.js" hash="e6581a5079267e1ae5597ed50d163305"/><file name="hoverIntent.js" hash="1a27531c68df91ec891a075b0832c2e8"/><file name="jquery-accordion-menu.js" hash="309ddd51e74777780cbefbc2e62a0364"/><file name="jquery.bgiframe.min.js" hash="6d3777ab2be264f2cd5424af32a15841"/><file name="jquery.js" hash="767eb0e7e34003d6252c1368defbca79"/><file name="superfish.js" hash="8c8070ba6a911bae7047f29e383da334"/><file name="supersubs.js" hash="4841b3d4b5eca1c3130933be83fbde4c"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
skin/frontend/default/freepop/css/easybanner.css ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Homepage Layout
2
+ --------------------------------------------------------------------------------------- */
3
+
4
+ .homepage_content { width: 816px; padding:0px; height: 317px; background:none; overflow: hidden; position: relative;}
5
+ .homepage_content img { border: none; margin: 0; padding: 0; width: 816px; height: 317px;}
6
+ #divMainRotatorNav { position:absolute; bottom:0px; left:8px; z-index:99; }
7
+ #divMainRotatorNav a {margin: 0 0 0 4px;padding:0;display:block;text-decoration: none;color: #888888;font-family:Arial, Helvetica, sans-serif; font-size:12px;border:5px solid #420807;width:87px;height:50px;display:block;background-color:#000;
8
+ /* for IE */ filter:alpha(opacity=50);
9
+ /* CSS3 standard */
10
+ opacity:0.6;}
11
+ #divMainRotatorNav a:hover { text-decoration: none;color: #ffffff;border:5px solid #7b1616;background-color:#000;
12
+ /* for IE */
13
+ filter:alpha(opacity=100);
14
+ /* CSS3 standard */
15
+ opacity:1.0;
16
+ }
17
+ #divMainRotatorNav a.activeSlide {
18
+ text-decoration: none;color: #ffffff;border:5px solid #7b1616;background-color:#000;
19
+ /* for IE */
20
+ filter:alpha(opacity=100);
21
+ /* CSS3 standard */
22
+ opacity:1.0;
23
+ }
24
+ #divMainRotatorNav a:focus { outline: none; }
25
+ .home_events_row {overflow: hidden;width: 100%;border-bottom:2px solid #dddddd;padding: 14px 0 9px 0;}
26
+ .home_events_row h4 {float: left; display:inline;font-size: 3.8em;color: #aaaaaa; margin-left: 12px;line-height: 1em;padding: 0;}
27
+ .home_events_content {float: right;display: inline;width: 84%;}
28
+ .home_events_content h3 { font-size: 1.4em; }
29
+ .home_events_content p { margin: 1px 0 0 0; }
30
+
31
+ .aaa{position:relative;width:100%;margin-bottom:35px;}
32
+ .bbb{top:-14px;z-index:1000;width:100%;position:absolute;}
33
+ /*slide*/
34
+
35
+ .nav1 { margin: 0px; position: relative }
36
+ .nav1 li { float: left; list-style: none; line-height: 24px;}
37
+ .nav1 a { padding: 0px 5px; text-decoration: none; color: #fff; font-size: 12px; font-family: arial; background:url(../images/li-hover.jpg) no-repeat; width:7px; height:22px; font-weight: bold; }
38
+ .nav1 a.activeSlide {color: #FF920A; font-size: 12px; font-family: arial; font-weight: bold; background:url(../images/li-active.jpg) no-repeat;}
39
+ .nav1 a:focus { outline: none; }
40
+ .intro_barner{height:200px;}
41
+ .nav1 a span{ display: none;}
42
+
43
+ #demos {
44
+ /*clear:both;*/
45
+ width:100%; float: left;
46
+ }
47
+ .so {
48
+ background:transparent url(../images/sliderbanner/tab_number.png) no-repeat;
49
+ height:42px;
50
+ margin:auto;
51
+ text-align:left;
52
+ width:100%;
53
+ display: block;
54
+ padding-top:17px;
55
+ }
56
+ .so a{ float: left; line-height: 24px;}
57
+ .so ul{ float: left;}
58
+ .prev img{ padding-top: 3px; padding-left:25px;}
59
+ .next img{ padding-top: 4px;}
60
+ .slideshow{overflow: hidden;height: 310px;}
61
+
62
+ #demos h2{ padding: 0px; margin: 0px; width: 597px; float: left;}
63
+ .Profitez{ overflow: hidden; width: 597px; float: left;}
64
+ .green_intro{ height: 236px !important;}
65
+ .so a.link-more{
66
+ color: #F9D428;
67
+ font-size: 14px;
68
+ text-decoration: none;
69
+ float: right;
70
+ text-align: right;
71
+ padding-right: 20px;
72
+ }
73
+ .so a:hover.link-more{
74
+ color: #F9D428;
75
+ font-size: 14px;
76
+ text-decoration: underline;
77
+ float: right;
78
+ text-align: right;
79
+ padding-right: 20px;
80
+ }
81
+ #pauseButton{
82
+ padding-top: 4px;
83
+ padding-left: 5px;
84
+ }
85
+
86
+
87
+
88
+ /* Easy SimpleSlider */
89
+ .divSimpleSliderRotate { position:absolute; bottom:-42px; left:0; z-index:99; width:100%; text-align:center; height:42px;}
90
+ .divSimpleSliderRotate a {
91
+ margin: 0 4px 0 4px;
92
+ padding:0;
93
+ background:url(../images/bg_select_banner.gif) center center no-repeat;
94
+ text-decoration: none;
95
+ font-size:0;
96
+ width:11px;
97
+ height:11px;
98
+ display:inline-block;
99
+ }
100
+ .divSimpleSliderRotate a:hover {
101
+ background:url(../images/bg_active_banner.gif) center center no-repeat;
102
+ text-decoration: none;
103
+ width:11px;
104
+ height:11px;
105
+ display:inline-block;
106
+ }
107
+ .divSimpleSliderRotate a.activeSlide {
108
+ background:url(../images/bg_active_banner.gif) center center no-repeat;
109
+ text-decoration: none;
110
+ width:11px;
111
+ height:11px;
112
+ display:inline-block;
113
+ }
114
+ .divSimpleSliderRotate a:focus { outline: none; }
115
+ /* Easy SimpleSlider */
116
+
117
+
118
+
119
+ /* Easy Slider */
120
+ #content_slider{
121
+ position:relative;
122
+ margin:0px 45px;
123
+ }
124
+ #slider{}
125
+ #slider ul, #slider li{
126
+ margin:0;
127
+ padding:0;
128
+ list-style:none;
129
+ }
130
+ #slider li{
131
+ /*
132
+ define width and height of list item (slide)
133
+ entire slider area will adjust according to the parameters provided here
134
+ */
135
+ width:856px;
136
+ height:241px;
137
+ overflow:hidden;
138
+ }
139
+ #prevBtn, #nextBtn{
140
+ display:block;
141
+ width:30px;
142
+ height:77px;
143
+ position:absolute;
144
+ left:-30px;
145
+ top:71px;
146
+ }
147
+ #nextBtn{
148
+ left:856px;
149
+ }
150
+ #prevBtn a, #nextBtn a{
151
+ display:block;
152
+ width:30px;
153
+ height:77px;
154
+ background:url(../images/easyslider/btn_prev.gif) no-repeat 0 0;
155
+ }
156
+ #nextBtn a{
157
+ background:url(../images/easyslider/btn_next.gif) no-repeat 0 0;
158
+ }
159
+ .graphic, #prevBtn, #nextBtn {
160
+ text-indent:-8000px;
161
+ }
162
+ /* // Easy Slider */
163
+
164
+ /* // accordion Slider */
165
+ set{border-bottom:1px solid #000}
166
+ set1{background-color:#C77B3F;}
167
+ set2{background-color:#FFC732;}
168
+ set3{background-color:#007C90;}
169
+ set4{background-color:#AD6F08;}
170
+ set5{background-color:#387855;}
171
+ set6{background-color:#8C4B2D;}
172
+ set7{background-color:#82A668;}
173
+
174
+ .accordionWrapper{display:inline-block; background:none; overflow:hidden;}
175
+ .accordionWrapper img{vertical-align:top; border:0; margin:0; padding:0}
176
+ .accordionWrapper div{display:inline; float:left; margin:auto;}
177
+ .accordionWrapper div.title{cursor:pointer;}
178
+ .accordionWrapper div.content{display:none; margin:0px; padding:0px;}
179
+ /* // accordion Slider */
180
+ .banner-container{background:url(../images/bg_banner.gif) center bottom no-repeat; padding-bottom:42px;}
skin/frontend/default/freepop/css/styles.css CHANGED
@@ -376,6 +376,7 @@ p.required { font-size:11px; text-align:right; color:#EB340A; }
376
  .pager .pages li { display:inline; margin:0 2px; }
377
  .pager .pages .current {}
378
  .pager .pages li a{color:#3fa4cb;}
 
379
  /* Sorter */
380
  .sorter { font-size:11px; background:#fff url(../images/bkg_toolbar2.gif) 0 100% repeat-x; padding:4px 8px; border-top:1px solid #e2e2e2; height:20px;}
381
  .sorter .view-mode { float:left; margin:3px 0 0 12px; }
@@ -779,7 +780,7 @@ tr.summary-details-excluded { font-style:italic; }
779
  .block-tags .block-title strong { background-image:url(../images/i_block-tags.png); background-position: -1px 5px;}
780
  .block-tags .block-content .tags-list { background:none; border:0; font-size:12px; padding:0;}
781
  .block-tags .block-content a { color:#5f5f5f; text-decoration:underline; }
782
- .block-tags .actions { text-align:right; }
783
  .block-tags .actions a { float:none; }
784
  .tag-list-index .tags-list{border-radius:5px; border-color:#C7C7C7;}
785
  /* Block: Subscribe */
@@ -836,7 +837,7 @@ tr.summary-details-excluded { font-style:italic; }
836
  .col2-right-layout .products-grid { width:632px; margin:0 auto; }
837
  .col1-layout .products-grid { width:790px; margin:0 auto; }
838
 
839
- .product_head{background: url(../images/new_music.gif) no-repeat; margin-top:15px; padding:0 0 0 15px; height:29px;}
840
  .product_head h2{color:#fff; line-height:29px;}
841
  .addbg{background: url(../images/new_movies.gif) no-repeat;margin-top:15px;}
842
  .product_body{border:1px solid #cbcbcb;border-top:none;background:#fefefe url(../images/bg_new.gif) repeat-x;}
@@ -1197,7 +1198,6 @@ p.view_more a{font-weight:normal; font-size:13px; color:#666666;}
1197
  /* Product Tags */
1198
  .tags-list { display:block; font-size:13px; border:1px solid #c1c4bc; background:#f8f7f5; padding:10px; }
1199
  .tags-list li { display:inline !important; margin:0 4px 0 0; }
1200
- .tags-list li a { font-size:12px !important; }
1201
  .catalogsearch-term-popular .tags-list{border-radius:5px;}
1202
  /* Advanced Search */
1203
  .advanced-search .form-list label { width:160px; padding-right:10px; }
376
  .pager .pages li { display:inline; margin:0 2px; }
377
  .pager .pages .current {}
378
  .pager .pages li a{color:#3fa4cb;}
379
+ .pager .pages li a.next img{padding:0 !important;}
380
  /* Sorter */
381
  .sorter { font-size:11px; background:#fff url(../images/bkg_toolbar2.gif) 0 100% repeat-x; padding:4px 8px; border-top:1px solid #e2e2e2; height:20px;}
382
  .sorter .view-mode { float:left; margin:3px 0 0 12px; }
780
  .block-tags .block-title strong { background-image:url(../images/i_block-tags.png); background-position: -1px 5px;}
781
  .block-tags .block-content .tags-list { background:none; border:0; font-size:12px; padding:0;}
782
  .block-tags .block-content a { color:#5f5f5f; text-decoration:underline; }
783
+ .block-tags .actions { text-align:right; padding-top:15px;}
784
  .block-tags .actions a { float:none; }
785
  .tag-list-index .tags-list{border-radius:5px; border-color:#C7C7C7;}
786
  /* Block: Subscribe */
837
  .col2-right-layout .products-grid { width:632px; margin:0 auto; }
838
  .col1-layout .products-grid { width:790px; margin:0 auto; }
839
 
840
+ .product_head{background: url(../images/new_music.gif) no-repeat; margin-top:13px; padding:0 0 0 14px; height:29px;}
841
  .product_head h2{color:#fff; line-height:29px;}
842
  .addbg{background: url(../images/new_movies.gif) no-repeat;margin-top:15px;}
843
  .product_body{border:1px solid #cbcbcb;border-top:none;background:#fefefe url(../images/bg_new.gif) repeat-x;}
1198
  /* Product Tags */
1199
  .tags-list { display:block; font-size:13px; border:1px solid #c1c4bc; background:#f8f7f5; padding:10px; }
1200
  .tags-list li { display:inline !important; margin:0 4px 0 0; }
 
1201
  .catalogsearch-term-popular .tags-list{border-radius:5px;}
1202
  /* Advanced Search */
1203
  .advanced-search .form-list label { width:160px; padding-right:10px; }
skin/frontend/default/freepop/css/testimonial/images/Thumbs.db ADDED
Binary file
skin/frontend/default/freepop/css/testimonial/images/bkg_toolbar2.gif ADDED
Binary file
skin/frontend/default/freepop/css/testimonial/images/pager_bg.gif ADDED
Binary file
skin/frontend/default/freepop/css/testimonial/style.css ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* */
2
+ .postWrapper{margin:0;padding:0;margin-bottom:10px;width:100%;}
3
+ .postWrapper p{font-weight:bold; margin-top:5px;}
4
+ .postWrapper .content_test{background:#fff;}
5
+ .div_top{background:url(../../images/testimonial/div_top.gif) no-repeat;height:25px;}
6
+ .div_middle{background:url(../../images/testimonial/div_md.gif) repeat-y;height:200px;}
7
+ #slideshow{height:110px;}
8
+ #slideshow_advance{height:145px;}
9
+ h2.title_test{color:#444444;font-family:Verdana;font-size:20px;text-align:center;}
10
+ .icon_bt{text-align:right;}
11
+ .div_bt{}
12
+ .div_bt h6{text-align:right; padding-top:0; margin-right:65px; color:#666666; font-size:13px; text-decoration:none; margin:0;}
13
+ .div_bt h6 a{color:#666666;font-weight:normal; font-size:13px; text-decoration:none;}
14
+ .div_bt_box h6{text-align:right;padding:10px 0px;margin-right:10px;}
15
+ .div_bt_box h6 a{color:#444444;font-weight:normal;font-size:11px;text-decoration:underline;}
16
+ /*create nguyen thi van 30/9/2009*/
17
+ .div_middle_content{
18
+ background:url(../../images/testimonial/right.jpg) repeat-y;
19
+ background-position:right top;
20
+ padding:0px 10px;
21
+ }
22
+ .div_testimonial_L{
23
+ background:none;
24
+ }
25
+ .div_testimonial_L .div_testimonial_R{
26
+ background:url(../../images/testimonial/right.jpg) repeat-y;
27
+ background-position:right top;
28
+ }
29
+ .div_testimonial_L .div_testimonial_R .div_testimonial_main_B{
30
+
31
+ background:url(../../images/testimonial/bottom.jpg) repeat-x;
32
+ background-position:bottom left;
33
+ }
34
+ .div_testimonial_main_C .block-title strong{text-transform:none !important; font-size:14px !important;}
35
+ #slideshow_advance .postcontents{color:#666666; font-size:12px; line-height:23px; font-weight:normal; margin-top:0;}
36
+ #slideshow_advance .address_test{color:#666666; font-size:11px; font-weight:bold;}
37
+ .div_testimonial_L .div_testimonial_R .div_testimonial_main_B .div_testimonial_main_BL{
38
+
39
+
40
+ background:url(../../images/testimonial/bottom_r.jpg) no-repeat;
41
+ background-position:bottom right;
42
+ }
43
+ .div_testimonial_L .div_testimonial_R .div_testimonial_main_B .div_testimonial_main_BL .div_testimonial_main_T{
44
+ background:url(../../images/testimonial/top.jpg) repeat-x;
45
+ background-position:top left;
46
+ }
47
+ .div_testimonial_L .div_testimonial_R .div_testimonial_main_B .div_testimonial_main_BL .div_testimonial_main_T .div_testimonial_main_TL{
48
+ background:url(../../images/testimonial/top_left.jpg) no-repeat;
49
+ background-position:top left;
50
+ }
51
+ .div_testimonial_L .div_testimonial_R .div_testimonial_main_B .div_testimonial_main_BL .div_testimonial_main_T .div_testimonial_main_TL .div_testimonial_main_TR{
52
+ background:url(../../images/testimonial/top_right.jpg) no-repeat;
53
+ background-position:top right;
54
+ }
55
+
56
+ .div_testimonial_main_C{padding:0;}
57
+ .div_submit{float:left;}
58
+ .div_submit_content{float:left;margin-right:10px;}
59
+ .mw_tt_a-right{ text-align:right !important;}
60
+
61
+ table.mw_tt_pager select{ font-size:0.95em; margin:0 3px; }
62
+ table.mw_tt_pager select { width:50px; }
63
+
64
+ table.mw_tt_pager { background:url(images/bkg_toolbar2.gif) repeat-x scroll 0 100% #FFFFFF; font-size:0.95em; width:100%;}
65
+ table.mw_tt_pager td { border-top:1px solid #DDDDDD; padding:4px 8px; vertical-align:middle; width:33%; }
66
+
67
+ table.mw_tt_pager td.pages { padding:4px 0; text-align:center; white-space:nowrap;}
68
+ table.mw_tt_pager ol, table.mw_tt_pager li { display:inline; }
69
+ table.mw_tt_pager li { padding:0 2px; }
70
+ .mw_clear{clear:both;width:100%;font-size:4px;}
71
+
72
+
73
+
74
+
75
+
skin/frontend/default/freepop/images/bg_active_banner.gif ADDED
Binary file
skin/frontend/default/freepop/images/bg_banner.gif ADDED
Binary file
skin/frontend/default/freepop/images/bg_select_banner.gif ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/Thumbs.db ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/bottom.jpg ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/bottom_r.jpg ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/div_bt.gif ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/div_md.gif ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/div_top.gif ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/icon_bt.gif ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/icon_top.gif ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/left.jpg ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/right.jpg ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/top.jpg ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/top_left.jpg ADDED
Binary file
skin/frontend/default/freepop/images/testimonial/top_right.jpg ADDED
Binary file
skin/frontend/default/freepop/js/easybanner/easySlider1.5.js ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Easy Slider 1.5 - jQuery plugin
3
+ * written by Alen Grakalic
4
+ * http://cssglobe.com/post/4004/easy-slider-15-the-easiest-jquery-plugin-for-sliding
5
+ *
6
+ * Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)
7
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
8
+ * and GPL (GPL-LICENSE.txt) licenses.
9
+ *
10
+ * Built for jQuery library
11
+ * http://jquery.com
12
+ *
13
+ */
14
+
15
+ /*
16
+ * markup example for $("#slider").easySlider();
17
+ *
18
+ * <div id="slider">
19
+ * <ul>
20
+ * <li><img src="images/01.jpg" alt="" /></li>
21
+ * <li><img src="images/02.jpg" alt="" /></li>
22
+ * <li><img src="images/03.jpg" alt="" /></li>
23
+ * <li><img src="images/04.jpg" alt="" /></li>
24
+ * <li><img src="images/05.jpg" alt="" /></li>
25
+ * </ul>
26
+ * </div>
27
+ *
28
+ */
29
+
30
+ (function($) {
31
+
32
+ $.fn.easySlider = function(options){
33
+
34
+ // default configuration properties
35
+ var defaults = {
36
+ prevId: 'prevBtn',
37
+ prevText: 'Previous',
38
+ nextId: 'nextBtn',
39
+ nextText: 'Next',
40
+ controlsShow: true,
41
+ controlsBefore: '',
42
+ controlsAfter: '',
43
+ controlsFade: true,
44
+ firstId: 'firstBtn',
45
+ firstText: 'First',
46
+ firstShow: false,
47
+ lastId: 'lastBtn',
48
+ lastText: 'Last',
49
+ lastShow: false,
50
+ vertical: false,
51
+ speed: 800,
52
+ auto: false,
53
+ pause: 2000,
54
+ continuous: false
55
+ };
56
+
57
+ var options = $.extend(defaults, options);
58
+
59
+ this.each(function() {
60
+ var obj = $(this);
61
+ var s = $("li", obj).length;
62
+ var w = $("li", obj).width();
63
+ var h = $("li", obj).height();
64
+ obj.width(w);
65
+ obj.height(h);
66
+ obj.css("overflow","hidden");
67
+ var ts = s-1;
68
+ var t = 0;
69
+ $("ul", obj).css('width',s*w);
70
+ if(!options.vertical) $("li", obj).css('float','left');
71
+
72
+ if(options.controlsShow){
73
+ var html = options.controlsBefore;
74
+ if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';
75
+ html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';
76
+ html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';
77
+ if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>';
78
+ html += options.controlsAfter;
79
+ $(obj).after(html);
80
+ };
81
+
82
+ $("a","#"+options.nextId).click(function(){
83
+ animate("next",true);
84
+ });
85
+ $("a","#"+options.prevId).click(function(){
86
+ animate("prev",true);
87
+ });
88
+ $("a","#"+options.firstId).click(function(){
89
+ animate("first",true);
90
+ });
91
+ $("a","#"+options.lastId).click(function(){
92
+ animate("last",true);
93
+ });
94
+
95
+ function animate(dir,clicked){
96
+ var ot = t;
97
+ switch(dir){
98
+ case "next":
99
+ t = (ot>=ts) ? (options.continuous ? 0 : ts) : t+1;
100
+ break;
101
+ case "prev":
102
+ t = (t<=0) ? (options.continuous ? ts : 0) : t-1;
103
+ break;
104
+ case "first":
105
+ t = 0;
106
+ break;
107
+ case "last":
108
+ t = ts;
109
+ break;
110
+ default:
111
+ break;
112
+ };
113
+
114
+ var diff = Math.abs(ot-t);
115
+ var speed = diff*options.speed;
116
+ if(!options.vertical) {
117
+ p = (t*w*-1);
118
+ $("ul",obj).animate(
119
+ { marginLeft: p },
120
+ speed
121
+ );
122
+ } else {
123
+ p = (t*h*-1);
124
+ $("ul",obj).animate(
125
+ { marginTop: p },
126
+ speed
127
+ );
128
+ };
129
+
130
+ if(!options.continuous && options.controlsFade){
131
+ if(t==ts){
132
+ $("a","#"+options.nextId).hide();
133
+ $("a","#"+options.lastId).hide();
134
+ } else {
135
+ $("a","#"+options.nextId).show();
136
+ $("a","#"+options.lastId).show();
137
+ };
138
+ if(t==0){
139
+ $("a","#"+options.prevId).hide();
140
+ $("a","#"+options.firstId).hide();
141
+ } else {
142
+ $("a","#"+options.prevId).show();
143
+ $("a","#"+options.firstId).show();
144
+ };
145
+ };
146
+
147
+ if(clicked) clearTimeout(timeout);
148
+ if(options.auto && dir=="next" && !clicked){;
149
+ timeout = setTimeout(function(){
150
+ animate("next",false);
151
+ },diff*options.speed+options.pause);
152
+ };
153
+
154
+ };
155
+ // init
156
+ var timeout;
157
+ if(options.auto){;
158
+ timeout = setTimeout(function(){
159
+ animate("next",false);
160
+ },options.pause);
161
+ };
162
+
163
+ if(!options.continuous && options.controlsFade){
164
+ $("a","#"+options.prevId).hide();
165
+ $("a","#"+options.firstId).hide();
166
+ };
167
+
168
+ });
169
+
170
+ };
171
+
172
+ })(jQuery);
173
+
174
+
175
+
skin/frontend/default/freepop/js/easybanner/jquery.cycle.js ADDED
@@ -0,0 +1,750 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery Cycle Plugin for light-weight slideshows
3
+ * Examples and documentation at: http://malsup.com/jquery/cycle/
4
+ * Copyright (c) 2007-2008 M. Alsup
5
+ * Version: 2.18 (05/06/2008)
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ * Requires: jQuery v1.1.3.1 or later
10
+ *
11
+ * Based on the work of:
12
+ * 1) Matt Oakes (http://portfolio.gizone.co.uk/applications/slideshow/)
13
+ * 2) Torsten Baldes (http://medienfreunde.com/lab/innerfade/)
14
+ * 3) Benjamin Sterling (http://www.benjaminsterling.com/experiments/jqShuffle/)
15
+ */
16
+ (function($) {
17
+
18
+ var ver = '2.18';
19
+ var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent);
20
+
21
+ function log() {
22
+ if (window.console && window.console.log)
23
+ window.console.log('[cycle] ' + Array.prototype.join.call(arguments,''));
24
+ };
25
+
26
+ $.fn.cycle = function(options) {
27
+ return this.each(function() {
28
+ options = options || {};
29
+ if (options.constructor == String) {
30
+ switch(options) {
31
+ case 'stop':
32
+ if (this.cycleTimeout) clearTimeout(this.cycleTimeout);
33
+ this.cycleTimeout = 0;
34
+ return;
35
+ case 'pause':
36
+ this.cyclePause = 1;
37
+ return;
38
+ case 'resume':
39
+ this.cyclePause = 0;
40
+ return;
41
+ default:
42
+ options = { fx: options };
43
+ };
44
+ }
45
+
46
+ // stop existing slideshow for this container (if there is one)
47
+ if (this.cycleTimeout) clearTimeout(this.cycleTimeout);
48
+ this.cycleTimeout = 0;
49
+ this.cyclePause = 0;
50
+
51
+ var $cont = $(this);
52
+ var $slides = options.slideExpr ? $(options.slideExpr, this) : $cont.children();
53
+ var els = $slides.get();
54
+ if (els.length < 2) {
55
+ log('terminating; too few slides: ' + els.length);
56
+ return; // don't bother
57
+ }
58
+
59
+ // support metadata plugin (v1.0 and v2.0)
60
+ var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
61
+ if (opts.autostop)
62
+ opts.countdown = opts.autostopCount || els.length;
63
+
64
+ opts.before = opts.before ? [opts.before] : [];
65
+ opts.after = opts.after ? [opts.after] : [];
66
+ opts.after.unshift(function(){ opts.busy=0; });
67
+ if (opts.continuous)
68
+ opts.after.push(function() { go(els,opts,0,!opts.rev); });
69
+
70
+ // clearType corrections
71
+ if (ie6 && opts.cleartype && !opts.cleartypeNoBg)
72
+ clearTypeFix($slides);
73
+
74
+ // allow shorthand overrides of width, height and timeout
75
+ var cls = this.className;
76
+ opts.width = parseInt((cls.match(/w:(\d+)/)||[])[1]) || opts.width;
77
+ opts.height = parseInt((cls.match(/h:(\d+)/)||[])[1]) || opts.height;
78
+ opts.timeout = parseInt((cls.match(/t:(\d+)/)||[])[1]) || opts.timeout;
79
+
80
+ if ($cont.css('position') == 'static')
81
+ $cont.css('position', 'relative');
82
+ if (opts.width)
83
+ $cont.width(opts.width);
84
+ if (opts.height && opts.height != 'auto')
85
+ $cont.height(opts.height);
86
+
87
+ if (opts.random) {
88
+ opts.randomMap = [];
89
+ for (var i = 0; i < els.length; i++)
90
+ opts.randomMap.push(i);
91
+ opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
92
+ opts.randomIndex = 0;
93
+ opts.startingSlide = opts.randomMap[0];
94
+ }
95
+ else if (opts.startingSlide >= els.length)
96
+ opts.startingSlide = 0; // catch bogus input
97
+ var first = opts.startingSlide || 0;
98
+ $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
99
+ var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
100
+ $(this).css('z-index', z)
101
+ });
102
+
103
+ $(els[first]).css('opacity',1).show(); // opacity bit needed to handle reinit case
104
+ if ($.browser.msie) els[first].style.removeAttribute('filter');
105
+
106
+ if (opts.fit && opts.width)
107
+ $slides.width(opts.width);
108
+ if (opts.fit && opts.height && opts.height != 'auto')
109
+ $slides.height(opts.height);
110
+ if (opts.pause)
111
+ $cont.hover(function(){this.cyclePause=1;}, function(){this.cyclePause=0;});
112
+
113
+ // run transition init fn
114
+ var init = $.fn.cycle.transitions[opts.fx];
115
+ if ($.isFunction(init))
116
+ init($cont, $slides, opts);
117
+ else if (opts.fx != 'custom')
118
+ log('unknown transition: ' + opts.fx);
119
+
120
+ $slides.each(function() {
121
+ var $el = $(this);
122
+ this.cycleH = (opts.fit && opts.height) ? opts.height : $el.height();
123
+ this.cycleW = (opts.fit && opts.width) ? opts.width : $el.width();
124
+ });
125
+
126
+ opts.cssBefore = opts.cssBefore || {};
127
+ opts.animIn = opts.animIn || {};
128
+ opts.animOut = opts.animOut || {};
129
+
130
+ $slides.not(':eq('+first+')').css(opts.cssBefore);
131
+ if (opts.cssFirst)
132
+ $($slides[first]).css(opts.cssFirst);
133
+
134
+ if (opts.timeout) {
135
+ // ensure that timeout and speed settings are sane
136
+ if (opts.speed.constructor == String)
137
+ opts.speed = {slow: 600, fast: 200}[opts.speed] || 400;
138
+ if (!opts.sync)
139
+ opts.speed = opts.speed / 2;
140
+ while((opts.timeout - opts.speed) < 250)
141
+ opts.timeout += opts.speed;
142
+ }
143
+ if (opts.easing)
144
+ opts.easeIn = opts.easeOut = opts.easing;
145
+ if (!opts.speedIn)
146
+ opts.speedIn = opts.speed;
147
+ if (!opts.speedOut)
148
+ opts.speedOut = opts.speed;
149
+
150
+ opts.slideCount = els.length;
151
+ opts.currSlide = first;
152
+ if (opts.random) {
153
+ opts.nextSlide = opts.currSlide;
154
+ if (++opts.randomIndex == els.length)
155
+ opts.randomIndex = 0;
156
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
157
+ }
158
+ else
159
+ opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;
160
+
161
+ // fire artificial events
162
+ var e0 = $slides[first];
163
+ if (opts.before.length)
164
+ opts.before[0].apply(e0, [e0, e0, opts, true]);
165
+ if (opts.after.length > 1)
166
+ opts.after[1].apply(e0, [e0, e0, opts, true]);
167
+
168
+ if (opts.click && !opts.next)
169
+ opts.next = opts.click;
170
+ if (opts.next)
171
+ $(opts.next).bind('click', function(){return advance(els,opts,opts.rev?-1:1)});
172
+ if (opts.prev)
173
+ $(opts.prev).bind('click', function(){return advance(els,opts,opts.rev?1:-1)});
174
+ if (opts.pager)
175
+ buildPager(els,opts);
176
+ if (opts.timeout || opts.continuous)
177
+ this.cycleTimeout = setTimeout(
178
+ function(){go(els,opts,0,!opts.rev)},
179
+ opts.continuous ? 10 : opts.timeout + (opts.delay||0));
180
+
181
+ // expose fn for adding slides after the show has started
182
+ opts.addSlide = function(newSlide) {
183
+ var $s = $(newSlide), s = $s[0];
184
+ if (!opts.autostopCount)
185
+ opts.countdown++;
186
+ els.push(s);
187
+ if (opts.els)
188
+ opts.els.push(s); // shuffle needs this
189
+ opts.slideCount = els.length;
190
+ $s.css('position','absolute').css(opts.cssBefore).appendTo($cont);
191
+
192
+ if (ie6 && opts.cleartype && !opts.cleartypeNoBg)
193
+ clearTypeFix($s);
194
+
195
+ if (opts.fit && opts.width)
196
+ $s.width(opts.width);
197
+ if (opts.fit && opts.height && opts.height != 'auto')
198
+ $slides.height(opts.height);
199
+ s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
200
+ s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();
201
+ };
202
+
203
+ });
204
+ };
205
+
206
+ function go(els, opts, manual, fwd) {
207
+ if (opts.busy) return;
208
+ var p = els[0].parentNode, curr = els[opts.currSlide], next = els[opts.nextSlide];
209
+ if (p.cycleTimeout === 0 && !manual)
210
+ return;
211
+
212
+ if (!manual && !p.cyclePause &&
213
+ ((opts.autostop && (--opts.countdown <= 0)) ||
214
+ (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
215
+ if (opts.end)
216
+ opts.end(opts);
217
+ return;
218
+ }
219
+
220
+ if (manual || !p.cyclePause) {
221
+ if (opts.before.length)
222
+ $.each(opts.before, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
223
+ var after = function() {
224
+ if ($.browser.msie && opts.cleartype)
225
+ this.style.removeAttribute('filter');
226
+ $.each(opts.after, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
227
+ };
228
+
229
+ if (opts.nextSlide != opts.currSlide) {
230
+ opts.busy = 1;
231
+ if (opts.fxFn)
232
+ opts.fxFn(curr, next, opts, after, fwd);
233
+ else if ($.isFunction($.fn.cycle[opts.fx]))
234
+ $.fn.cycle[opts.fx](curr, next, opts, after);
235
+ else
236
+ $.fn.cycle.custom(curr, next, opts, after);
237
+ }
238
+ if (opts.random) {
239
+ opts.currSlide = opts.nextSlide;
240
+ if (++opts.randomIndex == els.length)
241
+ opts.randomIndex = 0;
242
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
243
+ }
244
+ else { // sequence
245
+ var roll = (opts.nextSlide + 1) == els.length;
246
+ opts.nextSlide = roll ? 0 : opts.nextSlide+1;
247
+ opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
248
+ }
249
+ if (opts.pager)
250
+ $(opts.pager).find('a').removeClass('activeSlide').filter('a:eq('+opts.currSlide+')').addClass('activeSlide');
251
+ }
252
+ if (opts.timeout && !opts.continuous)
253
+ p.cycleTimeout = setTimeout(function() { go(els,opts,0,!opts.rev) }, opts.timeout);
254
+ else if (opts.continuous && p.cyclePause)
255
+ p.cycleTimeout = setTimeout(function() { go(els,opts,0,!opts.rev) }, 10);
256
+ };
257
+
258
+ // advance slide forward or back
259
+ function advance(els, opts, val) {
260
+ var p = els[0].parentNode, timeout = p.cycleTimeout;
261
+ if (timeout) {
262
+ clearTimeout(timeout);
263
+ p.cycleTimeout = 0;
264
+ }
265
+ opts.nextSlide = opts.currSlide + val;
266
+ if (opts.nextSlide < 0) {
267
+ if (opts.nowrap) return false;
268
+ opts.nextSlide = els.length - 1;
269
+ }
270
+ else if (opts.nextSlide >= els.length) {
271
+ if (opts.nowrap) return false;
272
+ opts.nextSlide = 0;
273
+ }
274
+ if (opts.prevNextClick && typeof opts.prevNextClick == 'function')
275
+ opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]);
276
+ go(els, opts, 1, val>=0);
277
+ return false;
278
+ };
279
+
280
+ function buildPager(els, opts) {
281
+ var $p = $(opts.pager);
282
+ $.each(els, function(i,o) {
283
+ var $a = (typeof opts.pagerAnchorBuilder == 'function')
284
+ ? $(opts.pagerAnchorBuilder(i,o))
285
+ : $('<a href="#">'+(i+1)+'</a>');
286
+ // don't reparent if anchor is in the dom
287
+ if ($a.parents('body').length == 0)
288
+ $a.appendTo($p);
289
+ $a.bind(opts.pagerEvent, function() {
290
+ opts.nextSlide = i;
291
+ var p = els[0].parentNode, timeout = p.cycleTimeout;
292
+ if (timeout) {
293
+ clearTimeout(timeout);
294
+ p.cycleTimeout = 0;
295
+ }
296
+ if (typeof opts.pagerClick == 'function')
297
+ opts.pagerClick(opts.nextSlide, els[opts.nextSlide]);
298
+ go(els,opts,1,!opts.rev);
299
+ return false;
300
+ });
301
+ });
302
+ $p.find('a').filter('a:eq('+opts.startingSlide+')').addClass('activeSlide');
303
+ };
304
+
305
+ // this fixes clearType problems in ie6 by setting an explicit bg color
306
+ function clearTypeFix($slides) {
307
+ function hex(s) {
308
+ s = parseInt(s).toString(16);
309
+ return s.length < 2 ? '0'+s : s;
310
+ };
311
+ function getBg(e) {
312
+ for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
313
+ var v = $.css(e,'background-color');
314
+ if (v.indexOf('rgb') >= 0 ) {
315
+ var rgb = v.match(/\d+/g);
316
+ return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
317
+ }
318
+ if (v && v != 'transparent')
319
+ return v;
320
+ }
321
+ return '#ffffff';
322
+ };
323
+ $slides.each(function() { $(this).css('background-color', getBg(this)); });
324
+ };
325
+
326
+
327
+ $.fn.cycle.custom = function(curr, next, opts, cb) {
328
+ var $l = $(curr), $n = $(next);
329
+ $n.css(opts.cssBefore);
330
+ var fn = function() {$n.animate(opts.animIn, opts.speedIn, opts.easeIn, cb)};
331
+ $l.animate(opts.animOut, opts.speedOut, opts.easeOut, function() {
332
+ if (opts.cssAfter) $l.css(opts.cssAfter);
333
+ if (!opts.sync) fn();
334
+ });
335
+ if (opts.sync) fn();
336
+ };
337
+
338
+ $.fn.cycle.transitions = {
339
+ fade: function($cont, $slides, opts) {
340
+ $slides.not(':eq('+opts.startingSlide+')').css('opacity',0);
341
+ opts.before.push(function() { $(this).show() });
342
+ //opts.animIn = { opacity: 1 };
343
+ //opts.animOut = { opacity: 0 };
344
+ opts.animIn = { opacity: .99};
345
+ opts.animOut = { opacity: 0};
346
+ opts.cssAfter = { display: 'none' };
347
+ }
348
+ };
349
+
350
+ $.fn.cycle.ver = function() { return ver; };
351
+
352
+ // override these globally if you like (they are all optional)
353
+ $.fn.cycle.defaults = {
354
+ fx: 'fade', // one of: fade, shuffle, zoom, scrollLeft, etc
355
+ timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance)
356
+ continuous: 0, // true to start next transition immediately after current one completes
357
+ speed: 1000, // speed of the transition (any valid fx speed value)
358
+ speedIn: null, // speed of the 'in' transition
359
+ speedOut: null, // speed of the 'out' transition
360
+ next: null, // id of element to use as click trigger for next slide
361
+ prev: null, // id of element to use as click trigger for previous slide
362
+ prevNextClick: null, // callback fn for prev/next clicks: function(isNext, zeroBasedSlideIndex, slideElement)
363
+ pager: null, // id of element to use as pager container
364
+ pagerClick: null, // callback fn for pager clicks: function(zeroBasedSlideIndex, slideElement)
365
+ pagerEvent: 'click', // event which drives the pager navigation
366
+ pagerAnchorBuilder: null, // callback fn for building anchor links
367
+ before: null, // transition callback (scope set to element to be shown)
368
+ after: null, // transition callback (scope set to element that was shown)
369
+ end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options)
370
+ easing: null, // easing method for both in and out transitions
371
+ easeIn: null, // easing for "in" transition
372
+ easeOut: null, // easing for "out" transition
373
+ shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 }
374
+ animIn: null, // properties that define how the slide animates in
375
+ animOut: null, // properties that define how the slide animates out
376
+ cssBefore: null, // properties that define the initial state of the slide before transitioning in
377
+ cssAfter: null, // properties that defined the state of the slide after transitioning out
378
+ fxFn: null, // function used to control the transition
379
+ height: 'auto', // container height
380
+ startingSlide: 0, // zero-based index of the first slide to be displayed
381
+ sync: 1, // true if in/out transitions should occur simultaneously
382
+ random: 0, // true for random, false for sequence (not applicable to shuffle fx)
383
+ fit: 0, // force slides to fit container
384
+ pause: 0, // true to enable "pause on hover"
385
+ autostop: 0, // true to end slideshow after X transitions (where X == slide count)
386
+ autostopCount: 0, // number of transitions (optionally used with autostop to define X)
387
+ delay: 0, // additional delay (in ms) for first transition (hint: can be negative)
388
+ slideExpr: null, // expression for selecting slides (if something other than all children is required)
389
+ cleartype: 0, // true if clearType corrections should be applied (for IE)
390
+ nowrap: 0 // true to prevent slideshow from wrapping
391
+ };
392
+
393
+ })(jQuery);
394
+
395
+
396
+ /*
397
+ * jQuery Cycle Plugin Transition Definitions
398
+ * This script is a plugin for the jQuery Cycle Plugin
399
+ * Examples and documentation at: http://malsup.com/jquery/cycle/
400
+ * Copyright (c) 2007-2008 M. Alsup
401
+ * Version: 2.18
402
+ * Dual licensed under the MIT and GPL licenses:
403
+ * http://www.opensource.org/licenses/mit-license.php
404
+ * http://www.gnu.org/licenses/gpl.html
405
+ */
406
+ (function($) {
407
+
408
+ //
409
+ // These functions define one-time slide initialization for the named
410
+ // transitions. To save file size feel free to remove any of these that you
411
+ // don't need.
412
+ //
413
+
414
+ // scrollUp/Down/Left/Right
415
+ $.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
416
+ $cont.css('overflow','hidden');
417
+ opts.before.push(function(curr, next, opts) {
418
+ $(this).show();
419
+ opts.cssBefore.top = next.offsetHeight;
420
+ opts.animOut.top = 0-curr.offsetHeight;
421
+ });
422
+ opts.cssFirst = { top: 0 };
423
+ opts.animIn = { top: 0 };
424
+ opts.cssAfter = { display: 'none' };
425
+ };
426
+ $.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
427
+ $cont.css('overflow','hidden');
428
+ opts.before.push(function(curr, next, opts) {
429
+ $(this).show();
430
+ opts.cssBefore.top = 0-next.offsetHeight;
431
+ opts.animOut.top = curr.offsetHeight;
432
+ });
433
+ opts.cssFirst = { top: 0 };
434
+ opts.animIn = { top: 0 };
435
+ opts.cssAfter = { display: 'none' };
436
+ };
437
+ $.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
438
+ $cont.css('overflow','hidden');
439
+ opts.before.push(function(curr, next, opts) {
440
+ $(this).show();
441
+ opts.cssBefore.left = next.offsetWidth;
442
+ opts.animOut.left = 0-curr.offsetWidth;
443
+ });
444
+ opts.cssFirst = { left: 0 };
445
+ opts.animIn = { left: 0 };
446
+ };
447
+ $.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
448
+ $cont.css('overflow','hidden');
449
+ opts.before.push(function(curr, next, opts) {
450
+ $(this).show();
451
+ opts.cssBefore.left = 0-next.offsetWidth;
452
+ opts.animOut.left = curr.offsetWidth;
453
+ });
454
+ opts.cssFirst = { left: 0 };
455
+ opts.animIn = { left: 0 };
456
+ };
457
+ $.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
458
+ $cont.css('overflow','hidden').width();
459
+ // $slides.show();
460
+ opts.before.push(function(curr, next, opts, fwd) {
461
+ $(this).show();
462
+ var currW = curr.offsetWidth, nextW = next.offsetWidth;
463
+ opts.cssBefore = fwd ? { left: nextW } : { left: -nextW };
464
+ opts.animIn.left = 0;
465
+ opts.animOut.left = fwd ? -currW : currW;
466
+ $slides.not(curr).css(opts.cssBefore);
467
+ });
468
+ opts.cssFirst = { left: 0 };
469
+ opts.cssAfter = { display: 'none' }
470
+ };
471
+ $.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
472
+ $cont.css('overflow','hidden');
473
+ // $slides.show();
474
+ opts.before.push(function(curr, next, opts, fwd) {
475
+ $(this).show();
476
+ var currH = curr.offsetHeight, nextH = next.offsetHeight;
477
+ opts.cssBefore = fwd ? { top: -nextH } : { top: nextH };
478
+ opts.animIn.top = 0;
479
+ opts.animOut.top = fwd ? currH : -currH;
480
+ $slides.not(curr).css(opts.cssBefore);
481
+ });
482
+ opts.cssFirst = { top: 0 };
483
+ opts.cssAfter = { display: 'none' }
484
+ };
485
+
486
+ // slideX/slideY
487
+ $.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
488
+ opts.before.push(function(curr, next, opts) {
489
+ $(curr).css('zIndex',1);
490
+ });
491
+ opts.cssBefore = { zIndex: 2 };
492
+ opts.animIn = { width: 'show' };
493
+ opts.animOut = { width: 'hide' };
494
+ };
495
+ $.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
496
+ opts.before.push(function(curr, next, opts) {
497
+ $(curr).css('zIndex',1);
498
+ });
499
+ opts.cssBefore = { zIndex: 2 };
500
+ opts.animIn = { height: 'show' };
501
+ opts.animOut = { height: 'hide' };
502
+ };
503
+
504
+ // shuffle
505
+ $.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
506
+ var w = $cont.css('overflow', 'visible').width();
507
+ $slides.css({left: 0, top: 0});
508
+ opts.before.push(function() { $(this).show() });
509
+ opts.speed = opts.speed / 2; // shuffle has 2 transitions
510
+ opts.random = 0;
511
+ opts.shuffle = opts.shuffle || {left:-w, top:15};
512
+ opts.els = [];
513
+ for (var i=0; i < $slides.length; i++)
514
+ opts.els.push($slides[i]);
515
+
516
+ for (var i=0; i < opts.startingSlide; i++)
517
+ opts.els.push(opts.els.shift());
518
+
519
+ // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
520
+ opts.fxFn = function(curr, next, opts, cb, fwd) {
521
+ var $el = fwd ? $(curr) : $(next);
522
+ $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
523
+ fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
524
+ if (fwd)
525
+ for (var i=0, len=opts.els.length; i < len; i++)
526
+ $(opts.els[i]).css('z-index', len-i);
527
+ else {
528
+ var z = $(curr).css('z-index');
529
+ $el.css('z-index', parseInt(z)+1);
530
+ }
531
+ $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
532
+ $(fwd ? this : curr).hide();
533
+ if (cb) cb();
534
+ });
535
+ });
536
+ };
537
+ };
538
+
539
+ // turnUp/Down/Left/Right
540
+ $.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
541
+ opts.before.push(function(curr, next, opts) {
542
+ $(this).show();
543
+ opts.cssBefore.top = next.cycleH;
544
+ opts.animIn.height = next.cycleH;
545
+ });
546
+ opts.cssFirst = { top: 0 };
547
+ opts.cssBefore = { height: 0 };
548
+ opts.animIn = { top: 0 };
549
+ opts.animOut = { height: 0 };
550
+ opts.cssAfter = { display: 'none' };
551
+ };
552
+ $.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
553
+ opts.before.push(function(curr, next, opts) {
554
+ $(this).show();
555
+ opts.animIn.height = next.cycleH;
556
+ opts.animOut.top = curr.cycleH;
557
+ });
558
+ opts.cssFirst = { top: 0 };
559
+ opts.cssBefore = { top: 0, height: 0 };
560
+ opts.animOut = { height: 0 };
561
+ opts.cssAfter = { display: 'none' };
562
+ };
563
+ $.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
564
+ opts.before.push(function(curr, next, opts) {
565
+ $(this).show();
566
+ opts.cssBefore.left = next.cycleW;
567
+ opts.animIn.width = next.cycleW;
568
+ });
569
+ opts.cssBefore = { width: 0 };
570
+ opts.animIn = { left: 0 };
571
+ opts.animOut = { width: 0 };
572
+ opts.cssAfter = { display: 'none' };
573
+ };
574
+ $.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
575
+ opts.before.push(function(curr, next, opts) {
576
+ $(this).show();
577
+ opts.animIn.width = next.cycleW;
578
+ opts.animOut.left = curr.cycleW;
579
+ });
580
+ opts.cssBefore = { left: 0, width: 0 };
581
+ opts.animIn = { left: 0 };
582
+ opts.animOut = { width: 0 };
583
+ opts.cssAfter = { display: 'none' };
584
+ };
585
+
586
+ // zoom
587
+ $.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
588
+ opts.cssFirst = { top:0, left: 0 };
589
+ opts.cssAfter = { display: 'none' };
590
+
591
+ opts.before.push(function(curr, next, opts) {
592
+ $(this).show();
593
+ opts.cssBefore = { width: 0, height: 0, top: next.cycleH/2, left: next.cycleW/2 };
594
+ opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
595
+ opts.animOut = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };
596
+ });
597
+ };
598
+
599
+ // fadeZoom
600
+ $.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
601
+ opts.before.push(function(curr, next, opts) {
602
+ opts.cssBefore = { width: 0, height: 0, opacity: 1, left: next.cycleW/2, top: next.cycleH/2, zIndex: 1 };
603
+ opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
604
+ });
605
+ opts.animOut = { opacity: 0 };
606
+ opts.cssAfter = { zIndex: 0 };
607
+ };
608
+
609
+ // blindX
610
+ $.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
611
+ var w = $cont.css('overflow','hidden').width();
612
+ $slides.show();
613
+ opts.before.push(function(curr, next, opts) {
614
+ $(curr).css('zIndex',1);
615
+ });
616
+ opts.cssBefore = { left: w, zIndex: 2 };
617
+ opts.cssAfter = { zIndex: 1 };
618
+ opts.animIn = { left: 0 };
619
+ opts.animOut = { left: w };
620
+ };
621
+ // blindY
622
+ $.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
623
+ var h = $cont.css('overflow','hidden').height();
624
+ $slides.show();
625
+ opts.before.push(function(curr, next, opts) {
626
+ $(curr).css('zIndex',1);
627
+ });
628
+ opts.cssBefore = { top: h, zIndex: 2 };
629
+ opts.cssAfter = { zIndex: 1 };
630
+ opts.animIn = { top: 0 };
631
+ opts.animOut = { top: h };
632
+ };
633
+ // blindZ
634
+ $.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
635
+ var h = $cont.css('overflow','hidden').height();
636
+ var w = $cont.width();
637
+ $slides.show();
638
+ opts.before.push(function(curr, next, opts) {
639
+ $(curr).css('zIndex',1);
640
+ });
641
+ opts.cssBefore = { top: h, left: w, zIndex: 2 };
642
+ opts.cssAfter = { zIndex: 1 };
643
+ opts.animIn = { top: 0, left: 0 };
644
+ opts.animOut = { top: h, left: w };
645
+ };
646
+
647
+ // growX - grow horizontally from centered 0 width
648
+ $.fn.cycle.transitions.growX = function($cont, $slides, opts) {
649
+ opts.before.push(function(curr, next, opts) {
650
+ opts.cssBefore = { left: this.cycleW/2, width: 0, zIndex: 2 };
651
+ opts.animIn = { left: 0, width: this.cycleW };
652
+ opts.animOut = { left: 0 };
653
+ $(curr).css('zIndex',1);
654
+ });
655
+ };
656
+ // growX - grow vertically from centered 0 height
657
+ $.fn.cycle.transitions.growY = function($cont, $slides, opts) {
658
+ opts.before.push(function(curr, next, opts) {
659
+ opts.cssBefore = { top: this.cycleH/2, height: 0, zIndex: 2 };
660
+ opts.animIn = { top: 0, height: this.cycleH };
661
+ opts.animOut = { top: 0 };
662
+ $(curr).css('zIndex',1);
663
+ });
664
+ };
665
+
666
+ // curtainX - squeeze in both edges horizontally
667
+ $.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
668
+ opts.before.push(function(curr, next, opts) {
669
+ opts.cssBefore = { left: next.cycleW/2, width: 0, zIndex: 1, display: 'block' };
670
+ opts.animIn = { left: 0, width: this.cycleW };
671
+ opts.animOut = { left: curr.cycleW/2, width: 0 };
672
+ $(curr).css('zIndex',2);
673
+ });
674
+ opts.cssAfter = { zIndex: 1, display: 'none' };
675
+ };
676
+ // curtainX - squeeze in both edges vertically
677
+ $.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
678
+ opts.before.push(function(curr, next, opts) {
679
+ opts.cssBefore = { top: next.cycleH/2, height: 0, zIndex: 1, display: 'block' };
680
+ opts.animIn = { top: 0, height: this.cycleH };
681
+ opts.animOut = { top: curr.cycleH/2, height: 0 };
682
+ $(curr).css('zIndex',2);
683
+ });
684
+ opts.cssAfter = { zIndex: 1, display: 'none' };
685
+ };
686
+
687
+ // cover - curr slide covered by next slide
688
+ $.fn.cycle.transitions.cover = function($cont, $slides, opts) {
689
+ var d = opts.direction || 'left';
690
+ var w = $cont.css('overflow','hidden').width();
691
+ var h = $cont.height();
692
+ opts.before.push(function(curr, next, opts) {
693
+ opts.cssBefore = { zIndex: 2, display: 'block' };
694
+ if (d == 'right')
695
+ opts.cssBefore.left = -w;
696
+ else if (d == 'up')
697
+ opts.cssBefore.top = h;
698
+ else if (d == 'down')
699
+ opts.cssBefore.top = -h;
700
+ else
701
+ opts.cssBefore.left = w;
702
+ $(curr).css('zIndex',1);
703
+ });
704
+ opts.animIn = { left: 0, top: 0 };
705
+ opts.animOut = { left: 0, top: 0 };
706
+ opts.cssAfter = { zIndex: 2, display: 'none' };
707
+ };
708
+
709
+ // uncover - curr slide moves off next slide
710
+ $.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
711
+ var d = opts.direction || 'left';
712
+ var w = $cont.css('overflow','hidden').width();
713
+ var h = $cont.height();
714
+ opts.before.push(function(curr, next, opts) {
715
+ opts.cssBefore.display = 'block';
716
+ if (d == 'right')
717
+ opts.animOut.left = w;
718
+ else if (d == 'up')
719
+ opts.animOut.top = -h;
720
+ else if (d == 'down')
721
+ opts.animOut.top = h;
722
+ else
723
+ opts.animOut.left = -w;
724
+ $(curr).css('zIndex',2);
725
+ });
726
+ opts.animIn = { left: 0, top: 0 };
727
+ opts.cssBefore = { zIndex: 1, top: 0, left: 0 };
728
+ opts.cssAfter = { zIndex: 1, display: 'none' };
729
+ };
730
+
731
+ // toss - move top slide and fade away
732
+ $.fn.cycle.transitions.toss = function($cont, $slides, opts) {
733
+ var w = $cont.css('overflow','visible').width();
734
+ var h = $cont.height();
735
+ opts.before.push(function(curr, next, opts) {
736
+ $(curr).css('zIndex',2);
737
+ opts.cssBefore.display = 'block';
738
+ // provide default toss settings if animOut not provided
739
+ if (!opts.animOut.left && !opts.animOut.top)
740
+ opts.animOut = { left: w*2, top: -h/2, opacity: 0 };
741
+ else
742
+ opts.animOut.opacity = 0;
743
+ });
744
+ opts.cssBefore = { left: 0, top: 0, zIndex: 1, opacity: 1 };
745
+ opts.animIn = { left: 0 };
746
+ opts.cssAfter = { zIndex: 2, display: 'none' };
747
+ };
748
+
749
+
750
+ })(jQuery);
skin/frontend/default/freepop/js/easybanner/jquery.lightbox-0.5.js ADDED
@@ -0,0 +1,472 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * jQuery lightBox plugin
3
+ * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
4
+ * and adapted to me for use like a plugin from jQuery.
5
+ * @name jquery-lightbox-0.5.js
6
+ * @author Leandro Vieira Pinho - http://leandrovieira.com
7
+ * @version 0.5
8
+ * @date April 11, 2008
9
+ * @category jQuery plugin
10
+ * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
11
+ * @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US
12
+ * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
13
+ */
14
+
15
+ // Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias
16
+ (function($) {
17
+ /**
18
+ * $ is an alias to jQuery object
19
+ *
20
+ */
21
+ $.fn.lightBox = function(settings) {
22
+ // Settings to configure the jQuery lightBox plugin how you like
23
+ settings = jQuery.extend({
24
+ // Configuration related to overlay
25
+ overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color.
26
+ overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9
27
+ // Configuration related to navigation
28
+ fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface.
29
+ // Configuration related to images
30
+ imageLoading: 'images/lightbox/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon
31
+ imageBtnPrev: 'images/lightbox/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image
32
+ imageBtnNext: 'images/lightbox/lightbox-btn-next.gif', // (string) Path and the name of the next button image
33
+ imageBtnClose: 'images/lightbox/lightbox-btn-close.gif', // (string) Path and the name of the close btn
34
+ imageBlank: 'images/lightbox/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel)
35
+ // Configuration related to container image box
36
+ containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value
37
+ containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default.
38
+ // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts.
39
+ txtImage: 'Image', // (string) Specify text "Image"
40
+ txtOf: 'of', // (string) Specify text "of"
41
+ // Configuration related to keyboard navigation
42
+ keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to.
43
+ keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image
44
+ keyToNext: 'n', // (string) (n = next) Letter to show the next image.
45
+ // Don¥t alter these variables in any way
46
+ imageArray: [],
47
+ activeImage: 0
48
+ },settings);
49
+ // Caching the jQuery object with all elements matched
50
+ var jQueryMatchedObj = this; // This, in this context, refer to jQuery object
51
+ /**
52
+ * Initializing the plugin calling the start function
53
+ *
54
+ * @return boolean false
55
+ */
56
+ function _initialize() {
57
+ _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked
58
+ return false; // Avoid the browser following the link
59
+ }
60
+ /**
61
+ * Start the jQuery lightBox plugin
62
+ *
63
+ * @param object objClicked The object (link) whick the user have clicked
64
+ * @param object jQueryMatchedObj The jQuery object with all elements matched
65
+ */
66
+ function _start(objClicked,jQueryMatchedObj) {
67
+ // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay.
68
+ $('embed, object, select').css({ 'visibility' : 'hidden' });
69
+ // Call the function to create the markup structure; style some elements; assign events in some elements.
70
+ _set_interface();
71
+ // Unset total images in imageArray
72
+ settings.imageArray.length = 0;
73
+ // Unset image active information
74
+ settings.activeImage = 0;
75
+ // We have an image set? Or just an image? Let¥s see it.
76
+ if ( jQueryMatchedObj.length == 1 ) {
77
+ settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));
78
+ } else {
79
+ // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references
80
+ for ( var i = 0; i < jQueryMatchedObj.length; i++ ) {
81
+ settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));
82
+ }
83
+ }
84
+ while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) {
85
+ settings.activeImage++;
86
+ }
87
+ // Call the function that prepares image exibition
88
+ _set_image_to_view();
89
+ }
90
+ /**
91
+ * Create the jQuery lightBox plugin interface
92
+ *
93
+ * The HTML markup will be like that:
94
+ <div id="jquery-overlay"></div>
95
+ <div id="jquery-lightbox">
96
+ <div id="lightbox-container-image-box">
97
+ <div id="lightbox-container-image">
98
+ <img src="../fotos/XX.jpg" id="lightbox-image">
99
+ <div id="lightbox-nav">
100
+ <a href="#" id="lightbox-nav-btnPrev"></a>
101
+ <a href="#" id="lightbox-nav-btnNext"></a>
102
+ </div>
103
+ <div id="lightbox-loading">
104
+ <a href="#" id="lightbox-loading-link">
105
+ <img src="../images/lightbox-ico-loading.gif">
106
+ </a>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ <div id="lightbox-container-image-data-box">
111
+ <div id="lightbox-container-image-data">
112
+ <div id="lightbox-image-details">
113
+ <span id="lightbox-image-details-caption"></span>
114
+ <span id="lightbox-image-details-currentNumber"></span>
115
+ </div>
116
+ <div id="lightbox-secNav">
117
+ <a href="#" id="lightbox-secNav-btnClose">
118
+ <img src="../images/lightbox-btn-close.gif">
119
+ </a>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ *
125
+ */
126
+ function _set_interface() {
127
+ // Apply the HTML markup into body tag
128
+ $('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>');
129
+ // Get page sizes
130
+ var arrPageSizes = ___getPageSize();
131
+ // Style overlay and show it
132
+ $('#jquery-overlay').css({
133
+ backgroundColor: settings.overlayBgColor,
134
+ opacity: settings.overlayOpacity,
135
+ width: arrPageSizes[0],
136
+ height: arrPageSizes[1]
137
+ }).fadeIn();
138
+ // Get page scroll
139
+ var arrPageScroll = ___getPageScroll();
140
+ // Calculate top and left offset for the jquery-lightbox div object and show it
141
+ $('#jquery-lightbox').css({
142
+ top: arrPageScroll[1] + (arrPageSizes[3] / 10),
143
+ left: arrPageScroll[0]
144
+ }).show();
145
+ // Assigning click events in elements to close overlay
146
+ $('#jquery-overlay,#jquery-lightbox').click(function() {
147
+ _finish();
148
+ });
149
+ // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects
150
+ $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() {
151
+ _finish();
152
+ return false;
153
+ });
154
+ // If window was resized, calculate the new overlay dimensions
155
+ $(window).resize(function() {
156
+ // Get page sizes
157
+ var arrPageSizes = ___getPageSize();
158
+ // Style overlay and show it
159
+ $('#jquery-overlay').css({
160
+ width: arrPageSizes[0],
161
+ height: arrPageSizes[1]
162
+ });
163
+ // Get page scroll
164
+ var arrPageScroll = ___getPageScroll();
165
+ // Calculate top and left offset for the jquery-lightbox div object and show it
166
+ $('#jquery-lightbox').css({
167
+ top: arrPageScroll[1] + (arrPageSizes[3] / 10),
168
+ left: arrPageScroll[0]
169
+ });
170
+ });
171
+ }
172
+ /**
173
+ * Prepares image exibition; doing a image¥s preloader to calculate it¥s size
174
+ *
175
+ */
176
+ function _set_image_to_view() { // show the loading
177
+ // Show the loading
178
+ $('#lightbox-loading').show();
179
+ if ( settings.fixedNavigation ) {
180
+ $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
181
+ } else {
182
+ // Hide some elements
183
+ $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
184
+ }
185
+ // Image preload process
186
+ var objImagePreloader = new Image();
187
+ objImagePreloader.onload = function() {
188
+ $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);
189
+ // Perfomance an effect in the image container resizing it
190
+ _resize_container_image_box(objImagePreloader.width,objImagePreloader.height);
191
+ // clear onLoad, IE behaves irratically with animated gifs otherwise
192
+ objImagePreloader.onload=function(){};
193
+ };
194
+ objImagePreloader.src = settings.imageArray[settings.activeImage][0];
195
+ };
196
+ /**
197
+ * Perfomance an effect in the image container resizing it
198
+ *
199
+ * @param integer intImageWidth The image¥s width that will be showed
200
+ * @param integer intImageHeight The image¥s height that will be showed
201
+ */
202
+ function _resize_container_image_box(intImageWidth,intImageHeight) {
203
+ // Get current width and height
204
+ var intCurrentWidth = $('#lightbox-container-image-box').width();
205
+ var intCurrentHeight = $('#lightbox-container-image-box').height();
206
+ // Get the width and height of the selected image plus the padding
207
+ var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image¥s width and the left and right padding value
208
+ var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image¥s height and the left and right padding value
209
+ // Diferences
210
+ var intDiffW = intCurrentWidth - intWidth;
211
+ var intDiffH = intCurrentHeight - intHeight;
212
+ // Perfomance the effect
213
+ $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); });
214
+ if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) {
215
+ if ( $.browser.msie ) {
216
+ ___pause(250);
217
+ } else {
218
+ ___pause(100);
219
+ }
220
+ }
221
+ $('#lightbox-container-image-data-box').css({ width: intImageWidth });
222
+ $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) });
223
+ };
224
+ /**
225
+ * Show the prepared image
226
+ *
227
+ */
228
+ function _show_image() {
229
+ $('#lightbox-loading').hide();
230
+ $('#lightbox-image').fadeIn(function() {
231
+ _show_image_data();
232
+ _set_navigation();
233
+ });
234
+ _preload_neighbor_images();
235
+ };
236
+ /**
237
+ * Show the image information
238
+ *
239
+ */
240
+ function _show_image_data() {
241
+ $('#lightbox-container-image-data-box').slideDown('fast');
242
+ $('#lightbox-image-details-caption').hide();
243
+ if ( settings.imageArray[settings.activeImage][1] ) {
244
+ $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();
245
+ }
246
+ // If we have a image set, display 'Image X of X'
247
+ if ( settings.imageArray.length > 1 ) {
248
+ $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show();
249
+ }
250
+ }
251
+ /**
252
+ * Display the button navigations
253
+ *
254
+ */
255
+ function _set_navigation() {
256
+ $('#lightbox-nav').show();
257
+
258
+ // Instead to define this configuration in CSS file, we define here. And it¥s need to IE. Just.
259
+ $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
260
+
261
+ // Show the prev button, if not the first image in set
262
+ if ( settings.activeImage != 0 ) {
263
+ if ( settings.fixedNavigation ) {
264
+ $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' })
265
+ .unbind()
266
+ .bind('click',function() {
267
+ settings.activeImage = settings.activeImage - 1;
268
+ _set_image_to_view();
269
+ return false;
270
+ });
271
+ } else {
272
+ // Show the images button for Next buttons
273
+ $('#lightbox-nav-btnPrev').unbind().hover(function() {
274
+ $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' });
275
+ },function() {
276
+ $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
277
+ }).show().bind('click',function() {
278
+ settings.activeImage = settings.activeImage - 1;
279
+ _set_image_to_view();
280
+ return false;
281
+ });
282
+ }
283
+ }
284
+
285
+ // Show the next button, if not the last image in set
286
+ if ( settings.activeImage != ( settings.imageArray.length -1 ) ) {
287
+ if ( settings.fixedNavigation ) {
288
+ $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' })
289
+ .unbind()
290
+ .bind('click',function() {
291
+ settings.activeImage = settings.activeImage + 1;
292
+ _set_image_to_view();
293
+ return false;
294
+ });
295
+ } else {
296
+ // Show the images button for Next buttons
297
+ $('#lightbox-nav-btnNext').unbind().hover(function() {
298
+ $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' });
299
+ },function() {
300
+ $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
301
+ }).show().bind('click',function() {
302
+ settings.activeImage = settings.activeImage + 1;
303
+ _set_image_to_view();
304
+ return false;
305
+ });
306
+ }
307
+ }
308
+ // Enable keyboard navigation
309
+ _enable_keyboard_navigation();
310
+ }
311
+ /**
312
+ * Enable a support to keyboard navigation
313
+ *
314
+ */
315
+ function _enable_keyboard_navigation() {
316
+ $(document).keydown(function(objEvent) {
317
+ _keyboard_action(objEvent);
318
+ });
319
+ }
320
+ /**
321
+ * Disable the support to keyboard navigation
322
+ *
323
+ */
324
+ function _disable_keyboard_navigation() {
325
+ $(document).unbind();
326
+ }
327
+ /**
328
+ * Perform the keyboard actions
329
+ *
330
+ */
331
+ function _keyboard_action(objEvent) {
332
+ // To ie
333
+ if ( objEvent == null ) {
334
+ keycode = event.keyCode;
335
+ escapeKey = 27;
336
+ // To Mozilla
337
+ } else {
338
+ keycode = objEvent.keyCode;
339
+ escapeKey = objEvent.DOM_VK_ESCAPE;
340
+ }
341
+ // Get the key in lower case form
342
+ key = String.fromCharCode(keycode).toLowerCase();
343
+ // Verify the keys to close the ligthBox
344
+ if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) {
345
+ _finish();
346
+ }
347
+ // Verify the key to show the previous image
348
+ if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) {
349
+ // If we¥re not showing the first image, call the previous
350
+ if ( settings.activeImage != 0 ) {
351
+ settings.activeImage = settings.activeImage - 1;
352
+ _set_image_to_view();
353
+ _disable_keyboard_navigation();
354
+ }
355
+ }
356
+ // Verify the key to show the next image
357
+ if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) {
358
+ // If we¥re not showing the last image, call the next
359
+ if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) {
360
+ settings.activeImage = settings.activeImage + 1;
361
+ _set_image_to_view();
362
+ _disable_keyboard_navigation();
363
+ }
364
+ }
365
+ }
366
+ /**
367
+ * Preload prev and next images being showed
368
+ *
369
+ */
370
+ function _preload_neighbor_images() {
371
+ if ( (settings.imageArray.length -1) > settings.activeImage ) {
372
+ objNext = new Image();
373
+ objNext.src = settings.imageArray[settings.activeImage + 1][0];
374
+ }
375
+ if ( settings.activeImage > 0 ) {
376
+ objPrev = new Image();
377
+ objPrev.src = settings.imageArray[settings.activeImage -1][0];
378
+ }
379
+ }
380
+ /**
381
+ * Remove jQuery lightBox plugin HTML markup
382
+ *
383
+ */
384
+ function _finish() {
385
+ $('#jquery-lightbox').remove();
386
+ $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); });
387
+ // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay.
388
+ $('embed, object, select').css({ 'visibility' : 'visible' });
389
+ }
390
+ /**
391
+ / THIRD FUNCTION
392
+ * getPageSize() by quirksmode.com
393
+ *
394
+ * @return Array Return an array with page width, height and window width, height
395
+ */
396
+ function ___getPageSize() {
397
+ var xScroll, yScroll;
398
+ if (window.innerHeight && window.scrollMaxY) {
399
+ xScroll = window.innerWidth + window.scrollMaxX;
400
+ yScroll = window.innerHeight + window.scrollMaxY;
401
+ } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
402
+ xScroll = document.body.scrollWidth;
403
+ yScroll = document.body.scrollHeight;
404
+ } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
405
+ xScroll = document.body.offsetWidth;
406
+ yScroll = document.body.offsetHeight;
407
+ }
408
+ var windowWidth, windowHeight;
409
+ if (self.innerHeight) { // all except Explorer
410
+ if(document.documentElement.clientWidth){
411
+ windowWidth = document.documentElement.clientWidth;
412
+ } else {
413
+ windowWidth = self.innerWidth;
414
+ }
415
+ windowHeight = self.innerHeight;
416
+ } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
417
+ windowWidth = document.documentElement.clientWidth;
418
+ windowHeight = document.documentElement.clientHeight;
419
+ } else if (document.body) { // other Explorers
420
+ windowWidth = document.body.clientWidth;
421
+ windowHeight = document.body.clientHeight;
422
+ }
423
+ // for small pages with total height less then height of the viewport
424
+ if(yScroll < windowHeight){
425
+ pageHeight = windowHeight;
426
+ } else {
427
+ pageHeight = yScroll;
428
+ }
429
+ // for small pages with total width less then width of the viewport
430
+ if(xScroll < windowWidth){
431
+ pageWidth = xScroll;
432
+ } else {
433
+ pageWidth = windowWidth;
434
+ }
435
+ arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
436
+ return arrayPageSize;
437
+ };
438
+ /**
439
+ / THIRD FUNCTION
440
+ * getPageScroll() by quirksmode.com
441
+ *
442
+ * @return Array Return an array with x,y page scroll values.
443
+ */
444
+ function ___getPageScroll() {
445
+ var xScroll, yScroll;
446
+ if (self.pageYOffset) {
447
+ yScroll = self.pageYOffset;
448
+ xScroll = self.pageXOffset;
449
+ } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
450
+ yScroll = document.documentElement.scrollTop;
451
+ xScroll = document.documentElement.scrollLeft;
452
+ } else if (document.body) {// all other Explorers
453
+ yScroll = document.body.scrollTop;
454
+ xScroll = document.body.scrollLeft;
455
+ }
456
+ arrayPageScroll = new Array(xScroll,yScroll);
457
+ return arrayPageScroll;
458
+ };
459
+ /**
460
+ * Stop the code execution from a escified time in milisecond
461
+ *
462
+ */
463
+ function ___pause(ms) {
464
+ var date = new Date();
465
+ curDate = null;
466
+ do { var curDate = new Date(); }
467
+ while ( curDate - date < ms);
468
+ };
469
+ // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once
470
+ return this.unbind('click').click(_initialize);
471
+ };
472
+ })(jQuery); // Call and execute the function immediately passing the jQuery object
skin/frontend/default/freepop/js/easybanner/jquery.msAccordion.js ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //menu Accordion
2
+ //author: Marghoob Suleman
3
+ //Date: 05th Aug, 2009
4
+ //Version: 1.0
5
+ //web: www.giftlelo.com | www.marghoobsuleman.com
6
+ ;(function($){
7
+ $.fn.msAccordion = function(options) {
8
+ options = $.extend({
9
+ currentDiv:'1',
10
+ previousDiv:'',
11
+ vertical: false,
12
+ defaultid:0,
13
+ currentcounter:0,
14
+ intervalid:0,
15
+ autodelay:0,
16
+ event:"click",
17
+ alldivs_array:new Array()
18
+ }, options);
19
+ $(this).addClass("accordionWrapper");
20
+ $(this).css({overflow:"hidden"});
21
+ //alert(this);
22
+ var elementid = $(this).attr("id");
23
+ var allDivs = this.children();
24
+ if(options.autodelay>0) {
25
+ $("#"+ elementid +" > div").bind("mouseenter", function(){
26
+ pause();
27
+ });
28
+ $("#"+ elementid +" > div").bind("mouseleave", function(){
29
+ startPlay();
30
+ });
31
+ }
32
+ //set ids
33
+ allDivs.each(function(current) {
34
+ var iCurrent = current;
35
+ var sTitleID = elementid+"_msTitle_"+(iCurrent);
36
+ var sContentID = sTitleID+"_msContent_"+(iCurrent);
37
+ var currentDiv = allDivs[iCurrent];
38
+ var totalChild = currentDiv.childNodes.length;
39
+ var titleDiv = $(currentDiv).find("div.title");
40
+ titleDiv.attr("id", sTitleID);
41
+ var contentDiv = $(currentDiv).find("div.content");
42
+ contentDiv.attr("id", sContentID);
43
+ options.alldivs_array.push(sTitleID);
44
+ //$("#"+sTitleID).click(function(){openMe(sTitleID);});
45
+ $("#"+sTitleID).bind(options.event, function(){pause();openMe(sTitleID);});
46
+ });
47
+
48
+ //make vertical
49
+ if(options.vertical) {makeVertical();};
50
+ //open default
51
+ openMe(elementid+"_msTitle_"+options.defaultid);
52
+ if(options.autodelay>0) {startPlay();};
53
+ //alert(allDivs.length);
54
+ function openMe(id) {
55
+ var sTitleID = id;
56
+ var iCurrent = sTitleID.split("_")[sTitleID.split("_").length-1];
57
+ options.currentcounter = iCurrent;
58
+ var sContentID = id+"_msContent_"+iCurrent;
59
+ if($("#"+sContentID).css("display")=="none") {
60
+ if(options.previousDiv!="") {
61
+ closeMe(options.previousDiv);
62
+ };
63
+ if(options.vertical) {
64
+ $("#"+sContentID).slideDown("slow");
65
+ } else {
66
+ $("#"+sContentID).show("slow");
67
+ }
68
+ options.currentDiv = sContentID;
69
+ options.previousDiv = options.currentDiv;
70
+ };
71
+ };
72
+ function closeMe(div) {
73
+ if(options.vertical) {
74
+ $("#"+div).slideUp("slow");
75
+ } else {
76
+ $("#"+div).hide("slow");
77
+ };
78
+ };
79
+ function makeVertical() {
80
+ $("#"+elementid +" > div").css({display:"block", float:"none", clear:"both"});
81
+ $("#"+elementid +" > div > div.title").css({display:"block", float:"none", clear:"both"});
82
+ $("#"+elementid +" > div > div.content").css({clear:"both"});
83
+ };
84
+ function startPlay() {
85
+ options.intervalid = window.setInterval(play, options.autodelay*4000);
86
+ };
87
+ function play() {
88
+ var sTitleId = options.alldivs_array[options.currentcounter];
89
+ openMe(sTitleId);
90
+ options.currentcounter++;
91
+ if(options.currentcounter==options.alldivs_array.length) options.currentcounter = 0;
92
+ };
93
+ function pause() {
94
+ window.clearInterval(options.intervalid);
95
+ };
96
+ }
97
+ })(jQuery);
skin/frontend/default/freepop/js/easybanner/plugins.init.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // no conflicts with other frameworks
2
+ var $j = jQuery.noConflict();
3
+
4
+ //
5
+ // window.onload function to setup various javascripts
6
+ //
7
+ $j(function() {
8
+ //fix png transparency in IE<6
9
+ //$j('img[@src$=.png]').ifixpng();
10
+ //lightbox gallery
11
+ $j('.lightbox_image').lightBox();
12
+ //This is for Zooming Images
13
+ //$j.imgzoom();
14
+ });
15
+
16
+
skin/frontend/default/freepop/js/galleryview/jquery.easing.1.3.js ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
3
+ *
4
+ * Uses the built in easing capabilities added In jQuery 1.1
5
+ * to offer multiple easing options
6
+ *
7
+ * TERMS OF USE - jQuery Easing
8
+ *
9
+ * Open source under the BSD License.
10
+ *
11
+ * Copyright © 2008 George McGinley Smith
12
+ * All rights reserved.
13
+ *
14
+ * Redistribution and use in source and binary forms, with or without modification,
15
+ * are permitted provided that the following conditions are met:
16
+ *
17
+ * Redistributions of source code must retain the above copyright notice, this list of
18
+ * conditions and the following disclaimer.
19
+ * Redistributions in binary form must reproduce the above copyright notice, this list
20
+ * of conditions and the following disclaimer in the documentation and/or other materials
21
+ * provided with the distribution.
22
+ *
23
+ * Neither the name of the author nor the names of contributors may be used to endorse
24
+ * or promote products derived from this software without specific prior written permission.
25
+ *
26
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
27
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
29
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
31
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
32
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
35
+ *
36
+ */
37
+
38
+ // t: current time, b: begInnIng value, c: change In value, d: duration
39
+ jQuery.easing['jswing'] = jQuery.easing['swing'];
40
+
41
+ jQuery.extend( jQuery.easing,
42
+ {
43
+ def: 'easeOutQuad',
44
+ swing: function (x, t, b, c, d) {
45
+ //alert(jQuery.easing.default);
46
+ return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
47
+ },
48
+ easeInQuad: function (x, t, b, c, d) {
49
+ return c*(t/=d)*t + b;
50
+ },
51
+ easeOutQuad: function (x, t, b, c, d) {
52
+ return -c *(t/=d)*(t-2) + b;
53
+ },
54
+ easeInOutQuad: function (x, t, b, c, d) {
55
+ if ((t/=d/2) < 1) return c/2*t*t + b;
56
+ return -c/2 * ((--t)*(t-2) - 1) + b;
57
+ },
58
+ easeInCubic: function (x, t, b, c, d) {
59
+ return c*(t/=d)*t*t + b;
60
+ },
61
+ easeOutCubic: function (x, t, b, c, d) {
62
+ return c*((t=t/d-1)*t*t + 1) + b;
63
+ },
64
+ easeInOutCubic: function (x, t, b, c, d) {
65
+ if ((t/=d/2) < 1) return c/2*t*t*t + b;
66
+ return c/2*((t-=2)*t*t + 2) + b;
67
+ },
68
+ easeInQuart: function (x, t, b, c, d) {
69
+ return c*(t/=d)*t*t*t + b;
70
+ },
71
+ easeOutQuart: function (x, t, b, c, d) {
72
+ return -c * ((t=t/d-1)*t*t*t - 1) + b;
73
+ },
74
+ easeInOutQuart: function (x, t, b, c, d) {
75
+ if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
76
+ return -c/2 * ((t-=2)*t*t*t - 2) + b;
77
+ },
78
+ easeInQuint: function (x, t, b, c, d) {
79
+ return c*(t/=d)*t*t*t*t + b;
80
+ },
81
+ easeOutQuint: function (x, t, b, c, d) {
82
+ return c*((t=t/d-1)*t*t*t*t + 1) + b;
83
+ },
84
+ easeInOutQuint: function (x, t, b, c, d) {
85
+ if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
86
+ return c/2*((t-=2)*t*t*t*t + 2) + b;
87
+ },
88
+ easeInSine: function (x, t, b, c, d) {
89
+ return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
90
+ },
91
+ easeOutSine: function (x, t, b, c, d) {
92
+ return c * Math.sin(t/d * (Math.PI/2)) + b;
93
+ },
94
+ easeInOutSine: function (x, t, b, c, d) {
95
+ return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
96
+ },
97
+ easeInExpo: function (x, t, b, c, d) {
98
+ return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
99
+ },
100
+ easeOutExpo: function (x, t, b, c, d) {
101
+ return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
102
+ },
103
+ easeInOutExpo: function (x, t, b, c, d) {
104
+ if (t==0) return b;
105
+ if (t==d) return b+c;
106
+ if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
107
+ return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
108
+ },
109
+ easeInCirc: function (x, t, b, c, d) {
110
+ return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
111
+ },
112
+ easeOutCirc: function (x, t, b, c, d) {
113
+ return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
114
+ },
115
+ easeInOutCirc: function (x, t, b, c, d) {
116
+ if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
117
+ return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
118
+ },
119
+ easeInElastic: function (x, t, b, c, d) {
120
+ var s=1.70158;var p=0;var a=c;
121
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
122
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
123
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
124
+ return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
125
+ },
126
+ easeOutElastic: function (x, t, b, c, d) {
127
+ var s=1.70158;var p=0;var a=c;
128
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
129
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
130
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
131
+ return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
132
+ },
133
+ easeInOutElastic: function (x, t, b, c, d) {
134
+ var s=1.70158;var p=0;var a=c;
135
+ if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
136
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
137
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
138
+ if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
139
+ return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
140
+ },
141
+ easeInBack: function (x, t, b, c, d, s) {
142
+ if (s == undefined) s = 1.70158;
143
+ return c*(t/=d)*t*((s+1)*t - s) + b;
144
+ },
145
+ easeOutBack: function (x, t, b, c, d, s) {
146
+ if (s == undefined) s = 1.70158;
147
+ return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
148
+ },
149
+ easeInOutBack: function (x, t, b, c, d, s) {
150
+ if (s == undefined) s = 1.70158;
151
+ if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
152
+ return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
153
+ },
154
+ easeInBounce: function (x, t, b, c, d) {
155
+ return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
156
+ },
157
+ easeOutBounce: function (x, t, b, c, d) {
158
+ if ((t/=d) < (1/2.75)) {
159
+ return c*(7.5625*t*t) + b;
160
+ } else if (t < (2/2.75)) {
161
+ return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
162
+ } else if (t < (2.5/2.75)) {
163
+ return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
164
+ } else {
165
+ return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
166
+ }
167
+ },
168
+ easeInOutBounce: function (x, t, b, c, d) {
169
+ if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
170
+ return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
171
+ }
172
+ });
173
+
174
+ /*
175
+ *
176
+ * TERMS OF USE - EASING EQUATIONS
177
+ *
178
+ * Open source under the BSD License.
179
+ *
180
+ * Copyright © 2001 Robert Penner
181
+ * All rights reserved.
182
+ *
183
+ * Redistribution and use in source and binary forms, with or without modification,
184
+ * are permitted provided that the following conditions are met:
185
+ *
186
+ * Redistributions of source code must retain the above copyright notice, this list of
187
+ * conditions and the following disclaimer.
188
+ * Redistributions in binary form must reproduce the above copyright notice, this list
189
+ * of conditions and the following disclaimer in the documentation and/or other materials
190
+ * provided with the distribution.
191
+ *
192
+ * Neither the name of the author nor the names of contributors may be used to endorse
193
+ * or promote products derived from this software without specific prior written permission.
194
+ *
195
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
196
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
197
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
198
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
199
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
200
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
201
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
202
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
203
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
204
+ *
205
+ */
skin/frontend/default/freepop/js/galleryview/jquery.galleryview-1.1.js ADDED
@@ -0,0 +1,548 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+
3
+ GalleryView - jQuery Content Gallery Plugin
4
+ Author: Jack Anderson
5
+ Version: 1.1 (April 5, 2009)
6
+ Documentation: http://www.spaceforaname.com/jquery/galleryview/
7
+
8
+ Please use this development script if you intend to make changes to the
9
+ plugin code. For production sites, please use jquery.galleryview-1.0.1-pack.js.
10
+
11
+ */
12
+ (function($){
13
+ $.fn.galleryView = function(options) {
14
+ var opts = $.extend($.fn.galleryView.defaults,options);
15
+
16
+ var id;
17
+ var iterator = 0;
18
+ var gallery_width;
19
+ var gallery_height;
20
+ var frame_margin = 10;
21
+ var strip_width;
22
+ var wrapper_width;
23
+ var item_count = 0;
24
+ var slide_method;
25
+ var img_path;
26
+ var paused = false;
27
+ var frame_caption_size = 20;
28
+ var frame_margin_top = 5;
29
+ var pointer_width = 2;
30
+
31
+ //Define jQuery objects for reuse
32
+ var j_gallery;
33
+ var j_filmstrip;
34
+ var j_frames;
35
+ var j_panels;
36
+ var j_pointer;
37
+
38
+ /************************************************/
39
+ /* Plugin Methods */
40
+ /************************************************/
41
+ function showItem(i) {
42
+ //Disable next/prev buttons until transition is complete
43
+ $('img.nav-next').unbind('click');
44
+ $('img.nav-prev').unbind('click');
45
+ j_frames.unbind('click');
46
+ if(has_panels) {
47
+ if(opts.fade_panels) {
48
+ //Fade out all panels and fade in target panel
49
+ j_panels.fadeOut(opts.transition_speed).eq(i%item_count).fadeIn(opts.transition_speed,function(){
50
+ if(!has_filmstrip) {
51
+ $('img.nav-prev').click(showPrevItem);
52
+ $('img.nav-next').click(showNextItem);
53
+ }
54
+ });
55
+ }
56
+ }
57
+
58
+ if(has_filmstrip) {
59
+ //Slide either pointer or filmstrip, depending on transition method
60
+ if(slide_method=='strip') {
61
+ //Stop filmstrip if it's currently in motion
62
+ j_filmstrip.stop();
63
+
64
+ //Determine distance between pointer (eventual destination) and target frame
65
+ var distance = getPos(j_frames[i]).left - (getPos(j_pointer[0]).left+2);
66
+ var leftstr = (distance>=0?'-=':'+=')+Math.abs(distance)+'px';
67
+
68
+ //Animate filmstrip and slide target frame under pointer
69
+ //If target frame is a duplicate, jump back to 'original' frame
70
+ j_filmstrip.animate({
71
+ 'left':leftstr
72
+ },opts.transition_speed,opts.easing,function(){
73
+ //Always ensure that there are a sufficient number of hidden frames on either
74
+ //side of the filmstrip to avoid empty frames
75
+ if(i>item_count) {
76
+ i = i%item_count;
77
+ iterator = i;
78
+ j_filmstrip.css('left','-'+((opts.frame_width+frame_margin)*i)+'px');
79
+ } else if (i<=(item_count-strip_size)) {
80
+ i = (i%item_count)+item_count;
81
+ iterator = i;
82
+ j_filmstrip.css('left','-'+((opts.frame_width+frame_margin)*i)+'px');
83
+ }
84
+
85
+ if(!opts.fade_panels) {
86
+ j_panels.hide().eq(i%item_count).show();
87
+ }
88
+ $('img.nav-prev').click(showPrevItem);
89
+ $('img.nav-next').click(showNextItem);
90
+ enableFrameClicking();
91
+ });
92
+ } else if(slide_method=='pointer') {
93
+ //Stop pointer if it's currently in motion
94
+ j_pointer.stop();
95
+ //Get position of target frame
96
+ var pos = getPos(j_frames[i]);
97
+ //Slide the pointer over the target frame
98
+ j_pointer.animate({
99
+ 'left':(pos.left-2+'px')
100
+ },opts.transition_speed,opts.easing,function(){
101
+ if(!opts.fade_panels) {
102
+ j_panels.hide().eq(i%item_count).show();
103
+ }
104
+ $('img.nav-prev').click(showPrevItem);
105
+ $('img.nav-next').click(showNextItem);
106
+ enableFrameClicking();
107
+ });
108
+ }
109
+
110
+ if($('a',j_frames[i])[0]) {
111
+ j_pointer.unbind('click').click(function(){
112
+ var a = $('a',j_frames[i]).eq(0);
113
+ if(a.attr('target')=='_blank') {window.open(a.attr('href'));}
114
+ else {location.href = a.attr('href');}
115
+ });
116
+ }
117
+ }
118
+ };
119
+ function showNextItem() {
120
+ $(document).stopTime("transition");
121
+ if(++iterator==j_frames.length) {iterator=0;}
122
+ showItem(iterator);
123
+ $(document).everyTime(opts.transition_interval,"transition",function(){
124
+ showNextItem();
125
+ });
126
+ };
127
+ function showPrevItem() {
128
+ $(document).stopTime("transition");
129
+ if(--iterator<0) {iterator = item_count-1;}
130
+ //alert(iterator);
131
+ showItem(iterator);
132
+ $(document).everyTime(opts.transition_interval,"transition",function(){
133
+ showNextItem();
134
+ });
135
+ };
136
+ function getPos(el) {
137
+ var left = 0, top = 0;
138
+ var el_id = el.id;
139
+ if(el.offsetParent) {
140
+ do {
141
+ left += el.offsetLeft;
142
+ top += el.offsetTop;
143
+ } while(el = el.offsetParent);
144
+ }
145
+ //If we want the position of the gallery itself, return it
146
+ if(el_id == id) {return {'left':left,'top':top};}
147
+ //Otherwise, get position of element relative to gallery
148
+ else {
149
+ var gPos = getPos(j_gallery[0]);
150
+ var gLeft = gPos.left;
151
+ var gTop = gPos.top;
152
+
153
+ return {'left':left-gLeft,'top':top-gTop};
154
+ }
155
+ };
156
+ function enableFrameClicking() {
157
+ j_frames.each(function(i){
158
+ //If there isn't a link in this frame, set up frame to slide on click
159
+ //Frames with links will handle themselves
160
+ if($('a',this).length==0) {
161
+ $(this).click(function(){
162
+ $(document).stopTime("transition");
163
+ showItem(i);
164
+ iterator = i;
165
+ $(document).everyTime(opts.transition_interval,"transition",function(){
166
+ showNextItem();
167
+ });
168
+ });
169
+ }
170
+ });
171
+ };
172
+
173
+ function buildPanels() {
174
+ //If there are panel captions, add overlay divs
175
+ if($('.panel-overlay').length>0) {j_panels.append('<div class="overlay"></div>');}
176
+
177
+ if(!has_filmstrip) {
178
+ //Add navigation buttons
179
+ $('<img />').addClass('nav-next').attr('src',img_path+opts.nav_theme+'/next.png').appendTo(j_gallery).css({
180
+ 'position':'absolute',
181
+ 'zIndex':'1100',
182
+ 'cursor':'pointer',
183
+ 'top':((opts.panel_height-22)/2)+'px',
184
+ 'right':'10px',
185
+ 'display':'none'
186
+ }).click(showNextItem);
187
+ $('<img />').addClass('nav-prev').attr('src',img_path+opts.nav_theme+'/prev.png').appendTo(j_gallery).css({
188
+ 'position':'absolute',
189
+ 'zIndex':'1100',
190
+ 'cursor':'pointer',
191
+ 'top':((opts.panel_height-22)/2)+'px',
192
+ 'left':'10px',
193
+ 'display':'none'
194
+ }).click(showPrevItem);
195
+
196
+ $('<img />').addClass('nav-overlay').attr('src',img_path+opts.nav_theme+'/panel-nav-next.png').appendTo(j_gallery).css({
197
+ 'position':'absolute',
198
+ 'zIndex':'1099',
199
+ 'top':((opts.panel_height-22)/2)-10+'px',
200
+ 'right':'0',
201
+ 'display':'none'
202
+ });
203
+
204
+ $('<img />').addClass('nav-overlay').attr('src',img_path+opts.nav_theme+'/panel-nav-prev.png').appendTo(j_gallery).css({
205
+ 'position':'absolute',
206
+ 'zIndex':'1099',
207
+ 'top':((opts.panel_height-22)/2)-10+'px',
208
+ 'left':'0',
209
+ 'display':'none'
210
+ });
211
+ }
212
+ j_panels.css({
213
+ 'width':(opts.panel_width-parseInt(j_panels.css('paddingLeft').split('px')[0],10)-parseInt(j_panels.css('paddingRight').split('px')[0],10))+'px',
214
+ 'height':(opts.panel_height-parseInt(j_panels.css('paddingTop').split('px')[0],10)-parseInt(j_panels.css('paddingBottom').split('px')[0],10))+'px',
215
+ 'position':'absolute',
216
+ 'top':(opts.filmstrip_position=='top'?(opts.frame_height+frame_margin_top+(opts.show_captions?frame_caption_size:frame_margin_top))+'px':'0px'),
217
+ 'left':'0px',
218
+ 'overflow':'hidden',
219
+ 'background':'white',
220
+ 'display':'none'
221
+ });
222
+ $('.panel-overlay',j_panels).css({
223
+ 'position':'absolute',
224
+ 'zIndex':'999',
225
+ 'width':(opts.panel_width-20)+'px',
226
+ 'height':opts.overlay_height+'px',
227
+ 'top':(opts.overlay_position=='top'?'0':opts.panel_height-opts.overlay_height+'px'),
228
+ 'left':'0',
229
+ 'padding':'0 10px',
230
+ 'color':opts.overlay_text_color,
231
+ 'fontSize':opts.overlay_font_size
232
+ });
233
+ $('.panel-overlay a',j_panels).css({
234
+ 'color':opts.overlay_text_color,
235
+ 'textDecoration':'underline',
236
+ 'fontWeight':'bold'
237
+ });
238
+ $('.overlay',j_panels).css({
239
+ 'position':'absolute',
240
+ 'zIndex':'998',
241
+ 'width':opts.panel_width+'px',
242
+ 'height':opts.overlay_height+'px',
243
+ 'top':(opts.overlay_position=='top'?'0':opts.panel_height-opts.overlay_height+'px'),
244
+ 'left':'0',
245
+ 'background':opts.overlay_color,
246
+ 'opacity':opts.overlay_opacity
247
+ });
248
+ $('.panel iframe',j_panels).css({
249
+ 'width':opts.panel_width+'px',
250
+ 'height':(opts.panel_height-opts.overlay_height)+'px',
251
+ 'border':'0'
252
+ });
253
+ };
254
+
255
+ function buildFilmstrip() {
256
+ //Add wrapper to filmstrip to hide extra frames
257
+ j_filmstrip.wrap('<div class="strip_wrapper"></div>');
258
+ if(slide_method=='strip') {
259
+ j_frames.clone().appendTo(j_filmstrip);
260
+ j_frames.clone().appendTo(j_filmstrip);
261
+ j_frames = $('li',j_filmstrip);
262
+ }
263
+ //If captions are enabled, add caption divs and fill with the image titles
264
+ if(opts.show_captions) {
265
+ j_frames.append('<div class="caption"></div>').each(function(i){
266
+ $(this).find('.caption').html($(this).find('img').attr('title'));
267
+ });
268
+ }
269
+
270
+ j_filmstrip.css({
271
+ 'listStyle':'none',
272
+ 'margin':'0',
273
+ 'padding':'0',
274
+ 'width':strip_width+'px',
275
+ 'position':'absolute',
276
+ 'zIndex':'900',
277
+ 'top':'0',
278
+ 'left':'0',
279
+ 'height':(opts.frame_height+10)+'px',
280
+ 'background':opts.background_color
281
+ });
282
+ j_frames.css({
283
+ 'float':'left',
284
+ 'position':'relative',
285
+ 'height':opts.frame_height+'px',
286
+ 'zIndex':'901',
287
+ 'marginTop':frame_margin_top+'px',
288
+ 'marginBottom':'0px',
289
+ 'marginRight':frame_margin+'px',
290
+ 'padding':'0',
291
+ 'cursor':'pointer'
292
+ });
293
+ $('img',j_frames).css({
294
+ 'border':'none'
295
+ });
296
+ $('.strip_wrapper',j_gallery).css({
297
+ 'position':'absolute',
298
+ 'top':(opts.filmstrip_position=='top'?'0px':opts.panel_height+'px'),
299
+ 'left':((gallery_width-wrapper_width)/2)+'px',
300
+ 'width':wrapper_width+'px',
301
+ 'height':(opts.frame_height+frame_margin_top+(opts.show_captions?frame_caption_size:frame_margin_top))+'px',
302
+ 'overflow':'hidden'
303
+ });
304
+ $('.caption',j_gallery).css({
305
+ 'position':'absolute',
306
+ 'top':opts.frame_height+'px',
307
+ 'left':'0',
308
+ 'margin':'0',
309
+ 'width':opts.frame_width+'px',
310
+ 'padding':'0',
311
+ 'color':opts.caption_text_color,
312
+ 'textAlign':'center',
313
+ 'fontSize':'10px',
314
+ 'height':frame_caption_size+'px',
315
+
316
+ 'lineHeight':frame_caption_size+'px'
317
+ });
318
+ var pointer = $('<div></div>');
319
+ pointer.attr('id','pointer').appendTo(j_gallery).css({
320
+ 'position':'absolute',
321
+ 'zIndex':'1000',
322
+ 'cursor':'pointer',
323
+ 'top':getPos(j_frames[0]).top-(pointer_width/2)+'px',
324
+ 'left':getPos(j_frames[0]).left-(pointer_width/2)+'px',
325
+ 'height':opts.frame_height-pointer_width+'px',
326
+ 'width':opts.frame_width-pointer_width+'px',
327
+ 'border':(has_panels?pointer_width+'px solid '+(opts.nav_theme=='dark'?'black':'white'):'none')
328
+ });
329
+ j_pointer = $('#pointer',j_gallery);
330
+ if(has_panels) {
331
+ var pointerArrow = $('<img />');
332
+ pointerArrow.attr('src',img_path+opts.nav_theme+'/pointer'+(opts.filmstrip_position=='top'?'-down':'')+'.png').appendTo($('#pointer')).css({
333
+ 'position':'absolute',
334
+ 'zIndex':'1001',
335
+ 'top':(opts.filmstrip_position=='bottom'?'-'+(10+pointer_width)+'px':opts.frame_height+'px'),
336
+ 'left':((opts.frame_width/2)-10)+'px'
337
+ });
338
+ }
339
+
340
+ //If the filmstrip is animating, move the strip to the middle third
341
+ if(slide_method=='strip') {
342
+ j_filmstrip.css('left','-'+((opts.frame_width+frame_margin)*item_count)+'px');
343
+ iterator = item_count;
344
+ }
345
+ //If there's a link under the pointer, enable clicking on the pointer
346
+ if($('a',j_frames[iterator])[0]) {
347
+ j_pointer.click(function(){
348
+ var a = $('a',j_frames[iterator]).eq(0);
349
+ if(a.attr('target')=='_blank') {window.open(a.attr('href'));}
350
+ else {location.href = a.attr('href');}
351
+ });
352
+ }
353
+
354
+ //Add navigation buttons
355
+ $('<img />').addClass('nav-next').attr('src',img_path+opts.nav_theme+'/next.png').appendTo(j_gallery).css({
356
+ 'position':'absolute',
357
+ 'cursor':'pointer',
358
+ 'top':(opts.filmstrip_position=='top'?0:opts.panel_height)+frame_margin_top+((opts.frame_height-22)/2)+'px',
359
+ 'right':(gallery_width/2)-(wrapper_width/2)-10-22+'px'
360
+ }).click(showNextItem);
361
+ $('<img />').addClass('nav-prev').attr('src',img_path+opts.nav_theme+'/prev.png').appendTo(j_gallery).css({
362
+ 'position':'absolute',
363
+ 'cursor':'pointer',
364
+ 'top':(opts.filmstrip_position=='top'?0:opts.panel_height)+frame_margin_top+((opts.frame_height-22)/2)+'px',
365
+ 'left':(gallery_width/2)-(wrapper_width/2)-10-22+'px'
366
+ }).click(showPrevItem);
367
+ };
368
+
369
+ //Check mouse to see if it is within the borders of the panel
370
+ //More reliable than 'mouseover' event when elements overlay the panel
371
+ function mouseIsOverPanels(x,y) {
372
+ var pos = getPos(j_gallery[0]);
373
+ var top = pos.top;
374
+ var left = pos.left;
375
+ return x > left && x < left+opts.panel_width && y > top && y < top+opts.panel_height;
376
+ };
377
+
378
+ /************************************************/
379
+ /* Main Plugin Code */
380
+ /************************************************/
381
+ return this.each(function() {
382
+ j_gallery = $(this);
383
+ //Determine path between current page and filmstrip images
384
+ //Scan script tags and look for path to GalleryView plugin
385
+ $('script').each(function(i){
386
+ var s = $(this);
387
+ if(s.attr('src') && s.attr('src').match(/jquery\.galleryview/)){
388
+ img_path = s.attr('src').split('jquery.galleryview')[0]+'themes/';
389
+ }
390
+ });
391
+
392
+ //Hide gallery to prevent Flash of Unstyled Content (FoUC) in IE
393
+ j_gallery.css('visibility','hidden');
394
+
395
+ //Assign elements to variables for reuse
396
+ j_filmstrip = $('.filmstrip',j_gallery);
397
+ j_frames = $('li',j_filmstrip);
398
+ j_panels = $('.panel',j_gallery);
399
+
400
+ id = j_gallery.attr('id');
401
+
402
+ has_panels = j_panels.length > 0;
403
+ has_filmstrip = j_frames.length > 0;
404
+
405
+ if(!has_panels) opts.panel_height = 0;
406
+
407
+ //Number of frames in filmstrip
408
+ item_count = has_panels?j_panels.length:j_frames.length;
409
+
410
+ //Number of frames that can display within the screen's width
411
+ //64 = width of block for navigation button * 2
412
+ //5 = minimum frame margin
413
+ strip_size = has_panels?Math.floor((opts.panel_width-64)/(opts.frame_width+frame_margin)):Math.min(item_count,opts.filmstrip_size);
414
+
415
+
416
+ /************************************************/
417
+ /* Determine transition method for filmstrip */
418
+ /************************************************/
419
+ //If more items than strip size, slide filmstrip
420
+ //Otherwise, slide pointer
421
+ if(strip_size >= item_count) {
422
+ slide_method = 'pointer';
423
+ strip_size = item_count;
424
+ }
425
+ else {slide_method = 'strip';}
426
+
427
+ /************************************************/
428
+ /* Determine dimensions of various elements */
429
+ /************************************************/
430
+
431
+ //Width of gallery block
432
+ gallery_width = has_panels?opts.panel_width:(strip_size*(opts.frame_width+frame_margin))-frame_margin+64;
433
+
434
+ //Height of gallery block = screen + filmstrip + captions (optional)
435
+ gallery_height = (has_panels?opts.panel_height:0)+(has_filmstrip?opts.frame_height+frame_margin_top+(opts.show_captions?frame_caption_size:frame_margin_top):0);
436
+
437
+ //Width of filmstrip
438
+ if(slide_method == 'pointer') {strip_width = (opts.frame_width*item_count)+(frame_margin*(item_count));}
439
+ else {strip_width = (opts.frame_width*item_count*3)+(frame_margin*(item_count*3));}
440
+
441
+ //Width of filmstrip wrapper (to hide overflow)
442
+ wrapper_width = ((strip_size*opts.frame_width)+((strip_size-1)*frame_margin));
443
+
444
+ /************************************************/
445
+ /* Apply CSS Styles */
446
+ /************************************************/
447
+ j_gallery.css({
448
+ 'position':'relative',
449
+ 'margin':'0',
450
+ 'background':opts.background_color,
451
+ 'border':opts.border,
452
+ 'width':gallery_width+'px',
453
+ 'height':gallery_height+'px'
454
+ });
455
+
456
+ /************************************************/
457
+ /* Build filmstrip and/or panels */
458
+ /************************************************/
459
+ if(has_filmstrip) {
460
+ buildFilmstrip();
461
+ }
462
+ if(has_panels) {
463
+ buildPanels();
464
+ }
465
+
466
+
467
+ /************************************************/
468
+ /* Add events to various elements */
469
+ /************************************************/
470
+ if(has_filmstrip) enableFrameClicking();
471
+
472
+
473
+
474
+ $().mousemove(function(e){
475
+ if(mouseIsOverPanels(e.pageX,e.pageY)) {
476
+ if(opts.pause_on_hover) {
477
+ $(document).oneTime(500,"animation_pause",function(){
478
+ $(document).stopTime("transition");
479
+ paused=true;
480
+ });
481
+ }
482
+ if(has_panels && !has_filmstrip) {
483
+ $('.nav-overlay').fadeIn('fast');
484
+ $('.nav-next').fadeIn('fast');
485
+ $('.nav-prev').fadeIn('fast');
486
+ }
487
+ } else {
488
+ if(opts.pause_on_hover) {
489
+ $(document).stopTime("animation_pause");
490
+ if(paused) {
491
+ $(document).everyTime(opts.transition_interval,"transition",function(){
492
+ showNextItem();
493
+ });
494
+ paused = false;
495
+ }
496
+ }
497
+ if(has_panels && !has_filmstrip) {
498
+ $('.nav-overlay').fadeOut('fast');
499
+ $('.nav-next').fadeOut('fast');
500
+ $('.nav-prev').fadeOut('fast');
501
+ }
502
+ }
503
+ });
504
+
505
+
506
+ /************************************************/
507
+ /* Initiate Automated Animation */
508
+ /************************************************/
509
+ //Show the first panel
510
+ j_panels.eq(0).show();
511
+
512
+ //If we have more than one item, begin automated transitions
513
+ if(item_count > 1) {
514
+ $(document).everyTime(opts.transition_interval,"transition",function(){
515
+ showNextItem();
516
+ });
517
+ }
518
+
519
+ //Make gallery visible now that work is complete
520
+ j_gallery.css('visibility','visible');
521
+ });
522
+ };
523
+
524
+ $.fn.galleryView.defaults = {
525
+ panel_width: 400,
526
+ panel_height: 300,
527
+ frame_width: 80,
528
+ frame_height: 80,
529
+ filmstrip_size: 3,
530
+ overlay_height: 70,
531
+ overlay_font_size: '1em',
532
+ transition_speed: 400,
533
+ transition_interval: 6000,
534
+ overlay_opacity: 0.6,
535
+ overlay_color: 'black',
536
+ background_color: 'black',
537
+ overlay_text_color: 'white',
538
+ caption_text_color: 'white',
539
+ border: '1px solid black',
540
+ nav_theme: 'light',
541
+ easing: 'swing',
542
+ filmstrip_position: 'bottom',
543
+ overlay_position: 'bottom',
544
+ show_captions: false,
545
+ fade_panels: true,
546
+ pause_on_hover: false
547
+ };
548
+ })(jQuery);
skin/frontend/default/freepop/js/galleryview/jquery.timers-1.1.2.js ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * jQuery.timers - Timer abstractions for jQuery
3
+ * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
4
+ * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
5
+ * Date: 2009/02/08
6
+ *
7
+ * @author Blair Mitchelmore
8
+ * @version 1.1.2
9
+ *
10
+ **/
11
+
12
+ jQuery.fn.extend({
13
+ everyTime: function(interval, label, fn, times, belay) {
14
+ return this.each(function() {
15
+ jQuery.timer.add(this, interval, label, fn, times, belay);
16
+ });
17
+ },
18
+ oneTime: function(interval, label, fn) {
19
+ return this.each(function() {
20
+ jQuery.timer.add(this, interval, label, fn, 1);
21
+ });
22
+ },
23
+ stopTime: function(label, fn) {
24
+ return this.each(function() {
25
+ jQuery.timer.remove(this, label, fn);
26
+ });
27
+ }
28
+ });
29
+
30
+ jQuery.event.special
31
+
32
+ jQuery.extend({
33
+ timer: {
34
+ global: [],
35
+ guid: 1,
36
+ dataKey: "jQuery.timer",
37
+ regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,
38
+ powers: {
39
+ // Yeah this is major overkill...
40
+ 'ms': 1,
41
+ 'cs': 10,
42
+ 'ds': 100,
43
+ 's': 1000,
44
+ 'das': 10000,
45
+ 'hs': 100000,
46
+ 'ks': 1000000
47
+ },
48
+ timeParse: function(value) {
49
+ if (value == undefined || value == null)
50
+ return null;
51
+ var result = this.regex.exec(jQuery.trim(value.toString()));
52
+ if (result[2]) {
53
+ var num = parseFloat(result[1]);
54
+ var mult = this.powers[result[2]] || 1;
55
+ return num * mult;
56
+ } else {
57
+ return value;
58
+ }
59
+ },
60
+ add: function(element, interval, label, fn, times, belay) {
61
+ var counter = 0;
62
+
63
+ if (jQuery.isFunction(label)) {
64
+ if (!times)
65
+ times = fn;
66
+ fn = label;
67
+ label = interval;
68
+ }
69
+
70
+ interval = jQuery.timer.timeParse(interval);
71
+
72
+ if (typeof interval != 'number' || isNaN(interval) || interval <= 0)
73
+ return;
74
+
75
+ if (times && times.constructor != Number) {
76
+ belay = !!times;
77
+ times = 0;
78
+ }
79
+
80
+ times = times || 0;
81
+ belay = belay || false;
82
+
83
+ var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {});
84
+
85
+ if (!timers[label])
86
+ timers[label] = {};
87
+
88
+ fn.timerID = fn.timerID || this.guid++;
89
+
90
+ var handler = function() {
91
+ if (belay && this.inProgress)
92
+ return;
93
+ this.inProgress = true;
94
+ if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
95
+ jQuery.timer.remove(element, label, fn);
96
+ this.inProgress = false;
97
+ };
98
+
99
+ handler.timerID = fn.timerID;
100
+
101
+ if (!timers[label][fn.timerID])
102
+ timers[label][fn.timerID] = window.setInterval(handler,interval);
103
+
104
+ this.global.push( element );
105
+
106
+ },
107
+ remove: function(element, label, fn) {
108
+ var timers = jQuery.data(element, this.dataKey), ret;
109
+
110
+ if ( timers ) {
111
+
112
+ if (!label) {
113
+ for ( label in timers )
114
+ this.remove(element, label, fn);
115
+ } else if ( timers[label] ) {
116
+ if ( fn ) {
117
+ if ( fn.timerID ) {
118
+ window.clearInterval(timers[label][fn.timerID]);
119
+ delete timers[label][fn.timerID];
120
+ }
121
+ } else {
122
+ for ( var fn in timers[label] ) {
123
+ window.clearInterval(timers[label][fn]);
124
+ delete timers[label][fn];
125
+ }
126
+ }
127
+
128
+ for ( ret in timers[label] ) break;
129
+ if ( !ret ) {
130
+ ret = null;
131
+ delete timers[label];
132
+ }
133
+ }
134
+
135
+ for ( ret in timers ) break;
136
+ if ( !ret )
137
+ jQuery.removeData(element, this.dataKey);
138
+ }
139
+ }
140
+ }
141
+ });
142
+
143
+ jQuery(window).bind("unload", function() {
144
+ jQuery.each(jQuery.timer.global, function(index, item) {
145
+ jQuery.timer.remove(item);
146
+ });
147
+ });
skin/frontend/default/freepop/js/galleryview/themes/.DS_Store ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/dark/Thumbs.db ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/dark/next.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/dark/panel-nav-next.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/dark/panel-nav-prev.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/dark/pointer-down.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/dark/pointer.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/dark/prev.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/light/next.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/light/panel-nav-next.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/light/panel-nav-prev.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/light/pointer-down.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/light/pointer.png ADDED
Binary file
skin/frontend/default/freepop/js/galleryview/themes/light/prev.png ADDED
Binary file
skin/frontend/default/freepop/js/testimonial/jquery-1.3.2.min.js ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery JavaScript Library v1.3.2
3
+ * http://jquery.com/
4
+ *
5
+ * Copyright (c) 2009 John Resig
6
+ * Dual licensed under the MIT and GPL licenses.
7
+ * http://docs.jquery.com/License
8
+ *
9
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
10
+ * Revision: 6246
11
+ */
12
+ (function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
13
+ /*
14
+ * Sizzle CSS Selector Engine - v0.9.3
15
+ * Copyright 2009, The Dojo Foundation
16
+ * Released under the MIT, BSD, and GPL Licenses.
17
+ * More information: http://sizzlejs.com/
18
+ */
19
+ (function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
skin/frontend/default/freepop/js/testimonial/jquery.cycle.js ADDED
@@ -0,0 +1,750 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery Cycle Plugin for light-weight slideshows
3
+ * Examples and documentation at: http://malsup.com/jquery/cycle/
4
+ * Copyright (c) 2007-2008 M. Alsup
5
+ * Version: 2.18 (05/06/2008)
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ * Requires: jQuery v1.1.3.1 or later
10
+ *
11
+ * Based on the work of:
12
+ * 1) Matt Oakes (http://portfolio.gizone.co.uk/applications/slideshow/)
13
+ * 2) Torsten Baldes (http://medienfreunde.com/lab/innerfade/)
14
+ * 3) Benjamin Sterling (http://www.benjaminsterling.com/experiments/jqShuffle/)
15
+ */
16
+ (function($) {
17
+
18
+ var ver = '2.18';
19
+ var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent);
20
+
21
+ function log() {
22
+ if (window.console && window.console.log)
23
+ window.console.log('[cycle] ' + Array.prototype.join.call(arguments,''));
24
+ };
25
+
26
+ $.fn.cycle = function(options) {
27
+ return this.each(function() {
28
+ options = options || {};
29
+ if (options.constructor == String) {
30
+ switch(options) {
31
+ case 'stop':
32
+ if (this.cycleTimeout) clearTimeout(this.cycleTimeout);
33
+ this.cycleTimeout = 0;
34
+ return;
35
+ case 'pause':
36
+ this.cyclePause = 1;
37
+ return;
38
+ case 'resume':
39
+ this.cyclePause = 0;
40
+ return;
41
+ default:
42
+ options = { fx: options };
43
+ };
44
+ }
45
+
46
+ // stop existing slideshow for this container (if there is one)
47
+ if (this.cycleTimeout) clearTimeout(this.cycleTimeout);
48
+ this.cycleTimeout = 0;
49
+ this.cyclePause = 0;
50
+
51
+ var $cont = $(this);
52
+ var $slides = options.slideExpr ? $(options.slideExpr, this) : $cont.children();
53
+ var els = $slides.get();
54
+ if (els.length < 2) {
55
+ log('terminating; too few slides: ' + els.length);
56
+ return; // don't bother
57
+ }
58
+
59
+ // support metadata plugin (v1.0 and v2.0)
60
+ var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
61
+ if (opts.autostop)
62
+ opts.countdown = opts.autostopCount || els.length;
63
+
64
+ opts.before = opts.before ? [opts.before] : [];
65
+ opts.after = opts.after ? [opts.after] : [];
66
+ opts.after.unshift(function(){ opts.busy=0; });
67
+ if (opts.continuous)
68
+ opts.after.push(function() { go(els,opts,0,!opts.rev); });
69
+
70
+ // clearType corrections
71
+ if (ie6 && opts.cleartype && !opts.cleartypeNoBg)
72
+ clearTypeFix($slides);
73
+
74
+ // allow shorthand overrides of width, height and timeout
75
+ var cls = this.className;
76
+ opts.width = parseInt((cls.match(/w:(\d+)/)||[])[1]) || opts.width;
77
+ opts.height = parseInt((cls.match(/h:(\d+)/)||[])[1]) || opts.height;
78
+ opts.timeout = parseInt((cls.match(/t:(\d+)/)||[])[1]) || opts.timeout;
79
+
80
+ if ($cont.css('position') == 'static')
81
+ $cont.css('position', 'relative');
82
+ if (opts.width)
83
+ $cont.width(opts.width);
84
+ if (opts.height && opts.height != 'auto')
85
+ $cont.height(opts.height);
86
+
87
+ if (opts.random) {
88
+ opts.randomMap = [];
89
+ for (var i = 0; i < els.length; i++)
90
+ opts.randomMap.push(i);
91
+ opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
92
+ opts.randomIndex = 0;
93
+ opts.startingSlide = opts.randomMap[0];
94
+ }
95
+ else if (opts.startingSlide >= els.length)
96
+ opts.startingSlide = 0; // catch bogus input
97
+ var first = opts.startingSlide || 0;
98
+ $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
99
+ var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
100
+ $(this).css('z-index', z)
101
+ });
102
+
103
+ $(els[first]).css('opacity',1).show(); // opacity bit needed to handle reinit case
104
+ if ($.browser.msie) els[first].style.removeAttribute('filter');
105
+
106
+ if (opts.fit && opts.width)
107
+ $slides.width(opts.width);
108
+ if (opts.fit && opts.height && opts.height != 'auto')
109
+ $slides.height(opts.height);
110
+ if (opts.pause)
111
+ $cont.hover(function(){this.cyclePause=1;}, function(){this.cyclePause=0;});
112
+
113
+ // run transition init fn
114
+ var init = $.fn.cycle.transitions[opts.fx];
115
+ if ($.isFunction(init))
116
+ init($cont, $slides, opts);
117
+ else if (opts.fx != 'custom')
118
+ log('unknown transition: ' + opts.fx);
119
+
120
+ $slides.each(function() {
121
+ var $el = $(this);
122
+ this.cycleH = (opts.fit && opts.height) ? opts.height : $el.height();
123
+ this.cycleW = (opts.fit && opts.width) ? opts.width : $el.width();
124
+ });
125
+
126
+ opts.cssBefore = opts.cssBefore || {};
127
+ opts.animIn = opts.animIn || {};
128
+ opts.animOut = opts.animOut || {};
129
+
130
+ $slides.not(':eq('+first+')').css(opts.cssBefore);
131
+ if (opts.cssFirst)
132
+ $($slides[first]).css(opts.cssFirst);
133
+
134
+ if (opts.timeout) {
135
+ // ensure that timeout and speed settings are sane
136
+ if (opts.speed.constructor == String)
137
+ opts.speed = {slow: 600, fast: 200}[opts.speed] || 400;
138
+ if (!opts.sync)
139
+ opts.speed = opts.speed / 2;
140
+ while((opts.timeout - opts.speed) < 250)
141
+ opts.timeout += opts.speed;
142
+ }
143
+ if (opts.easing)
144
+ opts.easeIn = opts.easeOut = opts.easing;
145
+ if (!opts.speedIn)
146
+ opts.speedIn = opts.speed;
147
+ if (!opts.speedOut)
148
+ opts.speedOut = opts.speed;
149
+
150
+ opts.slideCount = els.length;
151
+ opts.currSlide = first;
152
+ if (opts.random) {
153
+ opts.nextSlide = opts.currSlide;
154
+ if (++opts.randomIndex == els.length)
155
+ opts.randomIndex = 0;
156
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
157
+ }
158
+ else
159
+ opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;
160
+
161
+ // fire artificial events
162
+ var e0 = $slides[first];
163
+ if (opts.before.length)
164
+ opts.before[0].apply(e0, [e0, e0, opts, true]);
165
+ if (opts.after.length > 1)
166
+ opts.after[1].apply(e0, [e0, e0, opts, true]);
167
+
168
+ if (opts.click && !opts.next)
169
+ opts.next = opts.click;
170
+ if (opts.next)
171
+ $(opts.next).bind('click', function(){return advance(els,opts,opts.rev?-1:1)});
172
+ if (opts.prev)
173
+ $(opts.prev).bind('click', function(){return advance(els,opts,opts.rev?1:-1)});
174
+ if (opts.pager)
175
+ buildPager(els,opts);
176
+ if (opts.timeout || opts.continuous)
177
+ this.cycleTimeout = setTimeout(
178
+ function(){go(els,opts,0,!opts.rev)},
179
+ opts.continuous ? 10 : opts.timeout + (opts.delay||0));
180
+
181
+ // expose fn for adding slides after the show has started
182
+ opts.addSlide = function(newSlide) {
183
+ var $s = $(newSlide), s = $s[0];
184
+ if (!opts.autostopCount)
185
+ opts.countdown++;
186
+ els.push(s);
187
+ if (opts.els)
188
+ opts.els.push(s); // shuffle needs this
189
+ opts.slideCount = els.length;
190
+ $s.css('position','absolute').css(opts.cssBefore).appendTo($cont);
191
+
192
+ if (ie6 && opts.cleartype && !opts.cleartypeNoBg)
193
+ clearTypeFix($s);
194
+
195
+ if (opts.fit && opts.width)
196
+ $s.width(opts.width);
197
+ if (opts.fit && opts.height && opts.height != 'auto')
198
+ $slides.height(opts.height);
199
+ s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
200
+ s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();
201
+ };
202
+
203
+ });
204
+ };
205
+
206
+ function go(els, opts, manual, fwd) {
207
+ if (opts.busy) return;
208
+ var p = els[0].parentNode, curr = els[opts.currSlide], next = els[opts.nextSlide];
209
+ if (p.cycleTimeout === 0 && !manual)
210
+ return;
211
+
212
+ if (!manual && !p.cyclePause &&
213
+ ((opts.autostop && (--opts.countdown <= 0)) ||
214
+ (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
215
+ if (opts.end)
216
+ opts.end(opts);
217
+ return;
218
+ }
219
+
220
+ if (manual || !p.cyclePause) {
221
+ if (opts.before.length)
222
+ $.each(opts.before, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
223
+ var after = function() {
224
+ if ($.browser.msie && opts.cleartype)
225
+ this.style.removeAttribute('filter');
226
+ $.each(opts.after, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
227
+ };
228
+
229
+ if (opts.nextSlide != opts.currSlide) {
230
+ opts.busy = 1;
231
+ if (opts.fxFn)
232
+ opts.fxFn(curr, next, opts, after, fwd);
233
+ else if ($.isFunction($.fn.cycle[opts.fx]))
234
+ $.fn.cycle[opts.fx](curr, next, opts, after);
235
+ else
236
+ $.fn.cycle.custom(curr, next, opts, after);
237
+ }
238
+ if (opts.random) {
239
+ opts.currSlide = opts.nextSlide;
240
+ if (++opts.randomIndex == els.length)
241
+ opts.randomIndex = 0;
242
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
243
+ }
244
+ else { // sequence
245
+ var roll = (opts.nextSlide + 1) == els.length;
246
+ opts.nextSlide = roll ? 0 : opts.nextSlide+1;
247
+ opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
248
+ }
249
+ if (opts.pager)
250
+ $(opts.pager).find('a').removeClass('activeSlide').filter('a:eq('+opts.currSlide+')').addClass('activeSlide');
251
+ }
252
+ if (opts.timeout && !opts.continuous)
253
+ p.cycleTimeout = setTimeout(function() { go(els,opts,0,!opts.rev) }, opts.timeout);
254
+ else if (opts.continuous && p.cyclePause)
255
+ p.cycleTimeout = setTimeout(function() { go(els,opts,0,!opts.rev) }, 10);
256
+ };
257
+
258
+ // advance slide forward or back
259
+ function advance(els, opts, val) {
260
+ var p = els[0].parentNode, timeout = p.cycleTimeout;
261
+ if (timeout) {
262
+ clearTimeout(timeout);
263
+ p.cycleTimeout = 0;
264
+ }
265
+ opts.nextSlide = opts.currSlide + val;
266
+ if (opts.nextSlide < 0) {
267
+ if (opts.nowrap) return false;
268
+ opts.nextSlide = els.length - 1;
269
+ }
270
+ else if (opts.nextSlide >= els.length) {
271
+ if (opts.nowrap) return false;
272
+ opts.nextSlide = 0;
273
+ }
274
+ if (opts.prevNextClick && typeof opts.prevNextClick == 'function')
275
+ opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]);
276
+ go(els, opts, 1, val>=0);
277
+ return false;
278
+ };
279
+
280
+ function buildPager(els, opts) {
281
+ var $p = $(opts.pager);
282
+ $.each(els, function(i,o) {
283
+ var $a = (typeof opts.pagerAnchorBuilder == 'function')
284
+ ? $(opts.pagerAnchorBuilder(i,o))
285
+ : $('<a href="#">'+(i+1)+'</a>');
286
+ // don't reparent if anchor is in the dom
287
+ if ($a.parents('body').length == 0)
288
+ $a.appendTo($p);
289
+ $a.bind(opts.pagerEvent, function() {
290
+ opts.nextSlide = i;
291
+ var p = els[0].parentNode, timeout = p.cycleTimeout;
292
+ if (timeout) {
293
+ clearTimeout(timeout);
294
+ p.cycleTimeout = 0;
295
+ }
296
+ if (typeof opts.pagerClick == 'function')
297
+ opts.pagerClick(opts.nextSlide, els[opts.nextSlide]);
298
+ go(els,opts,1,!opts.rev);
299
+ return false;
300
+ });
301
+ });
302
+ $p.find('a').filter('a:eq('+opts.startingSlide+')').addClass('activeSlide');
303
+ };
304
+
305
+ // this fixes clearType problems in ie6 by setting an explicit bg color
306
+ function clearTypeFix($slides) {
307
+ function hex(s) {
308
+ s = parseInt(s).toString(16);
309
+ return s.length < 2 ? '0'+s : s;
310
+ };
311
+ function getBg(e) {
312
+ for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
313
+ var v = $.css(e,'background-color');
314
+ if (v.indexOf('rgb') >= 0 ) {
315
+ var rgb = v.match(/\d+/g);
316
+ return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
317
+ }
318
+ if (v && v != 'transparent')
319
+ return v;
320
+ }
321
+ return '#ffffff';
322
+ };
323
+ $slides.each(function() { $(this).css('background-color', getBg(this)); });
324
+ };
325
+
326
+
327
+ $.fn.cycle.custom = function(curr, next, opts, cb) {
328
+ var $l = $(curr), $n = $(next);
329
+ $n.css(opts.cssBefore);
330
+ var fn = function() {$n.animate(opts.animIn, opts.speedIn, opts.easeIn, cb)};
331
+ $l.animate(opts.animOut, opts.speedOut, opts.easeOut, function() {
332
+ if (opts.cssAfter) $l.css(opts.cssAfter);
333
+ if (!opts.sync) fn();
334
+ });
335
+ if (opts.sync) fn();
336
+ };
337
+
338
+ $.fn.cycle.transitions = {
339
+ fade: function($cont, $slides, opts) {
340
+ $slides.not(':eq('+opts.startingSlide+')').css('opacity',0);
341
+ opts.before.push(function() { $(this).show() });
342
+ //opts.animIn = { opacity: 1 };
343
+ //opts.animOut = { opacity: 0 };
344
+ opts.animIn = { opacity: .99};
345
+ opts.animOut = { opacity: 0};
346
+ opts.cssAfter = { display: 'none' };
347
+ }
348
+ };
349
+
350
+ $.fn.cycle.ver = function() { return ver; };
351
+
352
+ // override these globally if you like (they are all optional)
353
+ $.fn.cycle.defaults = {
354
+ fx: 'fade', // one of: fade, shuffle, zoom, scrollLeft, etc
355
+ timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance)
356
+ continuous: 0, // true to start next transition immediately after current one completes
357
+ speed: 1000, // speed of the transition (any valid fx speed value)
358
+ speedIn: null, // speed of the 'in' transition
359
+ speedOut: null, // speed of the 'out' transition
360
+ next: null, // id of element to use as click trigger for next slide
361
+ prev: null, // id of element to use as click trigger for previous slide
362
+ prevNextClick: null, // callback fn for prev/next clicks: function(isNext, zeroBasedSlideIndex, slideElement)
363
+ pager: null, // id of element to use as pager container
364
+ pagerClick: null, // callback fn for pager clicks: function(zeroBasedSlideIndex, slideElement)
365
+ pagerEvent: 'click', // event which drives the pager navigation
366
+ pagerAnchorBuilder: null, // callback fn for building anchor links
367
+ before: null, // transition callback (scope set to element to be shown)
368
+ after: null, // transition callback (scope set to element that was shown)
369
+ end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options)
370
+ easing: null, // easing method for both in and out transitions
371
+ easeIn: null, // easing for "in" transition
372
+ easeOut: null, // easing for "out" transition
373
+ shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 }
374
+ animIn: null, // properties that define how the slide animates in
375
+ animOut: null, // properties that define how the slide animates out
376
+ cssBefore: null, // properties that define the initial state of the slide before transitioning in
377
+ cssAfter: null, // properties that defined the state of the slide after transitioning out
378
+ fxFn: null, // function used to control the transition
379
+ height: 'auto', // container height
380
+ startingSlide: 0, // zero-based index of the first slide to be displayed
381
+ sync: 1, // true if in/out transitions should occur simultaneously
382
+ random: 0, // true for random, false for sequence (not applicable to shuffle fx)
383
+ fit: 0, // force slides to fit container
384
+ pause: 0, // true to enable "pause on hover"
385
+ autostop: 0, // true to end slideshow after X transitions (where X == slide count)
386
+ autostopCount: 0, // number of transitions (optionally used with autostop to define X)
387
+ delay: 0, // additional delay (in ms) for first transition (hint: can be negative)
388
+ slideExpr: null, // expression for selecting slides (if something other than all children is required)
389
+ cleartype: 0, // true if clearType corrections should be applied (for IE)
390
+ nowrap: 0 // true to prevent slideshow from wrapping
391
+ };
392
+
393
+ })(jQuery);
394
+
395
+
396
+ /*
397
+ * jQuery Cycle Plugin Transition Definitions
398
+ * This script is a plugin for the jQuery Cycle Plugin
399
+ * Examples and documentation at: http://malsup.com/jquery/cycle/
400
+ * Copyright (c) 2007-2008 M. Alsup
401
+ * Version: 2.18
402
+ * Dual licensed under the MIT and GPL licenses:
403
+ * http://www.opensource.org/licenses/mit-license.php
404
+ * http://www.gnu.org/licenses/gpl.html
405
+ */
406
+ (function($) {
407
+
408
+ //
409
+ // These functions define one-time slide initialization for the named
410
+ // transitions. To save file size feel free to remove any of these that you
411
+ // don't need.
412
+ //
413
+
414
+ // scrollUp/Down/Left/Right
415
+ $.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
416
+ $cont.css('overflow','hidden');
417
+ opts.before.push(function(curr, next, opts) {
418
+ $(this).show();
419
+ opts.cssBefore.top = next.offsetHeight;
420
+ opts.animOut.top = 0-curr.offsetHeight;
421
+ });
422
+ opts.cssFirst = { top: 0 };
423
+ opts.animIn = { top: 0 };
424
+ opts.cssAfter = { display: 'none' };
425
+ };
426
+ $.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
427
+ $cont.css('overflow','hidden');
428
+ opts.before.push(function(curr, next, opts) {
429
+ $(this).show();
430
+ opts.cssBefore.top = 0-next.offsetHeight;
431
+ opts.animOut.top = curr.offsetHeight;
432
+ });
433
+ opts.cssFirst = { top: 0 };
434
+ opts.animIn = { top: 0 };
435
+ opts.cssAfter = { display: 'none' };
436
+ };
437
+ $.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
438
+ $cont.css('overflow','hidden');
439
+ opts.before.push(function(curr, next, opts) {
440
+ $(this).show();
441
+ opts.cssBefore.left = next.offsetWidth;
442
+ opts.animOut.left = 0-curr.offsetWidth;
443
+ });
444
+ opts.cssFirst = { left: 0 };
445
+ opts.animIn = { left: 0 };
446
+ };
447
+ $.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
448
+ $cont.css('overflow','hidden');
449
+ opts.before.push(function(curr, next, opts) {
450
+ $(this).show();
451
+ opts.cssBefore.left = 0-next.offsetWidth;
452
+ opts.animOut.left = curr.offsetWidth;
453
+ });
454
+ opts.cssFirst = { left: 0 };
455
+ opts.animIn = { left: 0 };
456
+ };
457
+ $.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
458
+ $cont.css('overflow','hidden').width();
459
+ // $slides.show();
460
+ opts.before.push(function(curr, next, opts, fwd) {
461
+ $(this).show();
462
+ var currW = curr.offsetWidth, nextW = next.offsetWidth;
463
+ opts.cssBefore = fwd ? { left: nextW } : { left: -nextW };
464
+ opts.animIn.left = 0;
465
+ opts.animOut.left = fwd ? -currW : currW;
466
+ $slides.not(curr).css(opts.cssBefore);
467
+ });
468
+ opts.cssFirst = { left: 0 };
469
+ opts.cssAfter = { display: 'none' }
470
+ };
471
+ $.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
472
+ $cont.css('overflow','hidden');
473
+ // $slides.show();
474
+ opts.before.push(function(curr, next, opts, fwd) {
475
+ $(this).show();
476
+ var currH = curr.offsetHeight, nextH = next.offsetHeight;
477
+ opts.cssBefore = fwd ? { top: -nextH } : { top: nextH };
478
+ opts.animIn.top = 0;
479
+ opts.animOut.top = fwd ? currH : -currH;
480
+ $slides.not(curr).css(opts.cssBefore);
481
+ });
482
+ opts.cssFirst = { top: 0 };
483
+ opts.cssAfter = { display: 'none' }
484
+ };
485
+
486
+ // slideX/slideY
487
+ $.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
488
+ opts.before.push(function(curr, next, opts) {
489
+ $(curr).css('zIndex',1);
490
+ });
491
+ opts.cssBefore = { zIndex: 2 };
492
+ opts.animIn = { width: 'show' };
493
+ opts.animOut = { width: 'hide' };
494
+ };
495
+ $.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
496
+ opts.before.push(function(curr, next, opts) {
497
+ $(curr).css('zIndex',1);
498
+ });
499
+ opts.cssBefore = { zIndex: 2 };
500
+ opts.animIn = { height: 'show' };
501
+ opts.animOut = { height: 'hide' };
502
+ };
503
+
504
+ // shuffle
505
+ $.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
506
+ var w = $cont.css('overflow', 'visible').width();
507
+ $slides.css({left: 0, top: 0});
508
+ opts.before.push(function() { $(this).show() });
509
+ opts.speed = opts.speed / 2; // shuffle has 2 transitions
510
+ opts.random = 0;
511
+ opts.shuffle = opts.shuffle || {left:-w, top:15};
512
+ opts.els = [];
513
+ for (var i=0; i < $slides.length; i++)
514
+ opts.els.push($slides[i]);
515
+
516
+ for (var i=0; i < opts.startingSlide; i++)
517
+ opts.els.push(opts.els.shift());
518
+
519
+ // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
520
+ opts.fxFn = function(curr, next, opts, cb, fwd) {
521
+ var $el = fwd ? $(curr) : $(next);
522
+ $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
523
+ fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
524
+ if (fwd)
525
+ for (var i=0, len=opts.els.length; i < len; i++)
526
+ $(opts.els[i]).css('z-index', len-i);
527
+ else {
528
+ var z = $(curr).css('z-index');
529
+ $el.css('z-index', parseInt(z)+1);
530
+ }
531
+ $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
532
+ $(fwd ? this : curr).hide();
533
+ if (cb) cb();
534
+ });
535
+ });
536
+ };
537
+ };
538
+
539
+ // turnUp/Down/Left/Right
540
+ $.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
541
+ opts.before.push(function(curr, next, opts) {
542
+ $(this).show();
543
+ opts.cssBefore.top = next.cycleH;
544
+ opts.animIn.height = next.cycleH;
545
+ });
546
+ opts.cssFirst = { top: 0 };
547
+ opts.cssBefore = { height: 0 };
548
+ opts.animIn = { top: 0 };
549
+ opts.animOut = { height: 0 };
550
+ opts.cssAfter = { display: 'none' };
551
+ };
552
+ $.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
553
+ opts.before.push(function(curr, next, opts) {
554
+ $(this).show();
555
+ opts.animIn.height = next.cycleH;
556
+ opts.animOut.top = curr.cycleH;
557
+ });
558
+ opts.cssFirst = { top: 0 };
559
+ opts.cssBefore = { top: 0, height: 0 };
560
+ opts.animOut = { height: 0 };
561
+ opts.cssAfter = { display: 'none' };
562
+ };
563
+ $.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
564
+ opts.before.push(function(curr, next, opts) {
565
+ $(this).show();
566
+ opts.cssBefore.left = next.cycleW;
567
+ opts.animIn.width = next.cycleW;
568
+ });
569
+ opts.cssBefore = { width: 0 };
570
+ opts.animIn = { left: 0 };
571
+ opts.animOut = { width: 0 };
572
+ opts.cssAfter = { display: 'none' };
573
+ };
574
+ $.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
575
+ opts.before.push(function(curr, next, opts) {
576
+ $(this).show();
577
+ opts.animIn.width = next.cycleW;
578
+ opts.animOut.left = curr.cycleW;
579
+ });
580
+ opts.cssBefore = { left: 0, width: 0 };
581
+ opts.animIn = { left: 0 };
582
+ opts.animOut = { width: 0 };
583
+ opts.cssAfter = { display: 'none' };
584
+ };
585
+
586
+ // zoom
587
+ $.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
588
+ opts.cssFirst = { top:0, left: 0 };
589
+ opts.cssAfter = { display: 'none' };
590
+
591
+ opts.before.push(function(curr, next, opts) {
592
+ $(this).show();
593
+ opts.cssBefore = { width: 0, height: 0, top: next.cycleH/2, left: next.cycleW/2 };
594
+ opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
595
+ opts.animOut = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };
596
+ });
597
+ };
598
+
599
+ // fadeZoom
600
+ $.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
601
+ opts.before.push(function(curr, next, opts) {
602
+ opts.cssBefore = { width: 0, height: 0, opacity: 1, left: next.cycleW/2, top: next.cycleH/2, zIndex: 1 };
603
+ opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
604
+ });
605
+ opts.animOut = { opacity: 0 };
606
+ opts.cssAfter = { zIndex: 0 };
607
+ };
608
+
609
+ // blindX
610
+ $.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
611
+ var w = $cont.css('overflow','hidden').width();
612
+ $slides.show();
613
+ opts.before.push(function(curr, next, opts) {
614
+ $(curr).css('zIndex',1);
615
+ });
616
+ opts.cssBefore = { left: w, zIndex: 2 };
617
+ opts.cssAfter = { zIndex: 1 };
618
+ opts.animIn = { left: 0 };
619
+ opts.animOut = { left: w };
620
+ };
621
+ // blindY
622
+ $.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
623
+ var h = $cont.css('overflow','hidden').height();
624
+ $slides.show();
625
+ opts.before.push(function(curr, next, opts) {
626
+ $(curr).css('zIndex',1);
627
+ });
628
+ opts.cssBefore = { top: h, zIndex: 2 };
629
+ opts.cssAfter = { zIndex: 1 };
630
+ opts.animIn = { top: 0 };
631
+ opts.animOut = { top: h };
632
+ };
633
+ // blindZ
634
+ $.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
635
+ var h = $cont.css('overflow','hidden').height();
636
+ var w = $cont.width();
637
+ $slides.show();
638
+ opts.before.push(function(curr, next, opts) {
639
+ $(curr).css('zIndex',1);
640
+ });
641
+ opts.cssBefore = { top: h, left: w, zIndex: 2 };
642
+ opts.cssAfter = { zIndex: 1 };
643
+ opts.animIn = { top: 0, left: 0 };
644
+ opts.animOut = { top: h, left: w };
645
+ };
646
+
647
+ // growX - grow horizontally from centered 0 width
648
+ $.fn.cycle.transitions.growX = function($cont, $slides, opts) {
649
+ opts.before.push(function(curr, next, opts) {
650
+ opts.cssBefore = { left: this.cycleW/2, width: 0, zIndex: 2 };
651
+ opts.animIn = { left: 0, width: this.cycleW };
652
+ opts.animOut = { left: 0 };
653
+ $(curr).css('zIndex',1);
654
+ });
655
+ };
656
+ // growX - grow vertically from centered 0 height
657
+ $.fn.cycle.transitions.growY = function($cont, $slides, opts) {
658
+ opts.before.push(function(curr, next, opts) {
659
+ opts.cssBefore = { top: this.cycleH/2, height: 0, zIndex: 2 };
660
+ opts.animIn = { top: 0, height: this.cycleH };
661
+ opts.animOut = { top: 0 };
662
+ $(curr).css('zIndex',1);
663
+ });
664
+ };
665
+
666
+ // curtainX - squeeze in both edges horizontally
667
+ $.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
668
+ opts.before.push(function(curr, next, opts) {
669
+ opts.cssBefore = { left: next.cycleW/2, width: 0, zIndex: 1, display: 'block' };
670
+ opts.animIn = { left: 0, width: this.cycleW };
671
+ opts.animOut = { left: curr.cycleW/2, width: 0 };
672
+ $(curr).css('zIndex',2);
673
+ });
674
+ opts.cssAfter = { zIndex: 1, display: 'none' };
675
+ };
676
+ // curtainX - squeeze in both edges vertically
677
+ $.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
678
+ opts.before.push(function(curr, next, opts) {
679
+ opts.cssBefore = { top: next.cycleH/2, height: 0, zIndex: 1, display: 'block' };
680
+ opts.animIn = { top: 0, height: this.cycleH };
681
+ opts.animOut = { top: curr.cycleH/2, height: 0 };
682
+ $(curr).css('zIndex',2);
683
+ });
684
+ opts.cssAfter = { zIndex: 1, display: 'none' };
685
+ };
686
+
687
+ // cover - curr slide covered by next slide
688
+ $.fn.cycle.transitions.cover = function($cont, $slides, opts) {
689
+ var d = opts.direction || 'left';
690
+ var w = $cont.css('overflow','hidden').width();
691
+ var h = $cont.height();
692
+ opts.before.push(function(curr, next, opts) {
693
+ opts.cssBefore = { zIndex: 2, display: 'block' };
694
+ if (d == 'right')
695
+ opts.cssBefore.left = -w;
696
+ else if (d == 'up')
697
+ opts.cssBefore.top = h;
698
+ else if (d == 'down')
699
+ opts.cssBefore.top = -h;
700
+ else
701
+ opts.cssBefore.left = w;
702
+ $(curr).css('zIndex',1);
703
+ });
704
+ opts.animIn = { left: 0, top: 0 };
705
+ opts.animOut = { left: 0, top: 0 };
706
+ opts.cssAfter = { zIndex: 2, display: 'none' };
707
+ };
708
+
709
+ // uncover - curr slide moves off next slide
710
+ $.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
711
+ var d = opts.direction || 'left';
712
+ var w = $cont.css('overflow','hidden').width();
713
+ var h = $cont.height();
714
+ opts.before.push(function(curr, next, opts) {
715
+ opts.cssBefore.display = 'block';
716
+ if (d == 'right')
717
+ opts.animOut.left = w;
718
+ else if (d == 'up')
719
+ opts.animOut.top = -h;
720
+ else if (d == 'down')
721
+ opts.animOut.top = h;
722
+ else
723
+ opts.animOut.left = -w;
724
+ $(curr).css('zIndex',2);
725
+ });
726
+ opts.animIn = { left: 0, top: 0 };
727
+ opts.cssBefore = { zIndex: 1, top: 0, left: 0 };
728
+ opts.cssAfter = { zIndex: 1, display: 'none' };
729
+ };
730
+
731
+ // toss - move top slide and fade away
732
+ $.fn.cycle.transitions.toss = function($cont, $slides, opts) {
733
+ var w = $cont.css('overflow','visible').width();
734
+ var h = $cont.height();
735
+ opts.before.push(function(curr, next, opts) {
736
+ $(curr).css('zIndex',2);
737
+ opts.cssBefore.display = 'block';
738
+ // provide default toss settings if animOut not provided
739
+ if (!opts.animOut.left && !opts.animOut.top)
740
+ opts.animOut = { left: w*2, top: -h/2, opacity: 0 };
741
+ else
742
+ opts.animOut.opacity = 0;
743
+ });
744
+ opts.cssBefore = { left: 0, top: 0, zIndex: 1, opacity: 1 };
745
+ opts.animIn = { left: 0 };
746
+ opts.cssAfter = { zIndex: 2, display: 'none' };
747
+ };
748
+
749
+
750
+ })(jQuery);
skin/frontend/default/freepop/js/testimonial/jquery_noconflict.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery.noConflict();
skin/frontend/default/freepop/smartmenu/css/smartmenu.css ADDED
@@ -0,0 +1,324 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .mv_smartmenu{
2
+ background:#F6F6F6 none repeat scroll 0 0;
3
+ border:0;
4
+ float:left;
5
+ margin-bottom:15px;
6
+ padding:0;
7
+ width:100%;
8
+ }
9
+ .mv_smartmenu_content{background:#fff url(../images/bg_block_content.gif) left top repeat-x; border:1px solid #cacaca; border-top:0; border-radius:0 0 8px 8px; padding:10px 13px;}
10
+ .mv_smartmenu .head a{
11
+ background:url(../images/arrow-cat.png) no-repeat right center;
12
+ float: right;
13
+ width: 12px;
14
+ height: 11px;
15
+ padding: 11px 0 8px!important;
16
+ }
17
+ .mv_smartmenu .head a:hover{
18
+ background:url(../images/arrow-cat-hover.png) no-repeat right center;
19
+ }
20
+ .mv_smartmenu .selected a{
21
+ background:url(../images/arrow-cat-active.png) no-repeat right center !important;
22
+ }
23
+ .mv_smartmenu_head strong{text-transform: none !important; font-size:14px !important;}
24
+ #theMenu_acc li a{
25
+ clear: both;
26
+ padding-bottom: 0px;
27
+ padding-top:2px;
28
+ padding-left:17px;
29
+ }
30
+ #theMenu_acc li a.main-cate{background:url(../images/bg_listmenu.png) left center no-repeat; padding-bottom: 8px; padding-top: 8px;}
31
+ #theMenu_acc li a.main-cate:hover{padding-bottom: 8px; padding-top: 8px; text-decoration:underline; font-weight:bold; padding-left:17px;}
32
+ #theMenu_acc li a:hover{
33
+ padding-bottom: 0px;
34
+ padding-top: 2px;
35
+ padding-left: 12px;
36
+ }
37
+ #theMenu_acc li ul li a{
38
+ background:url(../images/bg_listmenu2.png) no-repeat 0 9px;
39
+ padding-left: 12px;
40
+ color: #666666;
41
+ text-decoration: none;
42
+ padding-bottom: 5px;
43
+ padding-top: 5px;
44
+ display:block;
45
+ }
46
+ #theMenu_acc li ul li a:hover{
47
+ background:url(../images/bg_listmenu2.png) no-repeat 0 9px;
48
+ padding-left: 12px;
49
+ color: #3FA4CB;
50
+ text-decoration: none;
51
+ padding-bottom: 5px;
52
+ padding-top: 5px;
53
+ display:block;
54
+ }
55
+ #theMenu_acc li ul li ul{
56
+ margin-left: 10px;
57
+ }
58
+ #theMenu_acc li ul li ul li a{
59
+ background:url(../images/bg_listmenu2.png) no-repeat 0 10px;
60
+ padding-left: 13px;
61
+ color: #666666;
62
+ text-decoration: none;
63
+ }
64
+ #theMenu_acc li ul li ul li a:hover{
65
+ background:url(../images/bg_listmenu2.png) no-repeat 0 10px;
66
+ padding-left: 13px;
67
+ color: #3FA4CB;
68
+ text-decoration: none;
69
+ }
70
+ #theMenu_acc li.active a{
71
+ font-weight: bold;
72
+ }
73
+ #theMenu_acc li.active ul li a{
74
+ font-weight: normal;
75
+ }
76
+ #theMenu_acc li.active ul li.active a{
77
+ font-weight: bold;
78
+ }
79
+ #theMenu_acc li.active ul li.active ul li a{
80
+ font-weight: normal;
81
+ }
82
+ #theMenu_acc li.active ul li.active ul li.active a{
83
+ font-weight: bold;
84
+ }
85
+ /*-----------------------------------------*/
86
+ .mw_shopby{
87
+ margin-bottom: 1.3em;
88
+ }
89
+ .mw_shopby_head {
90
+ background:transparent url(../images/layered_nav_head_bg.gif) no-repeat scroll 0 0;
91
+ height:24px;
92
+ margin:0;
93
+ }
94
+ .mw_shopby h4 {
95
+ background: url(../images/bg_block_content.gif) repeat-x scroll left top;
96
+ border-color:#CACACA;
97
+ border-style:solid;
98
+ border-width:0 1px 1px;
99
+ color:#666;
100
+ font-size:1em;
101
+ font-weight:bold;
102
+ margin:0;
103
+ padding:4px 12px 5px;
104
+ }
105
+ .mw_shopby .block-content{padding-top:0;}
106
+ .mw_shopby p.block-subtitle{
107
+ background:none;
108
+ border-color:#CACACA;
109
+ border-style:solid;
110
+ border-width:0;
111
+ color:#3FA4CB;
112
+ font-size:1em;
113
+ font-weight:bold;
114
+ margin:0;
115
+ padding:7px 0 0;
116
+ }
117
+ .mw_shopby .btn-remove{
118
+ float:right;
119
+ font-size:11px;
120
+ margin:4px 3px 1px 5px;
121
+ }
122
+ .mw_shopby .currently{
123
+ border:0;
124
+ }
125
+ .mw_shopby .currently ol li{padding:5px 0; display:block;}
126
+ .mw_shopby .actions{
127
+ text-align: right;
128
+ border:0;
129
+ padding:0;
130
+ }
131
+ .mw_shopby_content{
132
+ border:0;
133
+ padding-top: 7px !important;
134
+ padding-bottom: 0 !important;
135
+ }
136
+ .mw_shopby_content span.title{
137
+ color:#2F2F2F;
138
+ margin-right:0;
139
+ margin-bottom: 0px;
140
+ padding:2px 0 5px 15px;
141
+ text-transform:uppercase;
142
+ font-size: 12px;
143
+ font-weight: bold;
144
+ display: block;
145
+ }
146
+ .mw_shopby .block-title strong{text-transform:none !important; font-size:14px !important;}
147
+ .mw_shopby_content span.title{
148
+ background:transparent url(../images/arrow-cat.png) no-repeat scroll right center;
149
+ padding-left:0;
150
+ }
151
+ .mw_shopby_content span.selected
152
+ {
153
+ background: transparent url(../images/arrow-cat-active.png) no-repeat scroll right center !important;
154
+ }
155
+
156
+ .mw_shopby_content span.title a{
157
+ color: #3FA4CB;
158
+ font-size: 12px;
159
+ font-weight: bold;
160
+ text-decoration: none;
161
+ text-transform: none;
162
+ background: url(../images/bg_listmenu.png) no-repeat scroll left 8px;
163
+ padding-bottom: 5px;
164
+ padding-top: 5px;
165
+ padding-left:17px;
166
+ display:block;
167
+ }
168
+ .mw_shopby_content span.title a:hover{
169
+ color: #3FA4CB;
170
+ font-size: 12px;
171
+ font-weight: bold;
172
+ text-decoration: underline;
173
+ text-transform: none;
174
+ }
175
+ .mw_shopby_content ol{
176
+ padding-left: 17px;
177
+ }
178
+ .mw_shopby_content ol li{
179
+ background: url(../images/bg_listmenu2.png) no-repeat scroll 0 9px;
180
+ padding:5px 0 5px 10px;
181
+ }
182
+ .mv_smartmenu h4{
183
+ border-bottom:1px solid #DDDDDD;
184
+ color:#0A263C;
185
+ padding:0px 8px;
186
+ text-transform:uppercase;
187
+ }
188
+ a.main-cate, a:hover.main-cate {
189
+ color:#3fa4cb;
190
+ font-size:12px;
191
+ font-weight:bold;
192
+ text-decoration:none;
193
+ text-transform:none;
194
+ }
195
+
196
+ .mw_shopby_content a.title_auto , .mw_shopby_content a:hover.title_auto{
197
+ background:transparent url(../images/arrow-cat-active.gif) no-repeat scroll right center;
198
+ color:#2F2F2F;
199
+ display:block;
200
+ font-size:12px;
201
+ font-weight:bold;
202
+ margin-bottom:0;
203
+ margin-right:3px;
204
+ padding:2px 0 5px 15px;
205
+ text-transform:uppercase;
206
+ text-decoration: none;
207
+ }
208
+ .mw_shopby_content a.select_auto , .mw_shopby_content a:hover.select_auto{
209
+ background:transparent url(../images/arrow-cat.gif) no-repeat scroll right center !important;
210
+ color:#2F2F2F;
211
+ display:block;
212
+ font-size:12px;
213
+ font-weight:bold;
214
+ margin-bottom:0;
215
+ margin-right:3px;
216
+ padding:2px 0 5px 15px;
217
+ text-transform:uppercase;
218
+ text-decoration: none;
219
+ }
220
+
221
+ .mw_shopby_content a.title_collap , .mw_shopby_content a:hover.title_collap{
222
+ background:transparent url(../images/arrow-cat-active.gif) no-repeat scroll right center !important;
223
+ color:#2F2F2F;
224
+ display:block;
225
+ font-size:12px;
226
+ font-weight:bold;
227
+ margin-bottom:0;
228
+ margin-right:3px;
229
+ padding:2px 0 5px 15px;
230
+ text-transform:uppercase;
231
+ text-decoration: none;
232
+ }
233
+ .mw_shopby_content a.select_collap , .mw_shopby_content a:hover.select_collap{
234
+ background:transparent url(../images/arrow-cat.gif) no-repeat scroll right center;
235
+ color:#2F2F2F;
236
+ display:block;
237
+ font-size:12px;
238
+ font-weight:bold;
239
+ margin-bottom:0;
240
+ margin-right:3px;
241
+ padding:2px 0 5px 15px;
242
+ text-transform:uppercase;
243
+ text-decoration: none;
244
+ }
245
+
246
+
247
+ #cate_collap a.title_collap span , #cate_collap a:hover.title_collap span{
248
+ background:transparent url(../images/arrow-cat.gif) no-repeat scroll 0 50%;
249
+ display:block;
250
+ width:15px;
251
+ }
252
+ #cate_collap a.select_auto span , #cate_collap a:hover.select_auto span{
253
+ background:transparent url(../images/arrow-cat-active.gif) no-repeat scroll 0 50%;
254
+ display:block;
255
+ width:15px;
256
+ }
257
+
258
+
259
+ .ul_level1 ul{
260
+ display: block !important;
261
+ }
262
+ #cate_collap li a{
263
+ clear: both;
264
+ padding-bottom: 0px;
265
+ padding-top: 2px;
266
+ padding-left: 12px;
267
+ color:#2F2F2F;
268
+ font-size:12px;
269
+ font-weight:bold;
270
+ text-decoration:none;
271
+ text-transform:uppercase;
272
+ }
273
+ #cate_collap li a:hover{
274
+ padding-bottom: 0px;
275
+ padding-top: 2px;
276
+ padding-left: 12px;
277
+ color:#2F2F2F;
278
+ font-size:12px;
279
+ font-weight:bold;
280
+ text-decoration:none;
281
+ text-transform:uppercase;
282
+ }
283
+ #cate_collap li ul li a{
284
+ background:url(../images/bg-li.gif) no-repeat 10px 10px;
285
+ padding-left: 25px;
286
+ color: #444;
287
+ text-decoration: none;
288
+ padding-bottom: 0px;
289
+ text-transform:capitalize;
290
+ font-weight: normal;
291
+ }
292
+ #cate_collap li ul li a:hover{
293
+ background:url(../images/bg-li.gif) no-repeat 10px 10px;
294
+ padding-left: 25px;
295
+ color: #444;
296
+ text-decoration: none;
297
+ padding-bottom: 0px;
298
+ text-transform:capitalize;
299
+ font-weight: normal;
300
+ }
301
+ #cate_collap li ul li ul{
302
+ margin-left: 10px;
303
+ }
304
+ #cate_collap li ul li ul li a{
305
+ background:url(../images/bg-cate-active2.gif) no-repeat 10px 10px;
306
+ padding-left: 25px;
307
+ color: #444;
308
+ text-decoration: none;
309
+ }
310
+ #cate_collap li ul li ul li a:hover{
311
+ background:url(../images/bg-cate-active2.gif) no-repeat 10px 10px;
312
+ padding-left: 25px;
313
+ color: #444;
314
+ text-decoration: none;
315
+ }
316
+ #cate_collap li.active a{
317
+ font-weight: bold;
318
+ }
319
+ #cate_collap li.active ul li a{
320
+ font-weight: normal;
321
+ }
322
+ #cate_collap li.active ul li.active a{
323
+ font-weight: bold;
324
+ }
skin/frontend/default/freepop/smartmenu/css/superfish-navbar.css ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ /*** adding the class sf-navbar in addition to sf-menu creates an all-horizontal nav-bar menu ***/
3
+ .sf-navbar {
4
+ background: #BDD2FF;
5
+ height: 2.5em;
6
+ padding-bottom: 2.5em;
7
+ position: relative;
8
+ }
9
+ .sf-navbar li {
10
+ background: #AABDE6;
11
+ position: static;
12
+ }
13
+ .sf-navbar a {
14
+ border-top: none;
15
+ }
16
+ .sf-navbar li ul {
17
+ width: 44em; /*IE6 soils itself without this*/
18
+ }
19
+ .sf-navbar li li {
20
+ background: #BDD2FF;
21
+ position: relative;
22
+ }
23
+ .sf-navbar li li ul {
24
+ width: 13em;
25
+ }
26
+ .sf-navbar li li li {
27
+ width: 100%;
28
+ }
29
+ .sf-navbar ul li {
30
+ width: auto;
31
+ float: left;
32
+ }
33
+ .sf-navbar a, .sf-navbar a:visited {
34
+ border: none;
35
+ }
36
+ .sf-navbar li.current {
37
+ background: #BDD2FF;
38
+ }
39
+ .sf-navbar li:hover,
40
+ .sf-navbar li.sfHover,
41
+ .sf-navbar li li.current,
42
+ .sf-navbar a:focus, .sf-navbar a:hover, .sf-navbar a:active {
43
+ background: #BDD2FF;
44
+ }
45
+ .sf-navbar ul li:hover,
46
+ .sf-navbar ul li.sfHover,
47
+ ul.sf-navbar ul li:hover li,
48
+ ul.sf-navbar ul li.sfHover li,
49
+ .sf-navbar ul a:focus, .sf-navbar ul a:hover, .sf-navbar ul a:active {
50
+ background: #D1DFFF;
51
+ }
52
+ ul.sf-navbar li li li:hover,
53
+ ul.sf-navbar li li li.sfHover,
54
+ .sf-navbar li li.current li.current,
55
+ .sf-navbar ul li li a:focus, .sf-navbar ul li li a:hover, .sf-navbar ul li li a:active {
56
+ background: #E6EEFF;
57
+ }
58
+ ul.sf-navbar .current ul,
59
+ ul.sf-navbar ul li:hover ul,
60
+ ul.sf-navbar ul li.sfHover ul {
61
+ left: 0;
62
+ top: 2.5em; /* match top ul list item height */
63
+ }
64
+ ul.sf-navbar .current ul ul {
65
+ top: -999em;
66
+ }
67
+
68
+ .sf-navbar li li.current > a {
69
+ font-weight: bold;
70
+ }
71
+
72
+ /*** point all arrows down ***/
73
+ /* point right for anchors in subs */
74
+ .sf-navbar ul .sf-sub-indicator { background-position: -10px -100px; }
75
+ .sf-navbar ul a > .sf-sub-indicator { background-position: 0 -100px; }
76
+ /* apply hovers to modern browsers */
77
+ .sf-navbar ul a:focus > .sf-sub-indicator,
78
+ .sf-navbar ul a:hover > .sf-sub-indicator,
79
+ .sf-navbar ul a:active > .sf-sub-indicator,
80
+ .sf-navbar ul li:hover > a > .sf-sub-indicator,
81
+ .sf-navbar ul li.sfHover > a > .sf-sub-indicator {
82
+ background-position: -10px -100px; /* arrow hovers for modern browsers*/
83
+ }
84
+
85
+ /*** remove shadow on first submenu ***/
86
+ .sf-navbar > li > ul {
87
+ background: transparent;
88
+ padding: 0;
89
+ -moz-border-radius-bottomleft: 0;
90
+ -moz-border-radius-topright: 0;
91
+ -webkit-border-top-right-radius: 0;
92
+ -webkit-border-bottom-left-radius: 0;
93
+ }
skin/frontend/default/freepop/smartmenu/css/superfish-vertical.css ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*** adding sf-vertical in addition to sf-menu creates a vertical menu ***/
2
+
3
+ .sf-vertical, .sf-vertical li {
4
+ width: 100%;
5
+ }
6
+ /* this lacks ul at the start of the selector, so the styles from the main CSS file override it where needed */
7
+ .sf-vertical li:hover ul,
8
+ .sf-vertical li.sfHover ul {
9
+ left: 100%; /* match ul width */
10
+ top: 0;
11
+ }
12
+
13
+ /*** alter arrow directions ***/
14
+ .sf-vertical .sf-sub-indicator { background-position: -10px 0; } /* IE6 gets solid image only */
15
+ .sf-vertical a > .sf-sub-indicator { background-position: 0 0; } /* use translucent arrow for modern browsers*/
16
+
17
+ /* hover arrow direction for modern browsers*/
18
+ .sf-vertical a:focus > .sf-sub-indicator,
19
+ .sf-vertical a:hover > .sf-sub-indicator,
20
+ .sf-vertical a:active > .sf-sub-indicator,
21
+ .sf-vertical li:hover > a > .sf-sub-indicator,
22
+ .sf-vertical li.sfHover > a > .sf-sub-indicator {
23
+ background-position: -10px 0; /* arrow hovers for modern browsers*/
24
+ }
skin/frontend/default/freepop/smartmenu/css/superfish.css ADDED
@@ -0,0 +1,245 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ /*** ESSENTIAL STYLES ***/
3
+ .sf-menu, .sf-menu * {
4
+ margin: 0;
5
+ padding: 0;
6
+ list-style: none;
7
+ }
8
+ .sf-menu {
9
+ line-height: 1.0;
10
+ }
11
+ .sf-menu ul {
12
+ position: absolute;
13
+ top: -999em;
14
+ width: 200px; /* left offset of submenus need to match (see below) */
15
+ border: 1px solid #ddd;
16
+ border-top: 0px none;
17
+ }
18
+ .sf-menu ul li {
19
+ width: 100%;
20
+ }
21
+ .sf-menu li:hover {
22
+ visibility: inherit; /* fixes IE7 'sticky bug' */
23
+ }
24
+ .sf-menu li {
25
+ float: left;
26
+ position: relative;
27
+ }
28
+ .sf-menu a {
29
+ display: block;
30
+ position: relative;
31
+ }
32
+ .sf-menu li:hover ul,
33
+ .sf-menu li.sfHover ul {
34
+ left: 0;
35
+ top: 2.5em; /* match top ul list item height */
36
+ z-index: 99;
37
+ }
38
+ ul.sf-menu li:hover li ul,
39
+ ul.sf-menu li.sfHover li ul {
40
+ top: -999em;
41
+ }
42
+ ul.sf-menu li li:hover ul,
43
+ ul.sf-menu li li.sfHover ul {
44
+ left: 200px; /* match ul width */
45
+ top: 0;
46
+ }
47
+ ul.sf-menu li li:hover li ul,
48
+ ul.sf-menu li li.sfHover li ul {
49
+ top: -999em;
50
+ }
51
+ ul.sf-menu li li li:hover ul,
52
+ ul.sf-menu li li li.sfHover ul {
53
+ left: 10em; /* match ul width */
54
+ top: 0;
55
+ }
56
+
57
+ /*** DEMO SKIN ***/
58
+ .sf-menu {
59
+ float: left;
60
+ margin-bottom: 1em;
61
+ border: 1px solid #ddd;
62
+ border-top: none 0px;
63
+ }
64
+ .sf-menu a {
65
+ border-left: 1px solid #fff;
66
+ border-top: 1px solid #dddddd;
67
+ border-bottom: 1px solid #fff;
68
+ padding: .55em 1em;
69
+ text-decoration:none;
70
+ }
71
+ .sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
72
+ color: #444444;
73
+ }
74
+ .sf-menu li {
75
+ background: #f6f6f6;
76
+ }
77
+ .sf-menu li li {
78
+ background: #f6f6f6;
79
+ }
80
+ .sf-menu li li li {
81
+ background: #f6f6f6;
82
+ }
83
+ .sf-menu li:hover, .sf-menu li.sfHover,
84
+ .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
85
+ background: #fff url(../images/base_mini_head_bg.gif) repeat-x;
86
+ outline: 0;
87
+ }
88
+
89
+ /*** arrows **/
90
+ .sf-menu a.sf-with-ul {
91
+ padding-right: 2.25em;
92
+ min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
93
+ }
94
+ .sf-sub-indicator {
95
+ position: absolute;
96
+ display: block;
97
+ right: .75em;
98
+ top: 1.05em; /* IE6 only */
99
+ width: 10px;
100
+ height: 10px;
101
+ text-indent: -999em;
102
+ overflow: hidden;
103
+ background: url(../images/icon.gif) no-repeat right; /* 8-bit indexed alpha png. IE6 gets solid image only */
104
+
105
+ }
106
+ a > .sf-sub-indicator { /* give all except IE6 the correct values */
107
+ top: .8em;
108
+ background-position: 0 -100px; /* use translucent arrow for modern browsers*/
109
+ }
110
+ /* apply hovers to modern browsers */
111
+ a:focus > .sf-sub-indicator,
112
+ a:hover > .sf-sub-indicator,
113
+ a:active > .sf-sub-indicator,
114
+ li:hover > a > .sf-sub-indicator,
115
+ li.sfHover > a > .sf-sub-indicator {
116
+ background-position: -10px -100px; /* arrow hovers for modern browsers*/
117
+ }
118
+
119
+ /* point right for anchors in subs */
120
+ .sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
121
+ .sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
122
+ /* apply hovers to modern browsers */
123
+ .sf-menu ul a:focus > .sf-sub-indicator,
124
+ .sf-menu ul a:hover > .sf-sub-indicator,
125
+ .sf-menu ul a:active > .sf-sub-indicator,
126
+ .sf-menu ul li:hover > a > .sf-sub-indicator,
127
+ .sf-menu ul li.sfHover > a > .sf-sub-indicator {
128
+ background-position: -10px 0; /* arrow hovers for modern browsers*/
129
+ }
130
+
131
+ /*** shadows for all but IE6 ***/
132
+ .sf-shadow ul {
133
+ /*
134
+ padding: 0 8px 9px 0;
135
+ -moz-border-radius-bottomleft: 17px;
136
+ -moz-border-radius-topright: 17px;
137
+ -webkit-border-top-right-radius: 17px;
138
+ -webkit-border-bottom-left-radius: 17px;
139
+ */
140
+ }
141
+ .sf-shadow ul.sf-shadow-off {
142
+ background: transparent;
143
+ }
144
+ .mw_menu_head{
145
+ border:1px solid #DDDDDD;
146
+ float:left;
147
+ width:100%;
148
+ border-bottom: 0px none;
149
+ }
150
+ .mw_menu_head h4.title{
151
+ color:#0A263C;
152
+ font-size:1.1em;
153
+ line-height:1.35em;
154
+ margin:0 0 0;
155
+ padding:2px 10px;
156
+ text-transform:uppercase;
157
+ }
158
+ .mw_shopby1{
159
+ margin-bottom: 1.3em;
160
+ }
161
+ .mw_shopby1_head {
162
+ background:transparent url(../images/layered_nav_head_bg.gif) no-repeat scroll 0 0;
163
+ height:24px;
164
+ margin:0;
165
+ }
166
+ .mw_shopby1 h4 {
167
+ background:#D5E8FF url(../images/layered_nav_narrowed_category_heading.gif) repeat scroll 0 0;
168
+ border-color:#fff;
169
+ border-style:solid none;
170
+ border-width:1px 0;
171
+ color:#1F5070;
172
+ font-size:1em;
173
+ font-weight:bold;
174
+ margin:0;
175
+ padding:3px 10px;
176
+ }
177
+ .mw_shopby1 p.block-subtitle{
178
+ background:#D5E8FF url(../images/layered_nav_narrowed_category_heading.gif) repeat scroll 0 0;
179
+ border-color:#fff;
180
+ border-style:solid none;
181
+ border-width:1px 0;
182
+ color:#1F5070;
183
+ font-size:1em;
184
+ font-weight:bold;
185
+ margin:0;
186
+ padding:3px 10px;
187
+ }
188
+ .mw_shopby1 .btn-remove{
189
+ float:right;
190
+ font-size:11px;
191
+ margin:4px 3px 1px 5px;
192
+ }
193
+ .mw_shopby1 .currently{
194
+ border-left: 1px solid #ddd;
195
+ border-right: 1px solid #ddd;
196
+ }
197
+ .mw_shopby1 .actions{
198
+ text-align: right;
199
+ border-left: 1px solid #ddd;
200
+ border-right: 1px solid #ddd;
201
+ }
202
+ .mw_shopby1_content{
203
+ border: 0px none;
204
+ padding-bottom: 7px !important;
205
+ }
206
+ .mw_shopby1 .narrowed-category {
207
+ border-left:1px solid #DDDDDD;
208
+ border-right:1px solid #DDDDDD;
209
+ width:99%;
210
+ }
211
+ .mw_shopby1 .sf-vertical, .mw_shopby1 .sf-vertical li {
212
+ width:99%;
213
+ }
214
+ .mw_shopby1 .narrowed-category{
215
+ width: 99%;
216
+ }
217
+ .mw_shopby1 .sf-menu li ul li{
218
+ border-bottom:1px solid #FFFFFF;
219
+ border-left:1px solid #FFFFFF;
220
+ border-top:1px solid #DDDDDD;
221
+ padding:0.55em 1em;
222
+ width: 87.5%;
223
+ }
224
+ .mw_shopby1 .sf-menu li ul li a{
225
+ float: left;
226
+ border-bottom:0 none;
227
+ border-left:0 none;
228
+ border-top:0 none;
229
+ padding:0;
230
+ text-decoration:none;
231
+ }
232
+ .mw_shopby1 .sf-menu li ul li a span.sf-sub-indicator {
233
+ top:3px;
234
+ }
235
+ .mw_shopby1 .sf-menu li ul li :hover, .sf-menu li ul li .sfHover,
236
+ .mw_shopby1 .sf-menu li ul li a:focus, .sf-menu li ul li a:hover, .sf-menu li ul li :active {
237
+ background: #fff;
238
+ outline: 0;
239
+ }
240
+ .display{
241
+ border: 0px none !important;
242
+ }
243
+ .display_li span.sf-sub-indicator{
244
+ display: none;
245
+ }
skin/frontend/default/freepop/smartmenu/images/Thumbs.db ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/arrow-cat-active.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/arrow-cat-active.png ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/arrow-cat-hover.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/arrow-cat-hover.png ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/arrow-cat.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/arrow-cat.png ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/arrows-ffffff.png ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/base_mini_head_bg.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/bg-cate-active.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/bg-cate-active2.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/bg-li.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/bg_block_content.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/bg_listmenu.png ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/bg_listmenu2.png ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/icon.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/icon.png ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/icon_01.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/layered_nav_head_bg.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/layered_nav_narrowed_category_heading.gif ADDED
Binary file
skin/frontend/default/freepop/smartmenu/images/shadow.png ADDED
Binary file
skin/frontend/default/freepop/smartmenu/js/accordion.js ADDED
@@ -0,0 +1,272 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Accordion 1.3 - jQuery menu widget
3
+ *
4
+ * Copyright (c) 2006 J�rn Zaefferer, Frank Marcia
5
+ *
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ *
10
+ * Revision: $Id: jquery.accordion.js 1524 2007-03-13 20:09:19Z joern $
11
+ *
12
+ */
13
+
14
+ /**
15
+ * Make the selected elements Accordion widgets.
16
+ *
17
+ * Semantic requirements:
18
+ *
19
+ * If the structure of your container is flat with unique
20
+ * tags for header and content elements, eg. a definition list
21
+ * (dl > dt + dd), you don't have to specify any options at
22
+ * all.
23
+ *
24
+ * If your structure uses the same elements for header and
25
+ * content or uses some kind of nested structure, you have to
26
+ * specify the header elements, eg. via class, see the second example.
27
+ *
28
+ * Use activate(Number) to change the active content programmatically.
29
+ *
30
+ * A change event is triggered everytime the accordion changes. Apart from
31
+ * the event object, all arguments are jQuery objects.
32
+ * Arguments: event, newHeader, oldHeader, newContent, oldContent
33
+ *
34
+ * @example jQuery('#nav').Accordion();
35
+ * @before <dl id="nav">
36
+ * <dt>Header 1</dt>
37
+ * <dd>Content 1</dd>
38
+ * <dt>Header 2</dt>
39
+ * <dd>Content 2</dd>
40
+ * </dl>
41
+ * @desc Creates an Accordion from the given definition list
42
+ *
43
+ * @example jQuery('#nav').Accordion({
44
+ * header: 'div.title'
45
+ * });
46
+ * @before <div id="nav">
47
+ * <div>
48
+ * <div class="title">Header 1</div>
49
+ * <div>Content 1</div>
50
+ * </div>
51
+ * <div>
52
+ * <div class="title">Header 2</div>
53
+ * <div>Content 2</div>
54
+ * </div>
55
+ * </div>
56
+ * @desc Creates an Accordion from the given div structure
57
+ *
58
+ * @example jQuery('#nav').Accordion({
59
+ * header: 'a.head'
60
+ * });
61
+ * @before <ul id="nav">
62
+ * <li>
63
+ * <a class="head">Header 1</a>
64
+ * <ul>
65
+ * <li><a href="#">Link 1</a></li>
66
+ * <li><a href="#">Link 2></a></li>
67
+ * </ul>
68
+ * </li>
69
+ * <li>
70
+ * <a class="head">Header 2</a>
71
+ * <ul>
72
+ * <li><a href="#">Link 3</a></li>
73
+ * <li><a href="#">Link 4></a></li>
74
+ * </ul>
75
+ * </li>
76
+ * </ul>
77
+ * @desc Creates an Accordion from the given navigation list
78
+ *
79
+ * @example jQuery('#accordion').Accordion().change(function(event, newHeader, oldHeader, newContent, oldContent) {
80
+ * jQuery('#status').html(newHeader.text());
81
+ * });
82
+ * @desc Updates the element with id status with the text of the selected header every time the accordion changes
83
+ *
84
+ * @param Map options key/value pairs of optional settings.
85
+ * @option String|Element|jQuery|Boolean active Selector for the active element, default is the first child, set to false to display none at start
86
+ * @option String|Element|jQuery header Selector for the header element, eg. div.title, a.head, default is the first child's tagname
87
+ * @option String|Number showSpeed Speed for the slideIn, default is 'slow' (for numbers: smaller = faster)
88
+ * @option String|Number hideSpeed Speed for the slideOut, default is 'fast' (for numbers: smaller = faster)
89
+ * @option String selectedClass Class for active header elements, default is 'selected'
90
+ * @option Boolean alwaysOpen Whether there must be one content element open, default is true.
91
+ * @option Boolean animated Set to false to disable animations. Default: true
92
+ * @option String event The event on which to trigger the accordion, eg. "mouseover". Default: "click"
93
+ *
94
+ * @type jQuery
95
+ * @see activate(Number)
96
+ * @name Accordion
97
+ * @cat Plugins/Accordion
98
+ */
99
+
100
+ /**
101
+ * Activate a content part of the Accordion programmatically at the given zero-based index.
102
+ *
103
+ * If the index is not specified, it defaults to zero, if it is an invalid index, eg. a string,
104
+ * nothing happens.
105
+ *
106
+ * @example jQuery('#accordion').activate(1);
107
+ * @desc Activate the second content of the Accordion contained in <div id="accordion">.
108
+ *
109
+ * @example jQuery('#nav').activate();
110
+ * @desc Activate the first content of the Accordion contained in <ul id="nav">.
111
+ *
112
+ * @param Number index (optional) An Integer specifying the zero-based index of the content to be
113
+ * activated. Default: 0
114
+ *
115
+ * @type jQuery
116
+ * @name activate
117
+ * @cat Plugins/Accordion
118
+ */
119
+
120
+ /**
121
+ * Override the default settings of the Accordion. Affects only following plugin calls.
122
+ *
123
+ * @example jQuery.Accordion.setDefaults({
124
+ * showSpeed: 1000,
125
+ * hideSpeed: 150
126
+ * });
127
+ *
128
+ * @param Map options key/value pairs of optional settings, see Accordion() for details
129
+ *
130
+ * @type jQuery
131
+ * @name setDefaults
132
+ * @cat Plugins/Accordion
133
+ */
134
+
135
+ jQuery.fn.extend({
136
+ // nextUntil is necessary, would be nice to have this in jQuery core
137
+ nextUntil: function(expr) {
138
+ var match = [];
139
+
140
+ // We need to figure out which elements to push onto the array
141
+ this.each(function(){
142
+ // Traverse through the sibling nodes
143
+ for( var i = this.nextSibling; i; i = i.nextSibling ) {
144
+ // Make sure that we're only dealing with elements
145
+ if ( i.nodeType != 1 ) continue;
146
+
147
+ // If we find a match then we need to stop
148
+ //if ( jQuery.filter( expr, [i] ).r.length ) break;
149
+
150
+ // Otherwise, add it on to the stack
151
+ match.push( i );
152
+ }
153
+ });
154
+
155
+ return this.pushStack( match );
156
+ },
157
+ // the plugin method itself
158
+ Accordion: function(settings) {
159
+ // setup configuration
160
+ settings = jQuery.extend({}, jQuery.Accordion.defaults, {
161
+ // define context defaults
162
+ //header: jQuery(':first-child', this)[0].tagName // take first childs tagName as header
163
+ }, settings);
164
+
165
+ // calculate active if not specified, using the first header
166
+ var container = this,
167
+ active = settings.active
168
+ ? jQuery(settings.active, this)
169
+ : settings.active === false
170
+ ? jQuery("<div>")
171
+ : jQuery(settings.header, this).eq(0),
172
+ running = 0;
173
+
174
+ container.find(settings.header)
175
+ .not(active || "")
176
+ .nextUntil(settings.header)
177
+ .hide();
178
+ active.addClass(settings.selectedClass);
179
+
180
+ function clickHandler(event) {
181
+ // get the click target
182
+ var clicked = jQuery(event.target);
183
+
184
+ // due to the event delegation model, we have to check if one
185
+ // of the parent elements is our actual header, and find that
186
+ if ( clicked.parents(settings.header).length ) {
187
+ while ( !clicked.is(settings.header) ) {
188
+ clicked = clicked.parent();
189
+ }
190
+ }
191
+
192
+ var clickedActive = clicked[0] == active[0];
193
+
194
+ // if animations are still active, or the active header is the target, ignore click
195
+ if(running || (settings.alwaysOpen && clickedActive) || !clicked.is(settings.header))
196
+ return;
197
+
198
+ // switch classes
199
+ active.toggleClass(settings.selectedClass);
200
+ if ( !clickedActive ) {
201
+ clicked.addClass(settings.selectedClass);
202
+ }
203
+
204
+ // find elements to show and hide
205
+ var toShow = clicked.nextUntil(settings.header),
206
+ toHide = active.nextUntil(settings.header),
207
+ data = [clicked, active, toShow, toHide];
208
+ active = clickedActive ? jQuery([]) : clicked;
209
+ // count elements to animate
210
+ running = toHide.size() + toShow.size();
211
+ var finished = function(cancel) {
212
+ running = cancel ? 0 : --running;
213
+ if ( running )
214
+ return;
215
+
216
+ // trigger custom change event
217
+ container.trigger("change", data);
218
+ };
219
+ // TODO if hideSpeed is set to zero, animations are crappy
220
+ // workaround: use hide instead
221
+ // solution: animate should check for speed of 0 and do something about it
222
+ if ( settings.animated ) {
223
+ if ( !settings.alwaysOpen && clickedActive ) {
224
+ toShow.slideToggle(settings.showSpeed);
225
+ finished(true);
226
+ } else {
227
+ toHide.filter(":hidden").each(finished).end().filter(":visible").slideUp(settings.hideSpeed, finished);
228
+ toShow.slideDown(settings.showSpeed, finished);
229
+ }
230
+ } else {
231
+ if ( !settings.alwaysOpen && clickedActive ) {
232
+ toShow.toggle();
233
+ } else {
234
+ toHide.hide();
235
+ toShow.show();
236
+ }
237
+ finished(true);
238
+ }
239
+
240
+ return false;
241
+ };
242
+ function activateHandlder(event, index) {
243
+ // call clickHandler with custom event
244
+ clickHandler({
245
+ target: jQuery(settings.header, this)[index]
246
+ });
247
+ };
248
+
249
+ return container
250
+ .bind(settings.event, clickHandler)
251
+ .bind("activate", activateHandlder);
252
+ },
253
+ // programmatic triggering
254
+ activate: function(index) {
255
+ return this.trigger('activate', [index || 0]);
256
+ }
257
+ });
258
+
259
+ jQuery.Accordion = {};
260
+ jQuery.extend(jQuery.Accordion, {
261
+ defaults: {
262
+ selectedClass: "selected",
263
+ showSpeed: 'slow',
264
+ hideSpeed: 'fast',
265
+ alwaysOpen: true,
266
+ animated: true,
267
+ event: "click"
268
+ },
269
+ setDefaults: function(settings) {
270
+ jQuery.extend(jQuery.Accordion.defaults, settings);
271
+ }
272
+ });
skin/frontend/default/freepop/smartmenu/js/accordion_menu.js ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function(){
2
+ // applying the settings
3
+ jQuery('#theMenu_acc').Accordion({
4
+ active: 'span.selected',
5
+ header: 'span.head',
6
+ alwaysOpen: false,
7
+ animated: true,
8
+ showSpeed: 400,
9
+ hideSpeed: 800
10
+ });
11
+
12
+ jQuery('#shopby').Accordion({
13
+ active: 'span.selected',
14
+ header: 'span.title',
15
+ alwaysOpen: false,
16
+ animated: true,
17
+ showSpeed: 400,
18
+ hideSpeed: 800
19
+ });
20
+ });
21
+ function initMenu() {
22
+ jQuery('#menu ol').show();
23
+ jQuery('#menu li a').click(
24
+ function() {
25
+ jQuery(this).next().slideToggle('normal');
26
+ }
27
+ );
28
+ jQuery('#menu li a.title_auto').click(
29
+ function() {
30
+ jQuery(this).toggleClass("select_auto");
31
+ }
32
+ );
33
+
34
+ jQuery('#menu_collap ol').hide();
35
+ jQuery('#menu_collap li a').click(
36
+ function() {
37
+ jQuery(this).next().slideToggle('normal');
38
+ }
39
+ );
40
+ jQuery('#menu_collap li a.select_collap').click(
41
+ function() {
42
+ jQuery(this).toggleClass("title_collap");
43
+ }
44
+ );
45
+
46
+ jQuery('#cate_collap ul').hide();
47
+ jQuery('#cate_collap li a.title_collap').click(
48
+ function() {
49
+ jQuery(this).next().slideToggle('normal');
50
+ }
51
+ );
52
+ jQuery('#cate_collap li a.title_collap').click(
53
+ function() {
54
+ jQuery(this).toggleClass("select_auto");
55
+ }
56
+ );
57
+ }
58
+ jQuery(document).ready(function() {initMenu();});
59
+
60
+
61
+
62
+
skin/frontend/default/freepop/smartmenu/js/hoverIntent.js ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($){
2
+ /* hoverIntent by Brian Cherne */
3
+ $.fn.hoverIntent = function(f,g) {
4
+ // default configuration options
5
+ var cfg = {
6
+ sensitivity: 7,
7
+ interval: 100,
8
+ timeout: 0
9
+ };
10
+ // override configuration options with user supplied object
11
+ cfg = $.extend(cfg, g ? { over: f, out: g } : f );
12
+
13
+ // instantiate variables
14
+ // cX, cY = current X and Y position of mouse, updated by mousemove event
15
+ // pX, pY = previous X and Y position of mouse, set by mouseover and polling interval
16
+ var cX, cY, pX, pY;
17
+
18
+ // A private function for getting mouse position
19
+ var track = function(ev) {
20
+ cX = ev.pageX;
21
+ cY = ev.pageY;
22
+ };
23
+
24
+ // A private function for comparing current and previous mouse position
25
+ var compare = function(ev,ob) {
26
+ ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
27
+ // compare mouse positions to see if they've crossed the threshold
28
+ if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
29
+ $(ob).unbind("mousemove",track);
30
+ // set hoverIntent state to true (so mouseOut can be called)
31
+ ob.hoverIntent_s = 1;
32
+ return cfg.over.apply(ob,[ev]);
33
+ } else {
34
+ // set previous coordinates for next time
35
+ pX = cX; pY = cY;
36
+ // use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)
37
+ ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );
38
+ }
39
+ };
40
+
41
+ // A private function for delaying the mouseOut function
42
+ var delay = function(ev,ob) {
43
+ ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
44
+ ob.hoverIntent_s = 0;
45
+ return cfg.out.apply(ob,[ev]);
46
+ };
47
+
48
+ // A private function for handling mouse 'hovering'
49
+ var handleHover = function(e) {
50
+ // next three lines copied from jQuery.hover, ignore children onMouseOver/onMouseOut
51
+ var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;
52
+ while ( p && p != this ) { try { p = p.parentNode; } catch(e) { p = this; } }
53
+ if ( p == this ) { return false; }
54
+
55
+ // copy objects to be passed into t (required for event object to be passed in IE)
56
+ var ev = jQuery.extend({},e);
57
+ var ob = this;
58
+
59
+ // cancel hoverIntent timer if it exists
60
+ if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }
61
+
62
+ // else e.type == "onmouseover"
63
+ if (e.type == "mouseover") {
64
+ // set "previous" X and Y position based on initial entry point
65
+ pX = ev.pageX; pY = ev.pageY;
66
+ // update "current" X and Y position based on mousemove
67
+ $(ob).bind("mousemove",track);
68
+ // start polling interval (self-calling timeout) to compare mouse coordinates over time
69
+ if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}
70
+
71
+ // else e.type == "onmouseout"
72
+ } else {
73
+ // unbind expensive mousemove event
74
+ $(ob).unbind("mousemove",track);
75
+ // if hoverIntent state is true, then call the mouseOut function after the specified delay
76
+ if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
77
+ }
78
+ };
79
+
80
+ // bind the function to the two event listeners
81
+ return this.mouseover(handleHover).mouseout(handleHover);
82
+ };
83
+
84
+ })(jQuery);
skin/frontend/default/freepop/smartmenu/js/jquery-accordion-menu.js ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function(){
2
+ jQuery("ul.sf-menu").superfish({
3
+ animation: {height:'show'}, // slide-down effect without fade-in
4
+ delay: 1200 // 1.2 second delay on mouseout
5
+ });
6
+ });
7
+
skin/frontend/default/freepop/smartmenu/js/jquery.bgiframe.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
2
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
3
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
4
+ *
5
+ * $LastChangedDate: 2007-06-19 20:25:28 -0500 (Tue, 19 Jun 2007) $
6
+ * $Rev: 2111 $
7
+ *
8
+ * Version 2.1
9
+ */
10
+ (function($){$.fn.bgIframe=$.fn.bgiframe=function(s){if($.browser.msie&&parseInt($.browser.version)<=6){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s||{});var prop=function(n){return n&&n.constructor==Number?n+'px':n;},html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+'"/>';return this.each(function(){if($('> iframe.bgiframe',this).length==0)this.insertBefore(document.createElement(html),this.firstChild);});}return this;};if(!$.browser.version)$.browser.version=navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)[1];})(jQuery);
skin/frontend/default/freepop/smartmenu/js/jquery.js ADDED
@@ -0,0 +1 @@
 
1
+ eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('7(1C 1w.6=="T"){1w.T=1w.T;B 6=u(a,c){7(1w==q)v 1p 6(a,c);a=a||17;7(6.1t(a))v 1p 6(17)[6.E.27?"27":"2O"](a);7(1C a=="23"){B m=/^[^<]*(<(.|\\s)+>)[^>]*$/.2Q(a);7(m)a=6.3k([m[1]]);J v 1p 6(c).2o(a)}v q.6r(a.1l==2y&&a||(a.3Y||a.I&&a!=1w&&!a.24&&a[0]!=T&&a[0].24)&&6.3M(a)||[a])};7(1C $!="T")6.2S$=$;B $=6;6.E=6.8p={3Y:"1.1.2",8q:u(){v q.I},I:0,2b:u(1T){v 1T==T?6.3M(q):q[1T]},2r:u(a){B L=6(a);L.6p=q;v L},6r:u(a){q.I=0;[].1g.14(q,a);v q},K:u(E,1E){v 6.K(q,E,1E)},2h:u(1c){B 4c=-1;q.K(u(i){7(q==1c)4c=i});v 4c},1I:u(1Y,O,C){B 1c=1Y;7(1Y.1l==3t)7(O==T)v q.I&&6[C||"1I"](q[0],1Y)||T;J{1c={};1c[1Y]=O}v q.K(u(2h){P(B H 1x 1c)6.1I(C?q.1q:q,H,6.H(q,1c[H],C,2h,H))})},1m:u(1Y,O){v q.1I(1Y,O,"30")},2L:u(e){7(1C e=="23")v q.3u().3r(17.8t(e));B t="";6.K(e||q,u(){6.K(q.2I,u(){7(q.24!=8)t+=q.24!=1?q.60:6.E.2L([q])})});v t},2K:u(){B a=6.3k(1A);v q.K(u(){B b=a[0].3l(U);q.11.2X(b,q);22(b.1b)b=b.1b;b.4C(q)})},3r:u(){v q.3j(1A,U,1,u(a){q.4C(a)})},5i:u(){v q.3j(1A,U,-1,u(a){q.2X(a,q.1b)})},5j:u(){v q.3j(1A,12,1,u(a){q.11.2X(a,q)})},5t:u(){v q.3j(1A,12,-1,u(a){q.11.2X(a,q.2e)})},4g:u(){v q.6p||6([])},2o:u(t){v q.2r(6.31(q,u(a){v 6.2o(t,a)}),t)},4Y:u(4N){v q.2r(6.31(q,u(a){B a=a.3l(4N!=T?4N:U);a.$1H=16;v a}))},1D:u(t){v q.2r(6.1t(t)&&6.2q(q,u(2z,2h){v t.14(2z,[2h])})||6.3z(t,q))},2g:u(t){v q.2r(t.1l==3t&&6.3z(t,q,U)||6.2q(q,u(a){v(t.1l==2y||t.3Y)?6.3y(a,t)<0:a!=t}))},1M:u(t){v q.2r(6.2k(q.2b(),t.1l==3t?6(t).2b():t.I!=T&&(!t.1f||t.1f=="8v")?t:[t]))},4l:u(1s){v 1s?6.1D(1s,q).r.I>0:12},1a:u(1a){v 1a==T?(q.I?q[0].O:16):q.1I("O",1a)},4U:u(1a){v 1a==T?(q.I?q[0].2t:16):q.3u().3r(1a)},3j:u(1E,1P,3Z,E){B 4Y=q.I>1;B a=6.3k(1E);7(3Z<0)a.8w();v q.K(u(){B 1c=q;7(1P&&6.1f(q,"1P")&&6.1f(a[0],"3m"))1c=q.5J("20")[0]||q.4C(17.6n("20"));6.K(a,u(){E.14(1c,[4Y?q.3l(U):q])})})}};6.1z=6.E.1z=u(){B 1O=1A[0],a=1;7(1A.I==1){1O=q;a=0}B H;22(H=1A[a++])P(B i 1x H)1O[i]=H[i];v 1O};6.1z({8x:u(){7(6.2S$)$=6.2S$;v 6},1t:u(E){v!!E&&1C E!="23"&&!E.1f&&1C E[0]=="T"&&/u/i.1n(E+"")},4B:u(D){v D.66&&D.5I&&!D.5I.64},1f:u(D,Y){v D.1f&&D.1f.3K()==Y.3K()},K:u(1c,E,1E){7(1c.I==T)P(B i 1x 1c)E.14(1c[i],1E||[i,1c[i]]);J P(B i=0,6q=1c.I;i<6q;i++)7(E.14(1c[i],1E||[i,1c[i]])===12)3O;v 1c},H:u(D,O,C,2h,H){7(6.1t(O))O=O.3n(D,[2h]);B 6s=/z-?2h|7P-?8A|1d|58|8B-?28/i;v O&&O.1l==3Q&&C=="30"&&!6s.1n(H)?O+"4S":O},19:{1M:u(D,c){6.K(c.3o(/\\s+/),u(i,Q){7(!6.19.2V(D.19,Q))D.19+=(D.19?" ":"")+Q})},2f:u(D,c){D.19=c?6.2q(D.19.3o(/\\s+/),u(Q){v!6.19.2V(c,Q)}).6t(" "):""},2V:u(t,c){t=t.19||t;c=c.1R(/([\\.\\\\\\+\\*\\?\\[\\^\\]\\$\\(\\)\\{\\}\\=\\!\\<\\>\\|\\:])/g,"\\\\$1");v t&&1p 4v("(^|\\\\s)"+c+"(\\\\s|$)").1n(t)}},4d:u(e,o,f){P(B i 1x o){e.1q["1N"+i]=e.1q[i];e.1q[i]=o[i]}f.14(e,[]);P(B i 1x o)e.1q[i]=e.1q["1N"+i]},1m:u(e,p){7(p=="28"||p=="3V"){B 1N={},46,3P,d=["7d","8C","8D","8E"];6.K(d,u(){1N["8F"+q]=0;1N["8G"+q+"8H"]=0});6.4d(e,1N,u(){7(6.1m(e,"1h")!="1Z"){46=e.8I;3P=e.8J}J{e=6(e.3l(U)).2o(":4j").5l("2Z").4g().1m({4n:"1G",45:"8K",1h:"2D",7I:"0",8M:"0"}).5z(e.11)[0];B 3d=6.1m(e.11,"45");7(3d==""||3d=="4b")e.11.1q.45="6x";46=e.6y;3P=e.6z;7(3d==""||3d=="4b")e.11.1q.45="4b";e.11.33(e)}});v p=="28"?46:3P}v 6.30(e,p)},30:u(D,H,53){B L;7(H=="1d"&&6.W.1j)v 6.1I(D.1q,"1d");7(H=="4h"||H=="2v")H=6.W.1j?"3T":"2v";7(!53&&D.1q[H])L=D.1q[H];J 7(17.44&&17.44.4W){7(H=="2v"||H=="3T")H="4h";H=H.1R(/([A-Z])/g,"-$1").4m();B Q=17.44.4W(D,16);7(Q)L=Q.55(H);J 7(H=="1h")L="1Z";J 6.4d(D,{1h:"2D"},u(){B c=17.44.4W(q,"");L=c&&c.55(H)||""})}J 7(D.51){B 56=H.1R(/\\-(\\w)/g,u(m,c){v c.3K()});L=D.51[H]||D.51[56]}v L},3k:u(a){B r=[];6.K(a,u(i,1r){7(!1r)v;7(1r.1l==3Q)1r=1r.6C();7(1C 1r=="23"){B s=6.35(1r),1V=17.6n("1V"),2i=[];B 2K=!s.18("<1u")&&[1,"<42>","</42>"]||(!s.18("<6D")||!s.18("<20")||!s.18("<6E"))&&[1,"<1P>","</1P>"]||!s.18("<3m")&&[2,"<1P><20>","</20></1P>"]||(!s.18("<6F")||!s.18("<6G"))&&[3,"<1P><20><3m>","</3m></20></1P>"]||[0,"",""];1V.2t=2K[1]+s+2K[2];22(2K[0]--)1V=1V.1b;7(6.W.1j){7(!s.18("<1P")&&s.18("<20")<0)2i=1V.1b&&1V.1b.2I;J 7(2K[1]=="<1P>"&&s.18("<20")<0)2i=1V.2I;P(B n=2i.I-1;n>=0;--n)7(6.1f(2i[n],"20")&&!2i[n].2I.I)2i[n].11.33(2i[n])}1r=[];P(B i=0,l=1V.2I.I;i<l;i++)1r.1g(1V.2I[i])}7(1r.I===0&&!6.1f(1r,"3w"))v;7(1r[0]==T||6.1f(1r,"3w"))r.1g(1r);J r=6.2k(r,1r)});v r},1I:u(D,Y,O){B 2j=6.4B(D)?{}:{"P":"6J","6L":"19","4h":6.W.1j?"3T":"2v",2v:6.W.1j?"3T":"2v",2t:"2t",19:"19",O:"O",2W:"2W",2Z:"2Z",89:"6N",2Y:"2Y"};7(Y=="1d"&&6.W.1j&&O!=T){D.58=1;v D.1D=D.1D.1R(/4i\\([^\\)]*\\)/6O,"")+(O==1?"":"4i(1d="+O*6g+")")}J 7(Y=="1d"&&6.W.1j)v D.1D?4T(D.1D.6P(/4i\\(1d=(.*)\\)/)[1])/6g:1;7(Y=="1d"&&6.W.3h&&O==1)O=0.6R;7(2j[Y]){7(O!=T)D[2j[Y]]=O;v D[2j[Y]]}J 7(O==T&&6.W.1j&&6.1f(D,"3w")&&(Y=="81"||Y=="80"))v D.6T(Y).60;J 7(D.66){7(O!=T)D.6V(Y,O);7(6.W.1j&&/5E|3e/.1n(Y)&&!6.4B(D))v D.36(Y,2);v D.36(Y)}J{Y=Y.1R(/-([a-z])/6W,u(z,b){v b.3K()});7(O!=T)D[Y]=O;v D[Y]}},35:u(t){v t.1R(/^\\s+|\\s+$/g,"")},3M:u(a){B r=[];7(a.1l!=2y)P(B i=0,2R=a.I;i<2R;i++)r.1g(a[i]);J r=a.3N(0);v r},3y:u(b,a){P(B i=0,2R=a.I;i<2R;i++)7(a[i]==b)v i;v-1},2k:u(2u,3H){B r=[].3N.3n(2u,0);P(B i=0,5b=3H.I;i<5b;i++)7(6.3y(3H[i],r)==-1)2u.1g(3H[i]);v 2u},2q:u(1U,E,4k){7(1C E=="23")E=1p 4w("a","i","v "+E);B 1i=[];P(B i=0,2z=1U.I;i<2z;i++)7(!4k&&E(1U[i],i)||4k&&!E(1U[i],i))1i.1g(1U[i]);v 1i},31:u(1U,E){7(1C E=="23")E=1p 4w("a","v "+E);B 1i=[],r=[];P(B i=0,2z=1U.I;i<2z;i++){B 1a=E(1U[i],i);7(1a!==16&&1a!=T){7(1a.1l!=2y)1a=[1a];1i=1i.6Z(1a)}}B r=1i.I?[1i[0]]:[];5f:P(B i=1,5e=1i.I;i<5e;i++){P(B j=0;j<i;j++)7(1i[i]==r[j])5F 5f;r.1g(1i[i])}v r}});1p u(){B b=7L.71.4m();6.W={2N:/5D/.1n(b),3f:/3f/.1n(b),1j:/1j/.1n(b)&&!/3f/.1n(b),3h:/3h/.1n(b)&&!/(72|5D)/.1n(b)};6.7H=!6.W.1j||17.74=="75"};6.K({5u:"a.11",4z:"6.4z(a)",76:"6.2a(a,2,\'2e\')",7D:"6.2a(a,2,\'5s\')",78:"6.2B(a.11.1b,a)",79:"6.2B(a.1b)"},u(i,n){6.E[i]=u(a){B L=6.31(q,n);7(a&&1C a=="23")L=6.3z(a,L);v q.2r(L)}});6.K({5z:"3r",7b:"5i",2X:"5j",7e:"5t"},u(i,n){6.E[i]=u(){B a=1A;v q.K(u(){P(B j=0,2R=a.I;j<2R;j++)6(a[j])[n](q)})}});6.K({5l:u(1Y){6.1I(q,1Y,"");q.7g(1Y)},7h:u(c){6.19.1M(q,c)},7i:u(c){6.19.2f(q,c)},7k:u(c){6.19[6.19.2V(q,c)?"2f":"1M"](q,c)},2f:u(a){7(!a||6.1D(a,[q]).r.I)q.11.33(q)},3u:u(){22(q.1b)q.33(q.1b)}},u(i,n){6.E[i]=u(){v q.K(n,1A)}});6.K(["5q","5n","5p","5v"],u(i,n){6.E[n]=u(1T,E){v q.1D(":"+n+"("+1T+")",E)}});6.K(["28","3V"],u(i,n){6.E[n]=u(h){v h==T?(q.I?6.1m(q[0],n):16):q.1m(n,h.1l==3t?h:h+"4S")}});6.1z({1s:{"":"m[2]==\'*\'||6.1f(a,m[2])","#":"a.36(\'2J\')==m[2]",":":{5n:"i<m[3]-0",5p:"i>m[3]-0",2a:"m[3]-0==i",5q:"m[3]-0==i",2u:"i==0",2T:"i==r.I-1",5R:"i%2==0",5S:"i%2","2a-3s":"6.2a(a.11.1b,m[3],\'2e\',a)==a","2u-3s":"6.2a(a.11.1b,1,\'2e\')==a","2T-3s":"6.2a(a.11.7n,1,\'5s\')==a","7p-3s":"6.2B(a.11.1b).I==1",5u:"a.1b",3u:"!a.1b",5v:"6.E.2L.14([a]).18(m[3])>=0",3i:\'a.C!="1G"&&6.1m(a,"1h")!="1Z"&&6.1m(a,"4n")!="1G"\',1G:\'a.C=="1G"||6.1m(a,"1h")=="1Z"||6.1m(a,"4n")=="1G"\',7v:"!a.2W",2W:"a.2W",2Z:"a.2Z",2Y:"a.2Y||6.1I(a,\'2Y\')",2L:"a.C==\'2L\'",4j:"a.C==\'4j\'",5x:"a.C==\'5x\'",4G:"a.C==\'4G\'",5y:"a.C==\'5y\'",4R:"a.C==\'4R\'",5A:"a.C==\'5A\'",5B:"a.C==\'5B\'",3x:\'a.C=="3x"||6.1f(a,"3x")\',5C:"/5C|42|7A|3x/i.1n(a.1f)"},".":"6.19.2V(a,m[2])","@":{"=":"z==m[4]","!=":"z!=m[4]","^=":"z&&!z.18(m[4])","$=":"z&&z.2U(z.I - m[4].I,m[4].I)==m[4]","*=":"z&&z.18(m[4])>=0","":"z",4u:u(m){v["",m[1],m[3],m[2],m[5]]},5P:"z=a[m[3]];7(!z||/5E|3e/.1n(m[3]))z=6.1I(a,m[3]);"},"[":"6.2o(m[2],a).I"},5M:[/^\\[ *(@)([a-2m-3C-]*) *([!*$^=]*) *(\'?"?)(.*?)\\4 *\\]/i,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([a-2m-3C-]*)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/i,/^([:.#]*)([a-2m-3C*-]*)/i],1Q:[/^(\\/?\\.\\.)/,"a.11",/^(>|\\/)/,"6.2B(a.1b)",/^(\\+)/,"6.2a(a,2,\'2e\')",/^(~)/,u(a){B s=6.2B(a.11.1b);v s.3N(6.3y(a,s)+1)}],3z:u(1s,1U,2g){B 1N,Q=[];22(1s&&1s!=1N){1N=1s;B f=6.1D(1s,1U,2g);1s=f.t.1R(/^\\s*,\\s*/,"");Q=2g?1U=f.r:6.2k(Q,f.r)}v Q},2o:u(t,1B){7(1C t!="23")v[t];7(1B&&!1B.24)1B=16;1B=1B||17;7(!t.18("//")){1B=1B.4H;t=t.2U(2,t.I)}J 7(!t.18("/")){1B=1B.4H;t=t.2U(1,t.I);7(t.18("/")>=1)t=t.2U(t.18("/"),t.I)}B L=[1B],2c=[],2T=16;22(t&&2T!=t){B r=[];2T=t;t=6.35(t).1R(/^\\/\\//i,"");B 3B=12;B 1J=/^[\\/>]\\s*([a-2m-9*-]+)/i;B m=1J.2Q(t);7(m){6.K(L,u(){P(B c=q.1b;c;c=c.2e)7(c.24==1&&(6.1f(c,m[1])||m[1]=="*"))r.1g(c)});L=r;t=t.1R(1J,"");7(t.18(" ")==0)5F;3B=U}J{P(B i=0;i<6.1Q.I;i+=2){B 1J=6.1Q[i];B m=1J.2Q(t);7(m){r=L=6.31(L,6.1t(6.1Q[i+1])?6.1Q[i+1]:u(a){v 40(6.1Q[i+1])});t=6.35(t.1R(1J,""));3B=U;3O}}}7(t&&!3B){7(!t.18(",")){7(L[0]==1B)L.4L();6.2k(2c,L);r=L=[1B];t=" "+t.2U(1,t.I)}J{B 34=/^([a-2m-3C-]+)(#)([a-2m-9\\\\*2S-]*)/i;B m=34.2Q(t);7(m){m=[0,m[2],m[3],m[1]]}J{34=/^([#.]?)([a-2m-9\\\\*2S-]*)/i;m=34.2Q(t)}7(m[1]=="#"&&L[L.I-1].4X){B 2l=L[L.I-1].4X(m[2]);7(6.W.1j&&2l&&2l.2J!=m[2])2l=6(\'[@2J="\'+m[2]+\'"]\',L[L.I-1])[0];L=r=2l&&(!m[3]||6.1f(2l,m[3]))?[2l]:[]}J{7(m[1]==".")B 4r=1p 4v("(^|\\\\s)"+m[2]+"(\\\\s|$)");6.K(L,u(){B 3E=m[1]!=""||m[0]==""?"*":m[2];7(6.1f(q,"7J")&&3E=="*")3E="3g";6.2k(r,m[1]!=""&&L.I!=1?6.4x(q,[],m[1],m[2],4r):q.5J(3E))});7(m[1]=="."&&L.I==1)r=6.2q(r,u(e){v 4r.1n(e.19)});7(m[1]=="#"&&L.I==1){B 5K=r;r=[];6.K(5K,u(){7(q.36("2J")==m[2]){r=[q];v 12}})}L=r}t=t.1R(34,"")}}7(t){B 1a=6.1D(t,r);L=r=1a.r;t=6.35(1a.t)}}7(L&&L[0]==1B)L.4L();6.2k(2c,L);v 2c},1D:u(t,r,2g){22(t&&/^[a-z[({<*:.#]/i.1n(t)){B p=6.5M,m;6.K(p,u(i,1J){m=1J.2Q(t);7(m){t=t.7M(m[0].I);7(6.1s[m[1]].4u)m=6.1s[m[1]].4u(m);v 12}});7(m[1]==":"&&m[2]=="2g")r=6.1D(m[3],r,U).r;J 7(m[1]=="."){B 1J=1p 4v("(^|\\\\s)"+m[2]+"(\\\\s|$)");r=6.2q(r,u(e){v 1J.1n(e.19||"")},2g)}J{B f=6.1s[m[1]];7(1C f!="23")f=6.1s[m[1]][m[2]];40("f = u(a,i){"+(6.1s[m[1]].5P||"")+"v "+f+"}");r=6.2q(r,f,2g)}}v{r:r,t:t}},4x:u(o,r,1Q,Y,1J){P(B s=o.1b;s;s=s.2e)7(s.24==1){B 1M=U;7(1Q==".")1M=s.19&&1J.1n(s.19);J 7(1Q=="#")1M=s.36("2J")==Y;7(1M)r.1g(s);7(1Q=="#"&&r.I)3O;7(s.1b)6.4x(s,r,1Q,Y,1J)}v r},4z:u(D){B 4A=[];B Q=D.11;22(Q&&Q!=17){4A.1g(Q);Q=Q.11}v 4A},2a:u(Q,1i,3Z,D){1i=1i||1;B 1T=0;P(;Q;Q=Q[3Z]){7(Q.24==1)1T++;7(1T==1i||1i=="5R"&&1T%2==0&&1T>1&&Q==D||1i=="5S"&&1T%2==1&&Q==D)v Q}},2B:u(n,D){B r=[];P(;n;n=n.2e){7(n.24==1&&(!D||n!=D))r.1g(n)}v r}});6.G={1M:u(S,C,1o,F){7(6.W.1j&&S.3L!=T)S=1w;7(F)1o.F=F;7(!1o.2A)1o.2A=q.2A++;7(!S.$1H)S.$1H={};B 38=S.$1H[C];7(!38){38=S.$1H[C]={};7(S["39"+C])38[0]=S["39"+C]}38[1o.2A]=1o;S["39"+C]=q.5Y;7(!q.1k[C])q.1k[C]=[];q.1k[C].1g(S)},2A:1,1k:{},2f:u(S,C,1o){7(S.$1H){B i,j,k;7(C&&C.C){1o=C.1o;C=C.C}7(C&&S.$1H[C])7(1o)5U S.$1H[C][1o.2A];J P(i 1x S.$1H[C])5U S.$1H[C][i];J P(j 1x S.$1H)q.2f(S,j);P(k 1x S.$1H[C])7(k){k=U;3O}7(!k)S["39"+C]=16}},1S:u(C,F,S){F=6.3M(F||[]);7(!S)6.K(q.1k[C]||[],u(){6.G.1S(C,F,q)});J{B 1o=S["39"+C],1a,E=6.1t(S[C]);7(1o){F.61(q.2j({C:C,1O:S}));7((1a=1o.14(S,F))!==12)q.4F=U}7(E&&1a!==12)S[C]();q.4F=12}},5Y:u(G){7(1C 6=="T"||6.G.4F)v;G=6.G.2j(G||1w.G||{});B 3R;B c=q.$1H[G.C];B 1E=[].3N.3n(1A,1);1E.61(G);P(B j 1x c){1E[0].1o=c[j];1E[0].F=c[j].F;7(c[j].14(q,1E)===12){G.2n();G.2H();3R=12}}7(6.W.1j)G.1O=G.2n=G.2H=G.1o=G.F=16;v 3R},2j:u(G){7(!G.1O&&G.63)G.1O=G.63;7(G.65==T&&G.67!=T){B e=17.4H,b=17.64;G.65=G.67+(e.68||b.68);G.7Y=G.7Z+(e.6c||b.6c)}7(6.W.2N&&G.1O.24==3){B 3a=G;G=6.1z({},3a);G.1O=3a.1O.11;G.2n=u(){v 3a.2n()};G.2H=u(){v 3a.2H()}}7(!G.2n)G.2n=u(){q.3R=12};7(!G.2H)G.2H=u(){q.82=U};v G}};6.E.1z({3U:u(C,F,E){v q.K(u(){6.G.1M(q,C,E||F,F)})},6u:u(C,F,E){v q.K(u(){6.G.1M(q,C,u(G){6(q).6f(G);v(E||F).14(q,1A)},F)})},6f:u(C,E){v q.K(u(){6.G.2f(q,C,E)})},1S:u(C,F){v q.K(u(){6.G.1S(C,F,q)})},3X:u(){B a=1A;v q.6j(u(e){q.4M=q.4M==0?1:0;e.2n();v a[q.4M].14(q,[e])||12})},83:u(f,g){u 4O(e){B p=(e.C=="41"?e.84:e.85)||e.86;22(p&&p!=q)2G{p=p.11}2w(e){p=q};7(p==q)v 12;v(e.C=="41"?f:g).14(q,[e])}v q.41(4O).6k(4O)},27:u(f){7(6.3W)f.14(17,[6]);J{6.3c.1g(u(){v f.14(q,[6])})}v q}});6.1z({3W:12,3c:[],27:u(){7(!6.3W){6.3W=U;7(6.3c){6.K(6.3c,u(){q.14(17)});6.3c=16}7(6.W.3h||6.W.3f)17.87("6o",6.27,12)}}});1p u(){6.K(("88,8a,2O,8b,8d,52,6j,8e,"+"8f,8g,8h,41,6k,8j,42,"+"4R,8k,8l,8m,2C").3o(","),u(i,o){6.E[o]=u(f){v f?q.3U(o,f):q.1S(o)}});7(6.W.3h||6.W.3f)17.8n("6o",6.27,12);J 7(6.W.1j){17.8o("<8r"+"8s 2J=62 8u=U "+"3e=//:><\\/2d>");B 2d=17.4X("62");7(2d)2d.37=u(){7(q.3D!="1X")v;q.11.33(q);6.27()};2d=16}J 7(6.W.2N)6.50=3L(u(){7(17.3D=="8y"||17.3D=="1X"){4p(6.50);6.50=16;6.27()}},10);6.G.1M(1w,"2O",6.27)};7(6.W.1j)6(1w).6u("52",u(){B 1k=6.G.1k;P(B C 1x 1k){B 4Z=1k[C],i=4Z.I;7(i&&C!=\'52\')6w 6.G.2f(4Z[i-1],C);22(--i)}});6.E.1z({6A:u(V,21,M){q.2O(V,21,M,1)},2O:u(V,21,M,1W){7(6.1t(V))v q.3U("2O",V);M=M||u(){};B C="5d";7(21)7(6.1t(21)){M=21;21=16}J{21=6.3g(21);C="5V"}B 4e=q;6.3v({V:V,C:C,F:21,1W:1W,1X:u(2P,15){7(15=="2M"||!1W&&15=="5L")4e.1I("2t",2P.3G).4V().K(M,[2P.3G,15,2P]);J M.14(4e,[2P.3G,15,2P])}});v q},6B:u(){v 6.3g(q)},4V:u(){v q.2o("2d").K(u(){7(q.3e)6.59(q.3e);J 6.4a(q.2L||q.6H||q.2t||"")}).4g()}});7(!1w.3p)3p=u(){v 1p 6I("6K.6M")};6.K("5m,5Q,5O,5W,5N,5H".3o(","),u(i,o){6.E[o]=u(f){v q.3U(o,f)}});6.1z({2b:u(V,F,M,C,1W){7(6.1t(F)){M=F;F=16}v 6.3v({V:V,F:F,2M:M,4t:C,1W:1W})},6Q:u(V,F,M,C){v 6.2b(V,F,M,C,1)},59:u(V,M){v 6.2b(V,16,M,"2d")},6S:u(V,F,M){v 6.2b(V,F,M,"6m")},6U:u(V,F,M,C){7(6.1t(F)){M=F;F={}}v 6.3v({C:"5V",V:V,F:F,2M:M,4t:C})},6X:u(29){6.3q.29=29},6Y:u(5c){6.1z(6.3q,5c)},3q:{1k:U,C:"5d",29:0,5r:"70/x-73-3w-77",5h:U,48:U,F:16},3S:{},3v:u(s){s=6.1z({},6.3q,s);7(s.F){7(s.5h&&1C s.F!="23")s.F=6.3g(s.F);7(s.C.4m()=="2b"){s.V+=((s.V.18("?")>-1)?"&":"?")+s.F;s.F=16}}7(s.1k&&!6.4E++)6.G.1S("5m");B 4y=12;B N=1p 3p();N.7j(s.C,s.V,s.48);7(s.F)N.3A("7l-7m",s.5r);7(s.1W)N.3A("7o-4K-7q",6.3S[s.V]||"7s, 7t 7w 7x 4o:4o:4o 7z");N.3A("X-7B-7C","3p");7(N.7E)N.3A("7F","7G");7(s.5G)s.5G(N);7(s.1k)6.G.1S("5H",[N,s]);B 37=u(4s){7(N&&(N.3D==4||4s=="29")){4y=U;7(3I){4p(3I);3I=16}B 15;2G{15=6.5Z(N)&&4s!="29"?s.1W&&6.69(N,s.V)?"5L":"2M":"2C";7(15!="2C"){B 3F;2G{3F=N.4P("6b-4K")}2w(e){}7(s.1W&&3F)6.3S[s.V]=3F;B F=6.6i(N,s.4t);7(s.2M)s.2M(F,15);7(s.1k)6.G.1S("5N",[N,s])}J 6.3J(s,N,15)}2w(e){15="2C";6.3J(s,N,15,e)}7(s.1k)6.G.1S("5O",[N,s]);7(s.1k&&!--6.4E)6.G.1S("5Q");7(s.1X)s.1X(N,15);7(s.48)N=16}};B 3I=3L(37,13);7(s.29>0)57(u(){7(N){N.7N();7(!4y)37("29")}},s.29);2G{N.7Q(s.F)}2w(e){6.3J(s,N,16,e)}7(!s.48)37();v N},3J:u(s,N,15,e){7(s.2C)s.2C(N,15,e);7(s.1k)6.G.1S("5W",[N,s,e])},4E:0,5Z:u(r){2G{v!r.15&&7V.7W=="4G:"||(r.15>=5X&&r.15<7X)||r.15==6d||6.W.2N&&r.15==T}2w(e){}v 12},69:u(N,V){2G{B 6e=N.4P("6b-4K");v N.15==6d||6e==6.3S[V]||6.W.2N&&N.15==T}2w(e){}v 12},6i:u(r,C){B 4Q=r.4P("8c-C");B F=!C&&4Q&&4Q.18("N")>=0;F=C=="N"||F?r.8i:r.3G;7(C=="2d")6.4a(F);7(C=="6m")40("F = "+F);7(C=="4U")6("<1V>").4U(F).4V();v F},3g:u(a){B s=[];7(a.1l==2y||a.3Y)6.K(a,u(){s.1g(2x(q.Y)+"="+2x(q.O))});J P(B j 1x a)7(a[j]&&a[j].1l==2y)6.K(a[j],u(){s.1g(2x(j)+"="+2x(q))});J s.1g(2x(j)+"="+2x(a[j]));v s.6t("&")},4a:u(F){7(1w.54)1w.54(F);J 7(6.W.2N)1w.57(F,0);J 40.3n(1w,F)}});6.E.1z({1L:u(R,M){B 1G=q.1D(":1G");R?1G.26({28:"1L",3V:"1L",1d:"1L"},R,M):1G.K(u(){q.1q.1h=q.2E?q.2E:"";7(6.1m(q,"1h")=="1Z")q.1q.1h="2D"});v q},1K:u(R,M){B 3i=q.1D(":3i");R?3i.26({28:"1K",3V:"1K",1d:"1K"},R,M):3i.K(u(){q.2E=q.2E||6.1m(q,"1h");7(q.2E=="1Z")q.2E="2D";q.1q.1h="1Z"});v q},5g:6.E.3X,3X:u(E,4I){B 1E=1A;v 6.1t(E)&&6.1t(4I)?q.5g(E,4I):q.K(u(){6(q)[6(q).4l(":1G")?"1L":"1K"].14(6(q),1E)})},7a:u(R,M){v q.26({28:"1L"},R,M)},7c:u(R,M){v q.26({28:"1K"},R,M)},7f:u(R,M){v q.K(u(){B 5k=6(q).4l(":1G")?"1L":"1K";6(q).26({28:5k},R,M)})},7r:u(R,M){v q.26({1d:"1L"},R,M)},7u:u(R,M){v q.26({1d:"1K"},R,M)},7y:u(R,43,M){v q.26({1d:43},R,M)},26:u(H,R,1v,M){v q.1F(u(){q.2F=6.1z({},H);B 1u=6.R(R,1v,M);P(B p 1x H){B e=1p 6.3b(q,1u,p);7(H[p].1l==3Q)e.2s(e.Q(),H[p]);J e[H[p]](H)}})},1F:u(C,E){7(!E){E=C;C="3b"}v q.K(u(){7(!q.1F)q.1F={};7(!q.1F[C])q.1F[C]=[];q.1F[C].1g(E);7(q.1F[C].I==1)E.14(q)})}});6.1z({R:u(R,1v,E){B 1u=R&&R.1l==7K?R:{1X:E||!E&&1v||6.1t(R)&&R,25:R,1v:E&&1v||1v&&1v.1l!=4w&&1v};1u.25=(1u.25&&1u.25.1l==3Q?1u.25:{7R:7S,7T:5X}[1u.25])||7U;1u.1N=1u.1X;1u.1X=u(){6.6a(q,"3b");7(6.1t(1u.1N))1u.1N.14(q)};v 1u},1v:{},1F:{},6a:u(D,C){C=C||"3b";7(D.1F&&D.1F[C]){D.1F[C].4L();B f=D.1F[C][0];7(f)f.14(D)}},3b:u(D,1e,H){B z=q;B y=D.1q;B 4D=6.1m(D,"1h");y.5T="1G";z.a=u(){7(1e.49)1e.49.14(D,[z.2p]);7(H=="1d")6.1I(y,"1d",z.2p);J 7(6l(z.2p))y[H]=6l(z.2p)+"4S";y.1h="2D"};z.6v=u(){v 4T(6.1m(D,H))};z.Q=u(){B r=4T(6.30(D,H));v r&&r>-8z?r:z.6v()};z.2s=u(4f,43){z.4J=(1p 5o()).5w();z.2p=4f;z.a();z.4q=3L(u(){z.49(4f,43)},13)};z.1L=u(){7(!D.1y)D.1y={};D.1y[H]=q.Q();1e.1L=U;z.2s(0,D.1y[H]);7(H!="1d")y[H]="5a"};z.1K=u(){7(!D.1y)D.1y={};D.1y[H]=q.Q();1e.1K=U;z.2s(D.1y[H],0)};z.3X=u(){7(!D.1y)D.1y={};D.1y[H]=q.Q();7(4D=="1Z"){1e.1L=U;7(H!="1d")y[H]="5a";z.2s(0,D.1y[H])}J{1e.1K=U;z.2s(D.1y[H],0)}};z.49=u(32,47){B t=(1p 5o()).5w();7(t>1e.25+z.4J){4p(z.4q);z.4q=16;z.2p=47;z.a();7(D.2F)D.2F[H]=U;B 2c=U;P(B i 1x D.2F)7(D.2F[i]!==U)2c=12;7(2c){y.5T="";y.1h=4D;7(6.1m(D,"1h")=="1Z")y.1h="2D";7(1e.1K)y.1h="1Z";7(1e.1K||1e.1L)P(B p 1x D.2F)7(p=="1d")6.1I(y,p,D.1y[p]);J y[p]=""}7(2c&&6.1t(1e.1X))1e.1X.14(D)}J{B n=t-q.4J;B p=n/1e.25;z.2p=1e.1v&&6.1v[1e.1v]?6.1v[1e.1v](p,n,32,(47-32),1e.25):((-6h.7O(p*6h.8L)/2)+0.5)*(47-32)+32;z.a()}}}})}',62,545,'||||||jQuery|if|||||||||||||||||||this||||function|return||||||var|type|elem|fn|data|event|prop|length|else|each|ret|callback|xml|value|for|cur|speed|element|undefined|true|url|browser||name|||parentNode|false||apply|status|null|document|indexOf|className|val|firstChild|obj|opacity|options|nodeName|push|display|result|msie|global|constructor|css|test|handler|new|style|arg|expr|isFunction|opt|easing|window|in|orig|extend|arguments|context|typeof|filter|args|queue|hidden|events|attr|re|hide|show|add|old|target|table|token|replace|trigger|num|elems|div|ifModified|complete|key|none|tbody|params|while|string|nodeType|duration|animate|ready|height|timeout|nth|get|done|script|nextSibling|remove|not|index|tb|fix|merge|oid|z0|preventDefault|find|now|grep|pushStack|custom|innerHTML|first|cssFloat|catch|encodeURIComponent|Array|el|guid|sibling|error|block|oldblock|curAnim|try|stopPropagation|childNodes|id|wrap|text|success|safari|load|res|exec|al|_|last|substr|has|disabled|insertBefore|selected|checked|curCSS|map|firstNum|removeChild|re2|trim|getAttribute|onreadystatechange|handlers|on|originalEvent|fx|readyList|parPos|src|opera|param|mozilla|visible|domManip|clean|cloneNode|tr|call|split|XMLHttpRequest|ajaxSettings|append|child|String|empty|ajax|form|button|inArray|multiFilter|setRequestHeader|foundToken|9_|readyState|tag|modRes|responseText|second|ival|handleError|toUpperCase|setInterval|makeArray|slice|break|oWidth|Number|returnValue|lastModified|styleFloat|bind|width|isReady|toggle|jquery|dir|eval|mouseover|select|to|defaultView|position|oHeight|lastNum|async|step|globalEval|static|pos|swap|self|from|end|float|alpha|radio|inv|is|toLowerCase|visibility|00|clearInterval|timer|rec|isTimeout|dataType|_resort|RegExp|Function|getAll|requestDone|parents|matched|isXMLDoc|appendChild|oldDisplay|active|triggered|file|documentElement|fn2|startTime|Modified|shift|lastToggle|deep|handleHover|getResponseHeader|ct|submit|px|parseFloat|html|evalScripts|getComputedStyle|getElementById|clone|els|safariTimer|currentStyle|unload|force|execScript|getPropertyValue|newProp|setTimeout|zoom|getScript|1px|sl|settings|GET|rl|check|_toggle|processData|prepend|before|state|removeAttr|ajaxStart|lt|Date|gt|eq|contentType|previousSibling|after|parent|contains|getTime|checkbox|password|appendTo|image|reset|input|webkit|href|continue|beforeSend|ajaxSend|ownerDocument|getElementsByTagName|tmp|notmodified|parse|ajaxSuccess|ajaxComplete|_prefix|ajaxStop|even|odd|overflow|delete|POST|ajaxError|200|handle|httpSuccess|nodeValue|unshift|__ie_init|srcElement|body|pageX|tagName|clientX|scrollLeft|httpNotModified|dequeue|Last|scrollTop|304|xmlRes|unbind|100|Math|httpData|click|mouseout|parseInt|json|createElement|DOMContentLoaded|prevObject|ol|setArray|exclude|join|one|max|do|relative|clientHeight|clientWidth|loadIfModified|serialize|toString|thead|tfoot|td|th|textContent|ActiveXObject|htmlFor|Microsoft|class|XMLHTTP|readOnly|gi|match|getIfModified|9999|getJSON|getAttributeNode|post|setAttribute|ig|ajaxTimeout|ajaxSetup|concat|application|userAgent|compatible|www|compatMode|CSS1Compat|next|urlencoded|siblings|children|slideDown|prependTo|slideUp|Top|insertAfter|slideToggle|removeAttribute|addClass|removeClass|open|toggleClass|Content|Type|lastChild|If|only|Since|fadeIn|Thu|01|fadeOut|enabled|Jan|1970|fadeTo|GMT|textarea|Requested|With|prev|overrideMimeType|Connection|close|boxModel|right|object|Object|navigator|substring|abort|cos|font|send|slow|600|fast|400|location|protocol|300|pageY|clientY|method|action|cancelBubble|hover|fromElement|toElement|relatedTarget|removeEventListener|blur|readonly|focus|resize|content|scroll|dblclick|mousedown|mouseup|mousemove|responseXML|change|keydown|keypress|keyup|addEventListener|write|prototype|size|scr|ipt|createTextNode|defer|FORM|reverse|noConflict|loaded|10000|weight|line|Bottom|Right|Left|padding|border|Width|offsetHeight|offsetWidth|absolute|PI|left'.split('|'),0,{}))
skin/frontend/default/freepop/smartmenu/js/superfish.js ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ /*
3
+ * Superfish v1.4.8 - jQuery menu widget
4
+ * Copyright (c) 2008 Joel Birch
5
+ *
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ *
10
+ * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
11
+ */
12
+
13
+ ;(function($){
14
+ $.fn.superfish = function(op){
15
+
16
+ var sf = $.fn.superfish,
17
+ c = sf.c,
18
+ $arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
19
+ over = function(){
20
+ var $$ = $(this), menu = getMenu($$);
21
+ clearTimeout(menu.sfTimer);
22
+ $$.showSuperfishUl().siblings().hideSuperfishUl();
23
+ },
24
+ out = function(){
25
+ var $$ = $(this), menu = getMenu($$), o = sf.op;
26
+ clearTimeout(menu.sfTimer);
27
+ menu.sfTimer=setTimeout(function(){
28
+ o.retainPath=($.inArray($$[0],o.$path)>-1);
29
+ $$.hideSuperfishUl();
30
+ if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
31
+ },o.delay);
32
+ },
33
+ getMenu = function($menu){
34
+ var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
35
+ sf.op = sf.o[menu.serial];
36
+ return menu;
37
+ },
38
+ addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
39
+
40
+ return this.each(function() {
41
+ var s = this.serial = sf.o.length;
42
+ var o = $.extend({},sf.defaults,op);
43
+ o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
44
+ $(this).addClass([o.hoverClass,c.bcClass].join(' '))
45
+ .filter('li:has(ul)').removeClass(o.pathClass);
46
+ });
47
+ sf.o[s] = sf.op = o;
48
+
49
+ $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
50
+ if (o.autoArrows) addArrow( $('>a:first-child',this) );
51
+ })
52
+ .not('.'+c.bcClass)
53
+ .hideSuperfishUl();
54
+
55
+ var $a = $('a',this);
56
+ $a.each(function(i){
57
+ var $li = $a.eq(i).parents('li');
58
+ $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
59
+ });
60
+ o.onInit.call(this);
61
+
62
+ }).each(function() {
63
+ var menuClasses = [c.menuClass];
64
+ if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
65
+ $(this).addClass(menuClasses.join(' '));
66
+ });
67
+ };
68
+
69
+ var sf = $.fn.superfish;
70
+ sf.o = [];
71
+ sf.op = {};
72
+ sf.IE7fix = function(){
73
+ var o = sf.op;
74
+ if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
75
+ this.toggleClass(sf.c.shadowClass+'-off');
76
+ };
77
+ sf.c = {
78
+ bcClass : 'sf-breadcrumb',
79
+ menuClass : 'sf-js-enabled',
80
+ anchorClass : 'sf-with-ul',
81
+ arrowClass : 'sf-sub-indicator',
82
+ shadowClass : 'sf-shadow'
83
+ };
84
+ sf.defaults = {
85
+ hoverClass : 'sfHover',
86
+ pathClass : 'overideThisToUse',
87
+ pathLevels : 1,
88
+ delay : 800,
89
+ animation : {opacity:'show'},
90
+ speed : 'normal',
91
+ autoArrows : true,
92
+ dropShadows : true,
93
+ disableHI : false, // true disables hoverIntent detection
94
+ onInit : function(){}, // callback functions
95
+ onBeforeShow: function(){},
96
+ onShow : function(){},
97
+ onHide : function(){}
98
+ };
99
+ $.fn.extend({
100
+ hideSuperfishUl : function(){
101
+ var o = sf.op,
102
+ not = (o.retainPath===true) ? o.$path : '';
103
+ o.retainPath = false;
104
+ var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
105
+ .find('>ul').hide().css('visibility','hidden');
106
+ o.onHide.call($ul);
107
+ return this;
108
+ },
109
+ showSuperfishUl : function(){
110
+ var o = sf.op,
111
+ sh = sf.c.shadowClass+'-off',
112
+ $ul = this.addClass(o.hoverClass)
113
+ .find('>ul:hidden').css('visibility','visible');
114
+ sf.IE7fix.call($ul);
115
+ o.onBeforeShow.call($ul);
116
+ $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
117
+ return this;
118
+ }
119
+ });
120
+
121
+ })(jQuery);
skin/frontend/default/freepop/smartmenu/js/supersubs.js ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ /*
3
+ * Supersubs v0.2b - jQuery plugin
4
+ * Copyright (c) 2008 Joel Birch
5
+ *
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ *
10
+ *
11
+ * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of
12
+ * their longest list item children. If you use this, please expect bugs and report them
13
+ * to the jQuery Google Group with the word 'Superfish' in the subject line.
14
+ *
15
+ */
16
+
17
+ ;(function($){ // $ will refer to jQuery within this closure
18
+
19
+ $.fn.supersubs = function(options){
20
+ var opts = $.extend({}, $.fn.supersubs.defaults, options);
21
+ // return original object to support chaining
22
+ return this.each(function() {
23
+ // cache selections
24
+ var $$ = $(this);
25
+ // support metadata
26
+ var o = $.meta ? $.extend({}, opts, $$.data()) : opts;
27
+ // get the font size of menu.
28
+ // .css('fontSize') returns various results cross-browser, so measure an em dash instead
29
+ var fontsize = $('<li id="menu-fontsize">&#8212;</li>').css({
30
+ 'padding' : 0,
31
+ 'position' : 'absolute',
32
+ 'top' : '-999em',
33
+ 'width' : 'auto'
34
+ }).appendTo($$).width(); //clientWidth is faster, but was incorrect here
35
+ // remove em dash
36
+ $('#menu-fontsize').remove();
37
+ // cache all ul elements
38
+ $ULs = $$.find('ul');
39
+ // loop through each ul in menu
40
+ $ULs.each(function(i) {
41
+ // cache this ul
42
+ var $ul = $ULs.eq(i);
43
+ // get all (li) children of this ul
44
+ var $LIs = $ul.children();
45
+ // get all anchor grand-children
46
+ var $As = $LIs.children('a');
47
+ // force content to one line and save current float property
48
+ var liFloat = $LIs.css('white-space','nowrap').css('float');
49
+ // remove width restrictions and floats so elements remain vertically stacked
50
+ var emWidth = $ul.add($LIs).add($As).css({
51
+ 'float' : 'none',
52
+ 'width' : 'auto'
53
+ })
54
+ // this ul will now be shrink-wrapped to longest li due to position:absolute
55
+ // so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
56
+ .end().end()[0].clientWidth / fontsize;
57
+ // add more width to ensure lines don't turn over at certain sizes in various browsers
58
+ emWidth += o.extraWidth;
59
+ // restrict to at least minWidth and at most maxWidth
60
+ if (emWidth > o.maxWidth) { emWidth = o.maxWidth; }
61
+ else if (emWidth < o.minWidth) { emWidth = o.minWidth; }
62
+ emWidth += 'em';
63
+ // set ul to width in ems
64
+ $ul.css('width',emWidth);
65
+ // restore li floats to avoid IE bugs
66
+ // set li width to full width of this ul
67
+ // revert white-space to normal
68
+ $LIs.css({
69
+ 'float' : liFloat,
70
+ 'width' : '100%',
71
+ 'white-space' : 'normal'
72
+ })
73
+ // update offset position of descendant ul to reflect new width of parent
74
+ .each(function(){
75
+ var $childUl = $('>ul',this);
76
+ var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';
77
+ $childUl.css(offsetDirection,emWidth);
78
+ });
79
+ });
80
+
81
+ });
82
+ };
83
+ // expose defaults
84
+ $.fn.supersubs.defaults = {
85
+ minWidth : 9, // requires em unit.
86
+ maxWidth : 25, // requires em unit.
87
+ extraWidth : 0 // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values
88
+ };
89
+
90
+ })(jQuery); // plugin code ends