Cufon.replace("h1", {fontFamily: 'MetaPro'});
Cufon.replace("h2", {fontFamily: 'MetaPro'});
Cufon.replace("h3", {fontFamily: 'MetaPro'});
Cufon.replace("h4", {fontFamily: 'MetaPro'});


function overInfoLink() {
	$(this).css('background','#e7ebed');
	$(".arrowA",this).addClass("active");
	
	$("a",this).css("text-decoration","underline");
}

function outInfoLink() {
	$(this).css('background','#dfe5e9');
	
	$(".arrowA",this).removeClass("active");	
	$("a",this).css("text-decoration","none");
}
function overSampleType() {
	$(this).parent().parent().find('.arrow').addClass("active");
	$(this).parent().parent().find('h3').css('text-decoration','underline');
}

function outSampleType() {
	$(this).parent().parent().find('.arrow').removeClass("active");
	$(this).parent().parent().find('h3').css('text-decoration','none');
}

function lookupZipCode() {
	var zip = $("#contact #form #zip").val();
	if(zip.length>=5) {
		$.get("ajax/cityStateLookup.php?zip="+zip,null, zipCodeHandler);
	}
}

function zipCodeHandler(data) {
	if(data.length > 0 && data != 'invalid') {
		var parts = data.split('-');
		var city = parts[0];
		var state = parts[1];
		$("#contact #form #city").val(" ").blur().val(city);
		$("#contact #form #state").val(state).blur();
		$("#contact #form #country").val(" ").blur().val("USA");
		var numOptions = $("#contact #form #state option").length;
		var selectedIndex = -1;
		for(var i = 0; i < numOptions; i++) {
			if($("#contact #form #state option:eq("+i+")").val() == state) {
				selectedIndex = i;
				break;
			}
		}
		if(selectedIndex != -1) {
			$('#contact #form .stateDiv ul a:eq('+selectedIndex+')').click();
		}
		
		var selectedCountry = -1;
		var country = "United States";
		var numCountries = $("#contact #form .country option").length;
		for(var i = 0; i < numCountries; i++) {
			if($("#contact #form .country option:eq("+i+")").val() == country) {
				selectedCountry = i;
				break;
			}
		}
		if(selectedCountry != -1) {
			$("#contact #form .country ul a:eq("+selectedCountry+')').click();
		}
		$("#contact #form #city").focus();
	}	
}

function validateContactForm(event) {
	
	var bc = "borderColor"
	var dc = "#8a8a8a";
	var errorString = "";
	if($("#contact #form #title").val() == "null") {
		errorString += "Please choose a title.<br />";	
	}
	if(! checkFieldLength("#contact #form #firstName",1,dc)) {
		errorString += "Please enter a first name.<br />";
	}
	if(! checkFieldLength("#contact #form #lastName", 1, dc)) {
		errorString += "Please enter a last name.<br />";
	}
	if(! checkFieldLength("#contact #form #phoneNumber", 10, dc)) {
		errorString += "Please enter a phone number.<br />";
	}
	if(! checkFieldLength("#contact #form #email", 5, dc)) {
		errorString += "Please enter an email address.<br />"
	}
	if(!checkFieldLength("#contact #form #address", 3, dc)) {
		errorString += "Please enter a street address.<br />";
	}
	if(!checkFieldLength("#contact #form #zip", 5, dc)) {
		errorString += "Please enter a zip code.<br />";
	}
	if(!checkFieldLength("#contact #form #city", 3, dc)) {
		errorString += "Please enter a city.<br />";
	}
	if($("#contact #form #coutnry") == "United States" && $("#contact #form #state").val() == "none") {
		errorString += "Please choose a state.<br />";
	}
	if(! checkFieldLength("#contact #form #company",2,dc)) {
		errorString += "Please enter a company.<br />";
	}
	if($("#contact #form #country").val() == "none") {
		errorString += "Please enter a country.<br />";
	}
	/*
	if($("#contact #form input[@name=contactMethod]:checked").length == 0) {
		errorString += 'Please choose your preferred method of contact.<br />';
	}
	*/
	
	
	
	
	if(errorString != "") {
		$("#contact #form #errors").html(errorString).show();
		$("html").scrollTop(180);
		event.preventDefault();
	}
}
function checkFieldLength(selector,leng,col) {
	if($(selector).val().length < leng) {
		$(selector).css("borderColor","red");
		return false;
	}
	$(selector).css("borderColor",col);
	return true;
}


var scrollAmount = 912;
var imgsPerPage = 4;
var animating = false;

