$(function() {
	$('.photos a').lightBox({
		fixedNavigation:true,
		imageBtnClose: "/_images/lightbox/lightbox-btn-close.gif",
		imageLoading: "/_images/lightbox/lightbox-ico-loading.gif",
		imageBtnNext: "/_images/lightbox/lightbox-btn-next.gif",
		imageBtnPrev: "/_images/lightbox/lightbox-btn-prev.gif",
		imageBlank: "/_images/lightbox/lightbox-blank.gif"
	});
});

$(document).ready(function() {
  function attachExternals() {
    var extLinks = $$('a.external');
    extLinks.each(function(extLink, i){
      extLink.setProperty('target','_blank');
    });
  }
	

	/*
	## Survey
	*/
	/*$('form.surveyme fieldset.surveyme_wild-life_3 br').remove();
	$('form.surveyme fieldset.surveyme_wild-life_3 label').each(function(i, el) {
		$('<div />')
			.addClass('image')
			.addClass($(el).text())
			.insertAfter($(el));
	});
	$('form.surveyme fieldset.surveyme_wild-life_3 .image').eq(0).remove();*/
	
	$('form.surveyme fieldset.surveyme_wild-life_7, form.surveyme fieldset.surveyme_wild-life_8').find('br').remove();
	$('form.surveyme fieldset.surveyme_wild-life_7, form.surveyme fieldset.surveyme_wild-life_8').find('label.option').text('').remove();
	$('form.surveyme fieldset.surveyme_wild-life_7 input, form.surveyme fieldset.surveyme_wild-life_8 input').each(function(i, el) {
		$(el).wrap('<div class="surveyRow" />');
		
		if ( i == 0 ) {
			$(el).parent('.surveyRow').addClass('first');
		}
		if ( ( (i+1) % 4 ) == 0 )
		{
			$(el).parent('.surveyRow').addClass('last');
		}
	});
	
	//$('.surveyme_wild-life_8 div.surveyRow').eq(0).addClass('first');
	
	$('form.surveyme fieldset').hide();
	$('form.surveyme fieldset').eq(0).show();
	
	$('form.surveyme fieldset').each(function(i, el) {
		
		if ( !$(el).hasClass('surveyme_wild-life_submit') )
		{
			$('<a>')
				.addClass('next')
				.attr('href', '#')
				.text('Next')
				.click(function(e) {
					e.preventDefault();
				
					if ( $(el).hasClass('surveyme_wild-life_name') || $(el).hasClass('surveyme_wild-life_email') )
					{
						if ( $(el).find('input').val() == '' )
						{
							
							if ( $(el).hasClass('surveyme_wild-life_name') ) {
								var text = 'Please fill in your name!';
							} else {
								var text = 'Please fill in your Email address!';
							}
							
							if ( $(el).find('.error').length == 0 )
							{
								$('<span>')
									.addClass('error')
									.text( text )
									
									.prependTo( $(this).parent('fieldset') )
									.hide()
									.fadeIn();
							}
							var valid = false;
						}
						else {
							var valid = true;
							$(el).find('.error').fadeOut(function() {
								$(this).remove();
							});
						}
					} else { var valid = true; }
				
					if ( valid == true )
					{
						$(this).remove();
						$(el).next('fieldset').slideDown(500, function() {
							$(el).addClass('open');
							$(el).next('fieldset').find('.next').fadeIn();
							
							if ( i > 2 ) {
								$('html,body').animate({
									//scrollTop: $("#footer").offset().top
									scrollTop: $('fieldset').eq(i+1).offset().top
								}, 500);
							}
						});
					}
				})
				.hide()
				.appendTo( $(el) );
		}
	});
	$('form.surveyme fieldset .next').eq(0).show();
	
	$('.surveyme_wild-life_9 br').after('<div style="clear:both;"></div>');
	$('.surveyme_wild-life_9 br').remove();
	
	
	$('form.surveyme fieldset.surveyme_wild-life_7 .surveyRow, form.surveyme fieldset.surveyme_wild-life_8 .surveyRow').each(function() {
		$('<label>')
			.addClass( $(this).find('input').val() )
			.attr('for', $(this).find('input').attr('id') )
			.text( $(this).find('input').val() )
			.appendTo( $(this) );
		$('<div>')
			.addClass('image')
			.addClass( $(this).find('input').val() )
			.prependTo( $(this) );
	});

	/*
	## Submit button for survey
	*/
	$('form.surveyme input.submit').wrap('<div class="surveyButtonHolder" />');
	$('form.surveyme input.submit').css('color', '#fff');	
  
});

