//variables
var navActive = 0;
var mouseY = 0;
var br = "";
var vs = 0;
var os = "";
var st;
var wh;

//do on DOM loaded
$(document).ready(function(){
	
	//detect browser, version & OS once
	br = BrowserDetect.browser;
	vs = BrowserDetect.version;
	os = navigator.platform;
	
	//cufon
	if(br == "Safari" && os == "Win32"){
		Cufon.replace('h1',{textShadow: '#fff 1px 1px 1px'});
		Cufon.replace('h2',{textShadow: '#fff 1px 1px 1px'});
		Cufon.replace('#more');
	}
	Cufon.replace('.nav>ul>li>a',{hover:true});
	
	//if lower than IE8
	if(br == "Explorer" && vs < 7){
		$('#body').prepend('<div id="ltie8">Uw internet browser is verouderd en zal deze site niet vlot weergeven. Installeer een recente versie van Internet Explorer of kies voor een snelle, veilige browser zoals <a href="http://www.mozilla-europe.org/nl/firefox/" title="meer info over Mozilla Firefox">Firefox</a> of <a href="http://www.google.com/chrome?hl=nl" title="meer over Google Chrome">Chrome</a>.<a href="javascript:closeLtIE8();" class="close"><img src="/media/img/close_ltie8_sprite.gif" alt="" /></a></div>');
	}
	
	//scroll to with easing
	$.localScroll();
	
	//do if work is loaded
	if($('.work').length != 0){
		//set load images on scroll
		$('.work img').each(function(){
			$(this).addClass('loading');
			$(this).wrap('<div class="preloader" />');
		});

		//check scroll
		$(window).scroll(function () {
			checkScroll();
		});
		checkScroll();
		
		//set lightbox
		$('.work a.img').lightBox({
			overlayBgColor: '#53524f',
			overlayOpacity: 0.6,
			imageLoading: 'media/img/loading.gif',
			imageBtnClose: 'media/img/lightbox/lightbox-btn-close.gif',
			imageBtnPrev: 'media/img/lightbox/lightbox-btn-prev.gif',
			imageBtnNext: 'media/img/lightbox/lightbox-btn-next.gif',
			imageBlank: 'media/img/lightbox/lightbox-blank.gif',
			containerResizeSpeed: 150,
			txtImage: '',
			txtOf: '/'
		}).click(function(){$('#lightbox-image-details-caption').remove();});
 
	}
	
	//do if onepage is loaded
	if($('#about').length>0){
		
		//set about to top if it fits
		checkFit();
		
		//set resize
		$(window).resize(function(){checkFit();});
		
		//check scroll
		$(window).scroll(function () {
			checkScroll();
			setNavActive();
		});
		
		//actions
		$('#nav1 ul, #nav2 ul, #nav3 ul').hide();
		setNavActive(st,wh);
		
	}
	
	//remove titles
	$('.nav a, #sky, #snd, .img img').attr('title','');
	
	//set focus on input and textarea
	$('#contactform input').focus(function(){$(this).addClass('focus');}).blur(function(){$(this).removeClass('focus');});
	$('#contactform textarea').focus(function(){$(this).parent('div').css('background','url("/media/img/back_textarea_sprite.gif") no-repeat left bottom');$(this).css('background','url("/media/img/back_field_sprite.gif") repeat-y right top');}).blur(function(){$(this).parent('div').css('background','url("/media/img/back_textarea_sprite.gif") no-repeat left top');$(this).css('background','url("/media/img/back_field_sprite.gif") repeat-y left top');});
	
	//if flash show flash banner
	if(checkVersion(8)){
		var flashvars = {basePath:'/media/'};
		var params = {bgcolor: '#01b4b8'};
		swfobject.embedSWF("/media/swf/birds.swf", "sky", "100%", "350", "8.0.0", "/media/swf/expressInstall.swf", flashvars, params);
	}
	
	//set tooltips
	$('a[title!=""], li[title!=""], abbr[title!=""]').each(function(){setTooltip($(this));});
	
	//external to blank
	$('#links a[rel="external"]').attr('target','_blank');
	
	//actions
	$('#hi').html(getWelcome());


});

