/*
	Mom and Pop Shop Theme

	Description: Contains general javascript
	Title: main.min.js
	Version: 1.0
	Date: 01/24/10
	
	Copyright 2010, Tim Hall Design, timhalldesign@gmail.com
	
	Created as part of the Mom and Pop Theme for Themeforest
	See http://themeforest.net/user/tim_hall/portfolio for more items 
*/

var options = {
	breadcrumbsHover: false,		// Breadcrumbs expand on hover, true or false
	twitterUsername: 'themeforest',	// Twitter username
	reviewsPerPage: 3,				// Number of product reviews to display per page
	sliderInterval: 5,				// Number of seconds for the slider animation
	sliderAutoplay: false			// Autoplay slider animation, true or false
};

$(function() {	
	$('body').addClass('js');applyCategories();applyTabs();applyThumbnails();applyReviewForm();$('.star-rating').rating();$('#user-reviews-container').paginate({limit:options.reviewsPerPage,content:'.user-review'});$('.twitter-message').jTwitter({username:options.twitterUsername,numPosts:1});$('.main-slider').scrollable({size:1}).circular().navigator().autoscroll({interval:options.sliderInterval*1000,autoplay:options.sliderAutoplay});
	
	// User code goes here
	
});

// Custom functions
function applyCategories(){if(!options.breadcrumbsHover){$('body').addClass('breadcrumbs-nohover');$('.all-categories').css('visibility','hidden');$('.sub-categories').css('visibility','hidden');$('.sub-sub-categories').css('visibility','hidden');$('.view-all-categories, .view-categories').click(function(){$('.sub-categories').css('visibility','hidden');$('.sub-sub-categories').css('visibility','hidden');if($('.all-categories').css('visibility')!='visible'){$('.all-categories').css('visibility','visible');$('body').addClass('categories-active');}else{$('.all-categories').css('visibility','hidden');$('body').removeClass('categories-active');}$('.view-sub-categories').removeClass('active');$('.view-sub-sub-categories').removeClass('active');$('.view-all-categories').toggleClass('active');return false;});$('.view-sub-categories').click(function(){$('.all-categories').css('visibility','hidden');$('.sub-sub-categories').css('visibility','hidden');if($('.sub-categories').css('visibility')!='visible'){$('.sub-categories').css('visibility','visible');$('body').addClass('categories-active');}else{$('.sub-categories').css('visibility','hidden');$('body').removeClass('categories-active');}$('.view-all-categories').removeClass('active');$('.view-sub-sub-categories').removeClass('active');$('.view-sub-categories').toggleClass('active');return false;});$('.view-sub-sub-categories').click(function(){$('.all-categories').css('visibility','hidden');$('.sub-categories').css('visibility','hidden');if($('.sub-sub-categories').css('visibility')!='visible'){$('.sub-sub-categories').css('visibility','visible');$('body').addClass('categories-active');}else{$('.sub-sub-categories').css('visibility','hidden');$('body').removeClass('categories-active');}$('.view-all-categories').removeClass('active');$('.view-sub-categories').removeClass('active');$('.view-sub-sub-categories').toggleClass('active');return false;});$('.all-categories').click(function(e){e.stopPropagation();});$('.sub-categories').click(function(e){e.stopPropagation();});$('.sub-sub-categories').click(function(e){e.stopPropagation();});}};
function applyTabs(){$('.tabs .tab').hide();$('.tabs .tab:first').show();$('.tabs-links li a').click(function(){link=$(this).attr('href');$('.tabs .tab').hide();$('.tabs div'+link).show();$('.tabs-links li').removeClass('current');$(this).parent('li').addClass('current');return false;});$('.reviews-glance a').click(function(){link=$(this).attr('href');$('.tabs .tab').hide();$('.tabs div'+link).show();$('.tabs-links li').removeClass('current');$('.tabs-links li:last').addClass('current');return false;});};
function applyThumbnails(){var isLoading=false;$('.thumbnails ul li a').click(function(){$('.product-image').addClass('loading');isLoading=true;var $thumbnail=this,href=$($thumbnail).attr('href'),title=$($thumbnail).attr('title'),rel=$($thumbnail).attr('rel'),isMovie=false,isImage=true,imageBorder=false,imgMaxWidth=580,imgMaxHeight=440,borderWidth=5;if(rel!=""){relParts=rel.split(" ");if(relParts[0]=="movie"){isMovie=true;mHeight=relParts[1];mWidth=relParts[2];}else if(relParts[0]=="with-border"){imageBorder=true;imgMaxHeight-=2*borderWidth;imgMaxWidth-=2*borderWidth;};};$('.product-image').empty();if(isMovie){$('.product-image').flashembed({src:href,height:mHeight,width:mWidth,w3c:true});$('.product-image').removeClass('loading');isLoading=false;}else{var $img=new Image;if(imageBorder){$($img).addClass('border');}else{$($img).removeClass('border');};$($img).load(function(){var imgWidth=$($img).attr('width');var imgHeight=$($img).attr('height');if(imgWidth>imgMaxWidth){imgHeight=Math.round((imgHeight/imgWidth)*imgMaxWidth);imgWidth=imgMaxWidth;if(imgHeight>imgMaxHeight){imgWidth=Math.round((imgWidth/imgHeight)*imgMaxHeight);imgHeight=imgMaxHeight;}$($img).attr({'width':imgWidth,'height':imgHeight});}else if(imgHeight>imgMaxHeight){imgWidth=Math.round((imgWidth/imgHeight)*imgMaxHeight);imgHeight=imgMaxHeight;if(imgWidth>imgMaxWidth){imgHeight=Math.round((imgHeight/imgWidth)*imgMaxWidth);imgWidth=imgMaxWidth;}$($img).attr({'width':imgWidth,'height':imgHeight});}if(false){$($img).css('margin-top',(Math.round((imgMaxHeight/2)-(imgHeight/2))+'px'));}else{$($img).css('margin-top',0);}$('.product-image').prepend($img);$($img).hide();$('.product-image').removeClass('loading');$($img).fadeIn(function(){isLoading=false;});}).attr({'src':href,'alt':title});};return false;});};
function applyReviewForm(){$('#review-form').hide();$('.write-review').click(function(){$('#review-form').slideToggle('fast');return false;});};