function validateForm(form){
	var fields = form.getElementsByTagName('input');
	var formCheck = [];
	for(var i = 0; i < fields.length; i++){
		fieldClass = fields[i].parentNode.className;
		if(fields[i].className == 'validate'){
			switch(fields[i].name){
			case 'email':
				var regex = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
				if(!regex.test(fields[i].value)){
					fields[i].parentNode.className = (fieldClass.indexOf('invalid') == -1 ? fieldClass += ' invalid' : fieldClass);
					formCheck.push('invalid');
				}else{
					fields[i].parentNode.className = fieldClass.replace('invalid', '');
				}
			break;
			case 'mobile':
			case 'telephone':
				var regex = /^\+?([0-9]{5,6})\s?([0-9]{6}$)/;
				if(!regex.test(fields[i].value)){
					fields[i].parentNode.className = (fieldClass.indexOf('invalid') == -1 ? fieldClass += ' invalid' : fieldClass);
					formCheck.push('invalid');
				}else{
					fields[i].parentNode.className = fieldClass.replace('invalid', '');
				}
			break;
			default:
				if(fields[i].value.length <= 0){
					fields[i].parentNode.className = (fieldClass.indexOf('invalid') == -1 ? fieldClass += ' invalid' : fieldClass);
					formCheck.push('invalid');
				}else{
					fields[i].parentNode.className = fieldClass.replace('invalid', '');	
				}
			}	
		}
	}
	return (formCheck.join().indexOf('invalid') == -1 ? true : false);
}

// home page functions below, primarily those relating to the twitter api

var month = new Array(12);
month[0]= "January";
month[1]= "February";
month[2]= "March";
month[3]= "April";
month[4]= "May";
month[5]= "June";
month[6]= "July";
month[7]= "August";
month[8]= "September";
month[9]= "October";
month[10]= "November";
month[11]= "December";

function toSeconds(end_date){
	var cur_date_calc = Math.round((new Date()).getTime() / 1000);
	var end_date_calc = Math.round(end_date.getTime() / 1000);
	var seconds = Math.round(Math.abs(end_date_calc - cur_date_calc));
	var diff = secondsToTime(seconds);
	//if the difference has not been set, we use the actual date
	if(diff != ''){
		return diff;		
	}else{
		return end_date.getDate() + ' ' + month[end_date.getMonth()];
	}

}

function secondsToTime(secs)
{
    var hours = Math.floor(secs / (60 * 60));
    
    // account for daylight savings time, we need to minus an hour
    hours = hours - 1;
   
    var divisor_for_minutes = secs % (60 * 60);
    var minutes = Math.floor(divisor_for_minutes / 60);
 
    var divisor_for_seconds = divisor_for_minutes % 60;
   
	var measurement = (hours > 24 ? 'days' : (hours >= 1 ? 'hours' : (minutes > 0 ? 'minutes' : 'seconds')));
	switch(measurement){
		case 'days':
			var result = '';
		break;
		case 'hours':
			var result = hours + ' hours ago';
		break;
		case 'minutes':
			var result = minutes + ' minutes ago';
		break;
		case 'seconds':
			var result = seconds + ' seconds ago';
		break;
	}
	return result;
}
  
//translate hashes, @ and links to html format
String.prototype.linkify_tweet = function(){
    var tweet = this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g, function(url) { 
        var wrap = document.createElement('div');
        var anch = document.createElement('a');
        anch.href = url;
        anch.target = "_blank";
        anch.innerHTML = url;
        wrap.appendChild(anch);
        return wrap.innerHTML;
    });
    tweet = tweet.replace(/(^|\s)@(\w+)/g, '$1@<a href="http://www.twitter.com/$2" target="_blank">$2</a>');
    return tweet.replace(/(^|\s)#(\w+)/g, '$1#<a href="http://search.twitter.com/search?q=%23$2" target="_blank">$2</a>');
 };
