var $j = jQuery.noConflict();

$j(function(){
	$j("a[rel^='prettyPhoto']").prettyPhoto({theme:'dark_square'});
	$j('#success').hide();
	$j('#error').hide();
	banner_buttons();   
	slideshow_control();   
	go_top();
	portfolio_zoom();
	
	$j(".activefocus").focus(function () {
			if ($j(this).attr("value") == $j(this).attr("defaultValue")) {
					$j(this).attr("value", '');
			}

	});

	$j(".activefocus").blur(function () {
			if ($j(this).attr("value") == '') {
					$j(this).attr("value", $j(this).attr("defaultValue"));
			}

	});
	
	
	$j("h3.toggler").click(function(){
		$j(this).toggleClass("active").next(".toggle_container").slideToggle("fast");
	});
	
	$j(".tab_content").hide();
	$j("ul.tabs li:first").addClass("active").show();
	$j(".tab_content:first").show(); 
	
	$j("ul.tabs li").click(function() {
	
		$j("ul.tabs li").removeClass("active");
		$j(".tab_content").hide(); 
		$j(this).addClass("active"); 
		var tabNum = ($j(this).find("a").attr("href")).replace('#tab', '');
		$j(this).parent().next().find("div:nth-child(" + tabNum + ")").fadeIn();

		return false;
	});


	
	$j(".footer_social_network ul li").fadeTo('normal', 0.4);
	$j(".footer_social_network ul li").hover(function(){
		$j(this).fadeTo('normal', 1);
	}, function() {
		$j(this).fadeTo('normal', 0.4);
	});
	
});

/* Banner Button Effect */
function banner_buttons(){
	$j('#recentimages li').append('<div class="hover"></div>');  
	$j('#recentimages li').hover(  
		function() {  
			$j(this).children('div').fadeIn('500');   
		},   
		function() {  
			$j(this).children('div').fadeOut('500');      
		}).click(function () {
			$j('#recentimages li').removeClass('selected');
			$j(this).addClass('selected');
			return false;
		});

	$j('#recentimages_details li').append('<div class="hover_details"></div>');  
	$j('#recentimages_details li').hover(  
		function() {  
			$j(this).children('div').fadeIn('500');   
		},   
		function() {  
			$j(this).children('div').fadeOut('500');      
		}).click(function () {
			$j('#recentimages_details li').removeClass('selected');
			$j(this).addClass('selected');
			return false;
		});

}

function portfolio_zoom(){

	$j('.portfolio_box_anime').hover(function(){
		$j(".portfolio_zoom", this).fadeIn('500');
	
	}, function() {
		$j(".portfolio_zoom", this).fadeOut('500');
	});
}


/* Slide show play & pause */
function slideshow_control(){
	$j('#slideshow').hover(  
		function() {
			jQuery('#slideshow').cycle('pause')
		},   
		function() {  
		 	jQuery('#slideshow').cycle('resume')
	});
	$j('#slideshow_details').hover(  
		function() {
			jQuery('#slideshow_details').cycle('pause')
		},   
		function() {  
		 	jQuery('#slideshow_details').cycle('resume')
	});
}


function go_top(){
	$j('a[href^=#respond]').bind("click", function(event) {
        event.preventDefault();
        var ziel = $j(this).attr("href");

        $j('html,body').animate({
                scrollTop: $j(ziel).offset().top
        }, 500);
        return false;
    });	
	
	$j('a[href^=#top]').bind("click", function() {
        $j('html,body').animate({
                scrollTop: 0
		}, 500);
        return false;
    });	
}


jQuery.iFormValidate = {
	build : function(options)
	{
		var defaults = {
			phpFile:"mail.php",
			ajax: true
		};
		var options = $j.extend(defaults, options); 
		return $j(this).each(
			function() {
			$jinputs = $j(this).find(":input").filter(":not(:submit)");
			$j(this).submit(function(){
				var isValid = jQuery.iFormValidate.validateForm($jinputs);
				if(!isValid){
					$j('#error').fadeIn("slow");
					$j('#success').fadeOut("slow");
					return false;
				};
				if(options.ajax){
					var data = {};
					$jinputs.each(function(){
						data[this.name] = this.value
					});
					$jinputs.each(function(){
						data[this.name] = this.value
						
					});
					
						$j('#error').fadeOut("slow");
						$j('#result').load(options.phpFile, data, function(){
						$j('#success').fadeIn("slow");
						
						
						$j(':input','#myform')
						 .not(':button, :submit, :reset, :hidden')
						 .val('')
						 .removeAttr('checked')
						 .removeAttr('selected');

					});
					return false;
				}else{
					return true;
				}
			});
			
			$jinputs.bind("keyup", jQuery.iFormValidate.validate);
			$jinputs.filter("select").bind("change", jQuery.iFormValidate.validate);
		});
	},
	validateForm : function($jinputs)
	{
		var isValid = true; //benifit of the doubt?
		$jinputs.filter(".is_required").each(jQuery.iFormValidate.validate);
		if($jinputs.filter(".is_required").hasClass("invalid")){isValid=false;}
		return isValid;
	},
		
	validate : function(){
		var $jval = $j(this).val();
		var isValid = true;
		

		
		if($j(this).hasClass('vdate')){
			var Regex = /^([\d]|1[0,1,2]|0[1-9])(\-|\/|\.)([0-9]|[0,1,2][0-9]|3[0,1])(\-|\/|\.)\d{4}$j/;
			isValid = Regex.test($jval);
		}else if($j(this).hasClass('vemail')){
			var Regex =/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$j/;
			if(!Regex.test($jval)){isValid = false;};
		}else if($j(this).hasClass('vname')){
			if($jval == "name" || $jval == ""){
				isValid = false;
				$j('.vname').val('name');
				$j('.vsemail').val('email address');
				$j('.vsubject').val('subject');
				$j('.vmessage').val('message');
			};
		}else if($j(this).hasClass('vsemail')){
			if($jval == "email address" || $jval == ""){
				isValid = false;
			};
		}else if($j(this).hasClass('vsubject')){
			if($jval == "subject" || $jval == ""){
				isValid = false;
			};
		}else if($j(this).hasClass('vmessage')){
			if($jval == "message" || $jval == ""){
				isValid = false;
			};
		}else if($j(this).hasClass('vphone')){
			var Regex =/^([0-9a-zA-Z]+([_+.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$j/;
			if(!Regex.test($jval)){isValid = false;}
		}else if($jval.length == 0){
			isValid = false;
		}
		
		if(isValid){
			$j(this).removeClass("invalid");
			$j(this).addClass("valid");
		}else{
			$j(this).removeClass("valid");
			$j(this).addClass("invalid");
		}
		return isValid;
	}	
}
jQuery.fn.FormValidate = jQuery.iFormValidate.build;

$j(function(){
	$j('#myform').FormValidate({
		phpFile:site_url+"/includes/get_mail.php",
		ajax:true
	});
});
