WordPress.org

Plugin Directory

Changeset 1170994


Ignore:
Timestamp:
05/30/15 15:09:50 (2 years ago)
Author:
themattroyal
Message:

Release 1.4, see readme.txt for changelog.

Location:
woocommerce-maintenance-mode/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • woocommerce-maintenance-mode/trunk/assets/prettyPhoto/css/prettyPhoto.css

    r930177 r1170994  
    1 div.pp_default .pp_top,div.pp_default .pp_top .pp_middle,div.pp_default .pp_top .pp_left,div.pp_default .pp_top .pp_right,div.pp_default .pp_bottom,div.pp_default .pp_bottom .pp_left,div.pp_default .pp_bottom .pp_middle,div.pp_default .pp_bottom .pp_right{height:13px} 
    2 div.pp_default .pp_top .pp_left{background:url(../images/prettyPhoto/default/sprite.png) -78px -93px no-repeat} 
    3 div.pp_default .pp_top .pp_middle{background:url(../images/prettyPhoto/default/sprite_x.png) top left repeat-x} 
    4 div.pp_default .pp_top .pp_right{background:url(../images/prettyPhoto/default/sprite.png) -112px -93px no-repeat} 
    5 div.pp_default .pp_content .ppt{color:#f8f8f8} 
    6 div.pp_default .pp_content_container .pp_left{background:url(../images/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y;padding-left:13px} 
    7 div.pp_default .pp_content_container .pp_right{background:url(../images/prettyPhoto/default/sprite_y.png) top right repeat-y;padding-right:13px} 
    8 div.pp_default .pp_next:hover{background:url(../images/prettyPhoto/default/sprite_next.png) center right no-repeat;cursor:pointer} 
    9 div.pp_default .pp_previous:hover{background:url(../images/prettyPhoto/default/sprite_prev.png) center left no-repeat;cursor:pointer} 
    10 div.pp_default .pp_expand{background:url(../images/prettyPhoto/default/sprite.png) 0 -29px no-repeat;cursor:pointer;width:28px;height:28px} 
    11 div.pp_default .pp_expand:hover{background:url(../images/prettyPhoto/default/sprite.png) 0 -56px no-repeat;cursor:pointer} 
    12 div.pp_default .pp_contract{background:url(../images/prettyPhoto/default/sprite.png) 0 -84px no-repeat;cursor:pointer;width:28px;height:28px} 
    13 div.pp_default .pp_contract:hover{background:url(../images/prettyPhoto/default/sprite.png) 0 -113px no-repeat;cursor:pointer} 
    14 div.pp_default .pp_close{width:30px;height:30px;background:url(../images/prettyPhoto/default/sprite.png) 2px 1px no-repeat;cursor:pointer} 
    15 div.pp_default .pp_gallery ul li a{background:url(../images/prettyPhoto/default/default_thumb.png) center center #f8f8f8;border:1px solid #aaa} 
    16 div.pp_default .pp_social{margin-top:7px} 
    17 div.pp_default .pp_gallery a.pp_arrow_previous,div.pp_default .pp_gallery a.pp_arrow_next{position:static;left:auto} 
    18 div.pp_default .pp_nav .pp_play,div.pp_default .pp_nav .pp_pause{background:url(../images/prettyPhoto/default/sprite.png) -51px 1px no-repeat;height:30px;width:30px} 
    19 div.pp_default .pp_nav .pp_pause{background-position:-51px -29px} 
    20 div.pp_default a.pp_arrow_previous,div.pp_default a.pp_arrow_next{background:url(../images/prettyPhoto/default/sprite.png) -31px -3px no-repeat;height:20px;width:20px;margin:4px 0 0} 
    21 div.pp_default a.pp_arrow_next{left:52px;background-position:-82px -3px} 
    22 div.pp_default .pp_content_container .pp_details{margin-top:5px} 
    23 div.pp_default .pp_nav{clear:none;height:30px;width:110px;position:relative} 
    24 div.pp_default .pp_nav .currentTextHolder{font-family:Georgia;font-style:italic;color:#999;font-size:11px;left:75px;line-height:25px;position:absolute;top:2px;margin:0;padding:0 0 0 10px} 
    25 div.pp_default .pp_close:hover,div.pp_default .pp_nav .pp_play:hover,div.pp_default .pp_nav .pp_pause:hover,div.pp_default .pp_arrow_next:hover,div.pp_default .pp_arrow_previous:hover{opacity:0.7} 
    26 div.pp_default .pp_description{font-size:11px;font-weight:700;line-height:14px;margin:5px 50px 5px 0} 
    27 div.pp_default .pp_bottom .pp_left{background:url(../images/prettyPhoto/default/sprite.png) -78px -127px no-repeat} 
    28 div.pp_default .pp_bottom .pp_middle{background:url(../images/prettyPhoto/default/sprite_x.png) bottom left repeat-x} 
    29 div.pp_default .pp_bottom .pp_right{background:url(../images/prettyPhoto/default/sprite.png) -112px -127px no-repeat} 
    30 div.pp_default .pp_loaderIcon{background:url(../images/prettyPhoto/default/loader.gif) center center no-repeat} 
    31 div.light_rounded .pp_top .pp_left{background:url(../images/prettyPhoto/light_rounded/sprite.png) -88px -53px no-repeat} 
    32 div.light_rounded .pp_top .pp_right{background:url(../images/prettyPhoto/light_rounded/sprite.png) -110px -53px no-repeat} 
    33 div.light_rounded .pp_next:hover{background:url(../images/prettyPhoto/light_rounded/btnNext.png) center right no-repeat;cursor:pointer} 
    34 div.light_rounded .pp_previous:hover{background:url(../images/prettyPhoto/light_rounded/btnPrevious.png) center left no-repeat;cursor:pointer} 
    35 div.light_rounded .pp_expand{background:url(../images/prettyPhoto/light_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer} 
    36 div.light_rounded .pp_expand:hover{background:url(../images/prettyPhoto/light_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer} 
    37 div.light_rounded .pp_contract{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer} 
    38 div.light_rounded .pp_contract:hover{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer} 
    39 div.light_rounded .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/light_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer} 
    40 div.light_rounded .pp_nav .pp_play{background:url(../images/prettyPhoto/light_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px} 
    41 div.light_rounded .pp_nav .pp_pause{background:url(../images/prettyPhoto/light_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px} 
    42 div.light_rounded .pp_arrow_previous{background:url(../images/prettyPhoto/light_rounded/sprite.png) 0 -71px no-repeat} 
    43 div.light_rounded .pp_arrow_next{background:url(../images/prettyPhoto/light_rounded/sprite.png) -22px -71px no-repeat} 
    44 div.light_rounded .pp_bottom .pp_left{background:url(../images/prettyPhoto/light_rounded/sprite.png) -88px -80px no-repeat} 
    45 div.light_rounded .pp_bottom .pp_right{background:url(../images/prettyPhoto/light_rounded/sprite.png) -110px -80px no-repeat} 
    46 div.dark_rounded .pp_top .pp_left{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -53px no-repeat} 
    47 div.dark_rounded .pp_top .pp_right{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -53px no-repeat} 
    48 div.dark_rounded .pp_content_container .pp_left{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat-y} 
    49 div.dark_rounded .pp_content_container .pp_right{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top right repeat-y} 
    50 div.dark_rounded .pp_next:hover{background:url(../images/prettyPhoto/dark_rounded/btnNext.png) center right no-repeat;cursor:pointer} 
    51 div.dark_rounded .pp_previous:hover{background:url(../images/prettyPhoto/dark_rounded/btnPrevious.png) center left no-repeat;cursor:pointer} 
    52 div.dark_rounded .pp_expand{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer} 
    53 div.dark_rounded .pp_expand:hover{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer} 
    54 div.dark_rounded .pp_contract{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer} 
    55 div.dark_rounded .pp_contract:hover{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer} 
    56 div.dark_rounded .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer} 
    57 div.dark_rounded .pp_description{margin-right:85px;color:#fff} 
    58 div.dark_rounded .pp_nav .pp_play{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px} 
    59 div.dark_rounded .pp_nav .pp_pause{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px} 
    60 div.dark_rounded .pp_arrow_previous{background:url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -71px no-repeat} 
    61 div.dark_rounded .pp_arrow_next{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -22px -71px no-repeat} 
    62 div.dark_rounded .pp_bottom .pp_left{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -80px no-repeat} 
    63 div.dark_rounded .pp_bottom .pp_right{background:url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -80px no-repeat} 
    64 div.dark_rounded .pp_loaderIcon{background:url(../images/prettyPhoto/dark_rounded/loader.gif) center center no-repeat} 
    65 div.dark_square .pp_left,div.dark_square .pp_middle,div.dark_square .pp_right,div.dark_square .pp_content{background:#000} 
    66 div.dark_square .pp_description{color:#fff;margin:0 85px 0 0} 
    67 div.dark_square .pp_loaderIcon{background:url(../images/prettyPhoto/dark_square/loader.gif) center center no-repeat} 
    68 div.dark_square .pp_expand{background:url(../images/prettyPhoto/dark_square/sprite.png) -31px -26px no-repeat;cursor:pointer} 
    69 div.dark_square .pp_expand:hover{background:url(../images/prettyPhoto/dark_square/sprite.png) -31px -47px no-repeat;cursor:pointer} 
    70 div.dark_square .pp_contract{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -26px no-repeat;cursor:pointer} 
    71 div.dark_square .pp_contract:hover{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -47px no-repeat;cursor:pointer} 
    72 div.dark_square .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/dark_square/sprite.png) -1px -1px no-repeat;cursor:pointer} 
    73 div.dark_square .pp_nav{clear:none} 
    74 div.dark_square .pp_nav .pp_play{background:url(../images/prettyPhoto/dark_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px} 
    75 div.dark_square .pp_nav .pp_pause{background:url(../images/prettyPhoto/dark_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px} 
    76 div.dark_square .pp_arrow_previous{background:url(../images/prettyPhoto/dark_square/sprite.png) 0 -71px no-repeat} 
    77 div.dark_square .pp_arrow_next{background:url(../images/prettyPhoto/dark_square/sprite.png) -22px -71px no-repeat} 
    78 div.dark_square .pp_next:hover{background:url(../images/prettyPhoto/dark_square/btnNext.png) center right no-repeat;cursor:pointer} 
    79 div.dark_square .pp_previous:hover{background:url(../images/prettyPhoto/dark_square/btnPrevious.png) center left no-repeat;cursor:pointer} 
    80 div.light_square .pp_expand{background:url(../images/prettyPhoto/light_square/sprite.png) -31px -26px no-repeat;cursor:pointer} 
    81 div.light_square .pp_expand:hover{background:url(../images/prettyPhoto/light_square/sprite.png) -31px -47px no-repeat;cursor:pointer} 
    82 div.light_square .pp_contract{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -26px no-repeat;cursor:pointer} 
    83 div.light_square .pp_contract:hover{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -47px no-repeat;cursor:pointer} 
    84 div.light_square .pp_close{width:75px;height:22px;background:url(../images/prettyPhoto/light_square/sprite.png) -1px -1px no-repeat;cursor:pointer} 
    85 div.light_square .pp_nav .pp_play{background:url(../images/prettyPhoto/light_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px} 
    86 div.light_square .pp_nav .pp_pause{background:url(../images/prettyPhoto/light_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px} 
    87 div.light_square .pp_arrow_previous{background:url(../images/prettyPhoto/light_square/sprite.png) 0 -71px no-repeat} 
    88 div.light_square .pp_arrow_next{background:url(../images/prettyPhoto/light_square/sprite.png) -22px -71px no-repeat} 
    89 div.light_square .pp_next:hover{background:url(../images/prettyPhoto/light_square/btnNext.png) center right no-repeat;cursor:pointer} 
    90 div.light_square .pp_previous:hover{background:url(../images/prettyPhoto/light_square/btnPrevious.png) center left no-repeat;cursor:pointer} 
    91 div.facebook .pp_top .pp_left{background:url(../images/prettyPhoto/facebook/sprite.png) -88px -53px no-repeat} 
    92 div.facebook .pp_top .pp_middle{background:url(../images/prettyPhoto/facebook/contentPatternTop.png) top left repeat-x} 
    93 div.facebook .pp_top .pp_right{background:url(../images/prettyPhoto/facebook/sprite.png) -110px -53px no-repeat} 
    94 div.facebook .pp_content_container .pp_left{background:url(../images/prettyPhoto/facebook/contentPatternLeft.png) top left repeat-y} 
    95 div.facebook .pp_content_container .pp_right{background:url(../images/prettyPhoto/facebook/contentPatternRight.png) top right repeat-y} 
    96 div.facebook .pp_expand{background:url(../images/prettyPhoto/facebook/sprite.png) -31px -26px no-repeat;cursor:pointer} 
    97 div.facebook .pp_expand:hover{background:url(../images/prettyPhoto/facebook/sprite.png) -31px -47px no-repeat;cursor:pointer} 
    98 div.facebook .pp_contract{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -26px no-repeat;cursor:pointer} 
    99 div.facebook .pp_contract:hover{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -47px no-repeat;cursor:pointer} 
    100 div.facebook .pp_close{width:22px;height:22px;background:url(../images/prettyPhoto/facebook/sprite.png) -1px -1px no-repeat;cursor:pointer} 
    101 div.facebook .pp_description{margin:0 37px 0 0} 
    102 div.facebook .pp_loaderIcon{background:url(../images/prettyPhoto/facebook/loader.gif) center center no-repeat} 
    103 div.facebook .pp_arrow_previous{background:url(../images/prettyPhoto/facebook/sprite.png) 0 -71px no-repeat;height:22px;margin-top:0;width:22px} 
    104 div.facebook .pp_arrow_previous.disabled{background-position:0 -96px;cursor:default} 
    105 div.facebook .pp_arrow_next{background:url(../images/prettyPhoto/facebook/sprite.png) -32px -71px no-repeat;height:22px;margin-top:0;width:22px} 
    106 div.facebook .pp_arrow_next.disabled{background-position:-32px -96px;cursor:default} 
    107 div.facebook .pp_nav{margin-top:0} 
    108 div.facebook .pp_nav p{font-size:15px;padding:0 3px 0 4px} 
    109 div.facebook .pp_nav .pp_play{background:url(../images/prettyPhoto/facebook/sprite.png) -1px -123px no-repeat;height:22px;width:22px} 
    110 div.facebook .pp_nav .pp_pause{background:url(../images/prettyPhoto/facebook/sprite.png) -32px -123px no-repeat;height:22px;width:22px} 
    111 div.facebook .pp_next:hover{background:url(../images/prettyPhoto/facebook/btnNext.png) center right no-repeat;cursor:pointer} 
    112 div.facebook .pp_previous:hover{background:url(../images/prettyPhoto/facebook/btnPrevious.png) center left no-repeat;cursor:pointer} 
    113 div.facebook .pp_bottom .pp_left{background:url(../images/prettyPhoto/facebook/sprite.png) -88px -80px no-repeat} 
    114 div.facebook .pp_bottom .pp_middle{background:url(../images/prettyPhoto/facebook/contentPatternBottom.png) top left repeat-x} 
    115 div.facebook .pp_bottom .pp_right{background:url(../images/prettyPhoto/facebook/sprite.png) -110px -80px no-repeat} 
    116 div.pp_pic_holder a:focus{outline:none} 
    117 div.pp_overlay{background:#000;display:none;left:0;position:absolute;top:0;width:100%;z-index:9500} 
    118 div.pp_pic_holder{display:none;position:absolute;width:100px;z-index:10000} 
    119 .pp_content{height:40px;min-width:40px} 
    120 * html .pp_content{width:40px} 
    121 .pp_content_container{position:relative;text-align:left;width:100%} 
    122 .pp_content_container .pp_left{padding-left:20px} 
    123 .pp_content_container .pp_right{padding-right:20px} 
    124 .pp_content_container .pp_details{float:left;margin:10px 0 2px} 
    125 .pp_description{display:none;margin:0} 
    126 .pp_social{float:left;margin:0} 
    127 .pp_social .facebook{float:left;margin-left:5px;width:55px;overflow:hidden} 
    128 .pp_social .twitter{float:left} 
    129 .pp_nav{clear:right;float:left;margin:3px 10px 0 0} 
    130 .pp_nav p{float:left;white-space:nowrap;margin:2px 4px} 
    131 .pp_nav .pp_play,.pp_nav .pp_pause{float:left;margin-right:4px;text-indent:-10000px} 
    132 a.pp_arrow_previous,a.pp_arrow_next{display:block;float:left;height:15px;margin-top:3px;overflow:hidden;text-indent:-10000px;width:14px} 
    133 .pp_hoverContainer{position:absolute;top:0;width:100%;z-index:2000} 
    134 .pp_gallery{display:none;left:50%;margin-top:-50px;position:absolute;z-index:10000} 
    135 .pp_gallery div{float:left;overflow:hidden;position:relative} 
    136 .pp_gallery ul{float:left;height:35px;position:relative;white-space:nowrap;margin:0 0 0 5px;padding:0} 
    137 .pp_gallery ul a{border:1px rgba(0,0,0,0.5) solid;display:block;float:left;height:33px;overflow:hidden} 
    138 .pp_gallery ul a img{border:0} 
    139 .pp_gallery li{display:block;float:left;margin:0 5px 0 0;padding:0} 
    140 .pp_gallery li.default a{background:url(../images/prettyPhoto/facebook/default_thumbnail.gif) 0 0 no-repeat;display:block;height:33px;width:50px} 
    141 .pp_gallery .pp_arrow_previous,.pp_gallery .pp_arrow_next{margin-top:7px!important} 
    142 a.pp_next{background:url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:right;height:100%;text-indent:-10000px;width:49%} 
    143 a.pp_previous{background:url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:left;height:100%;text-indent:-10000px;width:49%} 
    144 a.pp_expand,a.pp_contract{cursor:pointer;display:none;height:20px;position:absolute;right:30px;text-indent:-10000px;top:10px;width:20px;z-index:20000} 
    145 a.pp_close{position:absolute;right:0;top:0;display:block;line-height:22px;text-indent:-10000px} 
    146 .pp_loaderIcon{display:block;height:24px;left:50%;position:absolute;top:50%;width:24px;margin:-12px 0 0 -12px} 
    147 #pp_full_res{line-height:1!important} 
    148 #pp_full_res .pp_inline{text-align:left} 
    149 #pp_full_res .pp_inline p{margin:0 0 15px} 
    150 div.ppt{color:#fff;display:none;font-size:17px;z-index:9999;margin:0 0 5px 15px} 
    151 div.pp_default .pp_content,div.light_rounded .pp_content{background-color:#fff} 
    152 div.pp_default #pp_full_res .pp_inline,div.light_rounded .pp_content .ppt,div.light_rounded #pp_full_res .pp_inline,div.light_square .pp_content .ppt,div.light_square #pp_full_res .pp_inline,div.facebook .pp_content .ppt,div.facebook #pp_full_res .pp_inline{color:#000} 
    153 div.pp_default .pp_gallery ul li a:hover,div.pp_default .pp_gallery ul li.selected a,.pp_gallery ul a:hover,.pp_gallery li.selected a{border-color:#fff} 
    154 div.pp_default .pp_details,div.light_rounded .pp_details,div.dark_rounded .pp_details,div.dark_square .pp_details,div.light_square .pp_details,div.facebook .pp_details{position:relative} 
    155 div.light_rounded .pp_top .pp_middle,div.light_rounded .pp_content_container .pp_left,div.light_rounded .pp_content_container .pp_right,div.light_rounded .pp_bottom .pp_middle,div.light_square .pp_left,div.light_square .pp_middle,div.light_square .pp_right,div.light_square .pp_content,div.facebook .pp_content{background:#fff} 
    156 div.light_rounded .pp_description,div.light_square .pp_description{margin-right:85px} 
    157 div.light_rounded .pp_gallery a.pp_arrow_previous,div.light_rounded .pp_gallery a.pp_arrow_next,div.dark_rounded .pp_gallery a.pp_arrow_previous,div.dark_rounded .pp_gallery a.pp_arrow_next,div.dark_square .pp_gallery a.pp_arrow_previous,div.dark_square .pp_gallery a.pp_arrow_next,div.light_square .pp_gallery a.pp_arrow_previous,div.light_square .pp_gallery a.pp_arrow_next{margin-top:12px!important} 
    158 div.light_rounded .pp_arrow_previous.disabled,div.dark_rounded .pp_arrow_previous.disabled,div.dark_square .pp_arrow_previous.disabled,div.light_square .pp_arrow_previous.disabled{background-position:0 -87px;cursor:default} 
    159 div.light_rounded .pp_arrow_next.disabled,div.dark_rounded .pp_arrow_next.disabled,div.dark_square .pp_arrow_next.disabled,div.light_square .pp_arrow_next.disabled{background-position:-22px -87px;cursor:default} 
    160 div.light_rounded .pp_loaderIcon,div.light_square .pp_loaderIcon{background:url(../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat} 
    161 div.dark_rounded .pp_top .pp_middle,div.dark_rounded .pp_content,div.dark_rounded .pp_bottom .pp_middle{background:url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat} 
    162 div.dark_rounded .currentTextHolder,div.dark_square .currentTextHolder{color:#c4c4c4} 
    163 div.dark_rounded #pp_full_res .pp_inline,div.dark_square #pp_full_res .pp_inline{color:#fff} 
    164 .pp_top,.pp_bottom{height:20px;position:relative} 
    165 * html .pp_top,* html .pp_bottom{padding:0 20px} 
    166 .pp_top .pp_left,.pp_bottom .pp_left{height:20px;left:0;position:absolute;width:20px} 
    167 .pp_top .pp_middle,.pp_bottom .pp_middle{height:20px;left:20px;position:absolute;right:20px} 
    168 * html .pp_top .pp_middle,* html .pp_bottom .pp_middle{left:0;position:static} 
    169 .pp_top .pp_right,.pp_bottom .pp_right{height:20px;left:auto;position:absolute;right:0;top:0;width:20px} 
    170 .pp_fade,.pp_gallery li.default a img{display:none} 
     1/* ------------------------------------------------------------------------ 
     2    This you can edit. 
     3------------------------------------------------------------------------- */ 
     4 
     5    /* ---------------------------------- 
     6        Default Theme 
     7    ----------------------------------- */ 
     8 
     9    div.pp_default .pp_top, 
     10    div.pp_default .pp_top .pp_middle, 
     11    div.pp_default .pp_top .pp_left, 
     12    div.pp_default .pp_top .pp_right, 
     13    div.pp_default .pp_bottom, 
     14    div.pp_default .pp_bottom .pp_left, 
     15    div.pp_default .pp_bottom .pp_middle, 
     16    div.pp_default .pp_bottom .pp_right { height: 13px; } 
     17     
     18    div.pp_default .pp_top .pp_left { background: url(../images/prettyPhoto/default/sprite.png) -78px -93px no-repeat; } /* Top left corner */ 
     19    div.pp_default .pp_top .pp_middle { background: url(../images/prettyPhoto/default/sprite_x.png) top left repeat-x; } /* Top pattern/color */ 
     20    div.pp_default .pp_top .pp_right { background: url(../images/prettyPhoto/default/sprite.png) -112px -93px no-repeat; } /* Top right corner */ 
     21     
     22    div.pp_default .pp_content .ppt { color: #f8f8f8; } 
     23    div.pp_default .pp_content_container .pp_left { background: url(../images/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y; padding-left: 13px; } 
     24    div.pp_default .pp_content_container .pp_right { background: url(../images/prettyPhoto/default/sprite_y.png) top right repeat-y; padding-right: 13px; } 
     25    div.pp_default .pp_content { background-color: #fff; } /* Content background */ 
     26    div.pp_default .pp_next:hover { background: url(../images/prettyPhoto/default/sprite_next.png) center right  no-repeat; cursor: pointer; } /* Next button */ 
     27    div.pp_default .pp_previous:hover { background: url(../images/prettyPhoto/default/sprite_prev.png) center left no-repeat; cursor: pointer; } /* Previous button */ 
     28    div.pp_default .pp_expand { background: url(../images/prettyPhoto/default/sprite.png) 0 -29px no-repeat; cursor: pointer; width: 28px; height: 28px; } /* Expand button */ 
     29    div.pp_default .pp_expand:hover { background: url(../images/prettyPhoto/default/sprite.png) 0 -56px no-repeat; cursor: pointer; } /* Expand button hover */ 
     30    div.pp_default .pp_contract { background: url(../images/prettyPhoto/default/sprite.png) 0 -84px no-repeat; cursor: pointer; width: 28px; height: 28px; } /* Contract button */ 
     31    div.pp_default .pp_contract:hover { background: url(../images/prettyPhoto/default/sprite.png) 0 -113px no-repeat; cursor: pointer; } /* Contract button hover */ 
     32    div.pp_default .pp_close { width: 30px; height: 30px; background: url(../images/prettyPhoto/default/sprite.png) 2px 1px no-repeat; cursor: pointer; } /* Close button */ 
     33    div.pp_default #pp_full_res .pp_inline { color: #000; }  
     34    div.pp_default .pp_gallery ul li a { background: url(../images/prettyPhoto/default/default_thumb.png) center center #f8f8f8; border:1px solid #aaa; } 
     35    div.pp_default .pp_gallery ul li a:hover, 
     36    div.pp_default .pp_gallery ul li.selected a { border-color: #fff; } 
     37    div.pp_default .pp_social { margin-top: 7px; } 
     38 
     39    div.pp_default .pp_gallery a.pp_arrow_previous, 
     40    div.pp_default .pp_gallery a.pp_arrow_next { position: static; left: auto; } 
     41    div.pp_default .pp_nav .pp_play, 
     42    div.pp_default .pp_nav .pp_pause { background: url(../images/prettyPhoto/default/sprite.png) -51px 1px no-repeat; height:30px; width:30px; } 
     43    div.pp_default .pp_nav .pp_pause { background-position: -51px -29px; } 
     44    div.pp_default .pp_details { position: relative; } 
     45    div.pp_default a.pp_arrow_previous, 
     46    div.pp_default a.pp_arrow_next { background: url(../images/prettyPhoto/default/sprite.png) -31px -3px no-repeat; height: 20px; margin: 4px 0 0 0; width: 20px; } 
     47    div.pp_default a.pp_arrow_next { left: 52px; background-position: -82px -3px; } /* The next arrow in the bottom nav */ 
     48    div.pp_default .pp_content_container .pp_details { margin-top: 5px; } 
     49    div.pp_default .pp_nav { clear: none; height: 30px; width: 110px; position: relative; } 
     50    div.pp_default .pp_nav .currentTextHolder{ font-family: Georgia; font-style: italic; color:#999; font-size: 11px; left: 75px; line-height: 25px; margin: 0; padding: 0 0 0 10px; position: absolute; top: 2px; } 
     51     
     52    div.pp_default .pp_close:hover, div.pp_default .pp_nav .pp_play:hover, div.pp_default .pp_nav .pp_pause:hover, div.pp_default .pp_arrow_next:hover, div.pp_default .pp_arrow_previous:hover { opacity:0.7; } 
     53 
     54    div.pp_default .pp_description{ font-size: 11px; font-weight: bold; line-height: 14px; margin: 5px 50px 5px 0; } 
     55 
     56    div.pp_default .pp_bottom .pp_left { background: url(../images/prettyPhoto/default/sprite.png) -78px -127px no-repeat; } /* Bottom left corner */ 
     57    div.pp_default .pp_bottom .pp_middle { background: url(../images/prettyPhoto/default/sprite_x.png) bottom left repeat-x; } /* Bottom pattern/color */ 
     58    div.pp_default .pp_bottom .pp_right { background: url(../images/prettyPhoto/default/sprite.png) -112px -127px no-repeat; } /* Bottom right corner */ 
     59 
     60    div.pp_default .pp_loaderIcon { background: url(../images/prettyPhoto/default/loader.gif) center center no-repeat; } /* Loader icon */ 
     61 
     62     
     63    /* ---------------------------------- 
     64        Light Rounded Theme 
     65    ----------------------------------- */ 
     66 
     67 
     68    div.light_rounded .pp_top .pp_left { background: url(../images/prettyPhoto/light_rounded/sprite.png) -88px -53px no-repeat; } /* Top left corner */ 
     69    div.light_rounded .pp_top .pp_middle { background: #fff; } /* Top pattern/color */ 
     70    div.light_rounded .pp_top .pp_right { background: url(../images/prettyPhoto/light_rounded/sprite.png) -110px -53px no-repeat; } /* Top right corner */ 
     71     
     72    div.light_rounded .pp_content .ppt { color: #000; } 
     73    div.light_rounded .pp_content_container .pp_left, 
     74    div.light_rounded .pp_content_container .pp_right { background: #fff; } 
     75    div.light_rounded .pp_content { background-color: #fff; } /* Content background */ 
     76    div.light_rounded .pp_next:hover { background: url(../images/prettyPhoto/light_rounded/btnNext.png) center right  no-repeat; cursor: pointer; } /* Next button */ 
     77    div.light_rounded .pp_previous:hover { background: url(../images/prettyPhoto/light_rounded/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ 
     78    div.light_rounded .pp_expand { background: url(../images/prettyPhoto/light_rounded/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ 
     79    div.light_rounded .pp_expand:hover { background: url(../images/prettyPhoto/light_rounded/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ 
     80    div.light_rounded .pp_contract { background: url(../images/prettyPhoto/light_rounded/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ 
     81    div.light_rounded .pp_contract:hover { background: url(../images/prettyPhoto/light_rounded/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ 
     82    div.light_rounded .pp_close { width: 75px; height: 22px; background: url(../images/prettyPhoto/light_rounded/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ 
     83    div.light_rounded .pp_details { position: relative; } 
     84    div.light_rounded .pp_description { margin-right: 85px; } 
     85    div.light_rounded #pp_full_res .pp_inline { color: #000; }  
     86    div.light_rounded .pp_gallery a.pp_arrow_previous, 
     87    div.light_rounded .pp_gallery a.pp_arrow_next { margin-top: 12px !important; } 
     88    div.light_rounded .pp_nav .pp_play { background: url(../images/prettyPhoto/light_rounded/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; } 
     89    div.light_rounded .pp_nav .pp_pause { background: url(../images/prettyPhoto/light_rounded/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; } 
     90 
     91    div.light_rounded .pp_arrow_previous { background: url(../images/prettyPhoto/light_rounded/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */ 
     92        div.light_rounded .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; } 
     93    div.light_rounded .pp_arrow_next { background: url(../images/prettyPhoto/light_rounded/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */ 
     94        div.light_rounded .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; } 
     95 
     96    div.light_rounded .pp_bottom .pp_left { background: url(../images/prettyPhoto/light_rounded/sprite.png) -88px -80px no-repeat; } /* Bottom left corner */ 
     97    div.light_rounded .pp_bottom .pp_middle { background: #fff; } /* Bottom pattern/color */ 
     98    div.light_rounded .pp_bottom .pp_right { background: url(../images/prettyPhoto/light_rounded/sprite.png) -110px -80px no-repeat; } /* Bottom right corner */ 
     99 
     100    div.light_rounded .pp_loaderIcon { background: url(../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat; } /* Loader icon */ 
     101     
     102    /* ---------------------------------- 
     103        Dark Rounded Theme 
     104    ----------------------------------- */ 
     105     
     106    div.dark_rounded .pp_top .pp_left { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -53px no-repeat; } /* Top left corner */ 
     107    div.dark_rounded .pp_top .pp_middle { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat; } /* Top pattern/color */ 
     108    div.dark_rounded .pp_top .pp_right { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -53px no-repeat; } /* Top right corner */ 
     109     
     110    div.dark_rounded .pp_content_container .pp_left { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat-y; } /* Left Content background */ 
     111    div.dark_rounded .pp_content_container .pp_right { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top right repeat-y; } /* Right Content background */ 
     112    div.dark_rounded .pp_content { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat; } /* Content background */ 
     113    div.dark_rounded .pp_next:hover { background: url(../images/prettyPhoto/dark_rounded/btnNext.png) center right  no-repeat; cursor: pointer; } /* Next button */ 
     114    div.dark_rounded .pp_previous:hover { background: url(../images/prettyPhoto/dark_rounded/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ 
     115    div.dark_rounded .pp_expand { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ 
     116    div.dark_rounded .pp_expand:hover { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ 
     117    div.dark_rounded .pp_contract { background: url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ 
     118    div.dark_rounded .pp_contract:hover { background: url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ 
     119    div.dark_rounded .pp_close { width: 75px; height: 22px; background: url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ 
     120    div.dark_rounded .pp_details { position: relative; } 
     121    div.dark_rounded .pp_description { margin-right: 85px; } 
     122    div.dark_rounded .currentTextHolder { color: #c4c4c4; } 
     123    div.dark_rounded .pp_description { color: #fff; } 
     124    div.dark_rounded #pp_full_res .pp_inline { color: #fff; } 
     125    div.dark_rounded .pp_gallery a.pp_arrow_previous, 
     126    div.dark_rounded .pp_gallery a.pp_arrow_next { margin-top: 12px !important; } 
     127    div.dark_rounded .pp_nav .pp_play { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; } 
     128    div.dark_rounded .pp_nav .pp_pause { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; } 
     129 
     130    div.dark_rounded .pp_arrow_previous { background: url(../images/prettyPhoto/dark_rounded/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */ 
     131        div.dark_rounded .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; } 
     132    div.dark_rounded .pp_arrow_next { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */ 
     133        div.dark_rounded .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; } 
     134 
     135    div.dark_rounded .pp_bottom .pp_left { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -88px -80px no-repeat; } /* Bottom left corner */ 
     136    div.dark_rounded .pp_bottom .pp_middle { background: url(../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat; } /* Bottom pattern/color */ 
     137    div.dark_rounded .pp_bottom .pp_right { background: url(../images/prettyPhoto/dark_rounded/sprite.png) -110px -80px no-repeat; } /* Bottom right corner */ 
     138 
     139    div.dark_rounded .pp_loaderIcon { background: url(../images/prettyPhoto/dark_rounded/loader.gif) center center no-repeat; } /* Loader icon */ 
     140     
     141     
     142    /* ---------------------------------- 
     143        Dark Square Theme 
     144    ----------------------------------- */ 
     145     
     146    div.dark_square .pp_left , 
     147    div.dark_square .pp_middle, 
     148    div.dark_square .pp_right, 
     149    div.dark_square .pp_content { background: #000; } 
     150     
     151    div.dark_square .currentTextHolder { color: #c4c4c4; } 
     152    div.dark_square .pp_description { color: #fff; } 
     153    div.dark_square .pp_loaderIcon { background: url(../images/prettyPhoto/dark_square/loader.gif) center center no-repeat; } /* Loader icon */ 
     154     
     155    div.dark_square .pp_expand { background: url(../images/prettyPhoto/dark_square/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ 
     156    div.dark_square .pp_expand:hover { background: url(../images/prettyPhoto/dark_square/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ 
     157    div.dark_square .pp_contract { background: url(../images/prettyPhoto/dark_square/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ 
     158    div.dark_square .pp_contract:hover { background: url(../images/prettyPhoto/dark_square/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ 
     159    div.dark_square .pp_close { width: 75px; height: 22px; background: url(../images/prettyPhoto/dark_square/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ 
     160    div.dark_square .pp_details { position: relative; } 
     161    div.dark_square .pp_description { margin: 0 85px 0 0; } 
     162    div.dark_square #pp_full_res .pp_inline { color: #fff; } 
     163    div.dark_square .pp_gallery a.pp_arrow_previous, 
     164    div.dark_square .pp_gallery a.pp_arrow_next { margin-top: 12px !important; } 
     165    div.dark_square .pp_nav { clear: none; } 
     166    div.dark_square .pp_nav .pp_play { background: url(../images/prettyPhoto/dark_square/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; } 
     167    div.dark_square .pp_nav .pp_pause { background: url(../images/prettyPhoto/dark_square/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; } 
     168     
     169    div.dark_square .pp_arrow_previous { background: url(../images/prettyPhoto/dark_square/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */ 
     170        div.dark_square .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; } 
     171    div.dark_square .pp_arrow_next { background: url(../images/prettyPhoto/dark_square/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */ 
     172        div.dark_square .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; } 
     173     
     174    div.dark_square .pp_next:hover { background: url(../images/prettyPhoto/dark_square/btnNext.png) center right  no-repeat; cursor: pointer; } /* Next button */ 
     175    div.dark_square .pp_previous:hover { background: url(../images/prettyPhoto/dark_square/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ 
     176 
     177 
     178    /* ---------------------------------- 
     179        Light Square Theme 
     180    ----------------------------------- */ 
     181     
     182    div.light_square .pp_left , 
     183    div.light_square .pp_middle, 
     184    div.light_square .pp_right, 
     185    div.light_square .pp_content { background: #fff; } 
     186     
     187    div.light_square .pp_content .ppt { color: #000; } 
     188    div.light_square .pp_expand { background: url(../images/prettyPhoto/light_square/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ 
     189    div.light_square .pp_expand:hover { background: url(../images/prettyPhoto/light_square/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ 
     190    div.light_square .pp_contract { background: url(../images/prettyPhoto/light_square/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ 
     191    div.light_square .pp_contract:hover { background: url(../images/prettyPhoto/light_square/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ 
     192    div.light_square .pp_close { width: 75px; height: 22px; background: url(../images/prettyPhoto/light_square/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ 
     193    div.light_square .pp_details { position: relative; } 
     194    div.light_square .pp_description { margin-right: 85px; } 
     195    div.light_square #pp_full_res .pp_inline { color: #000; } 
     196    div.light_square .pp_gallery a.pp_arrow_previous, 
     197    div.light_square .pp_gallery a.pp_arrow_next { margin-top: 12px !important; } 
     198    div.light_square .pp_nav .pp_play { background: url(../images/prettyPhoto/light_square/sprite.png) -1px -100px no-repeat; height: 15px; width: 14px; } 
     199    div.light_square .pp_nav .pp_pause { background: url(../images/prettyPhoto/light_square/sprite.png) -24px -100px no-repeat; height: 15px; width: 14px; } 
     200     
     201    div.light_square .pp_arrow_previous { background: url(../images/prettyPhoto/light_square/sprite.png) 0 -71px no-repeat; } /* The previous arrow in the bottom nav */ 
     202        div.light_square .pp_arrow_previous.disabled { background-position: 0 -87px; cursor: default; } 
     203    div.light_square .pp_arrow_next { background: url(../images/prettyPhoto/light_square/sprite.png) -22px -71px no-repeat; } /* The next arrow in the bottom nav */ 
     204        div.light_square .pp_arrow_next.disabled { background-position: -22px -87px; cursor: default; } 
     205     
     206    div.light_square .pp_next:hover { background: url(../images/prettyPhoto/light_square/btnNext.png) center right  no-repeat; cursor: pointer; } /* Next button */ 
     207    div.light_square .pp_previous:hover { background: url(../images/prettyPhoto/light_square/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ 
     208     
     209    div.light_square .pp_loaderIcon { background: url(../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat; } /* Loader icon */ 
     210 
     211 
     212    /* ---------------------------------- 
     213        Facebook style Theme 
     214    ----------------------------------- */ 
     215     
     216    div.facebook .pp_top .pp_left { background: url(../images/prettyPhoto/facebook/sprite.png) -88px -53px no-repeat; } /* Top left corner */ 
     217    div.facebook .pp_top .pp_middle { background: url(../images/prettyPhoto/facebook/contentPatternTop.png) top left repeat-x; } /* Top pattern/color */ 
     218    div.facebook .pp_top .pp_right { background: url(../images/prettyPhoto/facebook/sprite.png) -110px -53px no-repeat; } /* Top right corner */ 
     219     
     220    div.facebook .pp_content .ppt { color: #000; } 
     221    div.facebook .pp_content_container .pp_left { background: url(../images/prettyPhoto/facebook/contentPatternLeft.png) top left repeat-y; } /* Content background */ 
     222    div.facebook .pp_content_container .pp_right { background: url(../images/prettyPhoto/facebook/contentPatternRight.png) top right repeat-y; } /* Content background */ 
     223    div.facebook .pp_content { background: #fff; } /* Content background */ 
     224    div.facebook .pp_expand { background: url(../images/prettyPhoto/facebook/sprite.png) -31px -26px no-repeat; cursor: pointer; } /* Expand button */ 
     225    div.facebook .pp_expand:hover { background: url(../images/prettyPhoto/facebook/sprite.png) -31px -47px no-repeat; cursor: pointer; } /* Expand button hover */ 
     226    div.facebook .pp_contract { background: url(../images/prettyPhoto/facebook/sprite.png) 0 -26px no-repeat; cursor: pointer; } /* Contract button */ 
     227    div.facebook .pp_contract:hover { background: url(../images/prettyPhoto/facebook/sprite.png) 0 -47px no-repeat; cursor: pointer; } /* Contract button hover */ 
     228    div.facebook .pp_close { width: 22px; height: 22px; background: url(../images/prettyPhoto/facebook/sprite.png) -1px -1px no-repeat; cursor: pointer; } /* Close button */ 
     229    div.facebook .pp_details { position: relative; } 
     230    div.facebook .pp_description { margin: 0 37px 0 0; } 
     231    div.facebook #pp_full_res .pp_inline { color: #000; }  
     232    div.facebook .pp_loaderIcon { background: url(../images/prettyPhoto/facebook/loader.gif) center center no-repeat; } /* Loader icon */ 
     233     
     234    div.facebook .pp_arrow_previous { background: url(../images/prettyPhoto/facebook/sprite.png) 0 -71px no-repeat; height: 22px; margin-top: 0; width: 22px; } /* The previous arrow in the bottom nav */ 
     235        div.facebook .pp_arrow_previous.disabled { background-position: 0 -96px; cursor: default; } 
     236    div.facebook .pp_arrow_next { background: url(../images/prettyPhoto/facebook/sprite.png) -32px -71px no-repeat; height: 22px; margin-top: 0; width: 22px; } /* The next arrow in the bottom nav */ 
     237        div.facebook .pp_arrow_next.disabled { background-position: -32px -96px; cursor: default; } 
     238    div.facebook .pp_nav { margin-top: 0; } 
     239    div.facebook .pp_nav p { font-size: 15px; padding: 0 3px 0 4px; } 
     240    div.facebook .pp_nav .pp_play { background: url(../images/prettyPhoto/facebook/sprite.png) -1px -123px no-repeat; height: 22px; width: 22px; } 
     241    div.facebook .pp_nav .pp_pause { background: url(../images/prettyPhoto/facebook/sprite.png) -32px -123px no-repeat; height: 22px; width: 22px; } 
     242     
     243    div.facebook .pp_next:hover { background: url(../images/prettyPhoto/facebook/btnNext.png) center right no-repeat; cursor: pointer; } /* Next button */ 
     244    div.facebook .pp_previous:hover { background: url(../images/prettyPhoto/facebook/btnPrevious.png) center left no-repeat; cursor: pointer; } /* Previous button */ 
     245     
     246    div.facebook .pp_bottom .pp_left { background: url(../images/prettyPhoto/facebook/sprite.png) -88px -80px no-repeat; } /* Bottom left corner */ 
     247    div.facebook .pp_bottom .pp_middle { background: url(../images/prettyPhoto/facebook/contentPatternBottom.png) top left repeat-x; } /* Bottom pattern/color */ 
     248    div.facebook .pp_bottom .pp_right { background: url(../images/prettyPhoto/facebook/sprite.png) -110px -80px no-repeat; } /* Bottom right corner */ 
     249 
     250 
     251/* ------------------------------------------------------------------------ 
     252    DO NOT CHANGE 
     253------------------------------------------------------------------------- */ 
     254 
     255    div.pp_pic_holder a:focus { outline:none; } 
     256 
     257    div.pp_overlay { 
     258        background: #000; 
     259        display: none; 
     260        left: 0; 
     261        position: absolute; 
     262        top: 0; 
     263        width: 100%; 
     264        z-index: 9500; 
     265    } 
     266     
     267    div.pp_pic_holder { 
     268        display: none; 
     269        position: absolute; 
     270        width: 100px; 
     271        z-index: 10000; 
     272    } 
     273 
     274         
     275        .pp_top { 
     276            height: 20px; 
     277            position: relative; 
     278        } 
     279            * html .pp_top { padding: 0 20px; } 
     280         
     281            .pp_top .pp_left { 
     282                height: 20px; 
     283                left: 0; 
     284                position: absolute; 
     285                width: 20px; 
     286            } 
     287            .pp_top .pp_middle { 
     288                height: 20px; 
     289                left: 20px; 
     290                position: absolute; 
     291                right: 20px; 
     292            } 
     293                * html .pp_top .pp_middle { 
     294                    left: 0; 
     295                    position: static; 
     296                } 
     297             
     298            .pp_top .pp_right { 
     299                height: 20px; 
     300                left: auto; 
     301                position: absolute; 
     302                right: 0; 
     303                top: 0; 
     304                width: 20px; 
     305            } 
     306         
     307        .pp_content { height: 40px; min-width: 40px; } 
     308        * html .pp_content { width: 40px; } 
     309         
     310        .pp_fade { display: none; } 
     311         
     312        .pp_content_container { 
     313            position: relative; 
     314            text-align: left; 
     315            width: 100%; 
     316        } 
     317         
     318            .pp_content_container .pp_left { padding-left: 20px; } 
     319            .pp_content_container .pp_right { padding-right: 20px; } 
     320         
     321            .pp_content_container .pp_details { 
     322                float: left; 
     323                margin: 10px 0 2px 0; 
     324            } 
     325                .pp_description { 
     326                    display: none; 
     327                    margin: 0; 
     328                } 
     329                 
     330                .pp_social { float: left; margin: 0; } 
     331                .pp_social .facebook { float: left; margin-left: 5px; width: 55px; overflow: hidden; } 
     332                .pp_social .twitter { float: left; } 
     333                 
     334                .pp_nav { 
     335                    clear: right; 
     336                    float: left; 
     337                    margin: 3px 10px 0 0; 
     338                } 
     339                 
     340                    .pp_nav p { 
     341                        float: left; 
     342                        margin: 2px 4px; 
     343                        white-space: nowrap; 
     344                    } 
     345                     
     346                    .pp_nav .pp_play, 
     347                    .pp_nav .pp_pause { 
     348                        float: left; 
     349                        margin-right: 4px; 
     350                        text-indent: -10000px; 
     351                    } 
     352                 
     353                    a.pp_arrow_previous, 
     354                    a.pp_arrow_next { 
     355                        display: block; 
     356                        float: left; 
     357                        height: 15px; 
     358                        margin-top: 3px; 
     359                        overflow: hidden; 
     360                        text-indent: -10000px; 
     361                        width: 14px; 
     362                    } 
     363         
     364        .pp_hoverContainer { 
     365            position: absolute; 
     366            top: 0; 
     367            width: 100%; 
     368            z-index: 2000; 
     369        } 
     370         
     371        .pp_gallery { 
     372            display: none; 
     373            left: 50%; 
     374            margin-top: -50px; 
     375            position: absolute; 
     376            z-index: 10000; 
     377        } 
     378         
     379            .pp_gallery div { 
     380                float: left; 
     381                overflow: hidden; 
     382                position: relative; 
     383            } 
     384             
     385            .pp_gallery ul { 
     386                float: left; 
     387                height: 35px; 
     388                margin: 0 0 0 5px; 
     389                padding: 0; 
     390                position: relative; 
     391                white-space: nowrap; 
     392            } 
     393             
     394            .pp_gallery ul a { 
     395                border: 1px #000 solid; 
     396                border: 1px rgba(0,0,0,0.5) solid; 
     397                display: block; 
     398                float: left; 
     399                height: 33px; 
     400                overflow: hidden; 
     401            } 
     402             
     403            .pp_gallery ul a:hover, 
     404            .pp_gallery li.selected a { border-color: #fff; } 
     405             
     406            .pp_gallery ul a img { border: 0; } 
     407             
     408            .pp_gallery li { 
     409                display: block; 
     410                float: left; 
     411                margin: 0 5px 0 0; 
     412                padding: 0; 
     413            } 
     414             
     415            .pp_gallery li.default a { 
     416                background: url(../images/prettyPhoto/facebook/default_thumbnail.gif) 0 0 no-repeat; 
     417                display: block; 
     418                height: 33px; 
     419                width: 50px; 
     420            } 
     421             
     422            .pp_gallery li.default a img { display: none; } 
     423             
     424            .pp_gallery .pp_arrow_previous, 
     425            .pp_gallery .pp_arrow_next { 
     426                margin-top: 7px !important; 
     427            } 
     428         
     429        a.pp_next { 
     430            background: url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat; 
     431            display: block; 
     432            float: right; 
     433            height: 100%; 
     434            text-indent: -10000px; 
     435            width: 49%; 
     436        } 
     437             
     438        a.pp_previous { 
     439            background: url(../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat; 
     440            display: block; 
     441            float: left; 
     442            height: 100%; 
     443            text-indent: -10000px; 
     444            width: 49%; 
     445        } 
     446         
     447        a.pp_expand, 
     448        a.pp_contract { 
     449            cursor: pointer; 
     450            display: none; 
     451            height: 20px;    
     452            position: absolute; 
     453            right: 30px; 
     454            text-indent: -10000px; 
     455            top: 10px; 
     456            width: 20px; 
     457            z-index: 20000; 
     458        } 
     459             
     460        a.pp_close { 
     461            position: absolute; right: 0; top: 0;  
     462            display: block; 
     463            line-height:22px; 
     464            text-indent: -10000px; 
     465        } 
     466         
     467        .pp_bottom { 
     468            height: 20px; 
     469            position: relative; 
     470        } 
     471            * html .pp_bottom { padding: 0 20px; } 
     472             
     473            .pp_bottom .pp_left { 
     474                height: 20px; 
     475                left: 0; 
     476                position: absolute; 
     477                width: 20px; 
     478            } 
     479            .pp_bottom .pp_middle { 
     480                height: 20px; 
     481                left: 20px; 
     482                position: absolute; 
     483                right: 20px; 
     484            } 
     485                * html .pp_bottom .pp_middle { 
     486                    left: 0; 
     487                    position: static; 
     488                } 
     489                 
     490            .pp_bottom .pp_right { 
     491                height: 20px; 
     492                left: auto; 
     493                position: absolute; 
     494                right: 0; 
     495                top: 0; 
     496                width: 20px; 
     497            } 
     498         
     499        .pp_loaderIcon { 
     500            display: block; 
     501            height: 24px; 
     502            left: 50%; 
     503            margin: -12px 0 0 -12px; 
     504            position: absolute; 
     505            top: 50%; 
     506            width: 24px; 
     507        } 
     508         
     509        #pp_full_res { 
     510            line-height: 1 !important; 
     511        } 
     512         
     513            #pp_full_res .pp_inline { 
     514                text-align: left; 
     515            } 
     516             
     517                #pp_full_res .pp_inline p { margin: 0 0 15px 0; } 
     518     
     519        div.ppt { 
     520            color: #fff; 
     521            display: none; 
     522            font-size: 17px; 
     523            margin: 0 0 5px 15px; 
     524            z-index: 9999; 
     525        } 
  • woocommerce-maintenance-mode/trunk/assets/prettyPhoto/js/jquery.prettyPhoto.js

    r930177 r1170994  
    33    Use: Lightbox clone for jQuery 
    44    Author: Stephane Caron (http://www.no-margin-for-errors.com) 
    5     Version: 3.1.5 
     5    Version: 3.1.6 
    66------------------------------------------------------------------------- */ 
    7 (function(e){function t(){var e=location.href;hashtag=e.indexOf("#prettyPhoto")!==-1?decodeURI(e.substring(e.indexOf("#prettyPhoto")+1,e.length)):false;return hashtag}function n(){if(typeof theRel=="undefined")return;location.hash=theRel+"/"+rel_index+"/"}function r(){if(location.href.indexOf("#prettyPhoto")!==-1)location.hash="prettyPhoto"}function i(e,t){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var n="[\\?&]"+e+"=([^&#]*)";var r=new RegExp(n);var i=r.exec(t);return i==null?"":i[1]}e.prettyPhoto={version:"3.1.5"};e.fn.prettyPhoto=function(s){function g(){e(".pp_loaderIcon").hide();projectedTop=scroll_pos["scrollTop"]+(d/2-a["containerHeight"]/2);if(projectedTop<0)projectedTop=0;$ppt.fadeTo(settings.animation_speed,1);$pp_pic_holder.find(".pp_content").animate({height:a["contentHeight"],width:a["contentWidth"]},settings.animation_speed);$pp_pic_holder.animate({top:projectedTop,left:v/2-a["containerWidth"]/2<0?0:v/2-a["containerWidth"]/2,width:a["containerWidth"]},settings.animation_speed,function(){$pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(a["height"]).width(a["width"]);$pp_pic_holder.find(".pp_fade").fadeIn(settings.animation_speed);if(isSet&&S(pp_images[set_position])=="image"){$pp_pic_holder.find(".pp_hoverContainer").show()}else{$pp_pic_holder.find(".pp_hoverContainer").hide()}if(settings.allow_expand){if(a["resized"]){e("a.pp_expand,a.pp_contract").show()}else{e("a.pp_expand").hide()}}if(settings.autoplay_slideshow&&!m&&!f)e.prettyPhoto.startSlideshow();settings.changepicturecallback();f=true});C();s.ajaxcallback()}function y(t){$pp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility","hidden");$pp_pic_holder.find(".pp_fade").fadeOut(settings.animation_speed,function(){e(".pp_loaderIcon").show();t()})}function b(t){t>1?e(".pp_nav").show():e(".pp_nav").hide()}function w(e,t){resized=false;E(e,t);imageWidth=e,imageHeight=t;if((p>v||h>d)&&doresize&&settings.allow_resize&&!u){resized=true,fitting=false;while(!fitting){if(p>v){imageWidth=v-200;imageHeight=t/e*imageWidth}else if(h>d){imageHeight=d-200;imageWidth=e/t*imageHeight}else{fitting=true}h=imageHeight,p=imageWidth}if(p>v||h>d){w(p,h)}E(imageWidth,imageHeight)}return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(h),containerWidth:Math.floor(p)+settings.horizontal_padding*2,contentHeight:Math.floor(l),contentWidth:Math.floor(c),resized:resized}}function E(t,n){t=parseFloat(t);n=parseFloat(n);$pp_details=$pp_pic_holder.find(".pp_details");$pp_details.width(t);detailsHeight=parseFloat($pp_details.css("marginTop"))+parseFloat($pp_details.css("marginBottom"));$pp_details=$pp_details.clone().addClass(settings.theme).width(t).appendTo(e("body")).css({position:"absolute",top:-1e4});detailsHeight+=$pp_details.height();detailsHeight=detailsHeight<=34?36:detailsHeight;$pp_details.remove();$pp_title=$pp_pic_holder.find(".ppt");$pp_title.width(t);titleHeight=parseFloat($pp_title.css("marginTop"))+parseFloat($pp_title.css("marginBottom"));$pp_title=$pp_title.clone().appendTo(e("body")).css({position:"absolute",top:-1e4});titleHeight+=$pp_title.height();$pp_title.remove();l=n+detailsHeight;c=t;h=l+titleHeight+$pp_pic_holder.find(".pp_top").height()+$pp_pic_holder.find(".pp_bottom").height();p=t}function S(e){if(e.match(/youtube\.com\/watch/i)||e.match(/youtu\.be/i)){return"youtube"}else if(e.match(/vimeo\.com/i)){return"vimeo"}else if(e.match(/\b.mov\b/i)){return"quicktime"}else if(e.match(/\b.swf\b/i)){return"flash"}else if(e.match(/\biframe=true\b/i)){return"iframe"}else if(e.match(/\bajax=true\b/i)){return"ajax"}else if(e.match(/\bcustom=true\b/i)){return"custom"}else if(e.substr(0,1)=="#"){return"inline"}else{return"image"}}function x(){if(doresize&&typeof $pp_pic_holder!="undefined"){scroll_pos=T();contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width();projectedTop=d/2+scroll_pos["scrollTop"]-contentHeight/2;if(projectedTop<0)projectedTop=0;if(contentHeight>d)return;$pp_pic_holder.css({top:projectedTop,left:v/2+scroll_pos["scrollLeft"]-contentwidth/2})}}function T(){if(self.pageYOffset){return{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset}}else if(document.documentElement&&document.documentElement.scrollTop){return{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft}}else if(document.body){return{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft}}}function N(){d=e(window).height(),v=e(window).width();if(typeof $pp_overlay!="undefined")$pp_overlay.height(e(document).height()).width(v)}function C(){if(isSet&&settings.overlay_gallery&&S(pp_images[set_position])=="image"){itemWidth=52+5;navWidth=settings.theme=="facebook"||settings.theme=="pp_default"?50:30;itemsPerPage=Math.floor((a["containerWidth"]-100-navWidth)/itemWidth);itemsPerPage=itemsPerPage<pp_images.length?itemsPerPage:pp_images.length;totalPage=Math.ceil(pp_images.length/itemsPerPage)-1;if(totalPage==0){navWidth=0;$pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").hide()}else{$pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").show()}galleryWidth=itemsPerPage*itemWidth;fullGalleryWidth=pp_images.length*itemWidth;$pp_gallery.css("margin-left",-(galleryWidth/2+navWidth/2)).find("div:first").width(galleryWidth+5).find("ul").width(fullGalleryWidth).find("li.selected").removeClass("selected");goToPage=Math.floor(set_position/itemsPerPage)<totalPage?Math.floor(set_position/itemsPerPage):totalPage;e.prettyPhoto.changeGalleryPage(goToPage);$pp_gallery_li.filter(":eq("+set_position+")").addClass("selected")}else{$pp_pic_holder.find(".pp_content").unbind("mouseenter mouseleave")}}function k(t){if(settings.social_tools)facebook_like_link=settings.social_tools.replace("{location_href}",encodeURIComponent(location.href));settings.markup=settings.markup.replace("{pp_social}","");e("body").append(settings.markup);$pp_pic_holder=e(".pp_pic_holder"),$ppt=e(".ppt"),$pp_overlay=e("div.pp_overlay");if(isSet&&settings.overlay_gallery){currentGalleryPage=0;toInject="";for(var n=0;n<pp_images.length;n++){if(!pp_images[n].match(/\b(jpg|jpeg|png|gif)\b/gi)){classname="default";img_src=""}else{classname="";img_src=pp_images[n]}toInject+="<li class='"+classname+"'><a href='#'><img src='"+img_src+"' width='50' alt='' /></a></li>"}toInject=settings.gallery_markup.replace(/{gallery}/g,toInject);$pp_pic_holder.find("#pp_full_res").after(toInject);$pp_gallery=e(".pp_pic_holder .pp_gallery"),$pp_gallery_li=$pp_gallery.find("li");$pp_gallery.find(".pp_arrow_next").click(function(){e.prettyPhoto.changeGalleryPage("next");e.prettyPhoto.stopSlideshow();return false});$pp_gallery.find(".pp_arrow_previous").click(function(){e.prettyPhoto.changeGalleryPage("previous");e.prettyPhoto.stopSlideshow();return false});$pp_pic_holder.find(".pp_content").hover(function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeIn()},function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeOut()});itemWidth=52+5;$pp_gallery_li.each(function(t){e(this).find("a").click(function(){e.prettyPhoto.changePage(t);e.prettyPhoto.stopSlideshow();return false})})}if(settings.slideshow){$pp_pic_holder.find(".pp_nav").prepend('<a href="#" class="pp_play">Play</a>');$pp_pic_holder.find(".pp_nav .pp_play").click(function(){e.prettyPhoto.startSlideshow();return false})}$pp_pic_holder.attr("class","pp_pic_holder "+settings.theme);$pp_overlay.css({opacity:0,height:e(document).height(),width:e(window).width()}).bind("click",function(){if(!settings.modal)e.prettyPhoto.close()});e("a.pp_close").bind("click",function(){e.prettyPhoto.close();return false});if(settings.allow_expand){e("a.pp_expand").bind("click",function(t){if(e(this).hasClass("pp_expand")){e(this).removeClass("pp_expand").addClass("pp_contract");doresize=false}else{e(this).removeClass("pp_contract").addClass("pp_expand");doresize=true}y(function(){e.prettyPhoto.open()});return false})}$pp_pic_holder.find(".pp_previous, .pp_nav .pp_arrow_previous").bind("click",function(){e.prettyPhoto.changePage("previous");e.prettyPhoto.stopSlideshow();return false});$pp_pic_holder.find(".pp_next, .pp_nav .pp_arrow_next").bind("click",function(){e.prettyPhoto.changePage("next");e.prettyPhoto.stopSlideshow();return false});x()}s=jQuery.extend({hook:"rel",animation_speed:"fast",ajaxcallback:function(){},slideshow:5e3,autoplay_slideshow:false,opacity:.8,show_title:true,allow_resize:true,allow_expand:true,default_width:500,default_height:344,counter_separator_label:"/",theme:"pp_default",horizontal_padding:20,hideflash:false,wmode:"opaque",autoplay:true,modal:false,deeplinking:true,overlay_gallery:true,overlay_gallery_max:30,keyboard_shortcuts:true,changepicturecallback:function(){},callback:function(){},ie6_fallback:true,markup:'<div class="pp_pic_holder">                      <div class="ppt"> </div>                        <div class="pp_top">                            <div class="pp_left"></div>                             <div class="pp_middle"></div>                           <div class="pp_right"></div>                        </div>                      <div class="pp_content_container">                          <div class="pp_left">                           <div class="pp_right">                              <div class="pp_content">                                    <div class="pp_loaderIcon"></div>                                   <div class="pp_fade">                                       <a href="#" class="pp_expand" title="Expand the image">Expand</a>                                       <div class="pp_hoverContainer">                                             <a class="pp_next" href="#">next</a>                                            <a class="pp_previous" href="#">previous</a>                                        </div>                                      <div id="pp_full_res"></div>                                        <div class="pp_details">                                            <div class="pp_nav">                                                <a href="#" class="pp_arrow_previous">Previous</a>                                              <p class="currentTextHolder">0/0</p>                                                <a href="#" class="pp_arrow_next">Next</a>                                          </div>                                          <p class="pp_description"></p>                                          <div class="pp_social">{pp_social}</div>                                            <a class="pp_close" href="#">Close</a>                                      </div>                                  </div>                              </div>                          </div>                          </div>                      </div>                      <div class="pp_bottom">                             <div class="pp_left"></div>                             <div class="pp_middle"></div>                           <div class="pp_right"></div>                        </div>                  </div>                  <div class="pp_overlay"></div>',gallery_markup:'<div class="pp_gallery">                                <a href="#" class="pp_arrow_previous">Previous</a>                              <div>                                   <ul>                                        {gallery}                                   </ul>                               </div>                              <a href="#" class="pp_arrow_next">Next</a>                          </div>',image_markup:'<img id="fullResImage" src="{path}" />',flash_markup:'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',quicktime_markup:'<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>',iframe_markup:'<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',inline_markup:'<div class="pp_inline">{content}</div>',custom_markup:"",social_tools:'<div class="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&layout=button_count&show_faces=true&width=500&action=like&font&colorscheme=light&height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div>'},s);var o=this,u=false,a,f,l,c,h,p,d=e(window).height(),v=e(window).width(),m;doresize=true,scroll_pos=T();e(window).unbind("resize.prettyphoto").bind("resize.prettyphoto",function(){x();N()});if(s.keyboard_shortcuts){e(document).unbind("keydown.prettyphoto").bind("keydown.prettyphoto",function(t){if(typeof $pp_pic_holder!="undefined"){if($pp_pic_holder.is(":visible")){switch(t.keyCode){case 37:e.prettyPhoto.changePage("previous");t.preventDefault();break;case 39:e.prettyPhoto.changePage("next");t.preventDefault();break;case 27:if(!settings.modal)e.prettyPhoto.close();t.preventDefault();break}}}})}e.prettyPhoto.initialize=function(){settings=s;if(settings.theme=="pp_default")settings.horizontal_padding=16;theRel=e(this).attr(settings.hook);galleryRegExp=/\[(?:.*)\]/;isSet=galleryRegExp.exec(theRel)?true:false;pp_images=isSet?jQuery.map(o,function(t,n){if(e(t).attr(settings.hook).indexOf(theRel)!=-1)return e(t).attr("href")}):e.makeArray(e(this).attr("href"));pp_titles=isSet?jQuery.map(o,function(t,n){if(e(t).attr(settings.hook).indexOf(theRel)!=-1)return e(t).find("img").attr("alt")?e(t).find("img").attr("alt"):""}):e.makeArray(e(this).find("img").attr("alt"));pp_descriptions=isSet?jQuery.map(o,function(t,n){if(e(t).attr(settings.hook).indexOf(theRel)!=-1)return e(t).attr("title")?e(t).attr("title"):""}):e.makeArray(e(this).attr("title"));if(pp_images.length>settings.overlay_gallery_max)settings.overlay_gallery=false;set_position=jQuery.inArray(e(this).attr("href"),pp_images);rel_index=isSet?set_position:e("a["+settings.hook+"^='"+theRel+"']").index(e(this));k(this);if(settings.allow_resize)e(window).bind("scroll.prettyphoto",function(){x()});e.prettyPhoto.open();return false};e.prettyPhoto.open=function(t){if(typeof settings=="undefined"){settings=s;pp_images=e.makeArray(arguments[0]);pp_titles=arguments[1]?e.makeArray(arguments[1]):e.makeArray("");pp_descriptions=arguments[2]?e.makeArray(arguments[2]):e.makeArray("");isSet=pp_images.length>1?true:false;set_position=arguments[3]?arguments[3]:0;k(t.target)}if(settings.hideflash)e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","hidden");b(e(pp_images).size());e(".pp_loaderIcon").show();if(settings.deeplinking)n();if(settings.social_tools){facebook_like_link=settings.social_tools.replace("{location_href}",encodeURIComponent(location.href));$pp_pic_holder.find(".pp_social").html(facebook_like_link)}if($ppt.is(":hidden"))$ppt.css("opacity",0).show();$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);$pp_pic_holder.find(".currentTextHolder").text(set_position+1+settings.counter_separator_label+e(pp_images).size());if(typeof pp_descriptions[set_position]!="undefined"&&pp_descriptions[set_position]!=""){$pp_pic_holder.find(".pp_description").show().html(unescape(pp_descriptions[set_position]))}else{$pp_pic_holder.find(".pp_description").hide()}movie_width=parseFloat(i("width",pp_images[set_position]))?i("width",pp_images[set_position]):settings.default_width.toString();movie_height=parseFloat(i("height",pp_images[set_position]))?i("height",pp_images[set_position]):settings.default_height.toString();u=false;if(movie_height.indexOf("%")!=-1){movie_height=parseFloat(e(window).height()*parseFloat(movie_height)/100-150);u=true}if(movie_width.indexOf("%")!=-1){movie_width=parseFloat(e(window).width()*parseFloat(movie_width)/100-150);u=true}$pp_pic_holder.fadeIn(function(){settings.show_title&&pp_titles[set_position]!=""&&typeof pp_titles[set_position]!="undefined"?$ppt.html(unescape(pp_titles[set_position])):$ppt.html(" ");imgPreloader="";skipInjection=false;switch(S(pp_images[set_position])){case"image":imgPreloader=new Image;nextImage=new Image;if(isSet&&set_position<e(pp_images).size()-1)nextImage.src=pp_images[set_position+1];prevImage=new Image;if(isSet&&pp_images[set_position-1])prevImage.src=pp_images[set_position-1];$pp_pic_holder.find("#pp_full_res")[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]);imgPreloader.onload=function(){a=w(imgPreloader.width,imgPreloader.height);g()};imgPreloader.onerror=function(){alert("Image cannot be loaded. Make sure the path is correct and image exist.");e.prettyPhoto.close()};imgPreloader.src=pp_images[set_position];break;case"youtube":a=w(movie_width,movie_height);movie_id=i("v",pp_images[set_position]);if(movie_id==""){movie_id=pp_images[set_position].split("youtu.be/");movie_id=movie_id[1];if(movie_id.indexOf("?")>0)movie_id=movie_id.substr(0,movie_id.indexOf("?"));if(movie_id.indexOf("&")>0)movie_id=movie_id.substr(0,movie_id.indexOf("&"))}movie="http://www.youtube.com/embed/"+movie_id;i("rel",pp_images[set_position])?movie+="?rel="+i("rel",pp_images[set_position]):movie+="?rel=1";if(settings.autoplay)movie+="&autoplay=1";toInject=settings.iframe_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case"vimeo":a=w(movie_width,movie_height);movie_id=pp_images[set_position];var t=/http(s?):\/\/(www\.)?vimeo.com\/(\d+)/;var n=movie_id.match(t);movie="http://player.vimeo.com/video/"+n[3]+"?title=0&byline=0&portrait=0";if(settings.autoplay)movie+="&autoplay=1;";vimeo_width=a["width"]+"/embed/?moog_width="+a["width"];toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,a["height"]).replace(/{path}/g,movie);break;case"quicktime":a=w(movie_width,movie_height);a["height"]+=15;a["contentHeight"]+=15;a["containerHeight"]+=15;toInject=settings.quicktime_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case"flash":a=w(movie_width,movie_height);flash_vars=pp_images[set_position];flash_vars=flash_vars.substring(pp_images[set_position].indexOf("flashvars")+10,pp_images[set_position].length);filename=pp_images[set_position];filename=filename.substring(0,filename.indexOf("?"));toInject=settings.flash_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+"?"+flash_vars);break;case"iframe":a=w(movie_width,movie_height);frame_url=pp_images[set_position];frame_url=frame_url.substr(0,frame_url.indexOf("iframe")-1);toInject=settings.iframe_markup.replace(/{width}/g,a["width"]).replace(/{height}/g,a["height"]).replace(/{path}/g,frame_url);break;case"ajax":doresize=false;a=w(movie_width,movie_height);doresize=true;skipInjection=true;e.get(pp_images[set_position],function(e){toInject=settings.inline_markup.replace(/{content}/g,e);$pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject;g()});break;case"custom":a=w(movie_width,movie_height);toInject=settings.custom_markup;break;case"inline":myClone=e(pp_images[set_position]).clone().append('<br clear="all" />').css({width:settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo(e("body")).show();doresize=false;a=w(e(myClone).width(),e(myClone).height());doresize=true;e(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,e(pp_images[set_position]).html());break}if(!imgPreloader&&!skipInjection){$pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject;g()}});return false};e.prettyPhoto.changePage=function(t){currentGalleryPage=0;if(t=="previous"){set_position--;if(set_position<0)set_position=e(pp_images).size()-1}else if(t=="next"){set_position++;if(set_position>e(pp_images).size()-1)set_position=0}else{set_position=t}rel_index=set_position;if(!doresize)doresize=true;if(settings.allow_expand){e(".pp_contract").removeClass("pp_contract").addClass("pp_expand")}y(function(){e.prettyPhoto.open()})};e.prettyPhoto.changeGalleryPage=function(e){if(e=="next"){currentGalleryPage++;if(currentGalleryPage>totalPage)currentGalleryPage=0}else if(e=="previous"){currentGalleryPage--;if(currentGalleryPage<0)currentGalleryPage=totalPage}else{currentGalleryPage=e}slide_speed=e=="next"||e=="previous"?settings.animation_speed:0;slide_to=currentGalleryPage*itemsPerPage*itemWidth;$pp_gallery.find("ul").animate({left:-slide_to},slide_speed)};e.prettyPhoto.startSlideshow=function(){if(typeof m=="undefined"){$pp_pic_holder.find(".pp_play").unbind("click").removeClass("pp_play").addClass("pp_pause").click(function(){e.prettyPhoto.stopSlideshow();return false});m=setInterval(e.prettyPhoto.startSlideshow,settings.slideshow)}else{e.prettyPhoto.changePage("next")}};e.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find(".pp_pause").unbind("click").removeClass("pp_pause").addClass("pp_play").click(function(){e.prettyPhoto.startSlideshow();return false});clearInterval(m);m=undefined};e.prettyPhoto.close=function(){if($pp_overlay.is(":animated"))return;e.prettyPhoto.stopSlideshow();$pp_pic_holder.stop().find("object,embed").css("visibility","hidden");e("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animation_speed,function(){e(this).remove()});$pp_overlay.fadeOut(settings.animation_speed,function(){if(settings.hideflash)e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","visible");e(this).remove();e(window).unbind("scroll.prettyphoto");r();settings.callback();doresize=true;f=false;delete settings})};if(!pp_alreadyInitialized&&t()){pp_alreadyInitialized=true;hashIndex=t();hashRel=hashIndex;hashIndex=hashIndex.substring(hashIndex.indexOf("/")+1,hashIndex.length-1);hashRel=hashRel.substring(0,hashRel.indexOf("/"));setTimeout(function(){e("a["+s.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger("click")},50)}return this.unbind("click.prettyphoto").bind("click.prettyphoto",e.prettyPhoto.initialize)};})(jQuery);var pp_alreadyInitialized=false 
     7(function($) { 
     8    $.prettyPhoto = {version: '3.1.6'}; 
     9     
     10    $.fn.prettyPhoto = function(pp_settings) { 
     11        pp_settings = jQuery.extend({ 
     12            hook: 'rel', /* the attribute tag to use for prettyPhoto hooks. default: 'rel'. For HTML5, use "data-rel" or similar. */ 
     13            animation_speed: 'fast', /* fast/slow/normal */ 
     14            ajaxcallback: function() {}, 
     15            slideshow: 5000, /* false OR interval time in ms */ 
     16            autoplay_slideshow: false, /* true/false */ 
     17            opacity: 0.80, /* Value between 0 and 1 */ 
     18            show_title: true, /* true/false */ 
     19            allow_resize: true, /* Resize the photos bigger than viewport. true/false */ 
     20            allow_expand: true, /* Allow the user to expand a resized image. true/false */ 
     21            default_width: 500, 
     22            default_height: 344, 
     23            counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */ 
     24            theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */ 
     25            horizontal_padding: 20, /* The padding on each side of the picture */ 
     26            hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */ 
     27            wmode: 'opaque', /* Set the flash wmode attribute */ 
     28            autoplay: true, /* Automatically start videos: True/False */ 
     29            modal: false, /* If set to true, only the close button will close the window */ 
     30            deeplinking: true, /* Allow prettyPhoto to update the url to enable deeplinking. */ 
     31            overlay_gallery: true, /* If set to true, a gallery will overlay the fullscreen image on mouse over */ 
     32            overlay_gallery_max: 30, /* Maximum number of pictures in the overlay gallery */ 
     33            keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */ 
     34            changepicturecallback: function(){}, /* Called everytime an item is shown/changed */ 
     35            callback: function(){}, /* Called when prettyPhoto is closed */ 
     36            ie6_fallback: true, 
     37            markup: '<div class="pp_pic_holder"> \ 
     38                        <div class="ppt">&nbsp;</div> \ 
     39                        <div class="pp_top"> \ 
     40                            <div class="pp_left"></div> \ 
     41                            <div class="pp_middle"></div> \ 
     42                            <div class="pp_right"></div> \ 
     43                        </div> \ 
     44                        <div class="pp_content_container"> \ 
     45                            <div class="pp_left"> \ 
     46                            <div class="pp_right"> \ 
     47                                <div class="pp_content"> \ 
     48                                    <div class="pp_loaderIcon"></div> \ 
     49                                    <div class="pp_fade"> \ 
     50                                        <a href="#" class="pp_expand" title="Expand the image">Expand</a> \ 
     51                                        <div class="pp_hoverContainer"> \ 
     52                                            <a class="pp_next" href="#">next</a> \ 
     53                                            <a class="pp_previous" href="#">previous</a> \ 
     54                                        </div> \ 
     55                                        <div id="pp_full_res"></div> \ 
     56                                        <div class="pp_details"> \ 
     57                                            <div class="pp_nav"> \ 
     58                                                <a href="#" class="pp_arrow_previous">Previous</a> \ 
     59                                                <p class="currentTextHolder">0/0</p> \ 
     60                                                <a href="#" class="pp_arrow_next">Next</a> \ 
     61                                            </div> \ 
     62                                            <p class="pp_description"></p> \ 
     63                                            <div class="pp_social">{pp_social}</div> \ 
     64                                            <a class="pp_close" href="#">Close</a> \ 
     65                                        </div> \ 
     66                                    </div> \ 
     67                                </div> \ 
     68                            </div> \ 
     69                            </div> \ 
     70                        </div> \ 
     71                        <div class="pp_bottom"> \ 
     72                            <div class="pp_left"></div> \ 
     73                            <div class="pp_middle"></div> \ 
     74                            <div class="pp_right"></div> \ 
     75                        </div> \ 
     76                    </div> \ 
     77                    <div class="pp_overlay"></div>', 
     78            gallery_markup: '<div class="pp_gallery"> \ 
     79                                <a href="#" class="pp_arrow_previous">Previous</a> \ 
     80                                <div> \ 
     81                                    <ul> \ 
     82                                        {gallery} \ 
     83                                    </ul> \ 
     84                                </div> \ 
     85                                <a href="#" class="pp_arrow_next">Next</a> \ 
     86                            </div>', 
     87            image_markup: '<img id="fullResImage" src="{path}" />', 
     88            flash_markup: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>', 
     89            quicktime_markup: '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>', 
     90            iframe_markup: '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>', 
     91            inline_markup: '<div class="pp_inline">{content}</div>', 
     92            custom_markup: '', 
     93            social_tools: '<div class="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div>' /* html or false to disable */ 
     94        }, pp_settings); 
     95         
     96        // Global variables accessible only by prettyPhoto 
     97        var matchedObjects = this, percentBased = false, pp_dimensions, pp_open, 
     98         
     99        // prettyPhoto container specific 
     100        pp_contentHeight, pp_contentWidth, pp_containerHeight, pp_containerWidth, 
     101         
     102        // Window size 
     103        windowHeight = $(window).height(), windowWidth = $(window).width(), 
     104 
     105        // Global elements 
     106        pp_slideshow; 
     107         
     108        doresize = true, scroll_pos = _get_scroll(); 
     109     
     110        // Window/Keyboard events 
     111        $(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){ _center_overlay(); _resize_overlay(); }); 
     112         
     113        if(pp_settings.keyboard_shortcuts) { 
     114            $(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){ 
     115                if(typeof $pp_pic_holder != 'undefined'){ 
     116                    if($pp_pic_holder.is(':visible')){ 
     117                        switch(e.keyCode){ 
     118                            case 37: 
     119                                $.prettyPhoto.changePage('previous'); 
     120                                e.preventDefault(); 
     121                                break; 
     122                            case 39: 
     123                                $.prettyPhoto.changePage('next'); 
     124                                e.preventDefault(); 
     125                                break; 
     126                            case 27: 
     127                                if(!settings.modal) 
     128                                $.prettyPhoto.close(); 
     129                                e.preventDefault(); 
     130                                break; 
     131                        }; 
     132                        // return false; 
     133                    }; 
     134                }; 
     135            }); 
     136        }; 
     137         
     138        /** 
     139        * Initialize prettyPhoto. 
     140        */ 
     141        $.prettyPhoto.initialize = function() { 
     142             
     143            settings = pp_settings; 
     144             
     145            if(settings.theme == 'pp_default') settings.horizontal_padding = 16; 
     146             
     147            // Find out if the picture is part of a set 
     148            theRel = $(this).attr(settings.hook); 
     149            galleryRegExp = /\[(?:.*)\]/; 
     150            isSet = (galleryRegExp.exec(theRel)) ? true : false; 
     151             
     152            // Put the SRCs, TITLEs, ALTs into an array. 
     153            pp_images = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return $(n).attr('href'); }) : $.makeArray($(this).attr('href')); 
     154            pp_titles = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return ($(n).find('img').attr('alt')) ? $(n).find('img').attr('alt') : ""; }) : $.makeArray($(this).find('img').attr('alt')); 
     155            pp_descriptions = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return ($(n).attr('title')) ? $(n).attr('title') : ""; }) : $.makeArray($(this).attr('title')); 
     156             
     157            if(pp_images.length > settings.overlay_gallery_max) settings.overlay_gallery = false; 
     158             
     159            set_position = jQuery.inArray($(this).attr('href'), pp_images); // Define where in the array the clicked item is positionned 
     160            rel_index = (isSet) ? set_position : $("a["+settings.hook+"^='"+theRel+"']").index($(this)); 
     161             
     162            _build_overlay(this); // Build the overlay {this} being the caller 
     163             
     164            if(settings.allow_resize) 
     165                $(window).bind('scroll.prettyphoto',function(){ _center_overlay(); }); 
     166             
     167             
     168            $.prettyPhoto.open(); 
     169             
     170            return false; 
     171        } 
     172 
     173 
     174        /** 
     175        * Opens the prettyPhoto modal box. 
     176        * @param image {String,Array} Full path to the image to be open, can also be an array containing full images paths. 
     177        * @param title {String,Array} The title to be displayed with the picture, can also be an array containing all the titles. 
     178        * @param description {String,Array} The description to be displayed with the picture, can also be an array containing all the descriptions. 
     179        */ 
     180        $.prettyPhoto.open = function(event) { 
     181            if(typeof settings == "undefined"){ // Means it's an API call, need to manually get the settings and set the variables 
     182                settings = pp_settings; 
     183                pp_images = $.makeArray(arguments[0]); 
     184                pp_titles = (arguments[1]) ? $.makeArray(arguments[1]) : $.makeArray(""); 
     185                pp_descriptions = (arguments[2]) ? $.makeArray(arguments[2]) : $.makeArray(""); 
     186                isSet = (pp_images.length > 1) ? true : false; 
     187                set_position = (arguments[3])? arguments[3]: 0; 
     188                _build_overlay(event.target); // Build the overlay {this} being the caller 
     189            } 
     190             
     191            if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden'); // Hide the flash 
     192 
     193            _checkPosition($(pp_images).size()); // Hide the next/previous links if on first or last images. 
     194         
     195            $('.pp_loaderIcon').show(); 
     196         
     197            if(settings.deeplinking) 
     198                setHashtag(); 
     199         
     200            // Rebuild Facebook Like Button with updated href 
     201            if(settings.social_tools){ 
     202                facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href));  
     203                $pp_pic_holder.find('.pp_social').html(facebook_like_link); 
     204            } 
     205             
     206            // Fade the content in 
     207            if($ppt.is(':hidden')) $ppt.css('opacity',0).show(); 
     208            $pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity); 
     209 
     210            // Display the current position 
     211            $pp_pic_holder.find('.currentTextHolder').text((set_position+1) + settings.counter_separator_label + $(pp_images).size()); 
     212 
     213            // Set the description 
     214            if(typeof pp_descriptions[set_position] != 'undefined' && pp_descriptions[set_position] != ""){ 
     215                $pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position])); 
     216            }else{ 
     217                $pp_pic_holder.find('.pp_description').hide(); 
     218            } 
     219             
     220            // Get the dimensions 
     221            movie_width = ( parseFloat(getParam('width',pp_images[set_position])) ) ? getParam('width',pp_images[set_position]) : settings.default_width.toString(); 
     222            movie_height = ( parseFloat(getParam('height',pp_images[set_position])) ) ? getParam('height',pp_images[set_position]) : settings.default_height.toString(); 
     223             
     224            // If the size is % based, calculate according to window dimensions 
     225            percentBased=false; 
     226            if(movie_height.indexOf('%') != -1) { movie_height = parseFloat(($(window).height() * parseFloat(movie_height) / 100) - 150); percentBased = true; } 
     227            if(movie_width.indexOf('%') != -1) { movie_width = parseFloat(($(window).width() * parseFloat(movie_width) / 100) - 150); percentBased = true; } 
     228             
     229            // Fade the holder 
     230            $pp_pic_holder.fadeIn(function(){ 
     231                // Set the title 
     232                (settings.show_title && pp_titles[set_position] != "" && typeof pp_titles[set_position] != "undefined") ? $ppt.html(unescape(pp_titles[set_position])) : $ppt.html('&nbsp;'); 
     233                 
     234                imgPreloader = ""; 
     235                skipInjection = false; 
     236                 
     237                // Inject the proper content 
     238                switch(_getFileType(pp_images[set_position])){ 
     239                    case 'image': 
     240                        imgPreloader = new Image(); 
     241 
     242                        // Preload the neighbour images 
     243                        nextImage = new Image(); 
     244                        if(isSet && set_position < $(pp_images).size() -1) nextImage.src = pp_images[set_position + 1]; 
     245                        prevImage = new Image(); 
     246                        if(isSet && pp_images[set_position - 1]) prevImage.src = pp_images[set_position - 1]; 
     247 
     248                        $pp_pic_holder.find('#pp_full_res')[0].innerHTML = settings.image_markup.replace(/{path}/g,pp_images[set_position]); 
     249 
     250                        imgPreloader.onload = function(){ 
     251                            // Fit item to viewport 
     252                            pp_dimensions = _fitToViewport(imgPreloader.width,imgPreloader.height); 
     253 
     254                            _showContent(); 
     255                        }; 
     256 
     257                        imgPreloader.onerror = function(){ 
     258                            alert('Image cannot be loaded. Make sure the path is correct and image exist.'); 
     259                            $.prettyPhoto.close(); 
     260                        }; 
     261                     
     262                        imgPreloader.src = pp_images[set_position]; 
     263                    break; 
     264                 
     265                    case 'youtube': 
     266                        pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 
     267                         
     268                        // Regular youtube link 
     269                        movie_id = getParam('v',pp_images[set_position]); 
     270                         
     271                        // youtu.be link 
     272                        if(movie_id == ""){ 
     273                            movie_id = pp_images[set_position].split('youtu.be/'); 
     274                            movie_id = movie_id[1]; 
     275                            if(movie_id.indexOf('?') > 0) 
     276                                movie_id = movie_id.substr(0,movie_id.indexOf('?')); // Strip anything after the ? 
     277 
     278                            if(movie_id.indexOf('&') > 0) 
     279                                movie_id = movie_id.substr(0,movie_id.indexOf('&')); // Strip anything after the & 
     280                        } 
     281 
     282                        movie = 'http://www.youtube.com/embed/'+movie_id; 
     283                        (getParam('rel',pp_images[set_position])) ? movie+="?rel="+getParam('rel',pp_images[set_position]) : movie+="?rel=1"; 
     284                             
     285                        if(settings.autoplay) movie += "&autoplay=1"; 
     286                     
     287                        toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie); 
     288                    break; 
     289                 
     290                    case 'vimeo': 
     291                        pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 
     292                     
     293                        movie_id = pp_images[set_position]; 
     294                        var regExp = /http(s?):\/\/(www\.)?vimeo.com\/(\d+)/; 
     295                        var match = movie_id.match(regExp); 
     296                         
     297                        movie = 'http://player.vimeo.com/video/'+ match[3] +'?title=0&amp;byline=0&amp;portrait=0'; 
     298                        if(settings.autoplay) movie += "&autoplay=1;"; 
     299                 
     300                        vimeo_width = pp_dimensions['width'] + '/embed/?moog_width='+ pp_dimensions['width']; 
     301                 
     302                        toInject = settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie); 
     303                    break; 
     304                 
     305                    case 'quicktime': 
     306                        pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 
     307                        pp_dimensions['height']+=15; pp_dimensions['contentHeight']+=15; pp_dimensions['containerHeight']+=15; // Add space for the control bar 
     308                 
     309                        toInject = settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay); 
     310                    break; 
     311                 
     312                    case 'flash': 
     313                        pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 
     314                     
     315                        flash_vars = pp_images[set_position]; 
     316                        flash_vars = flash_vars.substring(pp_images[set_position].indexOf('flashvars') + 10,pp_images[set_position].length); 
     317 
     318                        filename = pp_images[set_position]; 
     319                        filename = filename.substring(0,filename.indexOf('?')); 
     320                     
     321                        toInject =  settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars); 
     322                    break; 
     323                 
     324                    case 'iframe': 
     325                        pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 
     326                 
     327                        frame_url = pp_images[set_position]; 
     328                        frame_url = frame_url.substr(0,frame_url.indexOf('iframe')-1); 
     329 
     330                        toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url); 
     331                    break; 
     332                     
     333                    case 'ajax': 
     334                        doresize = false; // Make sure the dimensions are not resized. 
     335                        pp_dimensions = _fitToViewport(movie_width,movie_height); 
     336                        doresize = true; // Reset the dimensions 
     337                     
     338                        skipInjection = true; 
     339                        $.get(pp_images[set_position],function(responseHTML){ 
     340                            toInject = settings.inline_markup.replace(/{content}/g,responseHTML); 
     341                            $pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject; 
     342                            _showContent(); 
     343                        }); 
     344                         
     345                    break; 
     346                     
     347                    case 'custom': 
     348                        pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 
     349                     
     350                        toInject = settings.custom_markup; 
     351                    break; 
     352                 
     353                    case 'inline': 
     354                        // to get the item height clone it, apply default width, wrap it in the prettyPhoto containers , then delete 
     355                        myClone = $(pp_images[set_position]).clone().append('<br clear="all" />').css({'width':settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo($('body')).show(); 
     356                        doresize = false; // Make sure the dimensions are not resized. 
     357                        pp_dimensions = _fitToViewport($(myClone).width(),$(myClone).height()); 
     358                        doresize = true; // Reset the dimensions 
     359                        $(myClone).remove(); 
     360                        toInject = settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html()); 
     361                    break; 
     362                }; 
     363 
     364                if(!imgPreloader && !skipInjection){ 
     365                    $pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject; 
     366                 
     367                    // Show content 
     368                    _showContent(); 
     369                }; 
     370            }); 
     371 
     372            return false; 
     373        }; 
     374 
     375     
     376        /** 
     377        * Change page in the prettyPhoto modal box 
     378        * @param direction {String} Direction of the paging, previous or next. 
     379        */ 
     380        $.prettyPhoto.changePage = function(direction){ 
     381            currentGalleryPage = 0; 
     382             
     383            if(direction == 'previous') { 
     384                set_position--; 
     385                if (set_position < 0) set_position = $(pp_images).size()-1; 
     386            }else if(direction == 'next'){ 
     387                set_position++; 
     388                if(set_position > $(pp_images).size()-1) set_position = 0; 
     389            }else{ 
     390                set_position=direction; 
     391            }; 
     392             
     393            rel_index = set_position; 
     394 
     395            if(!doresize) doresize = true; // Allow the resizing of the images 
     396            if(settings.allow_expand) { 
     397                $('.pp_contract').removeClass('pp_contract').addClass('pp_expand'); 
     398            } 
     399 
     400            _hideContent(function(){ $.prettyPhoto.open(); }); 
     401        }; 
     402 
     403 
     404        /** 
     405        * Change gallery page in the prettyPhoto modal box 
     406        * @param direction {String} Direction of the paging, previous or next. 
     407        */ 
     408        $.prettyPhoto.changeGalleryPage = function(direction){ 
     409            if(direction=='next'){ 
     410                currentGalleryPage ++; 
     411 
     412                if(currentGalleryPage > totalPage) currentGalleryPage = 0; 
     413            }else if(direction=='previous'){ 
     414                currentGalleryPage --; 
     415 
     416                if(currentGalleryPage < 0) currentGalleryPage = totalPage; 
     417            }else{ 
     418                currentGalleryPage = direction; 
     419            }; 
     420             
     421            slide_speed = (direction == 'next' || direction == 'previous') ? settings.animation_speed : 0; 
     422 
     423            slide_to = currentGalleryPage * (itemsPerPage * itemWidth); 
     424 
     425            $pp_gallery.find('ul').animate({left:-slide_to},slide_speed); 
     426        }; 
     427 
     428 
     429        /** 
     430        * Start the slideshow... 
     431        */ 
     432        $.prettyPhoto.startSlideshow = function(){ 
     433            if(typeof pp_slideshow == 'undefined'){ 
     434                $pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){ 
     435                    $.prettyPhoto.stopSlideshow(); 
     436                    return false; 
     437                }); 
     438                pp_slideshow = setInterval($.prettyPhoto.startSlideshow,settings.slideshow); 
     439            }else{ 
     440                $.prettyPhoto.changePage('next');    
     441            }; 
     442        } 
     443 
     444 
     445        /** 
     446        * Stop the slideshow... 
     447        */ 
     448        $.prettyPhoto.stopSlideshow = function(){ 
     449            $pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){ 
     450                $.prettyPhoto.startSlideshow(); 
     451                return false; 
     452            }); 
     453            clearInterval(pp_slideshow); 
     454            pp_slideshow=undefined; 
     455        } 
     456 
     457 
     458        /** 
     459        * Closes prettyPhoto. 
     460        */ 
     461        $.prettyPhoto.close = function(){ 
     462            if($pp_overlay.is(":animated")) return; 
     463             
     464            $.prettyPhoto.stopSlideshow(); 
     465             
     466            $pp_pic_holder.stop().find('object,embed').css('visibility','hidden'); 
     467             
     468            $('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){ $(this).remove(); }); 
     469             
     470            $pp_overlay.fadeOut(settings.animation_speed, function(){ 
     471                 
     472                if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible'); // Show the flash 
     473                 
     474                $(this).remove(); // No more need for the prettyPhoto markup 
     475                 
     476                $(window).unbind('scroll.prettyphoto'); 
     477                 
     478                clearHashtag(); 
     479                 
     480                settings.callback(); 
     481                 
     482                doresize = true; 
     483                 
     484                pp_open = false; 
     485                 
     486                delete settings; 
     487            }); 
     488        }; 
     489     
     490        /** 
     491        * Set the proper sizes on the containers and animate the content in. 
     492        */ 
     493        function _showContent(){ 
     494            $('.pp_loaderIcon').hide(); 
     495 
     496            // Calculate the opened top position of the pic holder 
     497            projectedTop = scroll_pos['scrollTop'] + ((windowHeight/2) - (pp_dimensions['containerHeight']/2)); 
     498            if(projectedTop < 0) projectedTop = 0; 
     499 
     500            $ppt.fadeTo(settings.animation_speed,1); 
     501 
     502            // Resize the content holder 
     503            $pp_pic_holder.find('.pp_content') 
     504                .animate({ 
     505                    height:pp_dimensions['contentHeight'], 
     506                    width:pp_dimensions['contentWidth'] 
     507                },settings.animation_speed); 
     508             
     509            // Resize picture the holder 
     510            $pp_pic_holder.animate({ 
     511                'top': projectedTop, 
     512                'left': ((windowWidth/2) - (pp_dimensions['containerWidth']/2) < 0) ? 0 : (windowWidth/2) - (pp_dimensions['containerWidth']/2), 
     513                width:pp_dimensions['containerWidth'] 
     514            },settings.animation_speed,function(){ 
     515                $pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']); 
     516 
     517                $pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed); // Fade the new content 
     518 
     519                // Show the nav 
     520                if(isSet && _getFileType(pp_images[set_position])=="image") { $pp_pic_holder.find('.pp_hoverContainer').show(); }else{ $pp_pic_holder.find('.pp_hoverContainer').hide(); } 
     521             
     522                if(settings.allow_expand) { 
     523                    if(pp_dimensions['resized']){ // Fade the resizing link if the image is resized 
     524                        $('a.pp_expand,a.pp_contract').show(); 
     525                    }else{ 
     526                        $('a.pp_expand').hide(); 
     527                    } 
     528                } 
     529                 
     530                if(settings.autoplay_slideshow && !pp_slideshow && !pp_open) $.prettyPhoto.startSlideshow(); 
     531                 
     532                settings.changepicturecallback(); // Callback! 
     533                 
     534                pp_open = true; 
     535            }); 
     536             
     537            _insert_gallery(); 
     538            pp_settings.ajaxcallback(); 
     539        }; 
     540         
     541        /** 
     542        * Hide the content...DUH! 
     543        */ 
     544        function _hideContent(callback){ 
     545            // Fade out the current picture 
     546            $pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden'); 
     547            $pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){ 
     548                $('.pp_loaderIcon').show(); 
     549                 
     550                callback(); 
     551            }); 
     552        }; 
     553     
     554        /** 
     555        * Check the item position in the gallery array, hide or show the navigation links 
     556        * @param setCount {integer} The total number of items in the set 
     557        */ 
     558        function _checkPosition(setCount){ 
     559            (setCount > 1) ? $('.pp_nav').show() : $('.pp_nav').hide(); // Hide the bottom nav if it's not a set. 
     560        }; 
     561     
     562        /** 
     563        * Resize the item dimensions if it's bigger than the viewport 
     564        * @param width {integer} Width of the item to be opened 
     565        * @param height {integer} Height of the item to be opened 
     566        * @return An array containin the "fitted" dimensions 
     567        */ 
     568        function _fitToViewport(width,height){ 
     569            resized = false; 
     570 
     571            _getDimensions(width,height); 
     572             
     573            // Define them in case there's no resize needed 
     574            imageWidth = width, imageHeight = height; 
     575 
     576            if( ((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)) && doresize && settings.allow_resize && !percentBased) { 
     577                resized = true, fitting = false; 
     578             
     579                while (!fitting){ 
     580                    if((pp_containerWidth > windowWidth)){ 
     581                        imageWidth = (windowWidth - 200); 
     582                        imageHeight = (height/width) * imageWidth; 
     583                    }else if((pp_containerHeight > windowHeight)){ 
     584                        imageHeight = (windowHeight - 200); 
     585                        imageWidth = (width/height) * imageHeight; 
     586                    }else{ 
     587                        fitting = true; 
     588                    }; 
     589 
     590                    pp_containerHeight = imageHeight, pp_containerWidth = imageWidth; 
     591                }; 
     592             
     593 
     594                 
     595                if((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)){ 
     596                    _fitToViewport(pp_containerWidth,pp_containerHeight) 
     597                }; 
     598                 
     599                _getDimensions(imageWidth,imageHeight); 
     600            }; 
     601             
     602            return { 
     603                width:Math.floor(imageWidth), 
     604                height:Math.floor(imageHeight), 
     605                containerHeight:Math.floor(pp_containerHeight), 
     606                containerWidth:Math.floor(pp_containerWidth) + (settings.horizontal_padding * 2), 
     607                contentHeight:Math.floor(pp_contentHeight), 
     608                contentWidth:Math.floor(pp_contentWidth), 
     609                resized:resized 
     610            }; 
     611        }; 
     612         
     613        /** 
     614        * Get the containers dimensions according to the item size 
     615        * @param width {integer} Width of the item to be opened 
     616        * @param height {integer} Height of the item to be opened 
     617        */ 
     618        function _getDimensions(width,height){ 
     619            width = parseFloat(width); 
     620            height = parseFloat(height); 
     621             
     622            // Get the details height, to do so, I need to clone it since it's invisible 
     623            $pp_details = $pp_pic_holder.find('.pp_details'); 
     624            $pp_details.width(width); 
     625            detailsHeight = parseFloat($pp_details.css('marginTop')) + parseFloat($pp_details.css('marginBottom')); 
     626             
     627            $pp_details = $pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({ 
     628                'position':'absolute', 
     629                'top':-10000 
     630            }); 
     631            detailsHeight += $pp_details.height(); 
     632            detailsHeight = (detailsHeight <= 34) ? 36 : detailsHeight; // Min-height for the details 
     633            $pp_details.remove(); 
     634             
     635            // Get the titles height, to do so, I need to clone it since it's invisible 
     636            $pp_title = $pp_pic_holder.find('.ppt'); 
     637            $pp_title.width(width); 
     638            titleHeight = parseFloat($pp_title.css('marginTop')) + parseFloat($pp_title.css('marginBottom')); 
     639            $pp_title = $pp_title.clone().appendTo($('body')).css({ 
     640                'position':'absolute', 
     641                'top':-10000 
     642            }); 
     643            titleHeight += $pp_title.height(); 
     644            $pp_title.remove(); 
     645             
     646            // Get the container size, to resize the holder to the right dimensions 
     647            pp_contentHeight = height + detailsHeight; 
     648            pp_contentWidth = width; 
     649            pp_containerHeight = pp_contentHeight + titleHeight + $pp_pic_holder.find('.pp_top').height() + $pp_pic_holder.find('.pp_bottom').height(); 
     650            pp_containerWidth = width; 
     651        } 
     652     
     653        function _getFileType(itemSrc){ 
     654            if (itemSrc.match(/youtube\.com\/watch/i) || itemSrc.match(/youtu\.be/i)) { 
     655                return 'youtube'; 
     656            }else if (itemSrc.match(/vimeo\.com/i)) { 
     657                return 'vimeo'; 
     658            }else if(itemSrc.match(/\b.mov\b/i)){  
     659                return 'quicktime'; 
     660            }else if(itemSrc.match(/\b.swf\b/i)){ 
     661                return 'flash'; 
     662            }else if(itemSrc.match(/\biframe=true\b/i)){ 
     663                return 'iframe'; 
     664            }else if(itemSrc.match(/\bajax=true\b/i)){ 
     665                return 'ajax'; 
     666            }else if(itemSrc.match(/\bcustom=true\b/i)){ 
     667                return 'custom'; 
     668            }else if(itemSrc.substr(0,1) == '#'){ 
     669                return 'inline'; 
     670            }else{ 
     671                return 'image'; 
     672            }; 
     673        }; 
     674     
     675        function _center_overlay(){ 
     676            if(doresize && typeof $pp_pic_holder != 'undefined') { 
     677                scroll_pos = _get_scroll(); 
     678                contentHeight = $pp_pic_holder.height(), contentwidth = $pp_pic_holder.width(); 
     679 
     680                projectedTop = (windowHeight/2) + scroll_pos['scrollTop'] - (contentHeight/2); 
     681                if(projectedTop < 0) projectedTop = 0; 
     682                 
     683                if(contentHeight > windowHeight) 
     684                    return; 
     685 
     686                $pp_pic_holder.css({ 
     687                    'top': projectedTop, 
     688                    'left': (windowWidth/2) + scroll_pos['scrollLeft'] - (contentwidth/2) 
     689                }); 
     690            }; 
     691        }; 
     692     
     693        function _get_scroll(){ 
     694            if (self.pageYOffset) { 
     695                return {scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset}; 
     696            } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict 
     697                return {scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft}; 
     698            } else if (document.body) {// all other Explorers 
     699                return {scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft}; 
     700            }; 
     701        }; 
     702     
     703        function _resize_overlay() { 
     704            windowHeight = $(window).height(), windowWidth = $(window).width(); 
     705             
     706            if(typeof $pp_overlay != "undefined") $pp_overlay.height($(document).height()).width(windowWidth); 
     707        }; 
     708     
     709        function _insert_gallery(){ 
     710            if(isSet && settings.overlay_gallery && _getFileType(pp_images[set_position])=="image") { 
     711                itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin. 
     712                navWidth = (settings.theme == "facebook" || settings.theme == "pp_default") ? 50 : 30; // Define the arrow width depending on the theme 
     713                 
     714                itemsPerPage = Math.floor((pp_dimensions['containerWidth'] - 100 - navWidth) / itemWidth); 
     715                itemsPerPage = (itemsPerPage < pp_images.length) ? itemsPerPage : pp_images.length; 
     716                totalPage = Math.ceil(pp_images.length / itemsPerPage) - 1; 
     717 
     718                // Hide the nav in the case there's no need for links 
     719                if(totalPage == 0){ 
     720                    navWidth = 0; // No nav means no width! 
     721                    $pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').hide(); 
     722                }else{ 
     723                    $pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').show(); 
     724                }; 
     725 
     726                galleryWidth = itemsPerPage * itemWidth; 
     727                fullGalleryWidth = pp_images.length * itemWidth; 
     728                 
     729                // Set the proper width to the gallery items 
     730                $pp_gallery 
     731                    .css('margin-left',-((galleryWidth/2) + (navWidth/2))) 
     732                    .find('div:first').width(galleryWidth+5) 
     733                    .find('ul').width(fullGalleryWidth) 
     734                    .find('li.selected').removeClass('selected'); 
     735                 
     736                goToPage = (Math.floor(set_position/itemsPerPage) < totalPage) ? Math.floor(set_position/itemsPerPage) : totalPage; 
     737 
     738                $.prettyPhoto.changeGalleryPage(goToPage); 
     739                 
     740                $pp_gallery_li.filter(':eq('+set_position+')').addClass('selected'); 
     741            }else{ 
     742                $pp_pic_holder.find('.pp_content').unbind('mouseenter mouseleave'); 
     743                // $pp_gallery.hide(); 
     744            } 
     745        } 
     746     
     747        function _build_overlay(caller){ 
     748            // Inject Social Tool markup into General markup 
     749            if(settings.social_tools) 
     750                facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href));  
     751 
     752            settings.markup = settings.markup.replace('{pp_social}','');  
     753             
     754            $('body').append(settings.markup); // Inject the markup 
     755             
     756            $pp_pic_holder = $('.pp_pic_holder') , $ppt = $('.ppt'), $pp_overlay = $('div.pp_overlay'); // Set my global selectors 
     757             
     758            // Inject the inline gallery! 
     759            if(isSet && settings.overlay_gallery) { 
     760                currentGalleryPage = 0; 
     761                toInject = ""; 
     762                for (var i=0; i < pp_images.length; i++) { 
     763                    if(!pp_images[i].match(/\b(jpg|jpeg|png|gif)\b/gi)){ 
     764                        classname = 'default'; 
     765                        img_src = ''; 
     766                    }else{ 
     767                        classname = ''; 
     768                        img_src = pp_images[i]; 
     769                    } 
     770                    toInject += "<li class='"+classname+"'><a href='#'><img src='" + img_src + "' width='50' alt='' /></a></li>"; 
     771                }; 
     772                 
     773                toInject = settings.gallery_markup.replace(/{gallery}/g,toInject); 
     774                 
     775                $pp_pic_holder.find('#pp_full_res').after(toInject); 
     776                 
     777                $pp_gallery = $('.pp_pic_holder .pp_gallery'), $pp_gallery_li = $pp_gallery.find('li'); // Set the gallery selectors 
     778                 
     779                $pp_gallery.find('.pp_arrow_next').click(function(){ 
     780                    $.prettyPhoto.changeGalleryPage('next'); 
     781                    $.prettyPhoto.stopSlideshow(); 
     782                    return false; 
     783                }); 
     784                 
     785                $pp_gallery.find('.pp_arrow_previous').click(function(){ 
     786                    $.prettyPhoto.changeGalleryPage('previous'); 
     787                    $.prettyPhoto.stopSlideshow(); 
     788                    return false; 
     789                }); 
     790                 
     791                $pp_pic_holder.find('.pp_content').hover( 
     792                    function(){ 
     793                        $pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn(); 
     794                    }, 
     795                    function(){ 
     796                        $pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut(); 
     797                    }); 
     798 
     799                itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin. 
     800                $pp_gallery_li.each(function(i){ 
     801                    $(this) 
     802                        .find('a') 
     803                        .click(function(){ 
     804                            $.prettyPhoto.changePage(i); 
     805                            $.prettyPhoto.stopSlideshow(); 
     806                            return false; 
     807                        }); 
     808                }); 
     809            }; 
     810             
     811             
     812            // Inject the play/pause if it's a slideshow 
     813            if(settings.slideshow){ 
     814                $pp_pic_holder.find('.pp_nav').prepend('<a href="#" class="pp_play">Play</a>') 
     815                $pp_pic_holder.find('.pp_nav .pp_play').click(function(){ 
     816                    $.prettyPhoto.startSlideshow(); 
     817                    return false; 
     818                }); 
     819            } 
     820             
     821            $pp_pic_holder.attr('class','pp_pic_holder ' + settings.theme); // Set the proper theme 
     822             
     823            $pp_overlay 
     824                .css({ 
     825                    'opacity':0, 
     826                    'height':$(document).height(), 
     827                    'width':$(window).width() 
     828                    }) 
     829                .bind('click',function(){ 
     830                    if(!settings.modal) $.prettyPhoto.close(); 
     831                }); 
     832 
     833            $('a.pp_close').bind('click',function(){ $.prettyPhoto.close(); return false; }); 
     834 
     835 
     836            if(settings.allow_expand) { 
     837                $('a.pp_expand').bind('click',function(e){ 
     838                    // Expand the image 
     839                    if($(this).hasClass('pp_expand')){ 
     840                        $(this).removeClass('pp_expand').addClass('pp_contract'); 
     841                        doresize = false; 
     842                    }else{ 
     843                        $(this).removeClass('pp_contract').addClass('pp_expand'); 
     844                        doresize = true; 
     845                    }; 
     846                 
     847                    _hideContent(function(){ $.prettyPhoto.open(); }); 
     848             
     849                    return false; 
     850                }); 
     851            } 
     852         
     853            $pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){ 
     854                $.prettyPhoto.changePage('previous'); 
     855                $.prettyPhoto.stopSlideshow(); 
     856                return false; 
     857            }); 
     858         
     859            $pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){ 
     860                $.prettyPhoto.changePage('next'); 
     861                $.prettyPhoto.stopSlideshow(); 
     862                return false; 
     863            }); 
     864             
     865            _center_overlay(); // Center it 
     866        }; 
     867 
     868        if(!pp_alreadyInitialized && getHashtag()){ 
     869            pp_alreadyInitialized = true; 
     870             
     871            // Grab the rel index to trigger the click on the correct element 
     872            hashIndex = getHashtag(); 
     873            hashRel = hashIndex; 
     874            hashIndex = hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1); 
     875            hashRel = hashRel.substring(0,hashRel.indexOf('/')); 
     876 
     877            // Little timeout to make sure all the prettyPhoto initialize scripts has been run. 
     878            // Useful in the event the page contain several init scripts. 
     879            setTimeout(function(){ $("a["+pp_settings.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger('click'); },50); 
     880        } 
     881         
     882        return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize); // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once 
     883    }; 
     884     
     885    function getHashtag(){ 
     886        var url = location.href; 
     887        hashtag = (url.indexOf('#prettyPhoto') !== -1) ? decodeURI(url.substring(url.indexOf('#prettyPhoto')+1,url.length)) : false; 
     888        if(hashtag){  hashtag = hashtag.replace(/<|>/g,''); } 
     889        return hashtag; 
     890    }; 
     891     
     892    function setHashtag(){ 
     893        if(typeof theRel == 'undefined') return; // theRel is set on normal calls, it's impossible to deeplink using the API 
     894        location.hash = theRel + '/'+rel_index+'/'; 
     895    }; 
     896     
     897    function clearHashtag(){ 
     898        if ( location.href.indexOf('#prettyPhoto') !== -1 ) location.hash = "prettyPhoto"; 
     899    } 
     900     
     901    function getParam(name,url){ 
     902      name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
     903      var regexS = "[\\?&]"+name+"=([^&#]*)"; 
     904      var regex = new RegExp( regexS ); 
     905      var results = regex.exec( url ); 
     906      return ( results == null ) ? "" : results[1]; 
     907    } 
     908     
     909})(jQuery); 
     910 
     911var pp_alreadyInitialized = false; // Used for the deep linking to make sure not to call the same function several times. 
  • woocommerce-maintenance-mode/trunk/changelog.txt

    r947895 r1170994  
    11*** WooCommerce Maintenance Mode Changelog *** 
     2 
     3= 1.4 = 
     4* 2015-06-30 
     5* Fix - Update PrettyPhoto to 3.1.6 to resolve XSS security issue <a href="https://github.com/scaron/prettyphoto/issues/149">https://github.com/scaron/prettyphoto/issues/149</a> 
     6* Tweak - Removed conditional check to only display the plugins message/lightbox/redirect when admin is NOT logged in. This caused to much confusion for users. 
     7* Tweak - Replaced WordPress the_content filter with proper WooCommerce hooks 
     8* Feature - Added a link in the admin notice for clearing cache when using W3 Total Cache plugin. 
    29 
    310= 1.3 = 
  • woocommerce-maintenance-mode/trunk/readme.txt

    r989372 r1170994  
    44Tags: woocommerce, maintenance, shop, store, notice, alert, redirect, lightbox 
    55Requires at least: 3.8 
    6 Tested up to: 4.0 
    7 Stable tag: 1.3 
     6Tested up to: 4.2 
     7Stable tag: 1.4 
    88 
    99Store messages or redirects on all WooCommerce pages for non admins. Other pages/posts unaffected. Ideal for store maintenance or store wide notices. 
     
    2727* Control frequency of messages/redirects  
    2828* Control how message is displayed 
     29* Countdown Timer 
    2930 
    3031== Usage == 
     
    5455== Frequently Asked Questions == 
    5556 
    56 No questions yet. Need help, contact me via [my website](http://mattroyal.co.za). 
     57= The plugin isn't working?! = 
     58 
     59When previewing your lightbox popup, in-page message or testing your redirect you MUST remember to logout and then view it or use a secondary browser that is not logged into your Dashboard to view it. One of the conditions for the plugin to display or redirect on WooCommerce pages is that the user is NOT logged in, but its easy to forget this when working or testing things on your site. (I have done it plenty.) 
     60 
     61Also remember to either use the 0 value for cookie settings within your plugin whilst testing or use the delete all cookies button and then test again. Often it is not working because the cookie has already been set previously and you have just forgotten about it :) 
     62 
     63= I have a question, I need help = 
     64 
     65You contact me via [my website](http://mattroyal.co.za). 
     66 
    5767 
    5868== Screenshots == 
     
    6474 
    6575== Changelog == 
     76 
     77= 1.4 = 
     78* 2015-06-30 
     79* Fix - Update PrettyPhoto to 3.1.6 to resolve XSS security issue <a href="https://github.com/scaron/prettyphoto/issues/149">https://github.com/scaron/prettyphoto/issues/149</a> 
     80* Tweak - Removed conditional check to only display the plugins message/lightbox/redirect when admin is NOT logged in. This caused to much confusion for users. 
     81* Tweak - Replaced WordPress the_content filter with proper WooCommerce hooks 
     82* Feature - Added a link in the admin notice for clearing cache when using W3 Total Cache plugin. 
    6683 
    6784= 1.3 = 
     
    85102== Upgrade Notice == 
    86103 
     104= 1.4 = 
     105* 2015-06-30 
     106* Fix - Update PrettyPhoto to 3.1.6 to resolve XSS security issue <a href="https://github.com/scaron/prettyphoto/issues/149">https://github.com/scaron/prettyphoto/issues/149</a> 
     107* Tweak - Removed conditional check to only display the plugins message/lightbox/redirect when admin is NOT logged in. This caused to much confusion for users. 
     108* Tweak - Replaced WordPress the_content filter with proper WooCommerce hooks 
     109* Feature - Added a link in the admin notice for clearing cache when using W3 Total Cache plugin. 
     110 
    87111= 1.3 = 
    88112* 2014-07-13 
  • woocommerce-maintenance-mode/trunk/woocommerce-maintenance-mode.php

    r989372 r1170994  
    22/* 
    33   Plugin Name: WooCommerce Maintenance Mode 
    4    Version: 1.3 
     4   Version: 1.4 
    55   Description: Add a message or redirect on Woocommerce pages only, not affecting any other parts of your website. Logged in admins will not see anything. 
    66   Plugin URI: http://www.mattroyal.co.za/plugins/woocommerce-maintenance-mode/ 
     
    88   Author URI: http://www.mattroyal.co.za/ 
    99   Requires at least: 3.8 
    10    Tested up to: 4.0 
     10   Tested up to: 4.2 
    1111   Text Domain: woocommerce-maintenance-mode 
    1212   License: GPLv3 
     
    5454            if ( ! get_user_meta($user_id, 'woocommerce_maintmode_ignore_notice') ) { 
    5555                echo '<div class="error"><p>'; 
    56                 printf(__('WooCommerce Maintenance/Message mode is Active! | <a href="options-general.php?page=woocommerce_maintmode_plugin_options">Turn Off</a><!-- | <a href="%1$s">Hide Notice</a> -->'), '?woocommerce_maintmode_nag_ignore=0'); 
     56                printf(__('WooCommerce Maintenance/Message mode is Active! | <a href="options-general.php?page=woocommerce_maintmode_plugin_options">Turn Off</a> | <a href="admin.php?page=w3tc_dashboard&w3tc_note=flush_all">Flush Cache (W3 Total Cache)</a><br /> 
     57                            Please make sure you are logged out and you have cleared all cookies before testing!!<!-- | <a href="%1$s">Hide Notice</a> -->'), '?woocommerce_maintmode_nag_ignore=0'); 
    5758                echo "</p></div>"; 
    5859            } 
     
    6162        add_action('admin_notices', 'woocommerce_maintmode_admin_notice'); 
    6263         
    63             /** 
    6464            // Allow admin notice to be dismissed  
    6565            function woocommerce_maintmode_nag_ignore() { 
     
    7373        } 
    7474         
    75         add_action('admin_init', 'woocommerce_maintmode_nag_ignore'); */ 
     75        // add_action('admin_init', 'woocommerce_maintmode_nag_ignore'); 
    7676             
    7777    } 
     
    109109        $options = get_option('woo_maint'); 
    110110         
    111         if ( ($options['activation'] == 1) && ! current_user_can( 'manage_woocommerce' ) ) { 
     111        if ( ($options['activation'] == 1) /* && ! current_user_can( 'manage_woocommerce' ) */ ) { 
    112112            add_action( 'wp_enqueue_scripts', 'woocommerce_maintmode_scripts' ); 
    113113        } 
    114114         
    115         if ( ($options['activation'] == 1) && ! current_user_can( 'manage_woocommerce' ) && ($options['countdown'] == 1) ) { 
     115        if ( ($options['activation'] == 1) /* && ! current_user_can( 'manage_woocommerce' ) */ && ($options['countdown'] == 1) ) { 
    116116            add_action( 'wp_enqueue_scripts', 'woocommerce_maintmode_countdown_scripts' ); 
    117117        } 
     
    124124         
    125125        // check to see if users capabilities are less than woocommerce shop manager and only dispaly on Woocommerce pages 
    126         if( is_woocommerce() or is_shop() or is_product_category() or is_product() or is_cart() or is_checkout() or is_account_page() && ! current_user_can( 'manage_woocommerce' ) ) { 
     126        if( is_woocommerce() or is_shop() or is_product_category() or is_product() or is_cart() or is_checkout() or is_account_page() /* && ! current_user_can( 'manage_woocommerce' ) */ ) { 
    127127             
    128128            // Get some settings 
     
    207207             
    208208            // Check if lightbox / page or content   
    209             if ( $options['position'] == 'Lightbox' && ! current_user_can( 'manage_woocommerce' ) ) { 
    210                  
    211                 if($options['countdown'] == 1){ 
     209            if ( $options['position'] == 'Lightbox' /* && ! current_user_can( 'manage_woocommerce' ) */ ) { 
     210                 
     211                if( $options['countdown'] == 1 ) { 
     212                     
    212213                    $countdown = '<div id="defaultCountdown"></div>'; 
     214 
    213215                } else { 
     216                     
    214217                    $countdown = ''; 
    215218                } 
     
    232235                        echo $content; 
    233236                     
    234                     } 
    235                      
    236                     else { 
    237                  
    238                     $content = ' 
    239                         <a class="royal-prettyPhoto" href="#woo_maint_lightbox" style="display: none;">Inline</a> 
    240                         <div id="woo_maint_lightbox" style="display: none;">'.$options['message'].''.$countdown.'</div>'; 
    241                      
    242                     echo $content; 
     237                    } else { 
     238                 
     239                        $content = ' 
     240                            <a class="royal-prettyPhoto" href="#woo_maint_lightbox" style="display: none;">Inline</a> 
     241                            <div id="woo_maint_lightbox" style="display: none;">'.$options['message'].''.$countdown.'</div>'; 
     242                         
     243                        echo $content; 
    243244                     
    244245                    } 
     
    255256        $options = get_option('woo_maint'); 
    256257         
    257         if ( ($options['activation'] == 1) && ($options['position'] == 'Page' or $options['position'] == 'Lightbox') && ! current_user_can( 'manage_woocommerce' ) ) { 
     258        if ( ($options['activation'] == 1) && ($options['position'] == 'Page' or $options['position'] == 'Lightbox') /* && ! current_user_can( 'manage_woocommerce' ) */ ) { 
    258259            add_filter('wp_head', 'woocommerce_maintmode_header'); 
    259260        } 
     
    298299         
    299300        // Conditions to validate against before redirecting the user 
    300         if ( ( $options['position'] == 'Redirect' && $time_diff >= 0 ) && (is_woocommerce() or is_shop() or is_product_category() or is_product() or is_cart() or is_checkout() or is_account_page() ) && ! current_user_can( 'manage_woocommerce' ) ) { 
     301        if ( ( $options['position'] == 'Redirect' && $time_diff >= 0 ) && (is_woocommerce() or is_shop() or is_product_category() or is_product() or is_cart() or is_checkout() or is_account_page() ) /* && ! current_user_can( 'manage_woocommerce' ) */ ) { 
    301302             
    302303            // Check if cookie is set for the user 
     
    321322    // Add to just Woocommerce pages 
    322323    function woocommerce_maintmode_page() { 
     324 
     325        global $post; 
    323326         
    324327        // Check if redirect option set 
     
    345348     
    346349        // Conditions to validate against before redirecting the user 
    347         if ( ( $options['position'] == 'Page' && $time_diff >= 0 ) && (is_woocommerce() or is_shop() or is_product_category() or is_product() or is_cart() or is_checkout() or is_account_page() ) && ! current_user_can( 'manage_woocommerce' ) ) { 
     350        if ( ( $options['position'] == 'Page' && $time_diff >= 0 ) && (is_woocommerce() or is_shop() or is_product_category() or is_product() or is_cart() or is_checkout() or is_account_page() ) /* && ! current_user_can( 'manage_woocommerce' ) */ ) { 
    348351             
    349352            // Check if cookie is set for the user 
     
    355358                // Set the cookie for the user 
    356359                setcookie('page_cookie',$cookie,time() + (86400 * $days), '/'); // 86400 = 1 day 
    357                  
    358                 function woocommerce_maintmode_page_message($content) {  
    359360                 
    360361                    $options = get_option('woo_maint'); 
     
    380381                        $content.= '</div>'; 
    381382                             
    382                         return $content; 
     383                        echo $content; 
    383384                 
    384385                    } else { 
     
    388389                        $content.= '</div>'; 
    389390                             
    390                         return $content; 
     391                        echo $content; 
    391392                    } 
    392393                 
    393                 } 
    394                  
    395                 add_filter ('the_content', 'woocommerce_maintmode_page_message'); 
     394                //add_filter ('the_content', 'woocommerce_maintmode_page_message'); Use: function woocommerce_maintmode_page_message($content){} 
    396395            }  
    397396        } 
    398397            
    399398    } 
    400      
    401     add_action( 'wp', 'woocommerce_maintmode_page' ); 
     399 
     400    add_action( 'woocommerce_before_main_content', 'woocommerce_maintmode_page'); 
     401    add_action( 'woocommerce_before_single_product', 'woocommerce_maintmode_page'); 
     402    add_action( 'woocommerce_before_cart', 'woocommerce_maintmode_page'); 
     403    add_action( 'woocommerce_before_my_account', 'woocommerce_maintmode_page'); 
     404    add_action( 'woocommerce_checkout_before_customer_details', 'woocommerce_maintmode_page'); 
     405     
     406     
     407    //add_action( 'wp', 'woocommerce_maintmode_page' ); 
    402408     
    403409} else { 
     
    418424    add_action('admin_notices', 'woocommerce_maintmode_activate_admin_notice'); 
    419425     
    420     /** 
    421426    // Allow activation notice to be dismissed  
    422427    function woocommerce_maintmode_activate_nag_ignore() { 
     
    430435    } 
    431436     
    432     add_action('admin_init', 'woocommerce_maintmode_activate_nag_ignore'); */ 
     437    // add_action('admin_init', 'woocommerce_maintmode_activate_nag_ignore'); 
    433438 
    434439} 
    435  
    436440// Remove Existing Cookies Set By The Plugin     
    437441function woocommerce_maintmode_delete_cookies(){ 
Note: See TracChangeset for help on using the changeset viewer.