// PIXEM V 1.1 //
// Copyright 2012, Mandar Shirke //
// www.quadcodes.com
// DATE : 7/1/2012 //

// --------- INIT JS ---------  //

// -- 1. WMU-SLIDER --  //
// -- 2. TIPSY --  //
// -- 3. JSOCIAL --  //
// -- 4. TAG SLIDE --  //
// -- 5. LAZYLOAD --  //
// -- 6. JPLAYER VIDEO TEMP --  //
// -- 7. JPLAYER AUDIO TEMP --  //
// -- 8. FLOATING-MENU --  //
// -- 9. TOGGLE-TOPBAR --  //
// -- 10. SHORTCODES --  //
// -- 11. FEEDBACK --  //
// -- 12. JQUERY QUOTE FORM --  //
// -- 13. PRETTYPHOTO --  //
// -- 14. TWITTER / FACEBOOK FOLLOWER COUNT --  //
// -- 15. MASONRY / FILTERABLE PORTFOLIO --  //
// -- 16. MOBILE DROP DOWN MENU --  //
// -- 17. TOP CONTACT FORM --  //


$(document).ready(function() {

// --------------------  //


// --------- 1. WMU-SLIDER ----------  //

$('.slider-gallery').wmuSlider({
	animation: 'fade',
	animationDuration: 0,
	slideshow: false,
	slideshowSpeed: 7000,
	slideToStart: 0,
	navigationControl: true,
	paginationControl: true,
	previousText: 'Prev',
	nextText: 'Next',
	touch: true,
	slide: 'article',
	items: 1
});

// Show Prev Next on Slider hover //
$('.slider-gallery').hover(function() {
	$('.wmuSliderNext, .wmuSliderPrev').fadeIn('slow');
},
function() {
	$('.wmuSliderNext, .wmuSliderPrev').fadeOut('slow');
});
	
// hide hoverable mask when post format is slide //
$('.wmuSliderPagination, .wmuSliderNext, .wmuSliderPrev').hover(function() {
	$('.mask').fadeOut('fast');
},
function() {
	$('.mask').fadeIn('fast');
});



// --------- 2. TIPSY ----------  //

$('.tips').tipsy({gravity: 's'});



// --------- 3. JSOCIAL ----------  //

// Flickr
$('#flickr').jflickrfeed({
	limit: 8,
	qstrings: {
	id: '52617155@N08' // Define Flickr ID //
	},
	itemTemplate: '<li><a href="{{image_b}}" rel="prettyPhoto[pp_gal]"><img class="flickr" src="{{image_s}}" alt="{{title}}" width="40" height="40"></a></li>'
	}, function(data) {
	$('#flickr a').prettyPhoto();
}); 
// Twitter
$(".tweet").tweet({
	join_text: "auto",
	username: "quadcodes", // Define Twitter Username //
	avatar_size: 0,
	count: 2,
	auto_join_text_default: "|", 
	auto_join_text_ed: "we",
	auto_join_text_ing: "we were",
	auto_join_text_reply: "we replied",
	auto_join_text_url: "we were checking out",
	loading_text: "Loading Tweets..."
}); 
// Dribbble
$.jribbble.getShotsByPlayerId('envato', function (playerShots) {  // Define Dribbble Username //
	var html = [];
	$.each(playerShots.shots, function (i, shot) {
		html.push('<li><a href="' + shot.url + '">');
		html.push('<img src="' + shot.image_teaser_url + '" ');
		html.push('title="' + shot.title + '"></a></li>');
	});
	$('#shotsByPlayerId').html(html.join(''));
}, {page: 1, per_page: 6});

$.jribbble.getPlayerById('envato', function (player) {  // Define Dribbble Username //
    var html = [];
    html.push('' + player.followers_count + '');
    $('#dribbble_count').html(html.join(''));
});



// --------- 4. TAG SLIDE ----------  //

$('.tag').hover(function() {
	$(this).stop().animate({ paddingRight: ($('.tag_count', this).outerWidth() - 5) }, 'easeInOutExpo');
}, function() {
	$(this).stop().animate({ paddingRight: 5 }, 'easeInOutExpo');
});
$('.tag').click(false);



// --------- 5. LAZYLOAD ----------  //

$(".lazy").lazyload({
	threshold : 0,
	placeholder : "./img/theme/grey.gif",
	effect      : "fadeIn",
	speed : "slow"
});


// --------- 6. JPLAYER VIDEO TEMP ----------  //

jQuery("#jquery_jplayer_1").jPlayer({
	ready: function () {
		jQuery(this).jPlayer("setMedia", {
			m4v: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v",
			ogv: "http://www.jplayer.org/video/ogv/Big_Buck_Bunny_Trailer_480x270.ogv",
			poster: "http://themeforest.quadcodes.com/site/pixem/includes/img/placeholder/Big_Buck_Bunny_Trailer_480x270.png"
	});
},
	swfPath: "http://themeforest.quadcodes.com/site/pixem/includes/js/jplayer",
	cssSelectorAncestor: "#jp_interface_1",
	supplied: "m4v, ogv,  all",
	size: {
		width: "100%",
	}
});
					


// --------- 7. JPLAYER AUDIO TEMP ----------  //

$("#jquery_jplayer_2").jPlayer({
	ready: function () {
		$(this).jPlayer("setMedia", {
			m4a: "http://www.jplayer.org/audio/m4a/Miaow-07-Bubble.m4a",
			oga: "http://www.jplayer.org/audio/ogg/Miaow-07-Bubble.ogg"
		});
	},
	ended: function (event) {
		$(this).jPlayer("play");
	},
	swfPath: "http://themeforest.quadcodes.com/site/pixem/includes/js/jplayer",
	cssSelectorAncestor: "#jp_interface_2",
	supplied: "m4a, oga"
});



// --------- 8. FLOATING-MENU ----------  //

$(window).scroll(function(){
	var totalHeight = $('body').height();
	var yPos = $(window).scrollTop();
	if( yPos > (totalHeight*.10) && yPos < (totalHeight*.90) ){
		$("#float-menu").fadeIn('fast');
		} else {
		$('#float-menu').fadeOut('fast');
	}
});



// --------- 9. TOGGLE-TOPBAR ----------  //

$('#top-trigger').click(function() {
	$('.top-content-inset').slideToggle(300);
	$('#top-bar').toggleClass('pushdown');
});


/* ///////////////// 10. SHORTCODES //////////////// */

	/*-- Tabs --*/

	$('.tabs a').click(function(){
		switch_tabs($(this));
	}); 
	switch_tabs($('.defaulttab')); 
    	function switch_tabs(obj) {
		$('.tab-content').hide();
		$('.tabs a').removeClass("selected");
	var id = obj.attr("rel"); 
		$('#'+id).fadeIn(500);
	obj.addClass("selected");
	}
	
	/*-- Toggle --*/
	
	if ( jQuery( '.shortcode-toggle').length ) {	
		
		jQuery( '.shortcode-toggle').each( function () {
			
			var toggleObj = jQuery(this);
			
			toggleObj.closedText = toggleObj.find( 'input[name="title_closed"]').attr( 'value' );
			toggleObj.openText = toggleObj.find( 'input[name="title_open"]').attr( 'value' );
			
			toggleObj.find( 'input[name="title_closed"]').remove();
			toggleObj.find( 'input[name="title_open"]').remove();
			
			toggleObj.find( 'h4.toggle-trigger a').click( function () {
			
				toggleObj.find( '.toggle-content').animate({ opacity: 'toggle', height: 'toggle' }, 300);
				toggleObj.toggleClass( 'open' ).toggleClass( 'closed' );
				
				if ( toggleObj.hasClass( 'open') ) {
				
					jQuery(this).text(toggleObj.openText);
				
				} // End IF Statement
				
				if ( toggleObj.hasClass( 'closed') ) {
				
					jQuery(this).text(toggleObj.closedText);
				
				} // End IF Statement
				
				return false;
			
			});
					
		});


	} // End IF Statement
  
  
// --------- 11. FEEDBACK ----------  //

$('.feedbackwrap').carousel({
	slider: '.feedback-carousel',
	slide: '.feedback',
	slideHed: '.slidehed',
	nextSlide : '.next',
	prevSlide : '.prev',
	addPagination: false,
	addNav : false,
	speed: 300
});


// --------- 12. JQUERY QUOTE FORM ----------  //

$('#formquote').jquerydform();

   
   
// --------- 13. PRETTYPHOTO ----------  //

$("a[rel^='prettyPhoto']").prettyPhoto();



// --------- 14. TWITTER / FACEBOOK FOLLOWER COUNT ----------  //
//  https://gist.github.com/599243 //

var f_page = "wvumountaineers"; // the page name for your fan page, e.g. the 'wvumountaineers' part of http://facebook.com/wvumountaineers
var t_page = "westvirginiau"; // the account name for your main twitter account

function add_commas(number) {
if (number.length > 3) {
var mod = number.length % 3;
var output = (mod > 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(number.length / 3); i++) {
if ((mod == 0) && (i == 0)) {
output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
} else {
output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
}
return (output);
} else {
return number;
}
}

// when document is ready load the counts
$(document).ready(function(){

// grab from facebook
$.getJSON('https://graph.facebook.com/'+f_page+'?callback=?', function(data) {
var fb_count = data['likes'].toString();
fb_count = add_commas(fb_count);
$('#fb_count').html(fb_count);
});

// grab from twitter
$.getJSON('http://api.twitter.com/1/users/show.json?screen_name='+t_page+'&callback=?', function(data) {
twit_count = data['followers_count'].toString();
twit_count = add_commas(twit_count);
$('#twitter_count').html(twit_count);
});

});



// --------- 15. MASONRY / FILTERABLE PORTFOLIO ----------  //

var curWidth; 
var detector;

detector = $('.magic-column');

$(window).resize(function(){
    if(detector.outerWidth(true)!=curWidth){
        curWidth = detector.outerWidth(true);
        $wall.masonry( 'option', { columnWidth: curWidth });
    }
});

$(window).load(function(){
     $(function (){
     	var speed = 800,   // animation speed
     	$wall = $('#main-article').find('.wrap');
     	$wall.masonry({
     		singleMode: true, 
     		columnWidth: curWidth,
     		// only apply masonry layout to visible elements
     		itemSelector: '.magic-column:not(.invis)',
     		animate: true,
     		animationOptions: {
     			duration: speed,
     			queue: false
     		}
     	});
     	$('#filtering-nav a').click(function(){
     		var colorClass = '.' + $(this).attr('class');
     		if(colorClass=='.all') {
     			// show all hidden boxes
    				$wall.children('.invis')
     			.toggleClass('invis').fadeIn(speed);
     		} else {  
     			// hide visible boxes 
     			$wall.children().not(colorClass).not('.invis')
     			.toggleClass('invis').fadeOut(speed);
     			// show hidden boxes
    				$wall.children(colorClass+'.invis')
     			.toggleClass('invis').fadeIn(speed);
     		}
     		$wall.masonry();
     		return false;
     	});
    	});
});


$('#filtering-nav').hide();
$('.portfolio-outerwrap').hide();

$('#display-list').click(function(){
	$(this).addClass('selected');
	$('#display-block').removeClass('selected');
	$('#filtering-nav').hide();
	$('.portfolio-outerwrap').hide();
	$('.navigation').fadeIn();
	$('.gallery').fadeIn();
	return false;	
});

$('#display-block').click(function(){
	$(this).addClass('selected');
	$('#display-list').removeClass('selected');
	$('.navigation').hide();
	$('.gallery').hide();
	$('#filtering-nav').fadeIn();
	$('.portfolio-outerwrap').fadeIn();
	$('.all').trigger('click');
	return false;	
});



// --------- 16. MOBILE DROP DOWN MENU ----------  //

$('#dd-menu').change(function() {
  window.location = $(this).val();
});



// --------- 17. TOP CONTACT FORM ----------  //

$("#submit-form").click(function(){
	$(".error").hide();
	var hasError = false;
	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

	var formName = $("#name").val();
	var formEmail = $("#email").val();
	var formMessage = $("#message").val();

	if(formName == '') {
		$("#name").after('<span class="error">Name required.</span>');
		hasError = true;
	}

	if(formEmail == '') {
		$("#email").after('<span class="error">Email address required.</span>');
		hasError = true;
	}

	if(formMessage == '') {
		$("#message").after('<span class="error">A message is required.</span>');
		hasError = true;
	}

	if( !emailReg.test( formEmail ) ) {
		$("#email").after('<span class="error">Invalid Email entered.</span>');
		hasError = true;
	}
			
	$("form input, form textarea").keypress(function() {
 		$(this).parent().find('span').fadeOut();	
	});

	if(hasError == false) {

		$("#submit-form").attr("src", "../assets/loading.gif");
			
		$.post("http://yourdomain.com/includes/form/contactForm.php", // Replace this path with yours
   			{	name: formName,
				email: formEmail,
				message: formMessage
			},
   			function(data){
				$("#contact-form").html("<p><strong>Thank You!</strong> Our customer care representative will get back to you shortly.</p>");
			}
		);
	}
	return false;
});


// --------------------  //  

});
