$(document).ready(function() {
	dropDownMenu();
	autoSlide(5000, 0);
	addSeparators();
	autoTab();
	popPosts();
	closeNot();
	portfolioFade();

// this is for client page
	$('ul#filter a').click(function() {
		$(this).css('outline','none');
		$('ul#filter .current').removeClass('current');
		$(this).parent().addClass('current');
		
		var filterVal = $(this).text().toLowerCase().replace(' ','-');
				
		if(filterVal == 'semua') {
			$('ul#crayonclient li.hidden').fadeIn('slow').removeClass('hidden');
		}
		else {
			$('ul#crayonclient li').each(function() {
				if(!$(this).hasClass(filterVal)) {
					$(this).fadeOut('normal').addClass('hidden');
				}
				else {
					$(this).fadeIn('slow').removeClass('hidden');
				}
			});
		}
		
		return false;
	});
// end for client page

	$("#requesttype").change(function(){
		switch($(this).val()){
			case "webmaster":
				$("#contact_webmaster, #form_webmaster").slideDown("fast");
				$("#form_desaingrafis, #form_fotografi, #form_programming, #form_none").hide();
				$("#requestinfo select:not(#requesttype, #contact_webmaster)").hide();
			break;
			case "desaingrafis":
				$("#contact_desaingrafis, #form_desaingrafis").slideDown("fast");
				$("#form_webmaster, #form_fotografi, #form_programming, #form_none").hide();
            	$("#requestinfo select:not(#requesttype, #contact_desaingrafis)").hide();
        	break;
        	case "fotografi":
            	$("#contact_fotografi, #form_fotografi").slideDown("fast");
				$("#form_webmaster, #form_desaingrafis, #form_programming, #form_none").hide();
            	$("#requestinfo select:not(#requesttype, #contact_fotografi, #form_fotografi)").hide();
        	break;
			case "programming":
            	$("#contact_programming, #form_programming").slideDown("fast");
				$("#form_webmaster, #form_desaingrafis, #form_fotografi, #form_none").hide();
            	$("#requestinfo select:not(#requesttype, #contact_fotografi, #contact_webmaster)").hide();
        	break;
        	case "none":
				$("#form_none").slideDown("fast");
				$("#form_webmaster, #form_desaingrafis, #form_fotografi, #form_programming").hide();
            	$("#requestinfo select:not(#requesttype)").hide();
        	break;
    	}
	});
	
	//global vars
	var form = $("#GuestbookForm");
	var formContact = $("#ContactForm");
	
	var name = $("#name");
	var nameInfo = $("#nameInfo");
	
	var email = $("#email");
	var emailInfo = $("#emailInfo");
	
	var website = $("#website");
	var websiteInfo = $("#websiteInfo");
	
	var subject = $("#subject");
	var subjectInfo = $("#subjectInfo");
	
	var message = $("#message");
	var messageInfo = $("#messageInfo");
	
	var kode = $("#code");
	var kodeInfo = $("#codeInfo");
	
	
	
	name.blur(vditatompel);
	name.keyup(vditatompel);
	
	website.blur(validateWebsite);
	website.keyup(validateWebsite);
	
	email.blur(validateEmail);
	//On key press
	message.blur(validateMessage);
	message.keyup(validateMessage);
	
	subject.blur(validateSubject);
	subject.keyup(validateSubject);
	
	kode.blur(validateKode);
	kode.keyup(validateKode);
	//On Submitting
	form.submit(function(){
		if(validateEmail() & validateMessage() & vditatompel() & validateWebsite() & validateKode())
			return true
		else
			return false;
	});
	
	formContact.submit(function(){
		if(validateEmail() & validateMessage() & vditatompel() & validateKode() & validateSubject())
			return true
		else
			return false;
	});
	
	//validation functions
	function validateEmail(){
		//testing regular expression
		var a = $("#email").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		//if it's valid email
		if(email.val() == "ditatompel@hotmail.com"){
			email.addClass("alert");
			emailInfo.addClass("jq_error");
			emailInfo.removeClass("jq_oke");
			emailInfo.text("HEY! That's my email! isn't it?");
			return false;
		}
		else if(filter.test(a)){
			email.removeClass("alert");
			emailInfo.removeClass("jq_error");
			emailInfo.text("Okey.. I think that's valid =)");
			emailInfo.addClass("jq_oke");
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("alert");
			emailInfo.removeClass("jq_oke");
			emailInfo.text("Stop brotha! Type a valid e-mail please :D");
			emailInfo.addClass("jq_error");
			return false;
		}
	}
	
	function validateWebsite(){
		//testing regular expression
		var a = $("#website").val();
		var filter = /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/;
		//if it's valid url
		if(filter.test(a)){
			website.removeClass("alert");
			websiteInfo.removeClass("jq_error");
			websiteInfo.text("Okey.. I think that's valid =)");
			websiteInfo.addClass("jq_oke");
			return true;
		}
		else if(website.val().length < 1){
			website.removeClass("alert");
			websiteInfo.removeClass("jq_error");
			websiteInfo.text("Okey.. anda tidak menyebutkan website anda. Tidak masalah =)");
			websiteInfo.addClass("jq_oke");
			return true;
		}
		//if it's NOT valid
		else{
			website.addClass("alert");
			websiteInfo.removeClass("jq_oke");
			websiteInfo.text("Stop brotha! Type a valid url gunakan http:// atau biarkan kosong :D");
			websiteInfo.addClass("jq_error");
			return false;
		}
	}
	
	function vditatompel(){
		if(name.val().length < 3){
			nameInfo.removeClass("jq_oke");
			nameInfo.addClass("jq_error");
			name.addClass("alert");
			nameInfo.text("Woopss! Kami ingin nama anda lebih dari 2 karakter =)");
			return false;
		}
		//if it's NOT valid
		else if(name.val().toLowerCase() == "ditatompel"){
			nameInfo.removeClass("jq_oke");
			nameInfo.addClass("jq_error");
			name.addClass("alert");
			nameInfo.text("HAH?? Namamu ditatompel? wew...  -.-a");
			return false;
		}
		//if it's valid
		else{
			nameInfo.removeClass("jq_error");
			nameInfo.text("Wohooo.. Oke! Nice name bro!!");
			nameInfo.addClass("jq_oke");
			name.removeClass("alert");
			return true;
		}
	}
	
	function validateMessage(){
		//it's NOT valid
		if(message.val().length < 50){
			messageInfo.addClass("jq_error");
			messageInfo.removeClass("jq_oke");
			messageInfo.text("Panjang minimal pesan guestbook 50 karakter!!");
			message.addClass("alert");
			return false;
		}
		//it's valid
		else{			
			messageInfo.addClass("jq_oke");
			messageInfo.removeClass("jq_error");
			messageInfo.text("Oke.. Terimakasih =)");
			message.removeClass("alert");
			return true;
		}
	}
	
	function validateSubject(){
		//it's NOT valid
		if(subject.val().length < 10){
			subjectInfo.addClass("jq_error");
			subjectInfo.removeClass("jq_oke");
			subjectInfo.text("Panjang minimal pesan guestbook 10 karakter.!!");
			subject.addClass("alert");
			return false;
		}
		//it's valid
		else{			
			subjectInfo.addClass("jq_oke");
			subjectInfo.removeClass("jq_error");
			subjectInfo.text("Oke.. Terimakasih =)");
			subject.removeClass("alert");
			return true;
		}
	}
	
	function validateKode(){
		//it's NOT valid
		if(kode.val().length != 4){
			kodeInfo.addClass("jq_error");
			kodeInfo.removeClass("jq_oke");
			kodeInfo.text("Sepertinya kode Verifikasi anda belum benar.");
			kode.addClass("alert");
			return false;
		}
		//it's valid
		else{			
			kodeInfo.addClass("jq_oke");
			kodeInfo.removeClass("jq_error");
			kodeInfo.text("Sepertinya kode Verifikasi anda sudah benar. Mari kita cek.");
			kode.removeClass("alert");
			return true;
		}
	}
	
	Cufon.replace('h1, h2, h3, h4, h5', { fontFamily: 'Liberation Sans' });

	$("#login_link a").fancybox();
	
	$(".lightbox").fancybox({
		'opacity'		: true,
		'titlePosition'	: 'over',
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic',
		'speedOut'		: 800,
		'onComplete'	:
		function() {
		$("#fancybox-wrap").hover(function() {
			$("#fancybox-title").show();
		}, function() {
			$("#fancybox-title").hide();
		});}

	});
	
	$(".crayon_swf").fancybox({
		'padding'		: 0,
		'autoScale'		: false,
		'transitionIn'	: 'none',
		'transitionOut'	: 'none'
	});
	
	$(".crayon_iframe").fancybox({
		'width'				: '75%',
		'height'			: '75%',
		'autoScale'			: false,
		'centerOnScroll'	: true,
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'type'				: 'iframe'
	});
	
	$(".crayon_livechat").fancybox({
		'width'				: '90%',
		'height'			: '90%',
		'autoScale'			: true,
		'centerOnScroll'	: true,
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'type'				: 'iframe'
	});
	
	$(".ConfirmDelete").fancybox({
		onStart		:	function() {
			return window.confirm('yakin ingin menghapus data ini?');
		},
		onCancel	:	function() {
			alert('dibatalkan!');
		},
		onComplete	:	function() {
            alert('Query selesai!');
		}
	});
	
});
  