function galInit() {
	var totalImages = $("#software #gallery .imageList .image").length;
	if(totalImages <= imgsPerPage) {
		$("#software #gallery .rightArrow").addClass("disabled");
	} else {
		$("#software #gallery .rightArrow").addClass("enabled");	
	}
	$("#software #gallery .leftArrow").addClass("disabled");
	
}
function softwareGalleryLeft(event) {
	$("#software #gallery .leftArrow a").blur();
	if(animating) {
		return false;
	}
	var curMargin = $("#software #gallery .imageList").css("marginLeft");
	if(curMargin == '0px') {
		return false;
	}
	var curMarginI = 1 * curMargin.substr(0,curMargin.length-2);
	var targetMargin = curMarginI + scrollAmount;
	if(targetMargin == 0) {
		$("#software #gallery .leftArrow").removeClass("enabled").addClass("disabled");
	}
	
	$("#software #gallery .rightArrow").removeClass("disabled").addClass("enabled");	
	animating = true;
	$("#software #gallery .imageList").animate({marginLeft: '+='+scrollAmount+'px'} , 1000, 'easeInOutQuart', resetAnimationVar);
	event.preventDefault();
}

function softwareGalleryRight(event) {
	$("#software #gallery .rightArrow a").blur();
	if(animating) {
		return false;
	}
	var totalImages = $("#software #gallery .imageList .image").length;
	var maxMarginI = -Math.ceil((totalImages/imgsPerPage) -1) * scrollAmount;
	var maxMargin = maxMarginI + 'px';
	var curMargin = $("#software #gallery .imageList").css("marginLeft");
	if(maxMargin == curMargin) {
		return false;
	}
	
	var curMarginI = 1 * curMargin.substr(0,curMargin.length-2);
	var targetMargin = curMarginI - scrollAmount;
//	alert(targetMargin + " " + maxMarginI);
	if(targetMargin == maxMarginI) {
		$("#software #gallery .rightArrow").removeClass("enabled").addClass("disabled");
	}
	$("#software #gallery .leftArrow").removeClass("disabled").addClass("enabled");
	animating = true;
	$("#software #gallery .imageList").animate({marginLeft: '-='+scrollAmount+'px'} , 1000, 'easeInOutQuart', resetAnimationVar);
	event.preventDefault();
}

function resetAnimationVar() {
	animating = false;
}


function addBackgroundColor(target) {
	$(this).css("backgroundColor","white");
}
function removeBackgroundColor(target) {
	$(this).css("backgroundColor", "#efefef");
}



function overSoftwareFeature() {
	if($(this).hasClass('fake')) { return; }
	var myID = 	$(this).attr('id')
	
	var featureID = myID.substr(7);
//	alert(featureID);
	var overlayDiv = "#overlay"+featureID;
	//overlayDiv = ".overlay";
	$(overlayDiv).show();
	$(overlayDiv).animate({opacity:1}, 250,'easeInOutQuart');
	
}

function outSoftwareFeature() {	
//	return;
	if($(this).hasClass('fake')) { return; }
	var myID = 	$(this).attr('id')
	var featureID = myID.substr(7);
	$("#overlay"+featureID).animate({opacity:0} ,250, 'easeInOutQuart', function() {
		$('#overlay'+featureID).hide();	
	});
}


function determineText(name) {
	var text = "";
	switch(name) {
		case "firstName":
			text = "First Name";
			break;
		case "lastName":
			text = "Last Name";
			break;
		case "company":
			text = "Company";
			break;
		case "email":
			text = "Email Address";
			break;
		case "name":
			text = "Name";
			break;
		case "comment":
			text = "How can we help you?";
			break;
	}
	return text;
}
function homePageContactClick() {
	var name = $(this).attr("name");
	var text = determineText(name);
	if($(this).val() == text) {
		$(this).val("");
	}
}
function homePageContactBlur() {
	var name = $(this).attr("name");
	var text = determineText(name);
	if($(this).val() == "") {
		$(this).val(text);
	}
}
function contactPageFocus() {
	var name = $(this).attr("name");
	var text = determineText(name);
	if($(this).val() == text) {
		$(this).val("");
	}
}
function contactPageBlur() {
	var name = $(this).attr("name");
	var text = determineText(name);
	if($(this).val() == "") {
		$(this).val(text);
	}
}


function formDataHandler(e) {
	e.preventDefault();
	$.post($(this).attr("action"),$(this).serialize(), homepageCallback)
}
function homepageCallback(data) {
	if(data == 'success') {
		$("#homeContact .messages").css("visibility","visible");
	} else if(data =='redirect') {
		document.location.reload(true);
	}
}


