// JavaScript Document

//general parameters
var legalOn = false;

// Set parameters for addThis tag
var addthis_config = {"data_track_clickback":true, "services_compact":"twitter,facebook,print,email,favorites,delicious,google,digg,stumbleupon"};
var addthis_share = { "email_template":"Olay_Email_Template" };
var addThisASKey = "armchairstudiollc";

//get header image name
var pathParts = location.href.split('/');
var headerName = pathParts[pathParts.length-1];
headerName = headerName.substring(0,headerName.indexOf('.'));
if (headerName == '') headerName='index';

//calculate menus state based on page name
var menuStates = new Array();
menuStates['index'] 		= '000';
menuStates['gallery'] 		= '011';
menuStates['features'] 		= '012';
menuStates['amenities'] 	= '013';
menuStates['floorplans'] 	= '014';
menuStates['green'] 		= '015';
menuStates['neighborhood'] 	= '021';
menuStates['transit'] 		= '022';
menuStates['team'] 			= '031';
menuStates['contact'] 		= '032';
menuStates['apply'] 		= '100';
menuStates['view'] 			= '200';
var topMenu = menuStates[headerName].charAt(0);
var menuOpen = menuStates[headerName].charAt(1);
var menuSelect = menuStates[headerName].charAt(2);

//change title and meta tags based on page name
var pageTitles = new Array();
pageTitles['index'] 		= 'Home Page';
pageTitles['gallery'] 		= 'Photo Gallery';
pageTitles['features'] 		= 'Building Features';
pageTitles['amenities'] 	= 'Building Amenities';
pageTitles['floorplans'] 	= 'Floorplans';
pageTitles['green'] 		= 'Green Living';
pageTitles['neighborhood'] 	= 'Neighborhood Highlights';
pageTitles['transit'] 		= 'Public Transit';
pageTitles['team'] 			= 'The Team';
pageTitles['contact'] 		= 'Contact Us';
pageTitles['apply'] 		= 'Apply for an Apartment';
pageTitles['view'] 			= 'View an Apartment';
document.title = "RPM Studebaker Lofts - " + pageTitles[headerName];

//prepare for lightbox
if (headerName == 'features' || headerName == 'gallery' || headerName == 'floorplans') {
	$(function() {
		$('#gallery a').not('.noLightbox').lightBox();
	});
}

