/********************
CASE STUDY FUNCTIONS
********************/
function imageRollOver(imageID, imageSrc) {
	$('#'+imageID).attr('src', imageSrc);
}

/********************
DOWNLOAD FUNCTIONS
********************/
function toggleDownloads(sectionID) {
	//check if section is visible
	if ($('#'+sectionID+'Downloads').is(':visible')) {
		//hide the section
		$('#'+sectionID+'Downloads').slideUp('700');
		$('#'+sectionID+'Title').addClass('downloadTitle');
		$('#'+sectionID+'Title').removeClass('downloadTitleHighlighted');
	}
	else {
		//show the section
		$('#'+sectionID+'Downloads').slideDown('700');
		$('#'+sectionID+'Title').addClass('downloadTitleHighlighted');
		$('#'+sectionID+'Title').removeClass('downloadTitle');	
	}
}


/********************
ENQUIRY FIELD FUNCTIONS
*********************/

//enquiry field entries set here...
var enquiryFields=new Array(
	Array('contentReference', '', 0),
	Array('nameField', 'Your name', 1),
	Array('companyField', 'Company name', 0),
	Array('emailField', 'Email address', 1),
	Array('phoneField', 'Telephone number', 1),
	Array('commentsField', 'Your message', 1),
	Array('captchaCodeField', 'Enter code (case insensitive)', 1)
);



$(document).ready(function(){   
	
	//add error checking to enquiry field
	resetEnquiryForm();
	jQuery('.enquiryTextField').hinty();
	jQuery('.smallEnquiryTextField').hinty();
	jQuery('.enquiryTextArea').hinty();

	//enquiry form handling here
	$("form#enquiryForm").submit(function(){
		handleEnquiryForm();
		return false;
	});
});

function handleEnquiryForm() {
	resetEnquiryForm();
	errorCount=0;
	//loop thru and get values...
	ajaxData=''
	for (x=0; x<enquiryFields.length; x++) {
		thisField=enquiryFields[x];
		fieldID=thisField[0];
		fieldDefault=thisField[1];
		fieldReqd=thisField[2];
		
		actualValue=$('#'+fieldID).val();
		ajaxData+=fieldID+':'+encodeURIComponent(actualValue)+'||';
		if ((actualValue.length<=0)||(actualValue==fieldDefault)) {
			if (fieldReqd==1) {
				enquiryFieldWarning(fieldID);
				errorCount++;
			}
		}
	}
	if (errorCount<=0) {
		resetEnquiryForm();
		//no errors found so do ajax call... (check for valid email on server)
		//alert(ajaxData);
		$.post("_fixed/sendEnquiryForm.php", { formFields: ajaxData }, function(data) {
				//alert(data);
				formSubmissionResponse(data);
		});
	}
}

function formSubmissionResponse(response) {
	//alert(response);

	responseVariables=$.parseJSON(response);
	responseType=responseVariables.responseType;
	responseURL=responseVariables.responseURL;

	if (responseType=='emailError') {
		enquiryFieldWarning('emailField');
	}
	else if (responseType=='captchaError') {
		enquiryFieldWarning('captchaCodeField');
	}
	else {
		//show success page
		//reload page with formSent=true parameter
		//alert(responseURL);
		location.href=responseURL;
		/*
		$('#enquiryFormDisplay').fadeOut(800, function() {
			$('#enquiryFormThanks').fadeIn(800);			
		});

		//clear form
		for (x=0; x<enquiryFields.length; x++) {
			thisField=enquiryFields[x];
			fieldID=thisField[0];
			$('#'+fieldID).val('');
		}		
		*/
	}
}

function resetEnquiryForm() {
	for (x=0; x<enquiryFields.length; x++) {
		thisField=enquiryFields[x];
		fieldID=thisField[0];
		fieldDefault=thisField[1];
		fieldReqd=thisField[2];
		
		$('#'+fieldID).attr('title',fieldDefault);
		if (fieldReqd==1) {
			$('#'+fieldID+'Icon').removeClass('missingField');
			$('#'+fieldID+'Icon').addClass('requiredField');
			$('#'+fieldID).removeClass('enquiryFieldError');

		}
	}
}

