$(document).ready(function (){

	//////////////////// NAVIGATION
	$('#menu-main > li:not(".current-menu-item, .current-page-ancestor, .current_page_parent")').hover(function() {
		$(this).stop(true, true).animate({
			left : ['10', 'swing']
			}, 200);
	},function () {
		$(this).stop(true, true).animate({
			left : ['0', 'swing']
		}, 200);
	});
	$('#networking > li').hover(function() {
		$(this).stop(true, true).animate({
			bottom : ['10', 'swing']
		}, 200);
	},function () {
		$(this).stop(true, true).animate({
			bottom : ['0', 'swing']
		}, 200);
	});

	//////////////////// SUB-NAVIGATION
	var bodyclass = $('body');
	if (bodyclass.hasClass('parent-pageid-7')) {
		$('.menu-slideoutmenu-container').css({
			left : "48px"
		})
	}
	else {
		$('.menu-slideoutmenu-container').delay(1000).animate({
			left : ['+=548', 'easeOutBack']}, 500);
	}	
		
	//////////////////// SLIDER FUNCTIONS
	$('#home-slider').bxSlider({
		infiniteLoop: true,
		ticker: true,
		startingSlide: 0,
		tickerHover: true,  
        tickerSpeed: 300 
	});
	$('#normal-slider').bxSlider({
		displaySlideQty: 2,
    moveSlideQty: 1,
		easing: 'easeInOutExpo'
	});
	$('#about-slider').bxSlider({
		displaySlideQty: 5,
        moveSlideQty: 1,
		easing: 'easeInOutExpo'
	});
	$('#clients-slider').bxSlider({
		mode: 'fade',
		infiniteLoop: true,
		controls: false,  
		auto: true,
		speed: 1000,
		pause: 8000,
		autoHover: true
	});

		
	//////////////////// IMAGE ENLARGE FUNCTIONS
	$('.menuitem img').animate({
			width : ['50%']
		}, 0)
	$('.menuitem').hover(function() {
		gridimage = $(this).stop(true, true).find('img');
		gridimage.animate({
			width : ['100%', 'easeOutSine'],
			left : "-25%"
		}, 200);
	},function() {
		gridimage.animate({
			width : ['50%'],
			left : "0%"
		}, 200);
	});
  
  if ( $.browser.msie ) {
    $('.clientsitem img').animate({
        width : ['105px'],
        height : ['70px']
      }, 0)
    $('.clientsitem').hover(function() {
      gridimage = $(this).stop(true, true).find('img');
      gridimage.animate({
        width : ['140px', 'easeOutSine'],
        height : ['94px', 'easeOutSine'],
        left : "-14px",
        top : "-9px"
      }, 200);
    },function() {
      gridimage.animate({
        width : ['105px'],
        height : ['70px'],
        left : "0%",
        top : "0%"
      }, 150);
    });
  } 

	
	//////////////////// ANIMATE SLIDER ARROWS
	$('.bx-next').hover(function(){
		$(this).stop(true, true).animate({
			right : ['-=5px', 'swing']
		}, 200);
	},function() {
		$(this).animate({
			right : ['+=5px']
		}, 200);
	});
	$('.bx-prev').hover(function(){
		$(this).stop(true, true).animate({
			left : ['-=5px', 'swing']
		}, 200);
	},function() {
		$(this).animate({
			left : ['+=5px']
		}, 200);
	});	

	//////////////////// FANCYBOX
	$("a.fancybox").fancybox({
		'showNavArrows'	:	true,
		//'cyclic' : true,
    'width' : 'auto',
    'autoDimensions' : true,
    'autoScale' : true
	});

	//////////////////// FADE IN HOME PAGE ON FIRST VISIT
	if ( document.referrer == null || document.referrer.indexOf(window.location.hostname) < 0 ) {
		var bodyclass = $('body');
		if (bodyclass.hasClass('home')) {
			$('#sidebar, #home, #footer, #slider-wrapper').hide();
			$('#sidebar').fadeIn(2000);
			$('#home').delay(1000).fadeIn(4000);
			$('#slider-wrapper').delay(1000).fadeIn(4000);
			$('#footer').delay(1000).fadeIn(1000);
		}
	}
  /*///////////////////////////////////////////////////////////////////////////////*/
  /*                                                     CONTACT FORM & VALIDATION */
  /*///////////////////////////////////////////////////////////////////////////////*/
  $('.clear').click(function(){
    $('.validateresponse').slideUp(500);
    $('.required, .email').css({'border' : ''});
  });
  $('input.phone').keydown(function(e) {
      if (String.fromCharCode(e.keyCode).match(/[^0-9]/g)){
        $(this).css({'border-color' : '#A31018'});
        $('.validateresponse').fadeIn(500).text('Must be a number');
        return false;       
      }
  });
  $('#send').click(function() {
    // VARIABLES
    var formid = $('#form'),
        regEmail = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
        validated = true,
        counter = 0,
        pathname = window.location.pathname,
        error = $('.validateresponse', formid).fadeIn(500);

    // INPUT REQUIRED VALIDATION
    $('input.required', formid).css({'border-color' : '#AAAAAA #DDDDDD #DDDDDD #AAAAAA'});
    $('input.required', formid).each(function(){
      if ($(this).val().length == 0){
        $(this).css({'border-color' : '#A31018'});
        if (!counter){
          validated = false;
          $(this).focus();
          counter++;
          var field = $(this).prev('label').text();
          $(error).text('Please complete the ' + field).append(' field');
          $(this).focus();
        }
      }
      else {        
        $(this).css({'border-color' : ''})
      }
    });

    // SELECT BOX VALIDATION. FIRST OPTION MUST HAVE 'SELECT' VALUE
    $('select.required', formid).each(function(){
      if ($('option:selected', this).val() == 'Select' && validated){
        validated = false;
        $(error).text('Please select your reason for contact');
        $('select.required', formid).css({'border-color' : '#A31018'});
      }
      else {        
        $(this).css({'border-color' : ''})
      }
    });

    // INPUT EMAIL ADDRESS VALIDATION
    $('input.email', formid).each(function(){
      if (!regEmail.test($('input.email', formid).val()) && validated){
        validated = false;
        $(error).text('Valid email address required')
        $('input.email', formid).css({'border-color' : '#A31018'});
      }
      else {        
        $(this).css({'border-color' : ''})
      }
    });

    // SUCCESS FUNCTION
    if(validated){
      $('.validateresponse').hide();
      $.ajax({
        type: 'POST',
        url: pathname,
        data: $(formid).serialize(),
        success: function() { 
            var enquiryname = $('input[name="fullname"]', formid).val();
            $('#form_wrapper').html('<div id="message"></div>');            
            $('#message').html('<h2 class="enquiry_title"><strong>Thanks for your interest in 9y Creative ' + enquiryname).append("<p>We will be in touch soon.</p>").hide().fadeIn(1000);
        }
      });
    }
  return false;
  });
//////////////////////////////////////////// END DOCUMENT READY
});

/*///////////////////////////////////////////////////////////////////////////////*/
/*                                                                        EASING */
/*///////////////////////////////////////////////////////////////////////////////*/
jQuery.extend( jQuery.easing,
{
  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*.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*.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*(.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 -.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 )*.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 + .75) + b;
    } else if (t < (2.5/2.75)) {
      return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
    } else {
      return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
    }
  },
  easeInOutBounce: function (x, t, b, c, d) {
    if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
    return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
  }
});
