var wpcr3=wpcr3||{};
wpcr3.mousemove_total=0;
wpcr3.keypress_total=0;
wpcr3.mousemove_need=5;
wpcr3.keypress_need=5;
wpcr3.getPostUrl=function(elm){
var ajaxurl=elm.attr("data-ajaxurl");
ajaxurl=JSON.parse(ajaxurl);
ajaxurl=ajaxurl.join('.').replace(/\|/g,'/')
return ajaxurl;
};
wpcr3.onhover=function(){
var $=jQuery;
$(".wpcr3_respond_2 .wpcr3_rating_stars").unbind("click.wpcr3");
$(".wpcr3_respond_2 .wpcr3_rating_style1_base").addClass('wpcr3_hide');
$(".wpcr3_respond_2 .wpcr3_rating_style1_status").removeClass('wpcr3_hide');
};
wpcr3.set_hover=function(){
var $=jQuery;
$(".wpcr3_frating").val("");
$(".wpcr3_respond_2 .wpcr3_rating_stars").unbind("click.wpcr3");
wpcr3.onhover();
};
wpcr3.showform=function(){
var $=jQuery;
var t=$(this);
var parent=t.closest(".wpcr3_respond_1");
var btn1=parent.find(".wpcr3_respond_3 .wpcr3_show_btn");
var resp2=parent.find(".wpcr3_respond_2");
resp2.slideToggle(400, function(){
parent.find(".wpcr3_table_2").find("input:text:visible:first").focus();
if(resp2.is(":visible")){
btn1.addClass('wpcr3_hide');
}else{
btn1.removeClass('wpcr3_hide');
}});
};
wpcr3.ajaxPost=function(parent, data, cb){
return jQuery.ajax({
type:"POST",
url:wpcr3.getPostUrl(parent),
data:data,
dataType:"json",
success:function(rtn){
if(rtn.err.length){
rtn.err=rtn.err.join('\n');
alert(rtn.err);
wpcr3.enableSubmit();
return cb(rtn.err);
}
return cb(null, rtn);
},
error:function(rtn){
alert('An unknown error has occurred. E01');
wpcr3.enableSubmit();
}});
};
wpcr3.submit=function(e){
var $=jQuery;
var t=$(this);
var parent=t.closest(".wpcr3_respond_1");
e.preventDefault();
var div2=parent.find('.wpcr3_div_2'), submit=div2.find('.wpcr3_submit_btn');
var c1=parent.find('.wpcr3_fconfirm1'), c2=parent.find('.wpcr3_fconfirm2'), c3=parent.find('.wpcr3_fconfirm3');
var fake_website=parent.find('.wpcr3_fake_website');
if(submit.hasClass('wpcr3_disabled')){ return false; }
if(wpcr3.mousemove_total <=wpcr3.mousemove_need||wpcr3.keypress_total <=wpcr3.keypress_need){
alert('You did not pass our human detection check. Code '+wpcr3.mousemove_total+','+wpcr3.keypress_total);
return false;
}
var c1_fail=(c1.is(':checked')===true), c2_fail=(c2.is(':checked')===false), c3_fail=(c3.is(':checked')===false);
var fake_fail=(fake_website.val().length > 0);
if(c1_fail||c3_fail||fake_fail){
alert('You did not pass our bot detection check. Code '+c1_fail+','+c3_fail+','+fake_fail);
return false;
}
if(c2_fail){
alert('You must check the box to confirm you are human.');
return false;
}
var fields=div2.find('input,textarea');
var req=[];
$.each(fields, function(i,v){
v=$(v);
if(v.hasClass('wpcr3_required')&&$.trim(v.val()).length===0){
var label=div2.find('label[for="'+v.attr('id')+'"]'), err='';
if(label.length){
err=$.trim(label.text().replace(':',''))+' is required.';
}else{
err='A required field has not been filled out.';
}
req.push(err);
}});
if(req.length > 0){
req=req.join("\n");
alert(req);
return false;
}
submit.addClass('wpcr3_disabled');
var postid=parseInt(parent.attr("data-postid"), 10);
div2.find('.wpcr3_checkid2').remove();
div2.append('<input type="hidden" name="wpcr3_checkid2" class="wpcr3_checkid" value="'+((postid*42)-postid)+'" />');
div2.append('<input type="hidden" name="wpcr3_ajaxAct2" class="wpcr3_checkid" value="form" />');
fields=div2.find('input,textarea');
var ajaxData={};
fields.each(function(i, v){
v=$(v), val=v.val();
if(v.attr('type')==='checkbox'&&v.is(':checked')===false){ val='0'; }
ajaxData[v.attr('name')]=val;
});
ajaxData._wpnonce=wpcr3Ajax.nonce;
wpcr3.ajaxPost(parent, ajaxData, function(err, rtn){
if(err){ return; }
alert('Thank you! Your review has been received and will be posted soon.');
$(window).scrollTop(0);
wpcr3.clearFields();
parent.find(".wpcr3_cancel_btn").click();
});
};
wpcr3.clearFields=function(){
var $=jQuery;
var div2=$('.wpcr3_div_2'), fields=div2.find('input,textarea');;
wpcr3.enableSubmit();
fields.attr('autocomplete', 'off').not('[type="checkbox"], [type="hidden"]').val('');
};
wpcr3.enableSubmit=function(){
var $=jQuery;
var div2=$('.wpcr3_div_2'), submit=div2.find('.wpcr3_submit_btn');
submit.removeClass('wpcr3_disabled');
};
wpcr3.init=function(){
var $=jQuery;
$(".wpcr3_respond_3 .wpcr3_show_btn, .wpcr3_respond_2 .wpcr3_cancel_btn").click(wpcr3.showform);
var evt_1='mousemove.wpcr3 touchmove.wpcr3';
$(document).bind(evt_1, function(){
wpcr3.mousemove_total++; if(wpcr3.mousemove_total > wpcr3.mousemove_need){ $(document).unbind(evt_1); }});
var evt_2='keypress.wpcr3 keydown.wpcr3';
$(document).bind(evt_2, function(){
wpcr3.keypress_total++; if(wpcr3.keypress_total > wpcr3.keypress_need){ $(document).unbind(evt_2); }});
$(".wpcr3_respond_2 .wpcr3_rating_style1_score > div").click(function(e){
e.preventDefault();
e.stopImmediatePropagation();
var wpcr3_rating=$(this).html(), new_w=20 * wpcr3_rating + "%";
$(".wpcr3_frating").val(wpcr3_rating);
$(".wpcr3_respond_2 .wpcr3_rating_style1_base").removeClass('wpcr3_hide');
$(".wpcr3_respond_2 .wpcr3_rating_style1_average").css("width",new_w);
$(".wpcr3_respond_2 .wpcr3_rating_style1_status").addClass('wpcr3_hide');
$(".wpcr3_respond_2 .wpcr3_rating_stars").unbind("mouseover.wpcr3").bind("click.wpcr3", wpcr3.set_hover);
return false;
});
$(".wpcr3_respond_2 .wpcr3_rating_stars").bind("mouseover.wpcr3", wpcr3.onhover);
var pagingCb=function(e){
e.preventDefault();
var t=$(this);
if(t.hasClass("wpcr3_disabled")){ return false; }
var parent=t.parents(".wpcr3_respond_1:first");
var pager=t.parents(".wpcr3_pagination:first");
var reviews=parent.find(".wpcr3_reviews_holder");
var page=t.attr("data-page");
var pageOpts=pager.attr("data-page-opts");
var on_postid=parent.attr("data-on-postid");
var ajaxData={ ajaxAct2:"pager", on_postid:on_postid, page:page, pageOpts:pageOpts, _wpnonce:wpcr3Ajax.nonce };
wpcr3.ajaxPost(parent, ajaxData, function(err, rtn){
if(err){ return; }
reviews.html(rtn.output);
pager.remove();
$('html,body').animate({
scrollTop:(reviews.offset().top - 100)
});
});
};
if($("body").on!==undefined){
$(".wpcr3_respond_1").on("click", ".wpcr3_pagination .wpcr3_a", pagingCb);
}else{
$(".wpcr3_respond_1 .wpcr3_pagination .wpcr3_a").live("click", pagingCb);
}
var div2=$('.wpcr3_div_2'), submit=div2.find('.wpcr3_submit_btn');
submit.click(wpcr3.submit);
wpcr3.clearFields();
};
jQuery(function(){
wpcr3.init();
});
(function($){
var instanceCounter=0;
$.fn.textPattern=function(options){
var settings=$.extend({
svgVersion: '1.1',
xmlnsLink: 'http://www.w3.org/2000/svg',
xmlnsxLink: 'http://www.w3.org/1999/xlink',
patternID: 'text-pattern',
fullwidth: false,
patternSRC: ''
}, options);
if(/MSIE|Trident|Opera/.test(navigator.userAgent)){
return this;
}
return this.each(function(){
instanceCounter++;
var $block=$(this);
var blockText=$block.text();
var blockHeight=$block.outerHeight();
var blockWidth=$block.outerWidth();
var uniquePatternID=settings.patternID + '-' + instanceCounter;
var imgWidth=0;
var imgHeight=0;
function patternLeft(){
if(settings.fullwidth){
var rowWidth=$('.row').length ? $('.row').width():$(window).width();
return -(($block.parent().position().left + ($(window).width() - rowWidth) / 2) + (blockWidth - $block.width()));
}
return 0;
}
function patternTop(){
if(settings.fullwidth){
return -($block.offset().top + (blockHeight - $block.height()) / 2);
}
return 0;
}
function patternWidth(){
return settings.fullwidth ? $(window).width():imgWidth;
}
function patternHeight(){
return settings.fullwidth ? ($(window).width() / imgWidth) * imgHeight:imgHeight;
}
function buildSVG(){
$block.wrapInner('<span />').wrapInner('<span style="position:relative;z-index:2;" />');
var svgString='' +
'<svg version="' + settings.svgVersion + '" baseProfile="full" x="0" y="0" width="' + blockWidth + '" height="' + blockHeight + '" xmlns="' + settings.xmlnsLink + '" xmlns:xlink="' + settings.xmlnsxLink + '" style="position:absolute; top:0; left:0; z-index:-1">' +
'<defs>' +
'<pattern id="' + uniquePatternID + '" x="0" y="0" patternUnits="userSpaceOnUse" width="' + patternWidth() + '" height="' + patternHeight() + '">' +
'<image xlink:href="' + settings.patternSRC + '" x="' + patternLeft() + '" y="' + patternTop() + '" width="' + patternWidth() + '" height="' + patternHeight() + '"></image>' +
'</pattern>' +
'</defs>' +
'<text x="0" y="0" font-size="' + $block.css('font-size') + '" dominant-baseline="text-before-edge" fill="url(#' + uniquePatternID + ')">' + blockText + '</text>' +
'</svg>';
$block.children('span').append(svgString);
}
if(settings.patternSRC!==''){
var img=new Image();
img.onload=function(){
imgWidth=this.width;
imgHeight=this.height;
buildSVG();
};
img.src=settings.patternSRC;
}
$(window).on('resize.textPattern' + instanceCounter, function(){
$block.find('pattern, image')
.attr('width', patternWidth())
.attr('height', patternHeight());
$block.find('image')
.attr('x', patternLeft())
.attr('y', patternTop());
});
});
};})(jQuery);
;(function(window, document, $){
var isInputSupported='placeholder' in document.createElement('input');
var isTextareaSupported='placeholder' in document.createElement('textarea');
var fn=$.fn;
var valHooks=$.valHooks;
var hooks, placeholder;
if(isInputSupported&&isTextareaSupported){
placeholder=fn.placeholder=function(){
return this;
};
placeholder.input=placeholder.textarea=true;
}else{
placeholder=fn.placeholder=function(){
var $this=this;
$this.filter((isInputSupported ? 'textarea':':input') + '[placeholder]')
.not('.placeholder')
.on({
'focus.placeholder': clearPlaceholder,
'blur.placeholder': setPlaceholder
})
.data('placeholder-enabled', true)
.trigger('blur.placeholder');
return $this;
};
placeholder.input=isInputSupported;
placeholder.textarea=isTextareaSupported;
hooks={
get: function(element){
var $element=$(element);
return $element.data('placeholder-enabled')&&$element.hasClass('placeholder') ? '':element.value;
},
set: function(element, value){
var $element=$(element);
if(!$element.data('placeholder-enabled')){
return element.value=value;
}
if(value===''){
element.value=value;
if(element!==document.activeElement){
setPlaceholder.call(element);
}}else{
if($element.hasClass('placeholder')){
clearPlaceholder.call(element, true, value)||(element.value=value);
}else{
element.value=value;
}}
return $element;
}};
isInputSupported||(valHooks.input=hooks);
isTextareaSupported||(valHooks.textarea=hooks);
$(function(){
$(document).on('submit.placeholder', 'form', function(){
var $placeholders=$('.placeholder', this).each(clearPlaceholder);
setTimeout(function(){
$placeholders.each(setPlaceholder);
}, 10);
});
});
$(window).on('beforeunload.placeholder', function(){
$('.placeholder').each(function(){
this.value='';
});
});
}
function getAttributes(element){
var attributes={};
var rJQuery=/^jQuery\d+$/;
$.each(element.attributes, function(i, attr){
if(attr.specified&&!rJQuery.test(attr.name)){
attributes[attr.name]=attr.value;
}});
return attributes;
}
function clearPlaceholder(event, value){
var input=this;
var $input=$(input);
if(input.value===$input.attr('placeholder')&&$input.hasClass('placeholder')){
if($input.data('placeholder-password')){
$input=$input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));
if(event===true){
return $input[0].value=value;
}
$input.focus();
}else{
input.value='';
$input.removeClass('placeholder');
input===document.activeElement&&input.select();
}}
}
function setPlaceholder(){
var $replacement;
var input=this;
var $input=$(input);
var id=this.id;
if(input.value===''){
if(input.type==='password'){
if(!$input.data('placeholder-textinput')){
try {
$replacement=$input.clone().attr({ type: 'text' });
} catch (e){
$replacement=$('<input>').attr($.extend(getAttributes(this), { type: 'text' }));
}
$replacement.removeAttr('name')
.data({
'placeholder-password': true,
'placeholder-id': id
})
.on('focus.placeholder', clearPlaceholder);
$input.data({
'placeholder-textinput': $replacement,
'placeholder-id': id
}).before($replacement);
}
$input=$input.removeAttr('id').hide().prev().attr('id', id).show();
}
$input.addClass('placeholder');
$input[0].value=$input.attr('placeholder');
}else{
$input.removeClass('placeholder');
}}
}(this, document, jQuery));
;(function($){
var $tmp, $loading, $overlay, $wrap, $outer, $content, $close, $title, $navLeft, $navRight;
var selectedIndex=0, selectedOpts={}, selectedArray=[];
var currentIndex=0, currentOpts={}, currentArray=[];
var ajaxLoader=null, imgPreloader=new Image();
var imgRegExp=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i;
var swfRegExp=/[^\.]\.(swf)\s*$/i;
var loadingTimer, loadingFrame=1, titleHeight=0, titleStr="", startPos, finalPos;
var isBusy=false;
var fx=$.extend($("<div/>")[0], { prop: 0 });
var isIE6=/msie/i.test(navigator.userAgent)&&!window.XMLHttpRequest;
var _abort=function(){
$loading.hide();
imgPreloader.onerror=imgPreloader.onload=null;
if(ajaxLoader) ajaxLoader.abort();
$tmp.empty();
};
var _error=function(){
if(false===selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)){
$loading.hide();
isBusy=false;
}else{
selectedOpts.titleShow=false;
selectedOpts.width="auto";
selectedOpts.height="auto";
$tmp.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
_process_inline();
}};
var _start=function(){
var obj=selectedArray[selectedIndex],
href, type, title, str, emb, ret;
_abort();
selectedOpts=$.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data("fancybox")=="undefined" ? selectedOpts:$(obj).data("fancybox")));
ret=selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts);
if(ret===false){
isBusy=false;
return;
}else if(typeof ret=='object'){
selectedOpts=$.extend(selectedOpts, ret);
}
title=selectedOpts.title||(obj.nodeName ? $(obj).attr('title'):obj.title)||'';
if(obj.nodeName&&!selectedOpts.orig){
selectedOpts.orig=$(obj).children("img:first").length ? $(obj).children("img:first"):$(obj);
}
if(title===''&&selectedOpts.orig&&selectedOpts.titleFromAlt){
title=selectedOpts.orig.attr('alt');
}
href=selectedOpts.href||(obj.nodeName ? $(obj).attr('href'):obj.href)||null;
if((/^(?:javascript)/i).test(href)||href=='#'){
href=null;
}
if(selectedOpts.type){
type=selectedOpts.type;
if(!href) href=selectedOpts.content;
}else if(selectedOpts.content){
type='html';
}else if(href){
type=href.match(imgRegExp) ? 'image':href.match(swfRegExp) ? 'swf':$(obj).hasClass("iframe") ? 'iframe':href.indexOf("#")===0 ? 'inline':'ajax';
}
if(type){
if(type=='inline'){
obj=href.substr(href.indexOf("#"));
type=$(obj).length > 0 ? 'inline':'ajax';
}
selectedOpts.type=type;
selectedOpts.href=href;
selectedOpts.title=title;
if(selectedOpts.autoDimensions){
if(selectedOpts.type=='html'||selectedOpts.type=='inline'||selectedOpts.type=='ajax'){
selectedOpts.width='auto';
selectedOpts.height='auto';
}else{
selectedOpts.autoDimensions=false;
}}
if(selectedOpts.modal){
selectedOpts.overlayShow=true;
selectedOpts.hideOnOverlayClick=false;
selectedOpts.hideOnContentClick=false;
selectedOpts.enableEscapeButton=false;
selectedOpts.showCloseButton=false;
}
selectedOpts.padding=parseInt(selectedOpts.padding, 10);
selectedOpts.margin=parseInt(selectedOpts.margin, 10);
$tmp.css('padding', (selectedOpts.padding + selectedOpts.margin));
$('.fancybox-inline-tmp').off('fancybox-cancel').on('fancybox-change', function(){
$(this).replaceWith($content.children());
});
switch (type){
case 'html':
$tmp.html(selectedOpts.content);
_process_inline();
break;
case 'inline':
if($(obj).parent().is('#fancybox-content')===true){
isBusy=false;
break;
}
$('<div class="fancybox-inline-tmp" />').hide().insertBefore($(obj)).on('fancybox-cleanup', function(){
$(this).replaceWith($content.children());
}).on('fancybox-cancel', function(){
$(this).replaceWith($tmp.children());
});
$(obj).appendTo($tmp);
_process_inline();
break;
case 'image':
isBusy=false;
$.fancybox.showActivity();
imgPreloader=new Image();
imgPreloader.onerror=function(){ _error(); };
imgPreloader.onload=function(){
isBusy=true;
imgPreloader.onerror=imgPreloader.onload=null;
selectedOpts.width=imgPreloader.width;
selectedOpts.height=imgPreloader.height;
$('<img />').attr({
'id': 'fancybox-img',
'src': imgPreloader.src,
'alt': selectedOpts.title
}).appendTo($tmp);
_load();
};
imgPreloader.src=href;
break;
case 'swf':
selectedOpts.scrolling='no';
str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
emb='';
$.each(selectedOpts.swf, function(name, val){
str +='<param name="' + name + '" value="' + val + '"></param>';
emb +=' ' + name + '="' + val + '"';
});
str +='<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';
$tmp.html(str);
_process_inline();
break;
case 'ajax':
isBusy=false;
$.fancybox.showActivity();
selectedOpts.ajax.win=selectedOpts.ajax.success;
ajaxLoader=$.ajax($.extend({}, selectedOpts.ajax, {
url: href,
data: selectedOpts.ajax.data||{},
error: function(XMLHttpRequest){
if(XMLHttpRequest.status > 0) _error();
},
success: function(data, textStatus, XMLHttpRequest){
var o=typeof XMLHttpRequest=='object' ? XMLHttpRequest:ajaxLoader;
if(o.status==200){
if(typeof selectedOpts.ajax.win=='function'){
ret=selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest);
if(ret===false){
$loading.hide();
return;
}else if(typeof ret=='string'||typeof ret=='object'){
data=ret;
}}
$tmp.html(data);
_process_inline();
}}
}));
break;
case 'iframe':
_load();
break;
}}else{
_error();
}};
var _process_inline=function(){
var w=selectedOpts.width,
h=selectedOpts.height;
w=w.toString().indexOf('%') > -1 ? parseInt(($(window).width() - selectedOpts.margin * 2) * parseFloat(w) / 100, 10) + 'px':w=='auto' ? 'auto':w + 'px';
h=h.toString().indexOf('%') > -1 ? parseInt(($(window).height() - selectedOpts.margin * 2) * parseFloat(h) / 100, 10) + 'px':h=='auto' ? 'auto':h + 'px';
$tmp.wrapInner('<div style="width:' + w + ';height:' + h + ';overflow: ' + (selectedOpts.scrolling=='auto' ? 'auto':selectedOpts.scrolling=='yes' ? 'scroll':'hidden') + ';position:relative;"></div>');
selectedOpts.width=$tmp.width();
selectedOpts.height=$tmp.height();
_load();
};
var _load=function(){
var title, tmp_p;
$loading.hide();
if($wrap.is(":visible")&&false===currentOpts.onCleanup(currentArray, currentIndex, currentOpts)){
$.event.trigger('fancybox-cancel');
isBusy=false;
return;
}
isBusy=true;
$content.add($overlay).off();
$(window).off("resize.fb scroll.fb");
$(document).off("keydown.fb");
if($wrap.is(":visible")&&currentOpts.titlePosition!=='outside'){
$wrap.css('height', $wrap.height());
}
currentArray=selectedArray;
currentIndex=selectedIndex;
currentOpts=selectedOpts;
if(currentOpts.overlayShow){
$overlay.css({
'background-color': currentOpts.overlayColor,
'opacity': currentOpts.overlayOpacity,
'cursor': currentOpts.hideOnOverlayClick ? 'pointer':'auto',
'height': $(document).height()
});
if(!$overlay.is(':visible')){
if(isIE6){
$('select:not(#fancybox-tmp select)').filter(function(){
return this.style.visibility!=='hidden';
}).css({ visibility: 'hidden' }).one('fancybox-cleanup', function(){
this.style.visibility='inherit';
});
}
$overlay.show();
}}else{
$overlay.hide();
}
finalPos=_get_zoom_to();
titleStr=currentOpts.title||'';
titleHeight=0;
$title.empty().removeAttr('style').removeClass();
if(currentOpts.titleShow!==false){
if($.isFunction(currentOpts.titleFormat)){
title=currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts);
}else{
title=titleStr&&titleStr.length ? currentOpts.titlePosition=='float' ? '<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + titleStr + '</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-' + currentOpts.titlePosition + '">' + titleStr + '</div>':false;
}
titleStr=title;
if(!(!titleStr||titleStr==='')){
$title.addClass('fancybox-title-' + currentOpts.titlePosition).html(titleStr).appendTo('body').show();
switch (currentOpts.titlePosition){
case 'inside':
$title.css({ width: finalPos.width - currentOpts.padding * 2, marginLeft: currentOpts.padding, marginRight: currentOpts.padding });
titleHeight=$title.outerHeight(true);
$title.appendTo($outer);
finalPos.height +=titleHeight;
break;
case 'over':
$title.css({ marginLeft: currentOpts.padding, width: finalPos.width - currentOpts.padding * 2, bottom: currentOpts.padding }).appendTo($outer);
break;
case 'float':
$title.css('left', parseInt(($title.width() - finalPos.width - 40) / 2, 10) * -1).appendTo($wrap);
break;
default:
$title.css({ width: finalPos.width - currentOpts.padding * 2, paddingLeft: currentOpts.padding, paddingRight: currentOpts.padding }).appendTo($wrap);
break;
}}
}
$title.hide();
if($wrap.is(":visible")){
$close.add($navLeft).add($navRight).hide();
var pos=$wrap.position(), left=pos.left, top=pos.top;
startPos={ top: top, left: left, width: $wrap.width(), height: $wrap.height() };
var equal=(startPos.width==finalPos.width&&startPos.height==finalPos.height);
$content.fadeTo(currentOpts.changeFade, 0.3, function(){
var finish_resizing=function(){
$content.html($tmp.contents()).fadeTo(currentOpts.changeFade, 1, _show);
};
$.event.trigger('fancybox-change');
$content.empty().removeAttr('filter').css({
'border-width': currentOpts.padding,
'width': finalPos.width - currentOpts.padding * 2,
'height': selectedOpts.autoDimensions ? 'auto':finalPos.height - titleHeight - currentOpts.padding * 2
});
if(equal){
finish_resizing();
}else{
fx.prop=0;
$(fx).animate({ prop: 1 }, {
duration: currentOpts.changeSpeed,
easing: currentOpts.easingChange,
step: _step,
complete: finish_resizing
});
}});
}else{
$wrap.removeAttr("style");
$content.css('border-width', currentOpts.padding);
if(currentOpts.transitionIn=='elastic'){
startPos=_get_obj_pos();
$content.html($tmp.contents());
$wrap.show();
if(currentOpts.opacity) finalPos.opacity=0;
fx.prop=0;
$(fx).animate({ prop: 1 }, {
duration: currentOpts.speedIn,
easing: currentOpts.easingIn,
step: _step,
complete: _show
});
}else{
if(currentOpts.titlePosition=='inside'&&titleHeight > 0) $title.show();
$content.css({
'width': finalPos.width - currentOpts.padding * 2,
'height': selectedOpts.autoDimensions ? 'auto':finalPos.height - titleHeight - currentOpts.padding * 2
}).html($tmp.contents());
$wrap.css(finalPos).fadeIn(currentOpts.transitionIn=='none' ? 0:currentOpts.speedIn, _show);
}}
};
var _set_navigation=function(){
if(currentOpts.enableEscapeButton||currentOpts.enableKeyboardNav){
$(document).on('keydown.fb', function(e){
if(e.keyCode==27&&currentOpts.enableEscapeButton){
e.preventDefault();
$.fancybox.close();
}else if((e.keyCode==37||e.keyCode==39)&&currentOpts.enableKeyboardNav&&e.target.tagName!=='INPUT'&&e.target.tagName!=='TEXTAREA'&&e.target.tagName!=='SELECT'){
e.preventDefault();
$.fancybox[e.keyCode==37 ? 'prev':'next']();
}});
}
if(currentOpts.showNavArrows){
if((currentOpts.cyclic&&currentArray.length > 1)||currentIndex!==0) $navLeft.show();
if((currentOpts.cyclic&&currentArray.length > 1)||currentIndex!=(currentArray.length - 1)) $navRight.show();
}else{
$navLeft.hide();
$navRight.hide();
}};
var _show=function(){
if(!$.support.opacity){
$content.get(0).style.removeAttribute('filter');
$wrap.get(0).style.removeAttribute('filter');
}
if(selectedOpts.autoDimensions) $content.css('height', 'auto');
$wrap.css('height', 'auto');
if(titleStr&&titleStr.length) $title.show();
if(currentOpts.showCloseButton) $close.show();
_set_navigation();
if(currentOpts.hideOnContentClick) $content.on('click', $.fancybox.close);
if(currentOpts.hideOnOverlayClick) $overlay.on('click', $.fancybox.close);
$(window).on("resize.fb", $.fancybox.resize);
if(currentOpts.centerOnScroll) $(window).on("scroll.fb", $.fancybox.center);
if(currentOpts.type=='iframe'){
$('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + (isIE6 ? 'allowtransparency="true""':'') + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></iframe>').appendTo($content);
}
$wrap.show();
isBusy=false;
$.fancybox.center();
currentOpts.onComplete(currentArray, currentIndex, currentOpts);
var item, image;
if(currentArray.length - 1 > currentIndex){
item=currentArray[currentIndex + 1].href;
if(typeof item!=='undefined'&&item.match(imgRegExp)){
image=new Image();
image.src=item;
}}
if(currentIndex > 0){
item=currentArray[currentIndex - 1].href;
if(typeof item!=='undefined'&&item.match(imgRegExp)){
image=new Image();
image.src=item;
}}
};
var _step=function(pos){
var val={
width: parseInt(startPos.width + (finalPos.width - startPos.width) * pos, 10),
height: parseInt(startPos.height + (finalPos.height - startPos.height) * pos, 10),
top: parseInt(startPos.top + (finalPos.top - startPos.top) * pos, 10),
left: parseInt(startPos.left + (finalPos.left - startPos.left) * pos, 10)
};
if(typeof finalPos.opacity!=='undefined') val.opacity=pos < 0.5 ? 0.5:pos;
$wrap.css(val);
$content.css({
'width': val.width - currentOpts.padding * 2,
'height': val.height - (titleHeight * pos) - currentOpts.padding * 2
});
};
var _get_viewport=function(){
return [
$(window).width() - (currentOpts.margin * 2),
$(window).height() - (currentOpts.margin * 2),
$(document).scrollLeft() + currentOpts.margin,
$(document).scrollTop() + currentOpts.margin
];
};
var _get_zoom_to=function(){
var view=_get_viewport(), to={},
resize=currentOpts.autoScale,
double_padding=currentOpts.padding * 2, ratio;
to.width=currentOpts.width.toString().indexOf('%') > -1 ? parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10):currentOpts.width + double_padding;
to.height=currentOpts.height.toString().indexOf('%') > -1 ? parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10):currentOpts.height + double_padding;
if(resize&&(to.width > view[0]||to.height > view[1])){
if(selectedOpts.type=='image'||selectedOpts.type=='swf'){
ratio=currentOpts.width / currentOpts.height;
if(to.width > view[0]){
to.width=view[0];
to.height=parseInt(((to.width - double_padding) / ratio) + double_padding, 10);
}
if(to.height > view[1]){
to.height=view[1];
to.width=parseInt(((to.height - double_padding) * ratio) + double_padding, 10);
}}else{
to.width=Math.min(to.width, view[0]);
to.height=Math.min(to.height, view[1]);
}}
to.top=parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10);
to.left=parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10);
return to;
};
var _get_obj_pos=function(){
var obj=selectedOpts.orig ? $(selectedOpts.orig):false, pos={};
if(obj&&obj.length){
pos=obj.offset();
pos.top +=parseInt(obj.css('paddingTop'), 10)||0;
pos.left +=parseInt(obj.css('paddingLeft'), 10)||0;
pos.top +=parseInt(obj.css('border-top-width'), 10)||0;
pos.left +=parseInt(obj.css('border-left-width'), 10)||0;
pos.width=obj.width();
pos.height=obj.height();
pos={
width: pos.width + (currentOpts.padding * 2),
height: pos.height + (currentOpts.padding * 2),
top: pos.top - currentOpts.padding - 20,
left: pos.left - currentOpts.padding - 20
};}else{
var view=_get_viewport();
pos={
width: currentOpts.padding * 2,
height: currentOpts.padding * 2,
top: parseInt(view[3] + view[1] * 0.5, 10),
left: parseInt(view[2] + view[0] * 0.5, 10)
};}
return pos;
};
var _animate_loading=function(){
if($loading.is(':visible')){
$('div', $loading).css('top', (loadingFrame * -40) + 'px');
loadingFrame=(loadingFrame + 1) % 12;
}else{
clearInterval(loadingTimer);
}};
$.fn.fancybox=function(options){
if(!$(this).length) return this;
$(this)
.data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata():{})))
.off('click.fb')
.on('click.fb', function(e){
e.preventDefault();
if(isBusy) return;
isBusy=true;
$(this).blur();
selectedArray=[];
selectedIndex=0;
var rel=$(this).attr('data-group')||'';
if(!rel||rel==''||rel==='nofollow'){
selectedArray.push(this);
}else{
selectedArray=$('a[data-group=' + rel + '], area[data-group=' + rel + ']');
selectedIndex=selectedArray.index(this);
}
_start();
});
return this;
};
$.fancybox=function(obj, opts){
var options;
if(isBusy) return;
isBusy=true;
options=typeof opts!=='undefined' ? opts:{};
selectedArray=[];
selectedIndex=parseInt(options.index, 10)||0;
if($.isArray(obj)){
for (var i=0, j=obj.length; i < j; i++){
if(typeof obj[i]=='object'){
$(obj[i]).data('fancybox', $.extend({}, options, obj[i]));
}else{
obj[i]=$({}).data('fancybox', $.extend({ content: obj[i] }, options));
}}
selectedArray=jQuery.merge(selectedArray, obj);
}else{
if(typeof obj=='object'){
$(obj).data('fancybox', $.extend({}, options, obj));
}else{
obj=$({}).data('fancybox', $.extend({ content: obj }, options));
}
selectedArray.push(obj);
}
if(selectedIndex > selectedArray.length||selectedIndex < 0) selectedIndex=0;
_start();
};
$.fancybox.showActivity=function(){
clearInterval(loadingTimer);
$loading.show();
loadingTimer=setInterval(_animate_loading, 66);
};
$.fancybox.hideActivity=function(){ $loading.hide(); };
$.fancybox.next=function(){ return $.fancybox.pos(currentIndex + 1); };
$.fancybox.prev=function(){ return $.fancybox.pos(currentIndex - 1); };
$.fancybox.pos=function(pos){
if(isBusy) return;
pos=parseInt(pos);
selectedArray=currentArray;
if(pos > -1&&pos < currentArray.length){
selectedIndex=pos;
_start();
}else if(currentOpts.cyclic&&currentArray.length > 1){
selectedIndex=pos >=currentArray.length ? 0:currentArray.length - 1;
_start();
}};
$.fancybox.cancel=function(){
if(isBusy) return;
isBusy=true;
$.event.trigger('fancybox-cancel');
_abort();
selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts);
isBusy=false;
};
$.fancybox.close=function(){
function _cleanup(){
$overlay.fadeOut('fast');
$title.empty().hide();
$wrap.hide();
$.event.trigger('fancybox-cleanup');
$content.empty();
currentOpts.onClosed(currentArray, currentIndex, currentOpts);
currentArray=selectedOpts=[];
currentIndex=selectedIndex=0;
currentOpts=selectedOpts={};
isBusy=false;
}
if(isBusy||$wrap.is(':hidden')) return;
isBusy=true;
if(currentOpts&&false===currentOpts.onCleanup(currentArray, currentIndex, currentOpts)){
isBusy=false;
return;
}
_abort();
$close.add($navLeft).add($navRight).hide();
$content.add($overlay).off();
$(window).off("resize.fb scroll.fb");
$(document).off("keydown.fb");
$content.find('iframe').attr('src', isIE6&&/^https/i.test(window.location.href||'') ? 'javascript:void(false)':'about:blank');
if(currentOpts.titlePosition!=='inside') $title.empty();
$wrap.stop();
if(currentOpts.transitionOut=='elastic'){
startPos=_get_obj_pos();
var pos=$wrap.position();
finalPos={ top: pos.top, left: pos.left, width: $wrap.width(), height: $wrap.height() };
if(currentOpts.opacity) finalPos.opacity=1;
$title.empty().hide();
fx.prop=1;
$(fx).animate({ prop: 0 }, {
duration: currentOpts.speedOut,
easing: currentOpts.easingOut,
step: _step,
complete: _cleanup
});
}else{
$wrap.fadeOut(currentOpts.transitionOut=='none' ? 0:currentOpts.speedOut, _cleanup);
}};
$.fancybox.resize=function(){
if($overlay.is(':visible')) $overlay.css('height', $(document).height());
$.fancybox.center(true);
};
$.fancybox.center=function(isResize){
var view, align;
if(isBusy) return;
align=isResize===true ? 1:0;
view=_get_viewport();
if(!align&&($wrap.width() > view[0]||$wrap.height() > view[1])) return;
$wrap.stop().animate({
'top': parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - $content.height() - 40) * 0.5 - currentOpts.padding))),
'left': parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - $content.width() - 40) * 0.5 - currentOpts.padding)))
}, typeof isResize=='number' ? isResize:200);
};
$.fancybox.init=function(){
if($("#fancybox-wrap").length) return;
$('body').append($tmp=$('<div id="fancybox-tmp"></div>'),
$loading=$('<div id="fancybox-loading"><div></div></div>'),
$overlay=$('<div id="fancybox-overlay"></div>'),
$wrap=$('<div id="fancybox-wrap"></div>')
);
$outer=$('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>'
).appendTo($wrap);
$outer.append($content=$('<div id="fancybox-content"></div>'),
$close=$('<a id="fancybox-close"></a>'),
$title=$('<div id="fancybox-title"></div>'),
$navLeft=$('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
$navRight=$('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
);
$close.click($.fancybox.close);
$loading.click($.fancybox.cancel);
$navLeft.click(function(e){ e.preventDefault(); $.fancybox.prev(); });
$navRight.click(function(e){ e.preventDefault(); $.fancybox.next(); });
if($.fn.mousewheel){
$wrap.on('mousewheel.fb', function(e, delta){
if(isBusy){
e.preventDefault();
}else if($(e.target).get(0).clientHeight===0||$(e.target).get(0).scrollHeight===$(e.target).get(0).clientHeight){
e.preventDefault();
$.fancybox[delta > 0 ? 'prev':'next']();
}});
}
if(!$.support.opacity) $wrap.addClass('fancybox-ie');
if(isIE6){
$loading.addClass('fancybox-ie6');
$wrap.addClass('fancybox-ie6');
$('<iframe id="fancybox-hide-sel-frame" src="' + (/^https/i.test(window.location.href||'') ? 'javascript:void(false)':'about:blank') + '" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo($outer);
}};
$.fn.fancybox.defaults={
padding: 10, margin: 40, opacity: false, modal: false, cyclic: false, scrolling: 'auto',
width: 560, height: 340, autoScale: true, autoDimensions: true, centerOnScroll: false,
ajax: {}, swf: { wmode: 'transparent' }, hideOnOverlayClick: true, hideOnContentClick: false,
overlayShow: true, overlayOpacity: 0.7, overlayColor: '#777', titleShow: true, titlePosition: 'float',
titleFormat: null, titleFromAlt: false, transitionIn: 'fade', transitionOut: 'fade',
speedIn: 300, speedOut: 300, changeSpeed: 300, changeFade: 'fast', easingIn: 'swing',
easingOut: 'swing', showCloseButton: true, showNavArrows: true, enableEscapeButton: true,
enableKeyboardNav: true, onStart: function(){}, onCancel: function(){}, onComplete: function(){},
onCleanup: function(){}, onClosed: function(){}, onError: function(){}};
$(document).ready(function(){
$.fancybox.init();
});
})(jQuery);
(function($){
$.fn.fadeSlider=function(options){
var settings=$.extend({
speed: 400,
pause: 0,
controls: false,
effect: 'fade'
}, options);
return this.each(function(){
var $slider=$(this);
var $list=$slider.children('ul');
var disabled=false;
var easing='linear';
var autoSlide;
var $arrows=$slider.parent().parent().find('.arrow');
function init(){
$list.children('li').hide();
$list.find('li:first-child').addClass('current').show();
$slider.addClass(settings.effect + '-effect');
if($slider.parent().hasClass('main-fade-slider')){
$arrows=$slider.parent().find('.arrow');
}
if($list.children('li').length <=1){
$arrows.remove();
}
$arrows.on('click', function(e){
e.preventDefault();
if($(this).hasClass('arrow-left')){
transitionSlide('left');
}else{
transitionSlide('right');
}
clearInterval(autoSlide);
easing='swing';
});
if(settings.controls){
var $controlsContainer=$('<div class="controls" />');
$slider.append($controlsContainer);
var slideCount=$list.children('li').length;
for (var i=0; i < slideCount; i++){
$controlsContainer.append('<a href="#"></a>');
}
$controlsContainer.find('a:first-child').addClass('current');
$slider.on('click', '.controls a', function(e){
e.preventDefault();
var $this=$(this);
if($this.index()!==$list.find('li.current').index()){
transitionSlide('', $list.children('li').eq($this.index()));
}});
}
if(settings.effect==='motion'){
$list.children('li').each(function(){
var $slide=$(this);
$slide.append($slide.find('img').clone().addClass('slide-overlay'));
});
$list.find('li.current .slide-overlay')
.css('width', '125%')
.animate({ 'width': '100%' }, settings.pause + settings.speed, easing);
}
if(settings.pause!==0&&$list.children('li').length > 1){
rotate();
}}
function rotate(){
autoSlide=setInterval(function(){
transitionSlide('right');
}, settings.pause);
}
function transitionSlide(direction, $nextSlide){
if(disabled) return;
disabled=true;
var $currentSlide=$list.children('li.current');
if(!$nextSlide){
if(direction==='left'){
$nextSlide=$currentSlide.prev('li').length ? $currentSlide.prev('li'):$list.children('li:last-child');
}else if(direction==='right'){
$nextSlide=$currentSlide.next('li').length ? $currentSlide.next('li'):$list.children('li:first-child');
}}
if(settings.controls){
$slider.find('.controls a').removeClass('current');
$slider.find('.controls a').eq($nextSlide.index()).addClass('current');
}
$list.animate({ 'height': $nextSlide.outerHeight() }, settings.speed);
if(settings.effect==='motion'){
randPos($nextSlide.find('.slide-overlay'));
$list.find('li:not(.current) .slide-overlay').css('width', '125%').stop();
$nextSlide.find('.slide-overlay').animate({ 'width': '100%' }, settings.pause + settings.speed, easing);
}
$nextSlide.css({ 'position': 'absolute', 'z-index': '2' }).fadeIn(settings.speed, function(){
$currentSlide.hide().removeClass('current');
$nextSlide.addClass('current').css({ 'position': 'relative', 'z-index': '1' });
disabled=false;
});
}
function randPos($slide){
var randNum=Math.floor(Math.random() * 4);
$slide.css({ 'left': 'auto', 'top': 'auto', 'right': 'auto', 'bottom': 'auto' });
if(randNum===0){
$slide.css({ 'left': '0', 'top': '0' });
}else if(randNum===1){
$slide.css({ 'right': '0', 'bottom': '0' });
}else if(randNum===2){
$slide.css({ 'right': '0', 'top': '0' });
}else if(randNum===3){
$slide.css({ 'left': '0', 'bottom': '0' });
}}
function resize(){
$list.height($list.find('li.current').outerHeight());
}
init();
$(window).on('resize', function(){
resize();
});
});
};})(jQuery);
(function($){
$.fn.hoverIntent=function(f, g){
var cfg={
sensitivity: 7,
interval: 100,
timeout: 0
};
cfg=$.extend(cfg, g ? { over: f, out: g }:f);
var cX, cY, pX, pY;
var track=function(ev){
cX=ev.pageX;
cY=ev.pageY;
};
var compare=function(ev, ob){
ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);
if((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity){
$(ob).off("mousemove", track);
ob.hoverIntent_s=1;
return cfg.over.apply(ob, [ev]);
}else{
pX=cX;
pY=cY;
ob.hoverIntent_t=setTimeout(function(){
compare(ev, ob);
}, cfg.interval);
}};
var delay=function(ev, ob){
ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);
ob.hoverIntent_s=0;
return cfg.out.apply(ob, [ev]);
};
var handleHover=function(e){
var ev=$.extend({}, e);
var ob=this;
if(ob.hoverIntent_t){
ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);
}
if(e.type==="mouseenter"){
pX=ev.pageX;
pY=ev.pageY;
$(ob).on("mousemove", track);
if(ob.hoverIntent_s!==1){
ob.hoverIntent_t=setTimeout(function(){
compare(ev, ob);
}, cfg.interval);
}}else{
$(ob).off("mousemove", track);
if(ob.hoverIntent_s===1){
ob.hoverIntent_t=setTimeout(function(){
delay(ev, ob);
}, cfg.timeout);
}}
};
return this.on({
'mouseenter': handleHover,
'mouseleave': handleHover
});
};})(jQuery);