//Home Style 1 Carousel Callback
function mycarousel_initCallback(carousel) {
    $('.slider1 .nav a').bind('click', function() {
        carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()));
        return false;
	});
}

//Home Style 1 Carousel Callback
function mycarousel_itemFirstInCallback(carousel, item, idx, state) {
	$('.slider1 .nav a').removeClass('active');
	$('.slider1 .nav a').eq(idx-1).addClass('active');
	
}

//Project Carousel Callback
function mycarousel2_initCallback(carousel) {   
    $('.project-slider-nav ul li').bind('click', function() {
        carousel.scroll(jQuery.jcarousel.intval($(this).index()+1));
        return false;
    });
}

function mycarousel3_initCallback(carousel) {
	$('.slider2-nav .next, .project-slider-next').bind('click', function() {
        carousel.next();
        return false;
    });

    $('.slider2-nav .prev, .project-slider-prev').bind('click', function() {
        carousel.prev();
        return false;
    });
}

function mycarousel3_itemFirstInCallback(carousel, item, idx, state) {
	$('.slider2-nav ul li a').removeClass('active');
	$('.slider2-nav ul li a').eq(idx-1).addClass('active');
	
}

//Fade function
function fader($items_to_click, $items_to_fade) {	
	var $item = $($items_to_fade);
	$($items_to_click).each(function(i){
		$(this).click(function(){	
			$new_item = $item.filter(":eq("+i+")");
			if( $new_item.css("display") == "none" ){
				$item.filter(":visible").fadeOut(400, function(){
					var $new_item_idx = $new_item.index();
					$('.slider2-nav .content ul li a').removeClass('active');
					$('.slider2-nav .content ul li a').eq($new_item_idx).addClass('active');
					$new_item.fadeIn(400);
				});
			}
			return false;
		});
	});
}

//Center function
jQuery.fn.center = function(loaded) {
    var obj = this;
    body_width = parseInt($(window).width());
    body_height = parseInt($(window).height());
    block_width = parseInt(obj.width());
    block_height = parseInt(obj.height());
    
    left_position = parseInt((body_width/2) - (block_width/2)  + $(window).scrollLeft());
    if (body_width<block_width) { left_position = 0 + $(window).scrollLeft(); };
    
    top_position = parseInt((body_height/2) - (block_height/2) + $(window).scrollTop());
    if (body_height<block_height) { top_position = 0 + $(window).scrollTop(); };
    
    if(!loaded) {
        
        obj.css({'position': 'absolute'});
        obj.css({ 'top': top_position, 'left': left_position });
        $(window).bind('resize', function() { 
            obj.center(!loaded);
        });
        $(window).bind('scroll', function() { 
            obj.center(!loaded);
        });
        
    } else {
        obj.stop();
        obj.css({'position': 'absolute'});
        obj.animate({ 'top': top_position, 'left': left_position }, 200, 'linear');
    }
}