function dropDownMenu() {
	
	$("#menu ul a").removeAttr('title');
	$("#menu ul ul").css({display: "none"}); // Fixes opera Bug
	  
	$("#menu ul li").hover(function() {
		$(this).find('ul:first').css({display: "block", opacity: 0}).stop().animate({ opacity: 1 }, 200); //Slides down when hover the UL
		$(this).children('a').addClass("hovered"); //Adds a hovered class, so you can see the menu path you are following
	}
	,function() {
		$(this).find('ul:first').css({display: "none"}); //Slides up on mouseleave
		$(this).children('a').removeClass("hovered"); //removes the hovered class.
	});
	
}

function nextSlide() {
	
	$current = $('#slider ul li.current');
	$next = $('#slider ul li.current').next();
	
	$current_sel = $('#slider_selector ul li.current');
	$next_sel = $('#slider_selector ul li.current').next();
	
	
	if($next.children('a').children('img').attr('alt') == undefined) {
		$next = $("#slider ul li:first");
		$next_sel = $("#slider_selector ul li:first");
	} else {
		//Do nothing. The $next element exists
	}
	
	$next.addClass('next').css({ opacity: 0 }).stop().animate({ opacity: 1 }, 300, function() {
																							
		$next.addClass('current').removeClass('next');
		$current.removeClass('current');
																							
	});
	
	$current_sel.removeClass('current');
	$next_sel.addClass('current');
	
	
}

