
var tigerbears = {};
tigerbears.animationTime = 0;
tigerbears.modes = {none: -1, menu: 0, about: 1, services: 2, software: 3, contact: 4};
tigerbears.currentMode = tigerbears.modes.menu;
tigerbears.modeNames = ["menu", "about", "services", "software", "contact"];
tigerbears.modeShowsiPhone = [false, true, false, true, false];
tigerbears.modeTracking = new Array(tigerbears.currentMode);

var readyToRock = false;

// Email obfuscator script 2.1 by Tim Williams, University of Arizona
// Random encryption key feature by Andrew Moulden, Site Engineering Ltd
// This code is freeware provided these four comment lines remain intact
// A wizard to generate this code is at http://www.jottings.com/obfuscator/
function emitEmailLink(linkText) { 
	coded = "5s@AstjUDjJUX.m8x";
    key = "rvNHAJb6O84wQcXkzUelESFDhuqd9WmMgY2jIV1ZC5ifGy3x0taBpnoKTP7sLR";
    shift=coded.length;
    link="";
    for (i=0; i<coded.length; i++) {
        if (key.indexOf(coded.charAt(i))==-1) {
            ltr = coded.charAt(i);
            link += (ltr);
        }
        else {     
            ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length;
            link += (key.charAt(ltr));
        }
    }
    return "<a href=\"mailto:"+link+"\">"+linkText+"</a>";
};

window.onload = function () {

	for (var modeName in tigerbears.modeNames) {
		var rightItem = "right_" + modeName;
		// $(rightItem).center({vertical: true, horizontal: false});
	}
	

	$("#iphone").fadeOut(0);

	for (var ii = 0; ii < tigerbears.modeNames.length; ii++) {	
		var leftId = "#left_" + tigerbears.modeNames[ii];
	//	$(leftId).fadeOut(0);
	}
	
	$(".leftContent").fadeOut(0);
	

	$("div.item").center({vertical: true, horizontal: false});
	
	$("#right_about").jScrollPane({
		showArrows: true
	});
	
	$("#right_services").jScrollPane({
		showArrows: true
	});
	
	$("#right_software").jScrollPane({
		showArrows: true
	});
	
	$("#right_contact").jScrollPane({
		showArrows: true
	});

	showContentForMode(tigerbears.currentMode, true);
	tigerbears.animationTime = 500;
	
    $("#dropLine").html(emitEmailLink("drop us a line"));
    $("#emailDirectly").html(emitEmailLink("email us directly"));
    
	clearContactForm(0);
	
	$("#contactFormSubmit").click(function() {  
	
		if (_gaq) {
			_gaq.push(['_trackEvent', 'contactForm', 'submitted']);
		}
	
		var formData = "contactName=" + $("input#contactName").val() + "&contactEmail=" + $("input#contactEmail").val() + "&contactCompany=" + $("input#contactCompany").val() + "&contactBody=" + $("textarea#contactBody").val();  
				
		$.ajax({  
			type: "POST",  
			url: "contactForm.php",  
			data: formData,  
			dataType: "json",
			success: function(data, textStatus, XMLHttpRequest) {  
				var successCode = data["success"];
				if (successCode == 1) {
					$("#formSuccess").fadeIn(tigerbears.animationTime);
				} else {
					$("#formFail").fadeIn(tigerbears.animationTime);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				$("#formFail").fadeIn(tigerbears.animationTime);
			}  
		});  
		
		return false;  	
	
	}); 	
	
	readyToRock = true;

};

function clearContactForm(animationTime) {

	if (!animationTime) {
		animationTime = tigerbears.animationTime;
	}

	$("#formSuccess").fadeOut(animationTime);
	$("#formFail").fadeOut(animationTime);
}


function showContentForMode(whichMode, animated) {


	if (_gaq && readyToRock) {
		_gaq.push(["_trackEvent", "homepageModeChange", tigerbears.modeNames[whichMode]]);
	}

	var fadeOutTiming = tigerbears.animationTime / 2.0;
	var fadeInTiming = tigerbears.animationTime * 2.0;

	var company = $("#company");
	var summary = $("#summary");
	var backButton = $("#backButton");

	var showSummary = (whichMode == tigerbears.modes.software)
	
	if (!showSummary) {
		// backButton.animate({ left: "-110%" }, tigerbears.animationTime);
		var height = company.height() / 2.0;	
		company.animate({ top:"50%", marginTop:(0 - height)}, tigerbears.animationTime);
		summary.animate({ top:"100%" }, tigerbears.animationTime);

	
	} else {
		company.animate({ top:"3%", marginTop:"0" }, tigerbears.animationTime);
		summary.animate({ top:"15%" }, tigerbears.animationTime);
		// backButton.animate({ left: "0%" }, tigerbears.animationTime);
	}

	for (var ii = 0; ii < tigerbears.modeNames.length; ii++) {
	
		var rightId = "#right_" + tigerbears.modeNames[ii];
		var leftId = "#left_" + tigerbears.modeNames[ii];
	
		if (ii != whichMode) {
			$(rightId).animate({ left : "-110%" }, tigerbears.animationTime, function() {

			});
			$(leftId).fadeOut(fadeOutTiming);
		} else {
			$(leftId).fadeIn(fadeInTiming);
		}
		
	}

	var iPhoneShowing = tigerbears.modeShowsiPhone[tigerbears.currentMode];
	var shouldShowiPhone = tigerbears.modeShowsiPhone[whichMode];
	
	if (iPhoneShowing && !shouldShowiPhone) {
		$("#iphone").fadeOut(fadeOutTiming);
	} else if (!iPhoneShowing && shouldShowiPhone) {
		$("#iphone").fadeIn(fadeInTiming);
	}
		
	clearContactForm(tigerbears.animationTime);

	var showId = "#right_" + tigerbears.modeNames[whichMode];
	
	$(showId).animate({ left : "0%" }, tigerbears.animationTime);
	
	tigerbears.currentMode = whichMode;
	tigerbears.modeTracking.push(tigerbears.currentMode);
	
};

function showContentForPreviousMode() {
	if (_gaq) {
		_gaq.push(['_trackEvent', 'buttonClicked', 'back']);
	}
	var thisMode = tigerbears.modeTracking.pop();
	var lastMode = tigerbears.modeTracking.pop();
	showContentForMode(lastMode);
};

function setPageMode(whichMode, withDelay) {

	if (true || !withDelay) {
		showContentForMode(whichMode);
	} else {
		setTimeout("showContentForMode('" + whichMode + "');", 50);
	}

};