//check scroll
function checkScroll(){
	st = $(window).scrollTop();
	wh = $(window).height();
	//do recent
	if($('#recent img.loading').length != 0){
		$('#recent img.loading').each(function(){
			var ip = $(this).offset().top;
			if(ip<=st+wh && ip>st-250){
				var original = $(this).attr('alt');
				$(this).attr('src',original).removeClass('loading').hide().delay(250).fadeIn('slow',function(){$(this).unwrap('<div class="preloader" />');});
			}
		});
	}
	//do old
	if($('#old').css('display')=='block' && $('#old img.loading').length != 0){
		$('#old img.loading').each(function(){
			var ip = $(this).offset().top;
			if(ip<=st+wh && ip>st-250){
				var original = $(this).attr('alt');
				$(this).attr('src',original).removeClass('loading').hide().delay(250).fadeIn('slow',function(){$(this).unwrap('<div class="preloader" />');});
			}
		});
	}
	//stop checking if all loading is complete
	/*if($('img.loading').length == 0){
		$(window).unbind('scroll');
	}*/
	
}

//check fit
function checkFit(){
	var wh = $(window).height();
	var ap = $('#about').offset().top;
	var ah = $('#about').height();
	$('.nav').each(function(){
		if(ap+ah<=wh){
			$(this).find('ul li:eq(0) a').attr('href','#top');
		} else {
			$(this).find('ul li:eq(0) a').attr('href','#about');
		}
	});
}

//set nav active
function setNavActive(){
	var navActiveOld = navActive;
	for(i=3; i>=0; i--){
		var np = $('#nav'+i).offset().top;
		if(np+45>=st && np+45<=st+wh) {
			navActive = i;
		}
	}
	if(navActiveOld != navActive){
		for(i=0; i<4; i++){
			var np = $('#nav'+i).offset().top;
			if(np+45>=st && np+45<=st+wh){
				if(i != navActive){
					if(br=='Explorer' && vs.version<=7){
						$('#nav'+i+' ul').hide();
					} else {
						$('#nav'+i+' ul').fadeOut('slow');
					}
				} else {
					if(br=='Explorer' && vs<=7){
						$('#nav'+i+' ul').show();
					} else {
						$('#nav'+i+' ul').fadeIn('slow');
					}
				}
			}
		}
	}
}

//welcome
function getWelcome(){
	var n = "Hallo";
	var o = "Goedemorgen";
	var m = "Goedemiddag";
	var d = "Goedenamiddag";
	var a = "Goedenavond";
	//set reply
	var nu = new Date();
	var u = nu.getHours();
	if(u>=0 && u<6){
		return(n);
	} else if(u>=6 && u<12){
		return(o);
	} else if(u>=12 && u<13){
		return(m);
	} else if(u>=12 && u<18){
		return(d);
	} else if(u>=18 && u<24){
		return(a);
	}
}


//show older work
function showOld(){
	$('#more').parent('li').hide();
	$('#old').show();
	$('#old .work').each(function(i){
		if(br=='Explorer' && vs<=7){
			$(this).show();
			checkScroll();
		} else {
			$(this).fadeIn('slow',function(){checkScroll();});
		}
	});
}

//hide lower than IE8 warning bar
function closeLtIE8(){
	$('#ltie8').hide();
}

//set custom tooltip
function setTooltip(tag){
	//create tooltip if it doesn't yet exist
	if($('#tooltip').length == 0){
		$('#body').append('<div id="tooltip" style="display:none"><div id="ttBorder"></div></div>');
	}
	//set vars
	var tt = $('#tooltip');
	var ttl = tag.attr('title');
	//set hover
	tag.bind('mouseenter',function(){
		tt.find('#ttBorder').html(ttl);
		tag.attr('title','');
		showTooltip();
	}).bind('mouseleave',function(){
		hideTooltip();
		tag.attr('title',ttl);
	});
	
}

//show tooltip
function showTooltip(){
	//alert('show tooltip');
	//set vars
	var tt = $('#tooltip');
	var offset = 20;
	//follow mouse
	$(document).mousemove(function(e){
		var ttX = e.pageX + offset;
		var ttY = e.pageY + offset;
		$('#tooltip').css({'top':ttY+'px','left':ttX+'px'});
	});
	//show
	if(br=='Explorer' && vs<=7){
		tt.show();
	} else {
		tt.delay(1000).fadeIn('fast', function(){tt.css('opacity',0.90);});
	}
}