// jquery.paginate.js
(function($){$.fn.paginate=function(options){var options=$.extend({},{content:'tbody tr',limit:5,linkContainerClass:'pagination',previousText:'Prev',nextText:'Next'},options);return this.each(function(){var page={};page.parent=$(this),page.content=(page.parent.is('TABLE'))?page.parent.find(options.content):page.parent.children(options.content),page.total=Math.ceil(page.content.size()/options.limit),page.display=page.content.css('display'),page.prev=0,page.next=2,page.linkContainerClass=options.linkContainerClass;if(page.total>1){page.content.slice(options.limit).css('display','none');$(document.createElement("div")).addClass(page.linkContainerClass)[(page.parent.is('TABLE'))?'insertAfter':'appendTo'](this);page.linkContainer=(page.parent.is('TABLE'))?page.parent.next('.'+page.linkContainerClass+':first'):page.parent.find('.'+page.linkContainerClass+':first');$(document.createElement('a')).addClass('previous disabled').attr('href','previous').attr('title','Previous page').attr('rel','nofollow').text(options.previousText).appendTo(page.linkContainer);for(var num=0;num<page.total;num++){var offset=num+1,min=(offset*options.limit)-(options.limit);max=(offset*options.limit);if(offset==1){$(document.createElement("a")).addClass('disabled current').attr('href',offset).attr('title','Page '+offset+'').attr('rel','nofollow').text(offset).appendTo(page.linkContainer);}else{$(document.createElement("a")).attr('href',offset).attr('title','Page '+offset+'').attr('rel','nofollow').text(offset).appendTo(page.linkContainer);};page[offset]=page.content.slice(min,[max]);};$(document.createElement("a")).addClass('next').attr('href','next').attr('title','Next page').attr('rel','nofollow').text(options.nextText).appendTo(page.linkContainer);page.anchors=page.linkContainer.find('a');page.prevLink=page.anchors[0];page.nextLink=page.anchors[page.anchors.length-1];page.current=1;$(page.anchors).wrap('<li></li>');$(page.linkContainer).wrapInner('<ul></ul>');page.anchors.bind('click',function(e){e.preventDefault();if($(this).is('.current, .disabled')){return false;};if($(this).is('.previous')&&page.prev!==0){page.content.css('display','none');page[page.prev].css('display',page.display);page.current--;page.prev--,page.next--;}else if($(this).is('.next')&&page.next!==(page.total+1)){page.content.css('display','none');page[page.next].css('display',page.display);page.current++;page.prev++,page.next++;}else{this.offset=parseInt($(this).attr('href'));page.content.css('display','none');page[this.offset].css('display',page.display);page.current=this.offset;page.prev=this.offset-1,page.next=this.offset+1;};$(page.anchors).removeClass('disabled');$(page.anchors[page.current]).addClass('disabled');$(page.anchors).removeClass('current');$(page.anchors[page.current]).addClass('current');if(page.prev===0){$(page.prevLink).addClass('disabled');}else{$(page.prevLink).removeClass('disabled');};if(page.next===(page.total+1)){$(page.nextLink).addClass('disabled');}else{$(page.nextLink).removeClass('disabled');};return false;});}else{};return this;});};})(jQuery);