function autoSlide($time, $stop) {
	
	$('#slider ul li:first').addClass('current');
	
	$total_slides = ($('#slider ul li').length);
	$i = 1
	
	
	
	$('#slider_selector').prepend('<ul></ul>');
	
	$('#slider ul li').each(function() {
									 
		$(this).addClass('slider_'+$i);
		
		if($i == 1) {
			$('#slider_selector ul').append('<li class="current sel_'+$i+'"></li>');
		} else {
			$('#slider_selector ul').append('<li class="sel_'+$i+'"></li>');
		}
		
		$i++;
									 
	})
	
	if(typeof(isClicked) == 'undefined') { var isClicked = 0; }
	
	$('#slider_selector ul li').click(function() {
											   
		$id = $(this).attr('class').split(' ');
		
		if($id[0] == 'current' || $id[1] == 'current') {
			
			//do nothing
			
		} else {
			
			$id = $id[0].split('_');
			callSlide($id[1]);
			
			isClicked = 1;
			
		}
											   
	});
	
	if(typeof(isHovered) == 'undefined') { var isHovered = 0; }
	//If no item has been hovered yet, the variable isHovered doesn't exist, so we create it. 
		
	$("#slider ul li").hover(function() { // Whenever an item is hovered
		isHovered = 1; //Setting isHovered 1, we stop the autsliding from going on
	}, function() {
		isHovered = 0;//Setting isHovered 1, we make the autsliding go on
	});
	
	setInterval(function() {
		
		if($stop == 1) {
			
			if(isHovered == 0 && isClicked == 0) { //It only calls the next item IF no item is hovered
			
				nextSlide();
			
			}
			
		} else if(isClicked == 0) {
			
			nextSlide();
			
		}
		
		
						 
	}, $time);
	
}

function callSlide($slideID) {
	
	$current = $('#slider ul li.current');
	$next = $('#slider ul li.slider_'+$slideID);
	
	$current_sel = $('#slider_selector ul li.current');
	$next_sel = $('#slider_selector ul li.sel_'+$slideID);
		
	$next.addClass('next').css({ opacity: 0 }).stop().animate({ opacity: 1 }, 300, function() {
																							
		$next.addClass('current').removeClass('next');
		$current.removeClass('current');
																							
	});
	
	$current_sel.removeClass('current');
	$next_sel.addClass('current');
	
}

function addSeparators() {
	
	$('#menu ul:first').children('li').each(function() {
														 
		$(this).after('<li class="border"></li>'); 
														 
	});
	
	$('.border:last').remove();
	
	$('#menu ul li ul').each(function() {
								
		$(this).children('li:first').children('a').css('border-top', 'none');
		$(this).children('li:last').children('a').css('border-bottom', 'none');
								
	});
	
	$('.content_item').each(function() {
		
		$(this).after('<div class="content_item_separator"></div>');
		
	});
	
	$('.content_item_separator:last').remove();
	
	$('ul.ctabs_content').each(function() {
		$(this).children('li:last').children('a').css({ 'border-bottom': 'none' });
	});
	
	
	
}

function nextTab() {
	
	$current_t = $('#ctabs li.current');
	$next_t = $('#ctabs li.current').next();
	
	$current_sel_t = $('#tabs li.current');
	$next_sel_t = $('#tabs li.current').next();
	
	
	if($next_t.children('ul').attr('class') == undefined) {
		$next_t = $("#ctabs li:first");
		$next_sel_t = $('#tabs li:first');
	} else {
		//Do nothing. The $next element exists
	}
	
	$next_t.addClass('next').css({ opacity: 0 }).stop().animate({ opacity: 1 }, 300, function() {
																							
		$next_t.addClass('current').removeClass('next');
		$current_t.removeClass('current');
																							
	});
	
	$current_sel_t.removeClass('current');
	$next_sel_t.addClass('current');
	
}

