jreviews={ajax_params:function()
{return'&tmpl=component&format=raw&no_html=1&Itemid='+jr_publicMenu;},ajax_init:function()
{jQuery(document).ready(function()
{jQuery.ajaxSetup({url:s2AjaxUri,global:true,cache:false});jQuery().ajaxSend(function(r,s){jQuery('#s2AjaxResponse').remove();jQuery("body").append('<div id="s2AjaxResponse" style="display:none;"></div>');});jQuery().ajaxStop(function(r,s){});});},getScript:function(script,callback)
{jQuery.ajax({type:"GET",url:script,success:function(){if(undefined!=callback)callback();},dataType:"script",cache:true});},datepicker:function()
{jQuery(document).ready(function()
{if(jQuery('.datepicker').length>0){jQuery.datepicker.setDefaults({showOn:'button',buttonImage:datePickerImage,buttonImageOnly:true,buttonText:'Calendar',dateFormat:'yy-mm-dd',changeMonth:true,changeYear:true});jQuery('.datepicker').datepicker();}});},discussion:{edit:function(element,options)
{jQuery(element).s2Dialog('jr_postEdit',{dialog:{width:'640px',height:'auto',title:options.title},dialogData:{url:'discussions/_edit/post_id:'+options.discussion_id}});},remove:function(element,options)
{jQuery(element).s2Confirm({dialog:{title:options.title},submitData:{'url':'discussions/_delete/post_id:'+options.discussion_id}},options.text);},submit:function(element)
{jQuery(element).s2SubmitForm();},cancel:function(element,options)
{jQuery('#jr_postCommentFormOuter'+options.discussion_id).slideUp('slow',function(){jQuery('#jr_postCommentAction'+options.discussion_id).slideDown('normal');});},parentCommentPopOver:function()
{jQuery('.jr_popOver-target').each(function()
{var post_id=jQuery(this).attr('name');jQuery(this).ezpz_tooltip({contentPosition:'bottomLeft',stayOnContent:true,offset:0,beforeShow:function(content){if(content.html()==""){content.html('<span class="jr_loadingMedium"></span>');jQuery.ajax({url:xajaxUri+'&url=discussions/getPost/'+post_id+jreviews.ajax_params(),type:'GET',dataType:'html',success:function(response){content.html(response);}});}}});});},showForm:function(element,options)
{jQuery(element).parents('div:eq(0)').slideUp('normal',function(){jQuery('#jr_postCommentHeader'+options.discussion_id).css('display','block');jQuery('#jr_postCommentFormOuter'+options.discussion_id).slideDown('slow');});}},field:{addOption:function(element,fieldid,fieldname)
{jQuery(element).siblings('.jr_validation').remove();jQuery(element).s2SubmitNoForm('field_options','_addOption','data[controller]=field_options&data[action]=_addOption&data[text]='+jQuery('#jr_fieldOption'+fieldid).val()+'&data[field_id]='+fieldid+'&data[name]='+fieldname);}},inquiry:{submit:function(element,options)
{jQuery('#jr_inquiryForm .jr_validation').hide();var $spinner=jQuery(element).siblings('.jr_loadingSmall');$spinner.fadeIn();jQuery(element).attr('disabled','disabled');jQuery.ajax({url:s2AjaxUri,type:'POST',dataType:'json',data:jQuery('#jr_inquiryForm').serialize(),success:function(s2Out){if(s2Out.error!=undefined){jQuery('#jr_inquiryResponse').html(s2Out.error);jQuery('#jr_inquirySubmit').removeAttr('disabled');}
if(s2Out.html!=undefined){jQuery('#jr_inquiryForm').fadeOut('normal',function(){jQuery(this).html(options.submit_text).slideDown();});}
$spinner.hide();}});}},favorite:{add:function(element,options)
{jQuery(element).s2SubmitNoForm('listings','_favoritesAdd','data[listing_id]='+options.listing_id);},remove:function(element,options)
{jQuery(element).s2SubmitNoForm('listings','_favoritesDelete','data[listing_id]='+options.listing_id);}},module:{changePage:function(element,options)
{jQuery.ajax({type:'GET',url:s2AjaxUri,data:'data[controller]='+options.name+'&data[action]='+options.action+'&data[extension]='+options.extension+'&data[module_page]='+options.page+'&data[module_limit]='+options.limit+'&data[module_id]='+options.module_id+jreviews.ajax_params(),dataType:'json',success:function(s2Out){}});},pageNavInit:function(module_id,page,page_count)
{jQuery("div#jr_modSlider"+module_id).scrollable({size:1,clickable:false,loop:false,interval:0,easing:'swing',speed:1000,items:'.jr_modItems',prevPage:'.jr_modPrev',nextPage:'.jr_modNext',disabledClass:'jr_modDisabled',keyboard:false,onSeek:function(){var pageAmount=this.getPageAmount();if(pageAmount==2&&page_count>2){jreviews.module.getPage(module_id);}
if((this.getPageIndex()+2)>=pageAmount&&(pageAmount+1)<page_count){jreviews.module.getPage(module_id);}}});if(page==1&&page_count>1){jreviews.module.getPage(module_id);}},getPage:function(module_id)
{var controller=jQuery('#jr_modController'+module_id).val();var action=jQuery('#jr_modAction'+module_id).val();var extension=jQuery('#jr_modExtension'+module_id).val();var page=parseInt(jQuery('#jr_modPage'+module_id).val())+1;var limit=jQuery('#jr_modLimit'+module_id).val();var page_count=jQuery('#jr_modPageCount'+module_id).val();jQuery('#jr_modPage'+module_id).val(page);jQuery.ajax({type:'POST',url:s2AjaxUri,data:'data[controller]='+controller+'&data[action]='+action+'&data[extension]='+extension+'&data[module_page]='+page+'&data[module_limit]='+limit+'&data[module_id]='+module_id+jreviews.ajax_params(),dataType:'json',success:function(s2Out)
{var html=s2Out.response;var api=jQuery("div#jr_modSlider"+module_id).scrollable();api.getItemWrap().append(html);api.reload();if(api.getPageIndex()+1<page_count){jQuery('#jr_modNext'+module_id).removeClass('jr_modDisabled');}}});}},lightbox:function()
{if(jQuery('a.fancybox').size())
{jQuery("a.fancybox").fancybox({'zoomSpeedIn':700,'zoomSpeedOut':600,'overlayShow':true,'zoomOpacity':true,'padding':4});}},listing:{claim:function(element,options)
{jQuery(element).s2Dialog('jr_claimListing',{dialog:{width:'640px',height:'auto',title:options.title},dialogData:{url:'claims/create/listing_id:'+options.listing_id}});},remove:function(element,options)
{jQuery(element).s2Confirm({dialog:{title:options.title},submitData:{'url':'listings/_delete/id:'+options.listing_id}},options.text);},feature:function(element,options)
{jQuery.ajax({url:s2AjaxUri,data:'url=listings/_feature&data[Listing][id]='+options.listing_id+'&data[Listing][featured]='+options.state+jreviews.ajax_params(),type:'POST',dataType:'json',success:function(s2Out){var listing_id=options.listing_id;if(jQuery('#jr_featuredLink'+listing_id).is('.jr_published')){jQuery('#jr_featuredLink'+listing_id).removeClass().addClass('jr_unpublished').html(options.unpublished);}else{jQuery('#jr_featuredLink'+listing_id).removeClass().addClass('jr_published').html(options.published);}}});},frontpage:function(element,options)
{jQuery.ajax({url:s2AjaxUri,data:'url=listings/_frontpage&data[Listing][id]='+options.listing_id+'&data[Listing][frontpage]='+options.state+jreviews.ajax_params(),type:'POST',dataType:'json',success:function(s2Out){var listing_id=options.listing_id;if(jQuery('#jr_frontpageLink'+listing_id).is('.jr_published')){jQuery('#jr_frontpageLink'+listing_id).removeClass().addClass('jr_unpublished').html(options.unpublished);}else{jQuery('#jr_frontpageLink'+listing_id).removeClass().addClass('jr_published').html(options.published);}}});},publish:function(element,options)
{jQuery.ajax({url:s2AjaxUri,data:'url=listings/_publish&data[Listing][id]='+options.listing_id+jreviews.ajax_params(),type:'POST',success:function(s2Out){var listing_id=options.listing_id;if(jQuery('#jr_publishLink'+listing_id).is('.jr_published')){jQuery('#jr_publishLink'+listing_id).removeClass().addClass('jr_unpublished').html(options.unpublished);}else{jQuery('#jr_publishLink'+listing_id).removeClass().addClass('jr_published').html(options.published);}}});},submit:function(element)
{var form=jQuery('#jr_listingForm');form.find('#section').val(form.find('#section_id option:selected').text());form.find('#category').val(form.find('#cat_id option:selected').text());jQuery('.wysiwyg_editor').RemoveTinyMCE();jQuery(element).siblings('.jr_loadingSmall').fadeIn();jQuery('#jr_listingForm .button').attr('disabled','disabled');document.jr_listingForm.submit();},submitSection:function(element)
{var $parentForm=jQuery('#jr_listingForm');$parentForm.append('<input type="hidden" id="controller" name="data[controller]" value="listings" />');$parentForm.append('<input type="hidden" id="action" name="data[action]" value="_loadCategories" />');jQuery(element).s2SubmitForm();jQuery('#controller').remove();jQuery('#action').remove();},submitCategory:function(element)
{jQuery('.wysiwyg_editor').RemoveTinyMCE();var $parentForm=jQuery('#jr_listingForm');$parentForm.append('<input type="hidden" id="action" name="data[action]" value="_loadForm" />');$parentForm.append('<input type="hidden" id="controller" name="data[controller]" value="listings" />');var callbacks={onAfterResponse:function(){jQuery('.wysiwyg_editor').tinyMCE();jreviews.tooltip();jreviews.datepicker();jreviews.review.starRating('-new');if(jreviews.facebook.enable==true){jreviews.facebook.checkPermissions({'onPermission':function(){jreviews.facebook.setCheckbox('jr_submitListing',true);},'onNoSession':function(){jreviews.facebook.setCheckbox('jr_submitListing',false);}});};}};jQuery(element).s2SubmitForm(callbacks);jQuery('#controller').remove();jQuery('#action').remove();},setMainImage:function(element,options)
{jQuery(element).s2SubmitNoForm('listings','_imageSetMain','data[listing_id]='+options.listing_id+'&data[image_path]='+options.image_path);},deleteImage:function(element,options)
{jQuery(element).s2Confirm({dialog:{title:options.title},submitData:{'url':'listings/_imageDelete/','data[listing_id]':options.listing_id,'data[delete_key]':options.delete_key,'data[image_path]':options.image_path}},options.text);}},review:{starRating:function(suffix)
{jQuery("div[id^='jr_stars"+suffix+"']").each(function(i){if(this.id!=''){jQuery("#"+this.id).stars();}});},showForm:function(element)
{jQuery(element).hide('normal',function(){jQuery('#jr_review0Form').slideDown(1000,function(){jQuery('#jr_review0Form').scrollTo({duration:1000,offset:-50});});});},hideForm:function()
{jQuery('#review_button').show();jQuery('#review_button').scrollTo({duration:500,offset:-50},function(){jQuery('#jr_review0Form').fadeOut('normal');});},edit:function(element,options)
{jQuery(element).s2Dialog('jr_review'+options.review_id,{dialog:{width:800,height:600,title:options.title},dialogData:{url:'reviews/_edit/review_id:'+options.review_id},onAfterDisplay:function(){jreviews.tooltip();}});},submit:function(element)
{jQuery(element).s2SubmitForm();},reply:function(element,options)
{jQuery(element).s2Dialog('jr_ownerReply',{dialog:{width:'640px',height:'auto',title:options.title},dialogData:{url:'owner_replies/create/review_id:'+options.review_id}});},voteNo:function(element,options)
{jQuery(element).s2SubmitNoForm('votes','_save','data[Vote][review_id]='+options.review_id+'&data[Vote][vote_no]=1');},voteYes:function(element,options)
{jQuery(element).s2SubmitNoForm('votes','_save','data[Vote][review_id]='+options.review_id+'&data[Vote][vote_yes]=1');}},report:{showForm:function(element,options)
{jQuery(element).s2Dialog('jr_report',{dialog:{width:'640px',height:'auto',title:options.title},dialogData:{url:'reports/create/listing_id:'+options.listing_id+'/review_id:'+options.review_id+'/post_id:'+options.post_id+'/extension:'+options.extension}});}},search:{showRange:function(element,field)
{if(jQuery(element).val()=='between'){jQuery('#'+field+'Div').fadeIn();}else{jQuery('#'+field+'Div').fadeOut();}}},tooltip:function()
{if(jQuery.tooltip)
{jQuery('.jr_infoTip').tooltip({track:false,delay:0,showURL:false,opacity:0.95,fixPNG:true});}},user:{autocomplete:function(element,options)
{var ac=element.autocomplete(s2AjaxUri+'&data[controller]=users&data[action]=_getList&tmpl=component&format=raw&no_html=1',{delay:10,minChars:2,matchSubset:1,matchContains:1,maxItemsToShow:20,cacheLength:10,selectOnly:1,onItemSelect:function(li)
{if(li.extra)
{jQuery('#jr_reviewUserid').val(li.extra[0]);jQuery('#jr_reviewName').val(li.selectValue);jQuery('#jr_reviewUsername').val(li.extra[1]);jQuery('#jr_reviewEmail').val(li.extra[2]);}},onFindValue:function(li)
{if(li==null){jQuery('#jr_reviewUserid').val(0);jQuery('#jr_reviewName').val(jQuery(ac[0]).val());jQuery('#jr_reviewUsername').val(jQuery(ac[0]).val());}},formatItem:function(row)
{return row[0]+"- <i>"+row[2]+"</i> ("+row[1]+")";}});element.val(options.default_val);element.blur(function(){ac[0].autocompleter.findValue();});}},facebook:{enable:false,permissions:false,uid:null,init:function(options){if(undefined!=options)jreviews.facebook.options=options;if('undefined'==typeof(FB)){jQuery.ajax({type:"GET",url:"http://connect.facebook.net/en_US/all.js",success:function(){FB.init({appId:options.appid,status:false,cookie:true,xfbml:true});if(undefined!=options.success)options.success();},dataType:"script",cache:true});}else if(undefined!=options.success){FB.init({appId:options.appid,status:false,cookie:true,xfbml:true});options.success();}},login:function()
{if(null==jreviews.facebook.uid){FB.login(function(response){if(response.session&&response.perms){jreviews.facebook.uid=response.session.uid;}else{jQuery('#fb_publish').attr('checked',false);}},{perms:'publish_stream'});}},checkPermissions:function(options){if(undefined==options)options={};jQuery("body").data('fb.options',options);FB.getLoginStatus(function(response)
{if(response.session)
{jreviews.facebook.uid=response.session.uid;FB.api({method:'fql.query',query:'SELECT publish_stream FROM permissions WHERE uid= '+response.session.uid},function(response){if(!response[0].publish_stream)
{FB.login(function(response){if(response.session&&response.perms)
{var options=jQuery("body").data('fb.options');if(undefined!=options.onPermission)options.onPermission();jreviews.facebook.permissions=true;}},{perms:'publish_stream'});}else{var options=jQuery("body").data('fb.options');if(undefined!=options.onPermission)options.onPermission();jreviews.facebook.permissions=true;}});}
else
{jreviews.facebook.permissions=false;if(undefined!=options.onNoSession)options.onNoSession();}});},setCheckbox:function(id,hidden){if(hidden==true&&!jreviews.facebook.options.optout){jQuery('#'+id).before('<input id="fb_publish" name="data[fb_publish]" value="1" type="hidden"/>');}
else
{var fbcheckbox='<input id="fb_publish" name="data[fb_publish]" type="checkbox" onclick="if(this.checked) jreviews.facebook.login();" />'
+'&nbsp;<div class="fb_button fb_button_medium"><span class="fb_button_text"><label for="fb_publish">'
+jreviews.facebook.options.publish_text
+'</label></span></div><br /><br />';jQuery('#'+id).before(fbcheckbox);if(hidden&&jreviews.facebook.options.optout)jQuery('#fb_publish').attr("checked","checked");}}}};(function($){$.tools=$.tools||{};$.tools.scrollable={version:'1.1.2',conf:{size:5,vertical:false,speed:400,keyboard:true,keyboardSteps:null,disabledClass:'disabled',hoverClass:null,clickable:true,activeClass:'active',easing:'swing',loop:false,items:'.items',item:null,prev:'.prev',next:'.next',prevPage:'.prevPage',nextPage:'.nextPage',api:false}};var current;function Scrollable(root,conf){var self=this,$self=$(this),horizontal=!conf.vertical,wrap=root.children(),index=0,forward;if(!current){current=self;}
$.each(conf,function(name,fn){if($.isFunction(fn)){$self.bind(name,fn);}});if(wrap.length>1){wrap=$(conf.items,root);}
function find(query){var els=$(query);return conf.globalNav?els:root.parent().find(query);}
root.data("finder",find);var prev=find(conf.prev),next=find(conf.next),prevPage=find(conf.prevPage),nextPage=find(conf.nextPage);$.extend(self,{getIndex:function(){return index;},getClickIndex:function(){var items=self.getItems();return items.index(items.filter("."+conf.activeClass));},getConf:function(){return conf;},getSize:function(){return self.getItems().size();},getPageAmount:function(){return Math.ceil(this.getSize()/conf.size);},getPageIndex:function(){return Math.ceil(index/conf.size);},getNaviButtons:function(){return prev.add(next).add(prevPage).add(nextPage);},getRoot:function(){return root;},getItemWrap:function(){return wrap;},getItems:function(){return wrap.children(conf.item);},getVisibleItems:function(){return self.getItems().slice(index,index+conf.size);},seekTo:function(i,time,fn){if(i<0){i=0;}
if(index===i){return self;}
if($.isFunction(time)){fn=time;}
if(i>self.getSize()-conf.size){return conf.loop?self.begin():this.end();}
var item=self.getItems().eq(i);if(!item.length){return self;}
var e=$.Event("onBeforeSeek");$self.trigger(e,[i]);if(e.isDefaultPrevented()){return self;}
if(time===undefined||$.isFunction(time)){time=conf.speed;}
function callback(){if(fn){fn.call(self,i);}
$self.trigger("onSeek",[i]);}
if(horizontal){wrap.animate({left:-item.position().left},time,conf.easing,callback);}else{wrap.animate({top:-item.position().top},time,conf.easing,callback);}
current=self;index=i;e=$.Event("onStart");$self.trigger(e,[i]);if(e.isDefaultPrevented()){return self;}
prev.add(prevPage).toggleClass(conf.disabledClass,i===0);next.add(nextPage).toggleClass(conf.disabledClass,i>=self.getSize()-conf.size);return self;},move:function(offset,time,fn){forward=offset>0;return this.seekTo(index+offset,time,fn);},next:function(time,fn){return this.move(1,time,fn);},prev:function(time,fn){return this.move(-1,time,fn);},movePage:function(offset,time,fn){forward=offset>0;var steps=conf.size*offset;var i=index%conf.size;if(i>0){steps+=(offset>0?-i:conf.size-i);}
return this.move(steps,time,fn);},prevPage:function(time,fn){return this.movePage(-1,time,fn);},nextPage:function(time,fn){return this.movePage(1,time,fn);},setPage:function(page,time,fn){return this.seekTo(page*conf.size,time,fn);},begin:function(time,fn){forward=false;return this.seekTo(0,time,fn);},end:function(time,fn){forward=true;var to=this.getSize()-conf.size;return to>0?this.seekTo(to,time,fn):self;},reload:function(){$self.trigger("onReload");return self;},focus:function(){current=self;return self;},click:function(i){var item=self.getItems().eq(i),klass=conf.activeClass,size=conf.size;if(i<0||i>=self.getSize()){return self;}
if(size==1){if(conf.loop){return self.next();}
if(i===0||i==self.getSize()-1){forward=(forward===undefined)?true:!forward;}
return forward===false?self.prev():self.next();}
if(size==2){if(i==index){i--;}
self.getItems().removeClass(klass);item.addClass(klass);return self.seekTo(i,time,fn);}
if(!item.hasClass(klass)){self.getItems().removeClass(klass);item.addClass(klass);var delta=Math.floor(size/2);var to=i-delta;if(to>self.getSize()-size){to=self.getSize()-size;}
if(to!==i){return self.seekTo(to);}}
return self;},bind:function(name,fn){$self.bind(name,fn);return self;},unbind:function(name){$self.unbind(name);return self;}});$.each("onBeforeSeek,onStart,onSeek,onReload".split(","),function(i,ev){self[ev]=function(fn){return self.bind(ev,fn);};});prev.addClass(conf.disabledClass).click(function(){self.prev();});next.click(function(){self.next();});nextPage.click(function(){self.nextPage();});if(self.getSize()<conf.size){next.add(nextPage).addClass(conf.disabledClass);}
prevPage.addClass(conf.disabledClass).click(function(){self.prevPage();});var hc=conf.hoverClass,keyId="keydown."+Math.random().toString().substring(10);self.onReload(function(){if(hc){self.getItems().hover(function(){$(this).addClass(hc);},function(){$(this).removeClass(hc);});}
if(conf.clickable){self.getItems().each(function(i){$(this).unbind("click.scrollable").bind("click.scrollable",function(e){if($(e.target).is("a")){return;}
return self.click(i);});});}
if(conf.keyboard){$(document).unbind(keyId).bind(keyId,function(evt){if(evt.altKey||evt.ctrlKey){return;}
if(conf.keyboard!='static'&&current!=self){return;}
var s=conf.keyboardSteps;if(horizontal&&(evt.keyCode==37||evt.keyCode==39)){self.move(evt.keyCode==37?-s:s);return evt.preventDefault();}
if(!horizontal&&(evt.keyCode==38||evt.keyCode==40)){self.move(evt.keyCode==38?-s:s);return evt.preventDefault();}
return true;});}else{$(document).unbind(keyId);}});self.reload();}
$.fn.scrollable=function(conf){var el=this.eq(typeof conf=='number'?conf:0).data("scrollable");if(el){return el;}
var globals=$.extend({},$.tools.scrollable.conf);conf=$.extend(globals,conf);conf.keyboardSteps=conf.keyboardSteps||conf.size;this.each(function(){el=new Scrollable($(this),conf);$(this).data("scrollable",el);});return conf.api?el:this;};})(jQuery);