  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-29341589-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })(); 
  
		$(document).ready(function()
		{
		//expandomatic
			var hidden = true;
			$(".expand").hide();
			$(".expander").click(function() {
				  $(this).prev(".expand").slideToggle('slow', function() { });
				  if (hidden) {
					$(this).text("details -");
					hidden = false;
				  } else {
				    $(this).text("details +");
					hidden = true;
				  }
			});
			
			//fading banners
			$("#fadebanner #banner1").hide();
			$("#fadebanner #banner2").hide();
			$("#fadebanner #banner3").hide();

			var fade = function() {
				$("#fadebanner #banner1").fadeIn("slow", function() {
					$("#fadebanner #banner1").delay(5000).fadeOut("slow");
				});
				$("#fadebanner #banner2").delay(6000).fadeIn("slow", function() {
					$("#fadebanner #banner2").delay(5000).fadeOut("slow");
				});
				$("#fadebanner #banner3").delay(12000).fadeIn("slow", function() {
					$("#fadebanner #banner3").delay(5000).fadeOut("slow");
				});
				setTimeout(function() {fade();}, 18500);
			}
			fade();
			
			//login labels
			var loginForm = document.getElementById("login-panel");
			var forgotUserForm = document.getElementById("forgot-user");
			var hideLabels = function (targetForm) {
				if (targetForm) {
					var targetFormLabels = targetForm.getElementsByTagName("label");
					
					targetFormLabels.unselectable = true;
					
					var targetFormInputs = targetForm.getElementsByTagName("input");
					for (var i=0, len = targetFormLabels.length; i < len; i += 1) {
						if (targetFormInputs[i].value !== "") {
							targetFormLabels[i].style.display = "none";
						} else {
							targetFormLabels[i].style.display = "inline";
						}
					}
				}
			}
			if (loginForm) {
				var formInputs = loginForm.getElementsByTagName("input");
				if (window.addEventListener) {
					loginForm.addEventListener("keyup", function () { return hideLabels(loginForm); }, false);
					for (i=0; i<formInputs.length; i++) {
						formInputs[i].addEventListener("blur", function () { return hideLabels(loginForm); }, false);
					}
				} else if (window.attachEvent) {
					loginForm.attachEvent("onkeyup", function () { return hideLabels(loginForm); });
					for (i=0; i<formInputs.length; i++) {
						formInputs[i].attachEvent("onblur", function () { return hideLabels(loginForm); });
					}
				}
				hideLabels(loginForm);
			}
			if (forgotUserForm) {
				var formInputs = forgotUserForm.getElementsByTagName("input");
				if (window.addEventListener) {
					forgotUserForm.addEventListener("keyup", function () { return hideLabels(forgotUserForm); }, false);
					for (i=0; i<formInputs.length; i++) {
						formInputs[i].addEventListener("blur", function () { return hideLabels(forgotUserForm); }, false);
					}
				} else if (window.attachEvent) {
					forgotUserForm.attachEvent("onkeyup", function () { return hideLabels(forgotUserForm); });
					for (i=0; i<formInputs.length; i++) {
						formInputs[i].attachEvent("onblur", function () { return hideLabels(forgotUserForm); });
					}
				}
			}
			
		//gallery
		//hide the images leaving only the first one, give it the curImg class
		$("#gallery").children("div").hide();
		$("#gallery").children("div").first().show();
		$("#gallery").children("div").first().addClass("curImg");

		//when the gallery is hovered hide/show the navigation controls
		$("#gallery").hover(function () {
				$(".galleryButtons").stop(true, true);
				$("#galleryNext").animate({right:'0'},'fast');
				$("#galleryPrev").animate({left:'0'},'fast');

			}, function () {
				$("#galleryNext").delay(500).animate({right:'-2em'},'slow');
				$("#galleryPrev").delay(500).animate({left:'-2em'},'slow');
			}
		);

		//change to the next image
		var next = function() {
			if ($(".curImg").next("div").length != 0) {
				$(".curImg").next("div").addClass("curImg");
				$(".curBull").next("b").addClass("curBull");
				$(".curImg").fadeToggle("fast");
				$(".curImg").first().removeClass("curImg");
				$(".curBull").first().removeClass("curBull");
			} else {
				$("#gallery").children("div").first().addClass("curImg");
				$("#galleryQuick").children("b").first().addClass("curBull");
				$(".curImg").fadeToggle("fast");
				$(".curImg").last().removeClass("curImg");
				$(".curBull").last().removeClass("curBull");
			}
		}

		//change to the previous image
		var prev = function() {
			if ($(".curImg").prev().length != 0) {
				$(".curImg").prev().addClass("curImg");
				$(".curBull").prev("b").addClass("curBull");
				$(".curImg").fadeToggle("fast");
				$(".curImg").last().removeClass("curImg");
				$(".curBull").last().removeClass("curBull");
			} else {
				$("#gallery").children("div").last().addClass("curImg");
				$("#galleryQuick").children("b").last().addClass("curBull");
				$(".curImg").fadeToggle("fast");
				$(".curImg").first().removeClass("curImg");
				$(".curBull").first().removeClass("curBull");
			}
		}

		//set event handlers to the navigation and keyboard
		$("#galleryNext").click(function() { return next(); })
		$("#galleryPrev").click(function() { return prev(); })
		$(document).keyup(function(event) {
			$(".galleryButtons").fadeOut("slow");
			if (event.keyCode == '37') {
				return prev();
			} else if (event.keyCode == '39') {
				return next();
			}
		});

		//make the quick links
		$("#gallery").children("div").each(function(index) {
			$("#galleryQuick").append("<b class='galleryQuick'>&#8226</b>");
		});
		$("#galleryQuick").children("b").first().addClass("curBull");
		$(".galleryQuick").click(function() {
			var index = $("#galleryQuick").children("b").index(this);
			var curIndex = $("#gallery").children("div").index($(".curImg"));
			if (index != curIndex) {
				$("#gallery").children("div").eq(index).addClass("curImg");
				$("#galleryQuick").children("b").eq(index).addClass("curBull");
				$(".curImg").fadeToggle("fast");
				$("#gallery").children("div").eq(curIndex).removeClass("curImg");
				$("#galleryQuick").children("b").eq(curIndex).removeClass("curBull");
			}
		});
		
		
		
		//auto expanding form
			var firstField = document.getElementById("visitor1");
			var secondField = document.getElementById("visitor2");
			var thirdField = document.getElementById("visitor3");
			var forthField = document.getElementById("visitor4");
			var fifthField = document.getElementById("visitor5");
			var sixthField = document.getElementById("visitor6");
			var seventhField = document.getElementById("visitor7");
			var eighthField = document.getElementById("visitor8");
			var ninthField = document.getElementById("visitor9");
			var firstComp = document.getElementById("company1");
			var secondComp = document.getElementById("company2");
			var thirdComp = document.getElementById("company3");
			var forthComp = document.getElementById("company4");
			var fifthComp = document.getElementById("company5");
			var sixthComp = document.getElementById("company6");
			var seventhComp = document.getElementById("company7");
			var eighthComp = document.getElementById("company8");
			var ninthComp = document.getElementById("company9");			
			var accessFieldset = document.getElementById("sendaccess");
			var aftervisitor = document.getElementById("aftervisitor");
			if (accessFieldset) {
				var inputs = accessFieldset.getElementsByTagName("input");
				var counter = inputs.length - 1;
			}
			function addField(e) {
				e = e || window.event;								//set e to the event
				if (!e.target) { e.target = e.srcElement; }			//ensure .target is set
				if (e.target.value !== "") {
					if (((e.target.id === "company" + counter) && (document.getElementById("visitor" + (counter)).value != "") ) || ((e.target.id === "visitor" + counter) && (document.getElementById("company" + (counter)).value != ""))) {				
						counter += 1;
						if (counter < 11) {						
							var newLabel = document.createElement("label");
							newLabel.setAttribute("for", ("visitor" + counter));
							// newLabel.for = "visitor" + counter;
							var newLabeltext = document.createTextNode("Visitor " + counter + ":");
							newLabel.appendChild(newLabeltext);
							
							var newField = document.createElement("input");
							newField.id = "visitor" + counter;
							newField.type = "text";
							newField.name = "visitor" + counter;
							newField.size = "20";

							if (newField.addEventListener) {
								newField.addEventListener('blur', addField, false);
							} else if (newField.attachEvent) {
									newField.attachEvent('onblur', addField);
							}
							
							var newBr = document.createElement("br");
							
							accessFieldset.appendChild(newBr);
							accessFieldset.appendChild(newLabel);
							accessFieldset.appendChild(newField);
							
							// newField.focus();
							
							var newCLabel = document.createElement("label");
							newCLabel.setAttribute("for", ("company" + counter));
							// newLabel.for = "visitor" + counter;
							var newCLabeltext = document.createTextNode("Visitor " + counter + "'s Company:");
							newCLabel.appendChild(newCLabeltext);
							
							var newCField = document.createElement("input");
							newCField.id = "company" + counter;
							newCField.type = "text";
							newCField.name = "company" + counter;
							newCField.size = "20";
							newCField.value = document.getElementById("company" + (counter -1)).value;
							
							if (newCField.addEventListener) {
								newCField.addEventListener('blur', addField, false);
							} else if (newCField.attachEvent) {
									newCField.attachEvent('onblur', addField);
							}
							
							var newCBr = document.createElement("br");
							
							accessFieldset.appendChild(newCBr);
							accessFieldset.appendChild(newCLabel);
							accessFieldset.appendChild(newCField);
						}
					}
				}
			}

			if (accessFieldset) {
				if (accessFieldset.addEventListener) {
					accessFieldset.addEventListener('change', addField, false);
				} else if (accessFieldset.attachEvent) {
					accessFieldset.attachEvent('onchange', addField);
				}
			}
/*
			if (firstField) {
				if (firstField.addEventListener) {
					firstField.addEventListener('blur', addField, false);
				} else if (firstField.attachEvent) {
					firstField.attachEvent('onblur', addField);
				}
			}
			if (secondField) {
				if (secondField.addEventListener) {
					secondField.addEventListener('blur', addField, false);
				} else if (secondField.attachEvent) {
					secondField.attachEvent('onblur', addField);
				}
			}
			if (thirdField) {
				if (thirdField.addEventListener) {
					thirdField.addEventListener('blur', addField, false);
				} else if (thirdField.attachEvent) {
					thirdField.attachEvent('onblur', addField);
				}
			}
			if (forthField) {
				if (forthField.addEventListener) {
					forthField.addEventListener('blur', addField, false);
				} else if (forthField.attachEvent) {
					forthField.attachEvent('onblur', addField);
				}
			}
			if (fifthField) {
				if (fifthField.addEventListener) {
					fifthField.addEventListener('blur', addField, false);
				} else if (fifthField.attachEvent) {
					fifthField.attachEvent('onblur', addField);
				}
			}
			if (sixthField) {
				if (sixthField.addEventListener) {
					sixthField.addEventListener('blur', addField, false);
				} else if (sixthField.attachEvent) {
					sixthField.attachEvent('onblur', addField);
				}
			}
			if (seventhField) {
				if (seventhField.addEventListener) {
					seventhField.addEventListener('blur', addField, false);
				} else if (seventhField.attachEvent) {
					seventhField.attachEvent('onblur', addField);
				}
			}
			if (eighthField) {
				if (eighthField.addEventListener) {
					eighthField.addEventListener('blur', addField, false);
				} else if (eighthField.attachEvent) {
					eighthField.attachEvent('onblur', addField);
				}
			}
			if (ninthField) {
				if (ninthField.addEventListener) {
					ninthField.addEventListener('blur', addField, false);
				} else if (ninthField.attachEvent) {
					ninthField.attachEvent('onblur', addField);
				}
			}
			if (firstComp) {
				if (firstComp.addEventListener) {
					firstComp.addEventListener('blur', addField, false);
				} else if (firstComp.attachEvent) {
					firstComp.attachEvent('onblur', addField);
				}
			}
			if (secondComp) {
				if (secondComp.addEventListener) {
					secondComp.addEventListener('blur', addField, false);
				} else if (secondComp.attachEvent) {
					secondComp.attachEvent('onblur', addField);
				}
			}
			if (thirdComp) {
				if (thirdComp.addEventListener) {
					thirdComp.addEventListener('blur', addField, false);
				} else if (thirdComp.attachEvent) {
					thirdComp.attachEvent('onblur', addField);
				}
			}
			if (forthComp) {
				if (forthComp.addEventListener) {
					forthComp.addEventListener('blur', addField, false);
				} else if (forthComp.attachEvent) {
					forthComp.attachEvent('onblur', addField);
				}
			}
			if (fifthComp) {
				if (fifthComp.addEventListener) {
					fifthComp.addEventListener('blur', addField, false);
				} else if (fifthComp.attachEvent) {
					fifthComp.attachEvent('onblur', addField);
				}
			}
			if (sixthComp) {
				if (sixthComp.addEventListener) {
					sixthComp.addEventListener('blur', addField, false);
				} else if (sixthComp.attachEvent) {
					sixthComp.attachEvent('onblur', addField);
				}
			}
			if (seventhComp) {
				if (seventhComp.addEventListener) {
					seventhComp.addEventListener('blur', addField, false);
				} else if (seventhComp.attachEvent) {
					seventhComp.attachEvent('onblur', addField);
				}
			}
			if (eighthComp) {
				if (eighthComp.addEventListener) {
					eighthComp.addEventListener('blur', addField, false);
				} else if (eighthComp.attachEvent) {
					eighthComp.attachEvent('onblur', addField);
				}
			}
			if (ninthComp) {
				if (ninthComp.addEventListener) {
					ninthComp.addEventListener('blur', addField, false);
				} else if (ninthComp.attachEvent) {
					ninthComp.attachEvent('onblur', addField);
				}
			}		
// */	


/* Calender */
		function newcal() {
			if (document.getElementById('date-field')) {
			  //specific dates
			  var DISABLED_DATES = {
			  };

			  function disallowDate(date) {

				  var currentTime = new Date();
				  
				  if ((currentTime.getHours() == 23) && (currentTime.getMinutes() > 55)) {
					currentTime.setDate(currentTime.getDate()+1);
				  }
				  
				  // no past
				  if (date.getFullYear() < currentTime.getFullYear()) {
					  return true;
				  }
				  if (date.getDate() < currentTime.getDate() && date.getMonth() <= currentTime.getMonth() && date.getFullYear() == currentTime.getFullYear()) {
					  return true;
				  }
				  if (date.getDate() >= currentTime.getDate() && date.getMonth() < currentTime.getMonth() && date.getFullYear() == currentTime.getFullYear()) {
					  return true;
				  }
				  
				  // no future
				  var thisMonth = currentTime.getMonth();
				  if ((thisMonth == 0) || (thisMonth == 2) || (thisMonth == 4) || (thisMonth == 6) || (thisMonth == 7) || (thisMonth == 9) || (thisMonth == 11)) { 
					var daysInMonth = 31;
				  } else if ((thisMonth == 3) || (thisMonth == 5) || (thisMonth == 8) || (thisMonth == 10)) {
					var daysInMonth = 30;
				  } else {
					if (new Date(theYear,1,29).getDate() == 29) {
						var daysInMonth = 29;
					} else {
						var daysInMonth = 28;
					}
				  }
				  if (((date.getMonth() - currentTime.getMonth()) == 1) && (date.getFullYear() == currentTime.getFullYear()) && (((daysInMonth - currentTime.getDate()) + date.getDate()) > 7)) {
					  return true;
				  }
				  if ((( date.getDate() - currentTime.getDate()) > 7) && date.getMonth() == currentTime.getMonth() && date.getFullYear() == currentTime.getFullYear()) {
					  return true;
				  }
				  if (((date.getMonth() - currentTime.getMonth()) > 1) && (date.getFullYear() == currentTime.getFullYear())) {
					  return true;
				  }
				  date = Calendar.dateToInt(date);
				  return date in DISABLED_DATES;

			  };
			  var today = new Date();
			  
			  if ((today.getHours() == 23) && (today.getMinutes() > 55)) {
					todayBar = false;
					today.setDate(today.getDate()+1);
			  } else {
					todayBar = true;
			  }

			  today = Calendar.dateToInt(today);
			  
			  var future = new Date();
			  future.setDate(future.getDate()+7);
			  future = Calendar.dateToInt(future);
			  
			  var DATE_INFO = {
			  };
			  
			  function getDateInfo(date) {
			  var as_number = Calendar.dateToInt(date);
			  if (as_number >= today && as_number <= future)
				return {
				  klass   : "highlight-days",
				  tooltip : "<div style='text-align: center'>Access can be booked upto 1 week in advance</div>"
				};
				
			  return DATE_INFO[as_number];
			  };
			  
			  var cal1 = Calendar.setup({
				  inputField: "date-field",            // input text field id
				  trigger	: "trigger",             // Calendar id

				  showTime	: 24,
				  min		: today,
				  max		: future,
				  dateFormat: "%A %e %b %Y %H:%M",
				  bottomBar	: todayBar,

				  disabled	: disallowDate,
				  onSelect	: function() { this.hide(); },
				  
				  dateInfo	: getDateInfo // pass our getDateInfo function

			  });
			  
			  var accessTime = new Date();
			  accessTime.setMinutes(Math.ceil((accessTime.getMinutes()+5)/10)*10);
			  if (accessTime.getMinutes() < 10) {
				var accessMinutes = "0"+accessTime.getMinutes();
			  } else {
				var accessMinutes = ""+accessTime.getMinutes();
			  }
			  var accessHour = ""+accessTime.getHours();
			  
			  accessTime = parseInt(""+accessHour+accessMinutes, 10);
			  
			  cal1.setTime(accessTime);
			  } else if (document.getElementById('date-field2')) {
				  var cal1 = Calendar.setup({
					  inputField: "date-field2",            // input text field id
					  trigger	: "trigger",             // Calendar id

					  dateFormat: "%A %e %b %Y",

					  onSelect	: function() { this.hide(); }

				  });
			  }
		  }
		  if (typeof Calendar != 'undefined') { newcal(); }
		  
		});