function enquiryFieldWarning(fieldID) {
	
	//set the icon
	$('#'+fieldID+'Icon').removeClass('requiredField');
	$('#'+fieldID+'Icon').addClass('missingField');
	$('#'+fieldID).addClass('enquiryFieldError');

	//set the warning message
	$('#enquiryInfoBarIcon').removeClass('requiredField');
	$('#enquiryInfoBarIcon').addClass('missingField');
	$('#enquiryInfoBar').html('Please fill in all required fields.');
}

/******************
NEWSLETTER FUNCTIONS
******************/

$(document).ready(function(){   
	
	//add error checking to enquiry field

	//newsletter subscription handling here 
	$("form#subscriptionForm").submit(function(){
		//get email address
		emailAddress=$('#subscriptionEmail').val();
		subscriptionName=$('#subscriptionName').val();
		clearSubscriptionMessage();
		
		if (subscriptionName.length<=0) {
			subscriptionError(20);
		}
		else if (emailAddress.length>0) {
			ajaxData='nameField:'+escape(subscriptionName)+',emailField:'+escape(emailAddress);
			$.post("_fixed/saveSubscription.php", { formFields: ajaxData }, function(data) {
				//alert(data);
				handleSubscriptionResult(data);
			});
			//ajax call - either subscribe or return error if malformed or already registered
			//subscriptionSuccess();
		}
		else {
			subscriptionError(10);
		}
		return false;
	});
});

function handleSubscriptionResult(response) {
	if (response=='emailError') {
		subscriptionError(10)	
	}
	else if (response=='existing') {
		subscriptionError(11);
	}
	else if (response=='success') {
		subscriptionSuccess();
	}
}

function subscriptionError(errorCode) {
	if (errorCode==11) {
		errorMessage='You are already subscribed!';
	}
	else if (errorCode==20) {
		errorMessage='Please enter your name.';
	}
	else {
		errorMessage='Not a valid email address!';
	}
	//clear current state
	$('#subscriptionIcon').addClass('errorIcon');
	$('#subscriptionMessage').html(errorMessage);
	$('#subscriptionMessage').addClass('subscriptionError');
	$('#subscriptionMessage').slideDown('700');
}

function subscriptionSuccess() {
	//clear current state
	$('#subscriptionIcon').addClass('successIcon');
	$('#subscriptionMessage').html('You have subscribed.');
	$('#subscriptionMessage').addClass('subscriptionSuccess');
	$('#subscriptionMessage').slideDown('700');
}

function clearSubscriptionMessage() {
	$('#subscriptionIcon').removeClass('successIcon');
	$('#subscriptionIcon').removeClass('errorIcon');
	$('#subscriptionMessage').hide();
	$('#subscriptionMessage').html('');	
	$('#subscriptionMessage').removeClass('subscriptionSuccess');
	$('#subscriptionMessage').removeClass('subscriptionError');	
}

/*******************
TEAM FUNCTIONS
******************/

var currentLeft=0;
var imageSpacing=245;
var totalMemberDisplay=3;
var scrollSpeed=500;

$(document).ready(function() {
	//how many teamMember divs are there?
	numberOfMembers=(($("#teamScroll > div").size())*3);
	maxScrollWidth=(numberOfMembers*imageSpacing)-(totalMemberDisplay*imageSpacing);
	
	$('#teamLeftButton').click(function() {
		newLeft=currentLeft-imageSpacing;
		if (newLeft<0) {
			currentLeft=maxScrollWidth;		
			$("#teamScrollWrapper").animate({ scrollLeft: currentLeft}, scrollSpeed );
		}
		else {
			currentLeft=newLeft;
			$("#teamScrollWrapper").animate({ scrollLeft: currentLeft}, scrollSpeed );
		}
   		return false;
	});
	$('#teamRightButton').click(function() {
		newLeft=currentLeft+imageSpacing;
		if (newLeft>maxScrollWidth) {
			currentLeft=0;
			$("#teamScrollWrapper").animate({ scrollLeft: currentLeft}, scrollSpeed );
		}
		else {
			currentLeft=newLeft;
			$("#teamScrollWrapper").animate({ scrollLeft: currentLeft}, scrollSpeed );
			
		}
   		return false;
	});
});

/********************
ADD STYLES TO DOWNLOADS
*********************/
$(document).ready(function() {
	$(".downloadFile:first").css("padding-top", "10px");
	$(".downloadFile:first").css("border-top", "solid 1px #ccc");
	$(".downloadFile:first").css("background-position", "-945px -955px");
});