function autoTab() {
	
	$('#tabs li:first').addClass('current');
	$('#ctabs li:first').addClass('current');
	
	$i = 1;
	$('#tabs li').each(function() {
								
		$(this).attr('id', 'tab_'+$i);
		
		$i++;
								
	});
	
	$i = 1;
	$('#ctabs li:not(ul.ctabs_content li)').each(function() {
								
		$(this).attr('id', 'ctab_'+$i);
		
		$i++;
								
	});
	
	$('#tabs li').click(function() {
								 
		if($(this).attr('class') == 'current') {
			
			
			
		} else {
			
			$id = $(this).attr('id').split('_');
			
			callTab($id[1]);	
			
		}
		
						 
								 
	});
	
}

function callTab($id) {
	
	$current_t = $('#ctabs li.current');
	$next_t = $('#ctabs li#ctab_'+$id);
	
	$current_sel_t = $('#tabs li.current');
	$next_sel_t = $('#tabs li#tab_'+$id);
		
	$current_t.slideUp(250, function() {
									 
		$(this).removeClass('current');							 
									 
	});
	
	$next_t.slideDown(400).addClass('current').removeClass('next');
	
	$current_sel_t.removeClass('current');
	$next_sel_t.addClass('current');
	
}

function nextPop() {
	
	$current_p = $('#popular_posts li.current');
	$next_p = $('#popular_posts li.current').next();
	
	if($next_p.length) {
		
	} else {
		
		$next_p = $('#popular_posts li:first');
		
	}
	
	$current_p.stop().animate({ left: '-280px' }, 200).removeClass('current');
	$next_p.css({ left: '280px' }).stop().animate({ left: 0 }, 200).addClass('current');
	
}

function prevPop() {
	
	$current_pop = $('#popular_posts li.current');
	$prev_pop = $('#popular_posts li.current').prev();
	
	if($prev_pop.length) {
		
	} else {
		
		$prev_pop = $('#popular_posts li:not(ul.popular_posts_content li):last');
		
	}
	
	$current_pop.stop().animate({ left: '280px' }, 200).removeClass('current');
	$prev_pop.css({ left: '-280px' }).stop().animate({ left: 0 }, 200).addClass('current');
	
}

function popPosts() {
	
	$('#popular_posts li:first').addClass('current');
	
	$('#next_pop').click(function() {
								  
		nextPop();
								  
	});
	
	$('#prev_pop').click(function() {
								  
		prevPop();
								  
	});
	
}

function closeNot() {
	
	$('.close').click(function() {
							   
		$(this).parent().fadeOut(400);					   
							   
	});
	
}

function portfolioFade() {
	
	$('#portfolio li ul li').hover(function() {
											
		$('#portfolio li ul li').stop().animate({ opacity: .3 }, 300);
		$(this).stop().css('opacity', 1);
		$(this).children('a').prepend('<div class="portfolio_hover">'+$(this).children('a').children('img').attr('title')+'</div>');
		$('.portfolio_hover').css({ 'display': 'block', 'opacity': 0 }).stop().animate({opacity: .8  }, 300);
											
	}, function() {
		
		$('#portfolio li ul li').stop().animate({ opacity: 1 }, 200);
		$('.portfolio_hover').remove();
		
	});
	
}





function nextGale() {
	
	$current_p = $('#popular_posts li.current');
	$next_p = $('#popular_posts li.current').next();
	
	if($next_p.length) {
		
	} else {
		
		$next_p = $('#popular_posts li:first');
		
	}
	
	$current_p.stop().animate({ left: '-280px' }, 200).removeClass('current');
	$next_p.css({ left: '280px' }).stop().animate({ left: 0 }, 200).addClass('current');
	
}

function prevGale() {
	
	$current_pop = $('#popular_posts li.current');
	$prev_pop = $('#popular_posts li.current').prev();
	
	if($prev_pop.length) {
		
	} else {
		
		$prev_pop = $('#popular_posts li:not(ul.popular_posts_content li):last');
		
	}
	
	$current_pop.stop().animate({ left: '280px' }, 200).removeClass('current');
	$prev_pop.css({ left: '-280px' }).stop().animate({ left: 0 }, 200).addClass('current');
	
}

function SlideGale() {
	
	$('#asu li:first').addClass('current');
	
	$('#nextGale').click(function() {
								  
		nextGale();
								  
	});
	
	$('#prevGale').click(function() {
								  
		prevGale();
								  
	});
	
}