// jquery.rating.js
(function($){if($.browser.msie)try{document.execCommand("BackgroundImageCache",false,true)}catch(e){};$.fn.rating=function(options){if(this.length==0)return this;if(typeof arguments[0]=='string'){if(this.length>1){var args=arguments;return this.each(function(){$.fn.rating.apply($(this),args);});};$.fn.rating[arguments[0]].apply(this,$.makeArray(arguments).slice(1)||[]);return this;};var options=$.extend({},$.fn.rating.options,options||{});$.fn.rating.calls++;this.not('.star-rating-applied').addClass('star-rating-applied').each(function(){var control,input=$(this);var eid=(this.name||'unnamed-rating').replace(/\[|\]/g,'_').replace(/^\_+|\_+$/g,'');var context=$(this.form||document.body);var raters=context.data('rating');if(!raters||raters.call!=$.fn.rating.calls)raters={count:0,call:$.fn.rating.calls};var rater=raters[eid];if(rater)control=rater.data('rating');if(rater&&control)control.count++;else{control=$.extend({},options||{},($.metadata?input.metadata():($.meta?input.data():null))||{},{count:0,stars:[],inputs:[]});control.serial=raters.count++;rater=$('<span class="star-rating-control"/>');input.before(rater);rater.addClass('rating-to-be-drawn');if(input.attr('disabled'))control.readOnly=true;};var star=$('<div class="star-rating rater-'+control.serial+'"><a title="'+(this.title||this.value)+'">'+this.value+'</a></div>');rater.append(star);if(this.id)star.attr('id',this.id);if(this.className)star.addClass(this.className);if(control.half)control.split=2;if(typeof control.split=='number'&&control.split>0){var stw=($.fn.width?star.width():0)||control.starWidth;var spi=(control.count%control.split),spw=Math.floor(stw/control.split);star.width(spw).find('a').css({'margin-left':'-'+(spi*spw)+'px'})};if(control.readOnly)star.addClass('star-rating-readonly');else star.addClass('star-rating-live').mouseover(function(){$(this).rating('fill');$(this).rating('focus');}).mouseout(function(){$(this).rating('draw');$(this).rating('blur');}).click(function(){$(this).rating('select');});if(this.checked)control.current=star;input.hide();input.change(function(){$(this).rating('select');});star.data('rating.input',input.data('rating.star',star));control.stars[control.stars.length]=star[0];control.inputs[control.inputs.length]=input[0];control.rater=raters[eid]=rater;control.context=context;input.data('rating',control);rater.data('rating',control);star.data('rating',control);context.data('rating',raters);});$('.rating-to-be-drawn').rating('draw').removeClass('rating-to-be-drawn');return this;};$.extend($.fn.rating,{calls:0,focus:function(){var control=this.data('rating');if(!control)return this;if(!control.focus)return this;var input=$(this).data('rating.input')||$(this.tagName=='INPUT'?this:null);if(control.focus)control.focus.apply(input[0],[input.val(),$('a',input.data('rating.star'))[0]]);},blur:function(){var control=this.data('rating');if(!control)return this;if(!control.blur)return this;var input=$(this).data('rating.input')||$(this.tagName=='INPUT'?this:null);if(control.blur)control.blur.apply(input[0],[input.val(),$('a',input.data('rating.star'))[0]]);},fill:function(){var control=this.data('rating');if(!control)return this;if(control.readOnly)return;this.rating('drain');this.prevAll().andSelf().filter('.rater-'+control.serial).addClass('star-rating-hover');},drain:function(){var control=this.data('rating');if(!control)return this;if(control.readOnly)return;control.rater.children().filter('.rater-'+control.serial).removeClass('star-rating-on').removeClass('star-rating-hover');},draw:function(){var control=this.data('rating');if(!control)return this;this.rating('drain');if(control.current){control.current.data('rating.input').attr('checked','checked');control.current.prevAll().andSelf().filter('.rater-'+control.serial).addClass('star-rating-on');}else $(control.inputs).removeAttr('checked');this.siblings()[control.readOnly?'addClass':'removeClass']('star-rating-readonly');},select:function(value){var control=this.data('rating');if(!control)return this;if(control.readOnly)return;control.current=null;if(typeof value!='undefined'){if(typeof value=='number')return $(control.stars[value]).rating('select');if(typeof value=='string')$.each(control.stars,function(){if($(this).data('rating.input').val()==value)$(this).rating('select');});}else control.current=this[0].tagName=='INPUT'?this.data('rating.star'):(this.is('.rater-'+control.serial)?this:null);this.data('rating',control);this.rating('draw');var input=$(control.current?control.current.data('rating.input'):null);if(control.callback)control.callback.apply(input[0],[input.val(),$('a',control.current)[0]]);},readOnly:function(toggle,disable){var control=this.data('rating');if(!control)return this;control.readOnly=toggle||toggle==undefined?true:false;if(disable)$(control.inputs).attr("disabled","disabled");else $(control.inputs).removeAttr("disabled");this.data('rating',control);this.rating('draw');},disable:function(){this.rating('readOnly',true,true);},enable:function(){this.rating('readOnly',false,false);}});$.fn.rating.options={cancel:'Cancel Rating',cancelValue:'',split:0,starWidth:16};$(function(){$('input[type=radio].star').rating();});})(jQuery);

