
$(document).ready(function() {

	// open "external" links in a new window (standards compliant XHTML strict)
	$('a[rel=external]').click(function(evt) {
		window.open($(this).attr('href'));
		return false;
	});
	
	// random bg image
	var images = ['01.jpg', '02.jpg', '03.jpg', '04.jpg', '05.jpg', '06.jpg', '07.jpg', '08.jpg', '09.jpg', '10.jpg', '13.jpg', '14.jpg', '15.jpg', '16.jpg', '17.jpg', '18.jpg', '19.jpg', '20.jpg', '21.jpg', '22.jpg', '23.jpg', '24.jpg', '25.jpg', '26.jpg'];
//	$('<img src="images/background/' + images[Math.floor(Math.random() * images.length)] + '" />').appendTo('body');
	$('body.random').css({'background-image': 'url(images/background/' + images[Math.floor(Math.random() * images.length)] + ')'});
		
	//spam protected email
	$("span.safemail").each(function(){
		exp = $(this).text().search(/\((.*?)\)/) != -1 ? new RegExp(/(.*?) \((.*?)\)/) : new RegExp(/.*/);
		match = exp.exec($(this).text());
		addr = match[1] ? match[1].replace(/ at /,"@").replace(/ dot /g,".") : match[0].replace(/ at /,"@").replace(/ dot /g,".");
		emaillink = match[2] ? match[2] : addr;
		subject = $(this).attr('title') ? "?subject="+$(this).attr('title').replace(/ /g,"%20") : "";
		 $(this).after('<a href="mailto:'+addr+subject+'">'+ emaillink + '</a>');
		$(this).remove();
	});
	$("input.safemail").each(function(){
		$(this).val($(this).val().replace(/ at /,"@").replace(/ dot /g,"."));
	});
	
	// active nav state
	$(".nav ul a").each(function() {
    setActiveNavItem($(this),/^nav-(.*)$/)
  });
	
	$(".left a").each(function() {
    setActiveNavItem($(this),/^subnav-(.*)$/)
  });

	$(".nav .dropdown a").each(function() {
    setActiveNavItem($(this),/^subnav-(.*)$/)
  });
	
	// nav keep top level active when hovering over dropdown
	
	$(".nav .dropdown").hover(function() {
    $(this).parent().find('a').addClass('hover');
  },function() {
    $(this).parent().find('a').removeClass('hover');
	});
	
	$(".nav .has-dropdown").hover(function() {
    $('a.active').addClass('active-noarrow');
  },function() {
    $('a.active').removeClass('active-noarrow');
	});
	


	// fancybox
	$("a[rel=gallery]").fancybox({
		'overlayShow'	: true,
		 'titlePosition' : 'inside',
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic'
	});
  
	$("a[rel=gallery-magnify]").fancybox({
		'overlayShow'	: true,
		 'titlePosition' : 'inside',
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic'
	});
	
	
	$(".video").fancybox({
		 'width' : 520,
		 'height' : 330,
		 'autoScale' : false,
		 'titlePosition' : 'inside',
		 'transitionIn' : 'elastic',
		 'transitionOut' : 'elastic',
		 'type' : 'iframe'
	 });



	// clickable panels
	$(".clickable-panel").hover(function() {
		var link = $(this).find("a").attr("href")

		if (link) {
			$(this).addClass('active');
			$(this).bind('click', function(){window.location = link});
		}
	},function(){
		$(this).removeClass('active');
	});
	
	
	$(".magnify").hover(function(){
		$(this).show();
	},function(){
		$(this).hide();
	});
	
	$("a[rel=gallery]").hover(function(){
		$(this).parent().find('.magnify').show();
	},function(){
		$(this).parent().find('.magnify').hide();
	});
	
	$("a.video").hover(function(){
		$(this).parent().find('.magnify').show();
	},function(){
		$(this).parent().find('.magnify').hide();
	});
	


	$(".content table tr:even").addClass('even');
	$(".content table tr:odd").addClass('odd');

	$(".content .projects-listing .item:odd").addClass('odd');



});

// active nav state
function setActiveNavItem(link,pattern) {
  if ( link.attr("class").length > 0 ) {
    if ( (link.attr("class").match(pattern) != null) ) {
      active_class = link.attr("class").match(pattern)[1]
      if ( $("body").hasClass(active_class) ) {
        link.addClass('active')
      }
    }
  }
}


