$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});

function checkEmail(strEmail) 
{
	var filter = /^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i;
	if (!filter.test(strEmail)) 
	{
		return false;
	}
	else
	{
		return true;
	}
}

$(document).ready(function(){
 	startup();
});





function dospinner() {
	$('#ajaxloader').show();
 }

 
function endspinner(){

     //$('#ajaxloader').remove();
	 $('#ajaxloader').hide();

 }

function startup()
{
	$('<div id="ajaxloader">Loading</div>').appendTo('body');
	setscrollpane();
	setMenuLinks();
	setPictureLinks();
	setWorkLinks();
	setHomepageLink();
	checkForm();
	endspinner();
}


function setscrollpane()
{
	$('.icontent').jScrollPane(
	{
		verticalDragMaxHeight: 22,
		verticalDragMinHeight: 22						

	});

	$('#textcolinner').jScrollPane(
	{
		verticalDragMaxHeight: 22,
		verticalDragMinHeight: 22						

	});
	
	$('.icolumnvw').jScrollPane(
	{
		verticalDragMaxHeight: 22,
		verticalDragMinHeight: 22						

	});	


}


function setMenuLinks() {
  
  $('#nav a').click(function(){
		var url = $(this).attr('href');
		var loadurl = url;
		var objItem = $(this);
		loadurl += " #innercontent";
		// Check for transition effect
		var wherefrom = $(document).width();	
		var whereto = -(wherefrom + 48);
		dospinner();
		$('#innerwrap').animate({marginLeft: whereto+'px'}, "slow", function(){

			$('#innerwrap').load(loadurl, function(responseText, textStatus, XMLHttpRequest){

			if(textStatus == 'success') {
				setscrollpane();
				setWorkLinks();
				setPictureLinks();
				checkForm();
				$("#nav li a").removeClass("selected");
				objItem.addClass("selected");
				document.title = "Public UK - " + objItem.html();
			}
			//$('#wrap').css('overflow', 'hidden');
			$('#innerwrap').css('marginLeft', wherefrom + 'px');
			$('#innerwrap').animate({marginLeft:'48px' }, "slow", function(){
				//$('#wrap').css('overflow', 'static');
				endspinner();
			});




			
			});
		});


		// Keeps the href from firing

		return false;

	});
  
}

function setWorkLinks() {
  
  $('#worknav a').click(function()
  {
		var url = $(this).attr('href');

		var loadurl = url;
		var objItem = $(this);
		loadurl += " #worksetinner";
		// Check for transition effect
		var whereto = -($(document).width()) + 420;	
		$("#worknav a").removeClass("selecteditem");
		objItem.addClass("selecteditem");
		//$('#wrap').css('overflow', 'hidden');
		dospinner();
		$('#workset').animate({marginRight: whereto+'px'}, "slow", function()
		{

			$('#workset').load(loadurl, function(responseText, textStatus, XMLHttpRequest)
			{
				if(textStatus == 'success') 
				{
					checkforflash();
					setscrollpane();
					setPictureLinks();

					document.title = "Public UK - Work - " + objItem.attr("title");
				}

				$('#workset').animate({marginRight:'0' }, "slow", function()
				{
					endspinner();
					//$('#wrap').css('overflow', 'static');
				});
			});
		});

		return false;
	});
}



function createflash(towhat) {
	doneit = false;
	if(typeof(swfobject) !== 'undefined') 
	{
	if (swfobject.hasFlashPlayerVersion("6")) {

		// check if SWF hasn't been removed, if this is the case, create a new alternative content container
		var c = document.getElementById("swfholder");
		if (!c) {

			var d = document.createElement("div");
			d.setAttribute("id", "swfholder");
			document.getElementById("bimg1").appendChild(d);
		}
		// create SWF
		var att = { data:towhat, width:"406", height:"266" };
		var par = { menu:"false" };
		var id = "swfholder";
		swfobject.createSWF(att, par, id);
		doneit = true;
	}
	}
	return doneit;
}
		