// jquery.searchlabel.js
function initOverLabels(){if(!document.getElementById) return;var labels,id,field;labels=document.getElementsByTagName('label');for(var i=0;i<labels.length;i++){if(labels[i].className=='overlabel'){id=labels[i].htmlFor||labels[i].getAttribute('for');if(!id||!(field=document.getElementById(id))){continue;}labels[i].className='overlabel-apply';if(field.value !==''){hideLabel(field.getAttribute('id'),true);}field.onfocus=function(){hideLabel(this.getAttribute('id'),true);};field.onblur=function(){if(this.value===''){hideLabel(this.getAttribute('id'),false);}};labels[i].onclick=function(){var id,field;id=this.getAttribute('for');if(id &&(field=document.getElementById(id))){field.focus();}};}}};function hideLabel(field_id,hide){var field_for;var labels=document.getElementsByTagName('label');for(var i=0;i<labels.length;i++){field_for=labels[i].htmlFor||labels[i].getAttribute('for');if(field_for==field_id){labels[i].style.textIndent=(hide)?'-1000px':'0px';return true;}}}window.onload=function(){setTimeout(initOverLabels,1);};

// jquery.jtwitter.js
(function($){$.fn.jTwitter=function(options){var defaultSettings={username:'',numPosts:3,loadingMessage:'Loading Tweets...',listClass:'twitter-list',firstItemClass:'firstTweet',lastItemClass:'lastTweet',timestampClass:'twitter-date'},settings=$.extend({},defaultSettings,options),container=this,twitterList=$('<ul class="'+settings.listClass+'"></ul>');if(settings.username!=''){container.empty().append('<p>'+settings.loadingMessage+'</p>');var url="http://twitter.com/status/user_timeline/"+settings.username+".json?count="+settings.numPosts+"&callback=?";var info={};$.getJSON(url,function(data){for(var i=0;i<data.length;i++){twitterItem=$('<li/>');if(i==0){twitterItem.addClass(settings.firstItemClass);};if(i==(data.length-1)){twitterItem.addClass(settings.lastItemClass);};var today=new Date(),splitMD=data[i].created_at.split(' ');var monthNum=1;switch(splitMD[1].toUpperCase()){case'JAN':monthNum=1;break;case'FEB':monthNum=2;break;case'MAR':monthNum=3;break;case'APR':monthNum=4;break;case'MAY':monthNum=5;break;case'JUN':monthNum=6;break;case'JUL':monthNum=7;break;case'AUG':monthNum=8;break;case'SEP':monthNum=9;break;case'OCT':monthNum=10;break;case'NOV':monthNum=11;break;case'DEC':monthNum=12;break;}var messageDate=new Date(splitMD[5],monthNum-1,splitMD[2],splitMD[3].substring(0,2)-(today.getTimezoneOffset()/60),splitMD[3].substring(3,5),splitMD[3].substring(6,8)),days=Math.floor((today.getTime()-messageDate.getTime())/(1000*60*60*24));if(days>0){if(days==1){var strTimestamp='About '+days.toString()+' day ago';}else{var strTimestamp='About '+days.toString()+' days ago';}}else{var hours=Math.ceil((today.getTime()-messageDate.getTime())/(1000*60*60)),strTimestamp='About '+hours.toString()+' hours ago';};var message=data[i].text,htmlMessage='',splitMessage=message.split(' ');for(var j=0;j<splitMessage.length;j++){if(splitMessage[j].substring(0,7)=='http://'){tmpLink=splitMessage[j];htmlMessage+='<a href="'+tmpLink+'">'+tmpLink+'</a>';}else if(splitMessage[j].substring(0,1)=='@'){tmpUsername=splitMessage[j].substring(1,splitMessage[j].length);htmlMessage+='@<a href="http://twitter.com/'+tmpUsername+'">'+tmpUsername+'</a>';}else{htmlMessage+=splitMessage[j];};if(j<(splitMessage.length-1)){htmlMessage+=' ';};};twitterItem.html('<span>'+htmlMessage+'</span> <span class="'+settings.timestampClass+'">'+strTimestamp+'</span>');twitterList.append(twitterItem);};container.empty().append(twitterList);});};};})(jQuery);