$(function(){
	
	//PNG Fix For IE6
	if($.browser.msie && $.browser.version.substr(0,1) == 6){
		DD_belatedPNG.fix('.slider-btn, .slider-btn:hover, #screen, .login-t, .login-b, .login-cnt')
	}
	
	// Login Popup
	$('.close').click(function(){
		$('.login').fadeOut(function(){ $('#screen').hide(); });
	});
	
	$('.login-link').click(function(){
		var h = $( 'body' ).height() > $( window ).height() ? $( 'body' ).height() : $( window ).height();
		$('#screen').css({ 'height': h });	
		$('#screen').show();
		$('.login').center();
		$('.login').fadeIn();
		return false;
	});
	
	//Navigation
	$('#navigation ul li, #navigation ul li .dd ul li').hover(function(){
		$(this).find('.dd:eq(0)').toggle();
		$(this).find('a:eq(0)').toggleClass('hover');
	});
	
	
	//Home Style 1 Carousel
	$('#mycarousel1 .content ul').jcarousel({
		auto: 6,
		wrap: "last",
		scroll: 1,
		visible: 1,
		initCallback: mycarousel_initCallback,
        buttonNextHTML: null,
        buttonPrevHTML: null,
        itemFirstInCallback: mycarousel_itemFirstInCallback
	});
	
	//Home Style 2 Fader
	fader(".slider2-nav .content ul li a",".fader li");
	
	//Home Style 2 Carousel Nav
	$('.slider2-nav .content ul').jcarousel({
		wrap: "last",
		scroll: 1,
		visible: 3,
		initCallback: mycarousel3_initCallback,
        buttonNextHTML: null,
        buttonPrevHTML: null
	});
	
	//Project Slider
	$('.project-slider ul').jcarousel({
		wrap: "last",
		scroll: 1,
		visible: 1,
		initCallback: mycarousel2_initCallback,
        buttonNextHTML: null,
        buttonPrevHTML: null
	});
	
	//Project Slider Nav
	$('.project-slider-nav ul').jcarousel({
		wrap: "last",
		scroll: 1,
		visible: 5,
		initCallback: mycarousel3_initCallback,
        buttonNextHTML: null,
        buttonPrevHTML: null
	});
	
	// Contact Form
	$('.validate-form').submit(function(){
		var form = $(this);
		form.find('.required').parents('.row:eq(0)').removeClass('field-error');
		
		var field, v, id, msg, t, field_holder;
		var alert_msg = $('.msg-alert');
		var error = false;
		form.find('.required').each(function(){
			field = $(this);
			field_holder = field.parents('.row:eq(0)');
			v = $(this).val();
			t = $(this).attr('title');
			id = $(this).attr('id');
			
			if( $(this).hasClass('valid-email') ){
				if( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(v) == false ) {
					error = true;
				}
			}else {
				if( v == '' || v == t ){
					error = true;
				}
			}
			
			if( error ) {
				field.addClass('field-error');
				field.prev().addClass('label-error');
				alert_msg.fadeIn();
				//error_fields.push( field );
			}
		});
		
		if( !error ) {
		
			form.find('.required').removeClass('field-error');
			form.find('label').removeClass('label-error');
			var data = {}
			
			form.find('.text-field').each(function(){
				data[ $(this).attr('name') ] = $(this).val();
			});
			
			form.find('.text-field').each(function(){
				$(this).val( $(this).attr('title') );
			});
			
			$('#message-field').val( 'Loading...' );
			
			$.post('send.php', data, function(){
				alert_msg.fadeOut();
				form.find('.msg-thanks').fadeIn(function(){
					
					$('#message-field').val( $('#message-field').attr('title') );
					
					window.setTimeout(function(){
						form.find('.msg-thanks').fadeOut();
					}, 5000);
					
				});
			});
		}
		
		return false;
	}); 
	
	//Service Item Hover
	$('.service-item .more').hover(function(){
		$(this).parents('.service-item').toggleClass('service-item-hover');
		
	});
	
	
	//Service Item  Hidden Text
	$('.service-item .more').click(function(){
		if($('.hidden-text:visible').length == 1) {
			if($(this).parents('.service-item').find('.hidden-text').is(':visible')) {
			$(this).parents('.service-item').find('.hidden-text').slideUp();
			$(this).text('Find Out More');
		}
		else {
			$('.hidden-text:visible').slideUp();
			$(this).parents('.service-item').find('.hidden-text').slideDown();
			$('.service-item .more').each(function(){  $(this).text('Find Out More') });
			$(this).text('Hide');
			}
		}
		
		if($('.hidden-text:visible').length == 0) {
			$(this).parents('.service-item').find('.hidden-text').slideDown();
			$(this).text('Hide');
		}
		return false;
	});
	
	//Center Element
	$('.under-construction-holder').center();
	
	//Blink Fields
	 $('.blink').
	    focus(function() {
	        if(this.title==this.value) {
	            this.value = '';
	        }
	    }).
	    blur(function(){
	        if(this.value=='') {
	            this.value = this.title;
	        }
   		 });
   		 
   	//FancyBox
	$(".service-main-image, .gallery-classic a, .gallery-projects a.thumb, .projects-list a.thumb").fancybox({
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic',
		'easingIn'      : 'easeOutBack',
		'easingOut'     : 'easeInBack',
		'overlayColor'	: '#000',
		'overlayOpacity' : '0.7'
	});
	
	//Contact Form Input Focus 
 	  $('.row .field').focus(function(){ 
 	  	$(this).addClass('field-focus');
 	   }).blur(function(){
 	   	$(this).removeClass('field-focus'); 	  
 	 });
	
	
});