//hide tooltip
function hideTooltip(){
	//alert('hide tooltip');
	//set vars
	var tt = $('#tooltip');
	//hide
	if(br=='Explorer' && vs<=7){
		tt.hide();
	} else {
		tt.dequeue().fadeOut('fast',function(){$(document).unbind('mousemove');});
	}
}


///////////////////// mail functions //////////////////////////

//vars
var project;
var fieldArr = new Array('nm', 'tl', 'em', 'mg');
var fieldObArr = new Array('nm', 'tl', 'em');
var nmeArr = new Array('Naam','Telefoon','E-mail','Bericht');
var nm="";
var tl="";
var em="";
var mg="";

//functions 

function sendEmail(){

	if(checkFields()){
		var result = getResult();
	
		$.ajax({
		   type: "POST",
		   url: "php/sendemail.php",
		   data: ({ emailTo: 'info@flockingbirds.com', emailFrom: em, subject: 'Een bericht van '+nm+' via flockingbirds.com', message: result }),
		   success: function(msg){
			 alertField($('#snd'),'Uw e-mail werd verzonden. <br />Dank u voor uw interesse!',true);
			 clearFields();
		   },
			error: function(msg){
			alertField($('#snd'),'Er is een probleem opgetreden. <br />Gelieve later opnieuw te proberen.');
		   }
		 });
		 
	}
}

function checkFields(){
	var reply = false;
	for(i=0; i<fieldObArr.length; i++){
		if($('#'+fieldObArr[i]).val() == '' || !$('#'+fieldObArr[i]).val()){
			alertField($('#'+fieldObArr[i]),'Verplicht in te vullen!');
			return false;
		} else {
			if(fieldObArr[i] == 'em' && !isValidEmail($('#'+fieldObArr[i]).val())){
				alertField($('#'+fieldObArr[i]),'Een correct e-mailadres graag.');
				return false;
			} else {
				reply = true;
			}
		}
	}
	return reply;
}

function clearFields(){
	$('input').val('');
	$('textarea').val('');
}

function getResult(){
	//define vars
	var tempFieldArr = new Array();
	var tempSelArr = new Array();
	
	nm = $('#nm').val();
	tl = $('#tl').val();
	em = $('#em').val();
	mg = $('#mg').val();
	
	//create result
	var result = '<center style="width:530px; text-align:left;"><h1 style="font-family:Arial,Sans-serif;">Een bericht van '+nm+' via flockingbirds.com</h1><table cellpadding="5" cellspacing="1" border="0">';
	for(i=0; i<fieldArr.length; i++){
		eval("result = result+'<tr><td style=\"vertical-align:top; background:#f5f5f5; font-family:Arial,Sans-serif; width:200px;\"><b>'+'"+nmeArr[i]+"'+': </b></td><td style=\"background:#f5f5f5; font-family:Arial,Sans-serif; width:300px;\">'+"+fieldArr[i]+"+'</td></tr>';");
	}
	result = result+'</table></center>';
	return result;
}

function isValidEmail(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

function alertField(id,msg,positive){
	//create alert if it doesn't yet exist
	if($('#alert').length == 0){
		$('#contactform').append('<div id="alert" style="display:none"><div id="alBorder"></div></div>');
	}
	//set vars
	var al = $('#alert');
	var pos = id.position();
	var delay = 5000;
	//set txt
	al.find('div').html(msg);;
	//set positive or negative
	if(positive){
		al.addClass('positive');
	}else{
		al.removeClass('positive');
		id.addClass('obliged');
	}	
	//set position
	if(id.attr('id')=='snd'){
		al.css({'top':(pos.top-60)+'px','right':'20px'});
	}else{
		al.css({'top':(pos.top-20)+'px','right':'20px'});
	}
	//show and hide after delay
	if(br=='Explorer' && vs<=7){
		al.show();
		var delayInt = setInterval(function(){clearInterval(delayInt); al.hide(); id.removeClass('obliged');},5000);
	} else {
		al.fadeIn('fast', function(){al.delay(5000).fadeOut('slow',function(){id.removeClass('obliged');});});
	}
}

