// active page
//$(function(){

//});



//ticker
$(function()
{
    $('#ticker').each(function()
    {
        var ticker = $(this);
        var fader = $('<span class="fader">&nbsp;</span>').css({display:'inline-block'});
        var links = ticker.find('ul>li>a');
        ticker.find('ul').replaceWith(fader);

        var counter = 0;
        var curLink;
        var fadeSpeed = 1000;
        var showLink = function()
            {
                var newLinkIndex = (counter++) % links.length;
                var newLink = $(links[newLinkIndex]);
                var fadeInFunction = function()
                    {
                        curLink = newLink;
                        fader.append(curLink).fadeIn(fadeSpeed);
                    };
                if (curLink)
                {
                    fader.fadeOut(fadeSpeed, function(){
                        curLink.remove();
                        setTimeout(fadeInFunction, 0);
                    });
                }
                else
                {
                    fadeInFunction();
                }
            };

        var speed = 7000;
        var autoInterval;

        var startTimer = function()
        {
            autoInterval = setInterval(showLink, speed);
        };
        ticker.hover(function(){
            clearInterval(autoInterval);
        }, startTimer);

        fader.fadeOut(0, function(){
            fader.text('');
            showLink();
        });
        startTimer();

    });
});



// page loader
/* $(document).ready(function() {
						   
	var hash = window.location.hash.substr(1);
	var href = $('#nav li a').each(function(){
		var href = $(this).attr('href');
		if(hash==href.substr(0,href.length-4)){
			var toLoad = hash+'.html #content';
			$('#content').load(toLoad)
		}											
	});

	$('#nav li a').click(function(){
								  
		var toLoad = $(this).attr('href')+' #content';
		$('#content').fadeOut('slow',loadContent);
		$('#load').remove();
		$('#wrapper').append('<span id="load">LOADING...</span>');
		$('#load').fadeIn('normal');
		window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-4);
		function loadContent() {
			$('#content').load(toLoad,'',showNewContent())
		}
		function showNewContent() {
			$('#content').fadeIn('normal',hideLoader());
		}
		function hideLoader() {
			$('#load').fadeOut('normal');
		}
		return false;
		
	});

}); */


//center in browser
jQuery.fn.center = function(init) {
		
	var object = this;		
	if(!init) {			
		object.css('margin-top', $(window).height() / 2 - this.height() / 2);
		object.css('margin-left', $(window).width() / 2 - this.width() / 2);			
		$(window).resize(function() {
			object.center(!init);
		});		
	} else {			
		var marginTop = $(window).height() / 2 - this.height() / 2;
		var marginLeft = $(window).width() / 2 - this.width() / 2;			
		marginTop = (marginTop < 0) ? 0 : marginTop;
		marginLeft = (marginLeft < 0) ? 0 : marginLeft;
		object.stop();
		object.animate(
			{
				marginTop: marginTop, 
				marginLeft: marginLeft
			}, 
			200, 
			'linear'
		);		
	}
}

//email fields 
function clearName(field){
    if (field.defaultValue == field.value) field.value = '';
    else if (field.value == '') field.value = field.defaultValue;
}
function clearEmail(field){
    if (field.defaultValue == field.value) field.value = '';
    else if (field.value == '') field.value = field.defaultValue;
}



// check intial page load
$(document).ready(function(){
// check for hash and load success page
	var currentHash = location.hash.substring(1);
// see if form was successfully submitted
	if (currentHash=='success') {
		$('#success-message').fadeIn('slow', function() {
	     // Animation complete; 
		});
	$("#signup").hide();
}
});



function validateDataExists(standardField) {
	if (standardField.attr('value') == '' || standardField.attr('value') == standardField.attr('placeholder') || standardField.attr('value') == 'Name' || standardField.attr('value') == 'E-mail') {
		return false;
	} else {
		return true;
	}
}


function validateEmail(emailField) {
	// ensure valid email address
	var emailPattern = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;
	return emailPattern.test(emailField.attr('value'));
}



/* -------- contact form ------------- */

// form validation init for contact form
function initContactFormValidation() {
	// form stuff
	// validate signup form on submit
	$("#subForm").submit(function(){
		var formIsValid = false;
		$("#contact_submit").blur();
		// validate name field
		if (validateDataExists($("#name"))) {
			formIsValid = true;
			$("#name").removeClass('error');
		} else {
			formIsValid = false;
			$("#name").addClass('error').focus();
			$("#subForm .errors").fadeIn().html('<label for="name" generated="true" class="error">Tell us your name.</label>');
			return false;
		}
		// validate email field
		if (validateEmail($("#vljtty-vljtty"))) {
			formIsValid = true;
			$("#vljtty-vljtty").removeClass('error');
		} else {
			formIsValid = false;
			$("#vljtty-vljtty").addClass('error').focus();
			$("#subForm .errors").fadeIn().html('<label for="vljtty-vljtty" generated="true" class="error">We need your email too.</label>');
			return false;
		}
		// is form valid and ready to submit?
		if (formIsValid) {
			// hide error box if needed
			$("#subForm .errors").hide();
			// submit form
			$("#contact_submit").attr('disabled','disabled').fadeOut('fast');
			return true;
		}
		// return false
		return false;
	});
}
