// --------------------------
// LOAD THE COMMON FUNCTIONS
// --------------------------
jQuery(document).ready(function(){	
	smfilter();
	smoverlay();
	smgotop();
	smpreload();
	
});


// -------------
// CUSTOM SLIDER
// -------------
function smcustomslider(){
	// Lastest works slideshow
	jQuery('#new-slider').after('<div id="nav">').cycle({
		fx: 'scrollUp', 
	    speedIn:  1000, 
	    speedOut: 700, 
	    easeIn:  'easeOutBack', 
	    easeOut: 'easeInQuad',
	    timeout: 5000,
	    pager: '#nav'
	});		
	
	jQuery('#new-slider img').one('load', function() {
		jQuery(this).delay(250).animate({opacity:1}, 350);
			}).each(function() {
				if(this.complete)
					jQuery(this).trigger('load');
	});
}

function onBefore() { 
    jQuery('.popup').animate({ opacity : 0},100);
}

function onAfter() { 
    jQuery('.popup').delay(150).animate({ opacity : 1},350); 
}


// -----------------------------------------
// CUSTOM PRELOAD FOR .preload, .thumb class
// -----------------------------------------

function smpreload() {

	jQuery('.preload img, .thumb img').one('load', function() {
		jQuery(this).delay(250).animate({opacity:1}, 350);
			}).each(function() {
				if(this.complete)
					jQuery(this).trigger('load');
	});
	
}	

// ---------------------------
// CUSTOM SLIDER WITHOUT POPUP
// ---------------------------
function smcustomslidernopopup(){
	// Lastest works slideshow
	jQuery('#new-slider').after('<div id="nav">').cycle({
		fx: 'scrollDown', 
	    speedIn:  800, 
	    speedOut: 500, 
	    easeIn:  'easeOutBack', 
	    easeOut: 'easeInQuad',
	    timeout: 6000,
	    pager: '#nav'
	});		
}

// --------------------
// COIN SLIDER SETTINGS
// --------------------
function smcoinslider(){
	jQuery('#coin-slider').coinslider({
		width: 960,
		height: 425,
		navigation: true,
		delay: 3000
	});
}


// ------------------
// SMALL WORKS SLIDER
// ------------------
function smworkslider(){
	// Lastest works slideshow
	jQuery('#products').cycle({
		fx: 'scrollHorz',
		easing: 'easeInOutQuad',
	    speed:  'slow', 
	    timeout: 7000, 
	    next:   '#arr-next', 
	    prev:   '#arr-prev',
   		pauseOnPagerHover: 'true'
	});	
	// Lastest works slideshow
	jQuery('#news').cycle({
		fx: 'scrollUp',
		easing: 'easeInOutQuad',
	    speed:  'slow', 
	    timeout: 7000, 
		height: 146,
	    next:   '#arr-next', 
	    prev:   '#arr-prev',
   		pauseOnPagerHover: 'true'
	});	
}

// --------------------
// FANCY BOX SETTINGS
// --------------------
function smfancy(){
	// fancy box
	jQuery('.thumb').fancybox();		
}

// ----------------------
// PORTFOLIO WORKS FILTER
// ----------------------
function smfilter(){		
	// work filter function
	jQuery('#filter ul a').click(function() {
		jQuery(this).css('outline','none');
		jQuery('#filter ul .current').removeClass('current');
		jQuery(this).parent().addClass('current');
		
		var filterVal = jQuery(this).text().toLowerCase().replace(' ','-');
				
		if(filterVal == 'all-works') {
			jQuery('ul#worklist li.hidden').fadeIn('normal').removeClass('hidden');
		} else {
			
			jQuery('ul#worklist li').each(function() {
				if(!jQuery(this).hasClass(filterVal)) {
					jQuery(this).fadeOut('fast').addClass('hidden');
				} else {
					jQuery(this).fadeIn('normal').removeClass('hidden');
				}
			});
		}
		
		return false;
	});
	
	jQuery('#filter ul a.now').click();
}	

// -------
// OVERLAY
// -------
function smoverlay(){
	// IE FIX
	if(jQuery.browser.msie){
		jQuery('<span class="overlayIE"></span>').prependTo('a.thumb');
		jQuery('.overlayIE').css({opacity : 0});
		jQuery('a.thumb').hover(function(){				
			jQuery('.overlayIE',this).stop().animate({ opacity : .5},280);
		}, function(){
			jQuery('.overlayIE',this).stop().animate({ opacity : 0},150);
		});		
	}	
	// img overlay
	jQuery('<span class="overlay"></span>').prependTo('a.thumb');
	jQuery('.overlay').css({opacity : 0});
	jQuery('a.thumb').hover(function(){				
		jQuery('.overlay',this).stop().animate({ opacity : 1},280);
	}, function(){
		jQuery('.overlay',this).stop().animate({ opacity : 0},150);
	});
}