function removeflash() {
	if(typeof(swfobject) !== 'undefined') 
		swfobject.removeSWF("swfholder");
}

function checkforflash()
{
	if ($('#wimg0').hasClass("swf"))
	{
		var url = $('#wimg0 img.cimg').attr('src');
		var teststr = url.split(".jpg");
		var teststr2 = teststr[0].split("p_");
		var loadurl = teststr2[0] + teststr2[1];
		loadurl += ".swf";
		//removeflash();		
		createflash(loadurl);	
	}
}


function setPictureLinks() {
  
  $('#imgselector a').click(function(){
		var thisis = $(this).attr('id');
		var isnt = "b" + thisis;
		var url = $("#" + isnt).attr('src');
		var loading = false;
		var loadurl = "";
		if ($(this).hasClass("swf"))		
		{
			loading = true;
			teststr = url.split(".jpg");
			teststr2 = teststr[0].split("p_");
			loadurl = teststr2[0] + teststr2[1];
			
			loadurl += ".swf";
		}
		var objItem = $(this);
		$("#imgselector a").removeClass("selecteditem");
		objItem.addClass("selecteditem");		 
		removeflash();		
		
			$('#bimg2').css("background-image", "url(" + url + ")");
			$('#bimg1').animate({opacity: 0}, "slow", function(){
				if (loading)
				{
					createflash(loadurl);
				}
				$('#bimg1').css("background-image", "url(" + url + ")");
				$('#bimg1').css("opacity", 1);	
				$('#bimg2').css("backgroundImage", "none");

			
			});


		return false;
	});
  
}


function setHomepageLink() {

  $('a#enterlink').click(function(){
		var url = $(this).attr('href');

		var loadurl = url;
		var objItem = $(this);
		loadurl += " #topsec";
		// Check for transition effect
		var wherefrom = $(document).width();	
		dospinner();
		$('#wrap').animate({opacity: 0}, "slow", function()
		{

			$('#wrap').load(loadurl, function(responseText, textStatus, XMLHttpRequest)
			{
				if(textStatus == 'success') 
				{

					setscrollpane();
					setMenuLinks()
					document.title = "Public UK - About";
					$('#nav').css('marginLeft', wherefrom + 'px');
					$('#wrap').animate({opacity:1 }, "slow", function()
					{
						endspinner();
						$('#nav').animate({marginLeft: 48 + "px" }, "slow");
					});
				}
				else
				{
					endspinner();
					$('#innerwrap').animate({opacity:1 }, "slow");
				}
			});
		});

		// Keeps the href from firing

		return false;

	});
  
}

function checkForm() {
	$('#contactform').submit(function() {
	var goingon = true;
	var email = $('#cs_email').val();
	
    if  (email)
	{
		if (checkEmail(email))
		{
			$('#lcs_email').removeClass("error");
		}
		else
		{
			$('#lcs_email').addClass("error");
			goingon = false;
		}
	}
	else
	{
		$('#lcs_email').addClass("error");
		goingon = false;
    }
	if (!$('#cs_name').val())
	{
		$('#lcs_name').addClass("error");
		goingon = false;
	}
	else
	{
		$('#lcs_name').removeClass("error");
	}
	if (!goingon)
	{
		$.md("Please complete marked fields",{
					type:"error",
					title:"Contact Us"
				});
	}
	else
	{
		dospinner();
		$.ajax({
			url: "ajax-contact.php",
			type: this.method,
			data: $(this).serialize(),
			success: function(result) {
				endspinner();
				var results = result.split("::");
				var mtype = "success";
				if (result[0].substr(0, 5)=="Error")
					mtype="error";
				else
					document.forms[0].reset();
				$.md(results[1],{
					type:'success',
					title:results[0]
				});
				// the AJAX request succeeded => do something
				// with the results returned by the server
			},
			error: function(jqXHR, textStatus, errorThrown) {
				endspinner();
				
				$.md("There was an error submiting the form: " + textStatus + " " + errorThrown,{
					title:"Problem submitting form"
				});
				
			}
		});
	}
	return false;
});

}

