
jreviews={controlFieldListing:{},ajax_params:function()
{return'&Itemid='+jrPublicMenu;},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});},dispatch:function(options)
{options=options||{};var method=undefined!=options.form_id?'POST':'GET';if(undefined!=options.method)method=options.method;var data=undefined!=options.controller?jQuery.param({'data[controller]':options.controller,'data[action]':options.action}):{};var type=options.type||"json";if(undefined!=options.form_id)
{var form=jQuery('#'+options.form_id);if(undefined!=options.controller)
{form.find('input[name=data\\[controller\\]], input[name=data\\[action\\]]').remove();}
data=form.serialize()+'&'+data;}
if(options.data)data=data+'&'+jQuery.param(options.data);jQuery.ajax({type:method,url:s2AjaxUri,data:data,success:function(res){if(options.onComplete)options.onComplete(res);},dataType:options.type});},datepicker:function()
{if('undefined'!=typeof jQuery.datepicker){jQuery.datepicker.setDefaults({showOn:'both',buttonImage:datePickerImage,buttonImageOnly:true,buttonText:'Calendar',dateFormat:'yy-mm-dd',changeMonth:true,changeYear:true});jQuery('.jrDate').each(function(){jQuery(this).datepicker({'yearRange':jQuery(this).data('yearrange')});});}},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+'/token:'+options.token}},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('slow');});},parentCommentPopOver:function()
{jQuery('.jrPopOver').each(function(){var post_id=jQuery(this).attr('name');var contentBox=jQuery(this).next();jQuery(this).tooltip({position:'top left',tipClass:'jr_tooltipBoxLight',delay:500,opacity:0.95,effect:'slide',offset:[0,10],relative:true,onBeforeShow:function(content){if(contentBox.html()==""){contentBox.html('<span class="jr_loadingMedium"></span>');jQuery.ajax({url:s2AjaxUri+'&url=discussions/getPost/'+post_id+jreviews.ajax_params(),type:'GET',dataType:'html',success:function(response){contentBox.html(response);}});}}});});},showForm:function(element,options)
{jQuery(element).parents('div:eq(0)').slideUp('slow',function(){jQuery('#jr_postCommentHeader'+options.discussion_id).css('display','block');jQuery('#jr_postCommentFormOuter'+options.discussion_id).slideDown('slow');});}},field:{addOption:function(element)
{var $button=jQuery(element);var $field=$button.parent().siblings('select');var $text=$button.prev(':input');var parent_fname,parent_value;var value=$text.val();var controlledBy='';if($field.data('controlledBy')){jQuery.each($field.data('controlledBy'),function(field,value){parent_fname=field;parent_value=value;controlledBy='|'+field+'|'+value;});}
var optionValue=value+'|click2add'+controlledBy;var $currOption=$field.children('option[value="'+optionValue+'"]');if(value!=''&&$currOption.length==0){$field.append(jQuery("<option></option>").attr({'value':optionValue,'selected':'selected','data-ordering':99999,'data-controlledBy':parent_fname,'data-controlValue':parent_value}).text(value)).trigger('change');$text.val('');}
else if($currOption.length==1){$currOption.attr('selected','selected');}
$button.siblings('.jr_validation').remove();}},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('slow',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);}},form:{getValidationFields:function(form_id){var validate=[];jQuery(':input','#'+form_id).filter(function(){if(jQuery(this).parents('fieldset').data('isActive')!=false&&jQuery(this).data("isActive")==true){validate.push(jQuery(this).data('fieldName'));}});return jQuery.unique(validate);}},module:{pageNavInit:function(options)
{var o=options;var $jr_modSlider=jQuery('div#jr_modSlider'+o.module_id),$jr_modContainer=$jr_modSlider.find('.jr_modContainer'),$jr_modPrev=$jr_modSlider.prev('a.jr_modPrev').addClass(o.orientation).bind('click',function(){return false;}),$jr_modNext=$jr_modSlider.next('a.jr_modNext').addClass(o.orientation).bind('click',function(){return false;}),outer_width=$jr_modSlider.parent().width(),hiddenTab=0,jQueryUITab=0,page_count=$jr_modSlider.find('.jr_modContainer').length;if(page_count<2){$jr_modPrev.remove();$jr_modNext.remove();}
else if(o.nav_position=='bottom'){$jr_modNext.before($jr_modPrev.css('clear','left').detach()).css({'float':'left','margin-left':'0px'});}
if($jr_modSlider.parents('.ui-tabs-panel').length){var tabID=$jr_modSlider.parents('.ui-tabs-panel').attr('id');var tabIndex=jQuery('#jr_tabs a[href="#'+tabID+'"]').parent().index();jQuery(".jr_tabs").tabs("select",tabIndex);outer_width=$jr_modSlider.parent().width();jQueryUITab=1;}
if($jr_modSlider.parents('.tab-page').length){var firstCBTab=jQuery('#cb_tabmain').find('.tab-page').first();outer_width=firstCBTab.width()-20;}
if(outer_width==0){hiddenParent=$jr_modSlider.parents().filter(':hidden').last();outer_width=hiddenParent.parent().width();hiddenTab=1;}
if(page_count>1&&o.nav_position==='side'){$jr_modSlider.width(outer_width-$jr_modPrev.outerWidth(true)-$jr_modNext.outerWidth(true)-1);}
else{$jr_modSlider.width(outer_width);}
var page_width=$jr_modSlider.width();$jr_modContainer.width(page_width);$jr_modContainer.each(function(){var listItems=jQuery(this).children('.listItem');if(o.columns>listItems.length)o.columns=listItems.length;listItems.each(function(index){var container_width=page_width-((o.columns-1)*10);jQuery(this).width(container_width/o.columns);for(i=1;i<=10;i++){if(index+1==o.columns*i){jQuery(this).css('paddingRight','0px');}}});});var maxHeight=jreviews.module.maxHeight($jr_modContainer,hiddenTab);$jr_modContainer.height(maxHeight);$jr_modSlider.height(maxHeight);if(page_count>1&&o.nav_position==='side'){var arrows_margin=(($jr_modSlider.height()/2)-11);$jr_modPrev.css('marginTop',arrows_margin);$jr_modNext.css('marginTop',arrows_margin);}
if(page_count>1)
{var modSlider=$jr_modSlider.scrollable({clickable:false,circular:(o.orientation==='horizontal')||(o.orientation==='vertical'&&o.slideshow==="1"),interval:0,easing:'swing',speed:1000,items:'.jr_modItems',prev:'.jr_modPrev',next:'.jr_modNext',disabledClass:'jr_modDisabled',keyboard:false,vertical:o.orientation==='vertical'});if(o.slideshow==="1"){modSlider.autoscroll({autoplay:true,interval:o.slideshow_interval*1000});}
if(o.orientation==='horizontal'){$jr_modSlider.css('paddingBottom','11px');$jr_modSlider.append('<div class="navi" style="width:'+14*page_count+'px;"></div>');var $nav=$jr_modSlider.find('div.navi');var navPosition=($jr_modSlider.outerWidth()/2)-($nav.outerWidth()/2);$jr_modSlider.find('div.navi').css('left',navPosition+'px');modSlider.navigator();}}
if($jr_modSlider.find('div.listItem').first().hasClass('slideshowLayout')){$thumbs=$jr_modSlider.find('.contentThumbnail');$thumbs.each(function(){jQuery(this).hover(function(){jQuery(this).find('div.contentInfo').hide().slideDown(500);},function(){jQuery(this).find('div.contentInfo').slideUp(500);});});}
if(jQueryUITab){jQuery("#jr_tabs").tabs("select",0);}},maxHeight:function(group,hiddenTab)
{var tallest=0;if(hiddenTab){group.each(function(){var clonedGroup=jQuery(this).clone().appendTo('body');var thisHeight=clonedGroup.outerHeight();if(thisHeight>tallest){tallest=thisHeight;}
clonedGroup.remove();});}else{group.each(function(){var thisHeight=jQuery(this).outerHeight();if(thisHeight>tallest){tallest=thisHeight;}});}
return tallest;}},lightbox:function()
{if(jQuery('a.fancybox').size())
{jQuery("a.fancybox").fancybox({'speedIn':1000,'speedOut':1000,'easingIn':'easeOutBack','easingOut':'easeInBack','transitionIn':'elastic','transitionOut':'elastic','overlayShow':true,'opacity':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)
{var data={'url':'listings/_delete/id:'+options.listing_id}
data[options.token]=1;jQuery(element).s2Confirm({'dialog':{'title':options.title},'submitData':data},options.text);},manageAction:function(element,options,action)
{var data={'data[Listing][id]':options.listing_id};data[options.token]=1;jreviews.dispatch({'method':'get','type':'json','controller':'listings','action':action,'data':data,'onComplete':function(res){if(!res.error)
{var $element=jQuery(element);var state=$element.is('.jr_published')?'unpublished':'published';$element.removeClass().addClass('jr_'+state).html(options[state]);}else
s2Alert(res.msg);}});},feature:function(element,options)
{jreviews.listing.manageAction(element,options,'_feature');},frontpage:function(element,options)
{jreviews.listing.manageAction(element,options,'_frontpage');},publish:function(element,options)
{jreviews.listing.manageAction(element,options,'_publish');},submit:function(element)
{jQuery('#controller, #action').remove();var form=jQuery('#jr_listingForm');var count;var selected=[];var category;var parent_category;jQuery("select[id^=cat_id]").each(function()
{var value=jQuery(this).val();if(value>0)selected.push(jQuery(this));});count=selected.length;if(count==1)
{form.find('#category').val(selected[0].find('option:selected').text().replace(/(- )+/,''));}
else if(count>1)
{form.find('#category').val(selected[count-1].find('option:selected').text().replace(/(- )+/,''));form.find('#parent_category').val(selected[count-2].find('option:selected').text().replace(/(- )+/,''));}
form.find('#section').val(form.find('#section_id option:selected').text());try{jQuery('.wysiwyg_editor').RemoveTinyMCE();}
catch(err){}
jQuery(element).siblings('.jr_loadingSmall').fadeIn();jQuery('#jr_listingForm .button').attr('disabled','disabled');var valid_fields=jreviews.form.getValidationFields(form.attr('id')).join(',');form.append('<input type="hidden" id="valid_fields" name="data[valid_fields]" value="'+valid_fields+'" />');form.submit();jQuery('#valid_fields','#jr_listingForm').remove();},submitSection:function(element)
{var $controller,$action;var $parentForm=jQuery('#jr_listingForm');$parentForm.find('#cat_id1').val(0);$controller=jQuery('#controller').detach();$action=jQuery('#action').detach();$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, #action','#jr_listingForm').remove();$parentForm.append($controller,$action);},submitCategory:function(element)
{try{jQuery('.wysiwyg_editor').RemoveTinyMCE();}
catch(err){}
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" />');$parentForm.append('<input type="hidden" id="hidden_cat_id" name="data[catid]" value="'+element.value+'" />');$parentForm.append('<input type="hidden" id="cat_level" name="data[level]" value="'+element.id+'" />');var callbacks={onAfterResponse:function(){try{jQuery('.wysiwyg_editor').tinyMCE();}
catch(err){}
if(jreviews.facebook.enable==true){jreviews.facebook.checkPermissions({'onPermission':function(){jreviews.facebook.setCheckbox('jr_submitListing',true);},'onNoSession':function(){jreviews.facebook.setCheckbox('jr_submitListing',false);}});};jreviews.controlFieldListing=new jreviewsControlField('jr_listingForm','hidden_cat_id');jreviews.controlFieldListing.loadData({'entry_id':jQuery('#listing_id','#jr_listingForm').val(),'value':false,'page_setup':true,'referrer':'listing'});if(jQuery('#reviewForm').length){var $controlFieldReview=new jreviewsControlField('reviewForm','hidden_cat_id');$controlFieldReview.loadData({'fieldLocation':'Review','entry_id':0,'value':false,'page_setup':true,'referrer':'review'});}}};jQuery(element).s2SubmitForm(callbacks);jQuery('#controller, #action, #hidden_cat_id, #cat_level').remove();},setMainImage:function(element,options)
{jQuery(element).s2SubmitNoForm('listings','_imageSetMain','data[listing_id]='+options.listing_id+'&data[image_path]='+options.image_path+'&'+options.token+'=1');},deleteImage:function(element,options)
{var data={'url':'listings/_imageDelete/','data[listing_id]':options.listing_id,'data[delete_key]':options.delete_key,'data[image_path]':options.image_path};data[options.token]=1;jQuery(element).s2Confirm({'dialog':{'title':options.title},'submitData':data},options.text);}},review:{starRating:function(suffix,inc)
{jQuery("div[id^='jr_stars"+suffix+"']").each(function(i){if(this.id!=''){jQuery(this).parent().next().append('<span id="jr-rating-wrapper-'+this.id+'"></span>');var splitStars=1/inc;jQuery("#"+this.id).stars({split:splitStars,captionEl:jQuery("#jr-rating-wrapper-"+this.id)});}});},showForm:function(element)
{jQuery(element).hide('slow',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('slow');});},edit:function(element,options)
{jQuery(element).s2Dialog('jr_review'+options.review_id,{beforeSubmit:function(review_id){var $form=jQuery('#'+review_id+'Form');var valid_fields=jreviews.form.getValidationFields(review_id+'Form').join(',');$form.append('<input type="hidden" id="valid_fields" name="data[valid_fields]" value="'+valid_fields+'" />');},dialog:{width:800,height:600,title:options.title},dialogData:{url:'reviews/_edit/review_id:'+options.review_id}});},submit:function(element)
{var $button=jQuery(element);var $form=$button.parents('form');var form_id=$form.attr('id');var valid_fields=jreviews.form.getValidationFields(form_id).join(',');$form.append('<input type="hidden" id="valid_fields" name="data[valid_fields]" value="'+valid_fields+'" />');$button.s2SubmitForm();jQuery('#valid_fields','#'+form_id).remove();},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');},rebuildRanksTable:function()
{jreviews.dispatch({'controller':'reviews','action':'_rebuildRanksTable'});}},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().find(':input').val('');}}},tooltip:function()
{if('undefined'!=typeof jQuery.tools&&'undefined'!=typeof jQuery.tools.tooltip)
{jQuery('.jr_infoTip').not('.jrTipInit').tooltip({position:'center right',tipClass:'jr_tooltipBox',delay:0,opacity:0.95,effect:'slide',offset:[0,10],relative:true}).addClass('jrTipInit');}},user:{autocomplete:function(element,options)
{var defaults={'target_user_id':'jr_reviewUserid','target_name':'jr_reviewName','target_username':'jr_reviewUsername','target_email':'jr_reviewEmail'};var settings=jQuery.extend(defaults,options);element.autocomplete({source:function(request,response){var cache=element.data('cache')||{};var term=request.term;if(term in cache){response(cache[term]);return;}
jreviews.dispatch({'type':'json','controller':'users','action':'_getList','data':{"data[value]":term},'onComplete':function(data){cache[term]=data;element.data('cache',cache)
response(data);}});},select:function(event,ui){jQuery('#'+settings.target_user_id).val(ui.item.id);jQuery('#'+settings.target_email).val(ui.item.email);jQuery('#'+settings.target_name).val(ui.item.name);jQuery('#'+settings.target_username).val(ui.item.username);},minLength:2});jQuery('.ui-autocomplete').css('white-space','nowrap');}},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/"+jrVars["locale"]+"/all.js",success:function(){FB.init({appId:options.appid,status:false,cookie:true,xfbml:true,oauth:true});if(undefined!=options.success)options.success();},dataType:"script",cache:true});}else if(undefined!=options.success&&FB.init!=undefined){FB.init({appId:options.appid,status:false,cookie:true,xfbml:true,oauth:true});options.success();}},login:function()
{if(null==jreviews.facebook.uid){FB.login(function(response){if(response.authResponse){jreviews.facebook.uid=response.authResponse.userID;}else{jQuery('#fb_publish').attr('checked',false);}},{scope:'publish_stream'});}},checkPermissions:function(options){if(undefined==options)options={};jQuery("body").data('fb.options',options);if(typeof(FB)=='undefined'){jreviews.facebook.permissions=false;return;}
FB.getLoginStatus(function(response)
{if(response.status==='connected')
{jreviews.facebook.uid=response.authResponse.userID;FB.api({method:'fql.query',query:'SELECT publish_stream FROM permissions WHERE uid= '+response.authResponse.userID},function(response){if(!response[0].publish_stream)
{FB.login(function(response){if(response.authResponse)
{var options=jQuery("body").data('fb.options');if(undefined!=options.onPermission)options.onPermission();jreviews.facebook.permissions=true;}},{scope:'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");}}},common:{initForm:function(form_id)
{var parentForm=jQuery('#'+form_id);var captchaDiv=parentForm.find('div.jr_captcha');parentForm.one('mouseover',function(){jQuery(parentForm).s2SubmitNoForm('common','_initForm','data[form_id]='+form_id+'&data[captcha]='+captchaDiv.length);parentForm.find('button').removeAttr('disabled');});},inArray:function(needle,haystack){var length=haystack.length;for(var i=0;i<length;i++){if(haystack[i]==needle)return true;}
return false;}}}