// ----------------
// TWITTER SETTINGS
// ----------------
function smtwitter(){
	// Twitter
	jQuery("#twitter").getTwitter({
		userName: "simom", // your username
		numTweets: 1, // number of loaded tweets
		loaderText: "Loading tweets...",
		slideIn: true,
		slideDuration: 750,
		showHeading: false,
		showProfileLink: false,
		showTimestamp: true
	});	
}

// ------------------------------------
// TWITTER SETTINGS FOR SIDEBAR TWEETS
// ------------------------------------
function smtwitter2(){
	// Twitter
	jQuery("#twitter").getTwitter({
		userName: "simom", // your username
		numTweets: 2, // number of loaded tweets
		loaderText: "Loading tweets...",
		slideIn: true,
		slideDuration: 750,
		showHeading: false,
		showProfileLink: false,
		showTimestamp: true
	});	
}

// ---------------
// FORM VALIDATION 	
// ---------------
function smvalidate(){
	// form validation						 
	jQuery('.contact-form').validate({
			rules: {	
						name: {
							required: true,
							minlength: 2
						},
						message: {
							required: true,
							minlength: 10
						}
					},
			submitHandler: function(form) {
				jQuery(form).ajaxSubmit({
					target: "#result",
					resetForm: true
				});
			}
	});
}

// -------------------
// GOOGLE MAP SETTINGS
// -------------------
function smgmap(){
	// google map
	jQuery("#map").gMap({ 
		zoom: 14,
		markers: [{ 
		latitude: 51.5916824727648,	// change with your latitude
	    longitude: -0.057849884033203125 // change with your longitude
		}]
	});
}

// ------
// GO TOP
// ------
function smgotop(){
	jQuery('a.gotop').click(function(){
		jQuery('html, body').animate({scrollTop:0}, 600, 'easeInOutQuad');
		return false;				
	});
}

// --------------------------------------------------------------
// Including easing jquery plugin
/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
*/
jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d)},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b},easeOutQuad:function(x,t,b,c,d){return -c*(t/=d)*(t-2)+b},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t+b}return -c/2*((--t)*(t-2)-1)+b},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t+b}return c/2*((t-=2)*t*t+2)+b},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b},easeOutQuart:function(x,t,b,c,d){return -c*((t=t/d-1)*t*t*t-1)+b},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t+b}return -c/2*((t-=2)*t*t*t-2)+b},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t*t+b}return c/2*((t-=2)*t*t*t*t+2)+b},easeInSine:function(x,t,b,c,d){return -c*Math.cos(t/d*(Math.PI/2))+c+b},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b},easeInOutSine:function(x,t,b,c,d){return -c/2*(Math.cos(Math.PI*t/d)-1)+b},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b},easeInOutExpo:function(x,t,b,c,d){if(t==0){return b}if(t==d){return b+c}if((t/=d/2)<1){return c/2*Math.pow(2,10*(t-1))+b}return c/2*(-Math.pow(2,-10*--t)+2)+b},easeInCirc:function(x,t,b,c,d){return -c*(Math.sqrt(1-(t/=d)*t)-1)+b},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1){return -c/2*(Math.sqrt(1-t*t)-1)+b}return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b}if((t/=d)==1){return b+c}if(!p){p=d*0.3}if(a<Math.abs(c)){a=c;var s=p/4}else{var s=p/(2*Math.PI)*Math.asin(c/a)}return -(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b}if((t/=d)==1){return b+c}if(!p){p=d*0.3}if(a<Math.abs(c)){a=c;var s=p/4}else{var s=p/(2*Math.PI)*Math.asin(c/a)}return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b}if((t/=d/2)==2){return b+c}if(!p){p=d*(0.3*1.5)}if(a<Math.abs(c)){a=c;var s=p/4}else{var s=p/(2*Math.PI)*Math.asin(c/a)}if(t<1){return -0.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b}return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*0.5+c+b},easeInBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158}return c*(t/=d)*t*((s+1)*t-s)+b},easeOutBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158}return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158}if((t/=d/2)<1){return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b}return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b}else{if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+0.75)+b}else{if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+0.9375)+b}else{return c*(7.5625*(t-=(2.625/2.75))*t+0.984375)+b}}}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2){return jQuery.easing.easeInBounce(x,t*2,0,c,d)*0.5+b}return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*0.5+c*0.5+b}});
