/**
 * Global JS
 */
 
var azure = {}; 
 
$(document).ready(function() {
	$('.blankOut').focus(function() {
		if($(this).val() == this.defaultValue) {
			this.value = '';
		}
	})
	.blur(function() {
		if($(this).val() == '') {
			this.value = this.defaultValue;
		}
	});
	//AG: Used by the file item to stop things opening in the same window
	$(".open_external").live("click", function()
	{
		window.open($(this).attr("href"), "_blank");
		return false;
	});
	/** newsletter **/
	$('#newsletterLink').toggle(
	function(){
		$('.newsletterPopup').fadeIn();
		return false;
	},
	function(){
		$('.newsletterPopup').fadeOut();
		return false;
	});
	
	$('#newsletterForm').submit(function() { 
		var options = { 
	        //target:			'#testOutput',   // target element(s) to be updated with server response 
	        //beforeSubmit:	formValidation,  // pre-submit callback 
	        success:		processNewsletterResp , // post-submit callback 
	        dataType:		'json',       // 'xml', 'script', or 'json' (expected server response type) 
	        type:			'post'        // 'get' or 'post', override for form's 'method' attribute 
	        // other available options: 
	        //url:       url         // override for form's 'action' attribute 
	        //clearForm: true        // clear all form fields after successful submit 
	        //resetForm: true        // reset the form after successful submit 
	        // $.ajax options can be used here too, for example: 
	        //timeout:   3000 
    	}; 
		$(this).ajaxSubmit(options); 
		return false;//Don't submit form
	});	
	
	$('#frame').slider({easeFunc: 'easeInOutExpo'});
	$('#serviceModal').jqm({trigger: '.servicePopup', toTop: true });
	$('#teamModal').jqm(
	{
		trigger: '.teamPopup', 
		onShow: function(hash) 
				{ 
					$("#namesNav li a").eq(0).trigger("click"); 
					hash.w.show();
				},
		toTop: true 
	});					
	/**
	 * move to correct panel if anchor is given in url
	 */
	var $reqAnchor = document.location.toString();
	if ($reqAnchor.match('#')) {
		var $anch = '#' + $reqAnchor.split('#')[1];
		$('#nav li a[href="' + $anch + '"]').click();
	}
	
	setup_powerlinks();
	
});

/**
 * Process JSON from Newsletter AJAX
 */
function processNewsletterResp(json)
{
	/** Errors **/
	if(json.status == '0') {
		//alert(json.errors.error);
		//alert('ERRORS!!');
		$('#newsletterBBox').append('<div class="nErrors">Invalid Email Address!</div>');
		$('#newsletterForm').fadeOut('slow', function() {
			//$('#newsletterForm').remove();
			$('.nErrors').fadeIn(600, function(){
				setTimeout(function() {
					$('.nErrors').fadeOut(600, function(){
						$('.nErrors').remove();
						$('#newsletterForm').fadeIn();
					});
                },3000); 
			});
		});
	}
	/** All ok **/
	else {
		//alert(json.message);
		$('#newsletterBBox').append('<div class="nMsg">You have been added!</div>');
		$('#newsletterForm').fadeOut('slow', function() {
			//$('#newsletterForm').remove();
			$('#newsletterBBox').find('.nMsg').fadeIn(600, function(){
				setTimeout(function() {
					$('.nMsg').fadeOut(600, function(){
						//$('#newsletterSignup').remove();
						$('#newsletterForm').fadeIn(600, function(){
							$('.newsletterPopup').fadeOut('slow', function(){
								$('#newsletterForm').find('.nInput').each(function(){
									$(this).val(this.defaultValue);
								});
							});
						});
					});
                },3000); 
			});
		});
	}
	
}


/**
 * Debug Dump function
 * @param	mixed $obj
 */
function azureDump($obj)
{
	/** Javascript Datatypes **/
	var $typesArr = ["array", "number", "boolean", "object", "string", "function", "regexp", "date"];
	
	// if typeof($obj) == 'object' -> use instanceof 'class'...
	for(var $i in $obj) {
		$type = typeof($obj[$i]);
		console.log("%s: %o", $i + '('+$type+')', $obj[$i]);
		//if(typeof $obj[$i] == "object") {
		//	console.log("%s: %o", $i, this);
		//}		
	}
}



function setup_powerlinks()
{
	$(".power-link a").bind("click", function(e)
	{
		href = $(this).attr("href");
		
		if (href.match(site_base_url) == false)
			return true;
	
		if (href == site_base_url + "home")
		{
			e.preventDefault();
			$("#homeLink").trigger("click");
		}
		else if (href == site_base_url + "contact")
		{
			e.preventDefault();
			$("#contactLink").trigger("click");						
		}
		else if (href == site_base_url + "portfolio")
		{
			e.preventDefault();
			$("#workLink").trigger("click");						
		}
		else if (href == site_base_url + "about")
		{
			e.preventDefault();
			$("#aboutLink").trigger("click");						
		}
		else
		{
			return true;
		}

	});
}