//menu handling code
$(document).ready(function() {
	//check if Flash animation should show
	//alert(getParam('noani')+' , '+BrowserDetect.OS);
	if (getParam('noani') != '1' && BrowserDetect.OS != 'iPhone/iPod' && BrowserDetect.OS != 'iPad') {
		$("#flashDiv").css({"visibility" : "visible", "display" : "block"});
		setTimeout('changeHomeImage()',1000);
	} else {
		$("#flashDiv").css({"visibility" : "hidden", "display" : "none"});
		changeHomeImage();
	}
	
	//slides the element with class "menu_body" when paragraph with class "menu_head" is clicked 
	$("#clickPane span.menu_head").click(function() {
		try { $("#homeImage").attr("src", "images/home_static_"+$(this).attr("id").charAt(1)+".jpg"); } catch(e) {}
		$("#clickPane div.menu_body").slideUp(200);
		$(this).next("div.menu_body").slideToggle(200);
	});

	//set initial state for menus
	$("#clickPane span.menu_head").next("div.menu_body").hide();
	$("#clickPane span.menu_head").next("div.menu_body").css('visibility', 'visible');
	if (menuOpen != '0') {
		$("span[id='m"+menuOpen+"']").next("div.menu_body").show();
		if (menuSelect != '0') {
			$("a[id='m"+menuOpen+menuSelect+"']").attr("href", "javascript:");
			$("a[id='m"+menuOpen+menuSelect+"']").css("cursor", "default");
			$("a[id='m"+menuOpen+menuSelect+"'] img:first-child").removeClass("rollover");
			$("a[id='m"+menuOpen+menuSelect+"'] img:first-child").attr("src", "images/menus/menu_"+menuOpen+"_"+menuSelect+"_2.png");
		}
	}
	if (topMenu != '0') {
		$("a[id='tm"+topMenu+"']").attr("href", "javascript:");
		$("a[id='tm"+topMenu+"']").css("cursor", "default");
		$("a[id='tm"+topMenu+"'] img:first-child").removeClass("rollover");
		$("a[id='tm"+topMenu+"'] img:first-child").attr("src", "images/menus/topmenu_"+topMenu+"_2.png");
	}
	
	//set initial state for legal frame
	$("#legalDiv").hide();
	$("#legalDiv").css('visibility', 'visible');
	
	$(
		function()
		{
			// set up rollover
			$("img.rollover").hover(
				function()
				{
					this.src = this.src.replace("1.png","2.png");
				},
				function()
				{
					this.src = this.src.replace("2.png","1.png");
				}
			);
		}
	)

	$(
		function()
		{
			// set up rollover
			$("#footerMap").hover(
				function()
				{
					$("#footerImage").attr("src","images/footer_2.png");
				},
				function()
				{
					$("#footerImage").attr("src","images/footer_1.png");
				}
			);
		}
	)

	$(
		function()
		{
			// set up rollover
			$("img.slideButton").hover(
				function()
				{
					this.src = this.src.replace("1.png","2.png");
				},
				function()
				{
					this.src = this.src.replace("2.png","1.png");
				}
			);
		}
	)

	// take care of slides and gallery issues
	if (headerName == 'features' || headerName == 'amenities' || headerName == 'team' || headerName == 'green' || headerName == 'gallery' || headerName == 'floorplans') {
		var duration = 1;
		var currentPosition = 0;
		var slideWidth = 615;
		var slides = $('.slide');
		var numberOfSlides = slides.length;
		var prefixButton = new Array();
		prefixButton['features'] = 'f';
		prefixButton['floorplans'] = 'p';
		prefixButton['amenities'] = 'f';
		prefixButton['team'] = 't';
		prefixButton['green'] = 'g';
		prefixButton['gallery'] = 'y';
		
		// Wrap all .slides with #slideInner div
		slides.wrapAll('<div id="slideInner"></div>')
		
		// Set #slideInner width equal to total width of all slides
		$('#slideInner').css('width', slideWidth * numberOfSlides);

		if (headerName == 'features' || headerName == 'amenities' || headerName == 'gallery' || headerName == 'floorplans') {
			duration = 600;
			// Insert left and right arrow controls in the DOM
			$('#slideFrameDiv').prepend('<span class="control" id="leftControl">Move left</span>').append('<span class="control" id="rightControl">Move right</span>');
			
			// Create event listeners for .controls clicks
			$('.control').bind('click', function(){
				// Determine new position
				currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
				// Hide / show controls
				manageControls(currentPosition,numberOfSlides,prefixButton[headerName]);
				// Move slideInner using margin-left
				$('#slideInner').animate({'marginLeft' : slideWidth*(-currentPosition)},duration);
			});
		}
	
		if (headerName != 'gallery') {
			// Create event listeners for .clickable clicks
			$('.clickable').bind('click', function(){
				// Determine new position
				currentPosition = $(this).attr('id').substring(2)*1;
				// Hide / show controls
				manageControls(currentPosition,numberOfSlides,prefixButton[headerName]);
				// Move slideInner using margin-left
				$('#slideInner').animate({'marginLeft' : slideWidth*(-currentPosition)},duration);
			});
		} else {
			$(".control").css({"width" : "92px", "height" : "470px"});
		}
		
		// Hide left arrow control on first load
		manageControls(currentPosition,numberOfSlides,prefixButton[headerName]);
		
		
	}

	
});

//change the main image on the home page after animation started
function changeHomeImage() {
	try { $("#homeImage").attr("src", "images/home_static_3.jpg"); } catch(e) {}
}

// manageControls: Hides and shows controls depending on currentPosition
function manageControls(position,numberOfSlides,prefix){
	// Hide left arrow if position is first slide
	if (position==0){
		$('#leftControl').hide();
	} else {
		$('#leftControl').show();
	}
	// Hide right arrow if position is last slide
	if (position==numberOfSlides-1){
		$('#rightControl').hide();
	} else {
		$('#rightControl').show();
	}

	//change top buttons
	var sButtons = $(".slideButton");
	$(".slideButton").addClass("clickable");
	$(".slideButton[id='sb"+position+"']").removeClass("clickable");
	for (var i=0;i<sButtons.length;i++) {
		if (i==position) {
			sButtons[i].src = "images/menus/"+prefix+"menu_"+(i+1).toString()+"_3.png";
		} else {
			sButtons[i].src = "images/menus/"+prefix+"menu_"+(i+1).toString()+"_1.png";
		}
	}
		
}
	
function setLegal() {
	if (legalOn) {
		$("#legalDiv").fadeOut(1000);
		legalOn = false;
	} else {
		$("#legalDiv").fadeIn(1000);
		legalOn = true;
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function checkForm() {
	var emailRE = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	var str = "";
	if (document.engageForm.fname.value == "") { str=str+"You have to type in your first name.\n"; }
	if (document.engageForm.lname.value == "") { str=str+"You have to type in your last name.\n"; }
	if (document.engageForm.phone.value == "") { str=str+"You have to type in your telephone number.\n"; }
	if (document.engageForm.how.value == "") { str=str+"Please tell us how you've heard about Studebaker Lofts.\n"; }
	if (!document.engageForm.email.value.match(emailRE)) { str=str+"The email address entered is incorrect.\n"; }
	
	if (str == "") {
		document.engageForm.submit();
	} else {
		alert(str);
	}
}

function getParam(name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null ) {
		return "";
	} else {
		return results[1];
	}
}
