//set Global Variables to reference section
var Nav = {
	start: function(){//preps mainNav elements
		var myHome = $('setHome');
		if(myHome){
			var locationObj = window.location; //gets URL
			var locationStr = locationObj.toString(); //sets URL to string
			window.location = locationStr + '#setHome';
		}
	
		//create an array of all page names to test against
		var pages = ['setHome','aboutus','ourcommunities','homebuyersguide','landowners','investors','workwithus'];
		var menu = $$('#topNav li a'); // get nav elements
		var myFx = []; //create array to use for effects
		
		//Find out what page we are on and set it to variable current
		var current = window.location; // get URL address from menu bar
		current = current.toString(); //convert Variable to string
	
		
		// Cycle thru each element of menu, and set opacity of buttons to 0 and apply rollover functions to it.  
		menu.each(function(el,i){ 
			if (!(current.test(pages[i],'i'))){ //If the current page is equal to menu[i], skip
				myFx[i] = new Fx.Style(el, 'opacity', {'duration': 250, 'wait': false, 'transition': Fx.Transitions.quadOut}).set(0.01); //transition to call
				
				el.addEvent('mouseover', function(){myFx[i].start(1);});//set transitions on mouse events
				el.addEvent('mouseout', function(){myFx[i].start(0.01);});
			}
		});
	}
};
var Contact = {
	start: function(){		
		//Contact.writeEmail();
		var mySelect = $('contactSelect'); //contactSelect
		var myTarget = $('htmlTarget');	//define target to dump content into
		
		if(mySelect){ // If Variable is Set
			//Define hidden divs to pull content from
			var div0 = $('opt0');
			var div1 = $('opt1');
			var div2 = $('opt2');
			var div3 = $('opt3');
			var div4 = $('opt4');
			var div6 = $('opt6');
			var div7 = $('opt7');
		
		
			// Check for Realtor or Jobs in URL
			var locationObj = window.location; //gets URL
			var locationObj = locationObj.toString(); //sets URL to string
			
			// check if strings are anywhere in the URL
			var commercialTest = locationObj.test("commercial", "i");
			var homebuyerTest = locationObj.test("homebuyer", "i");
			var investorTest = locationObj.test("investor", "i");
			var landOwnerTest = locationObj.test("landowner", "i");
			var mediaTest = locationObj.test("media", "i");
			var realtorTest = locationObj.test("realtor", "i");
		
			if(commercialTest){ //set select and innerHTML for realtor
				mySelect.selectedIndex = '1';
				myTarget.innerHTML = div3.innerHTML;
			}
			if(homebuyerTest){ //set select and innerHTML for realtor
				mySelect.selectedIndex = '2';
				myTarget.innerHTML = div1.innerHTML;
			}
			if(investorTest){ //set select and innerHTML for realtor
				mySelect.selectedIndex = '3';
				myTarget.innerHTML = div6.innerHTML;
			}
			if(landOwnerTest){ //set select and innerHTML for realtor
				mySelect.selectedIndex = '4';
				myTarget.innerHTML = div4.innerHTML;
			}
			if(mediaTest){ //set select and innerHTML for realtor
				mySelect.selectedIndex = '5';
				myTarget.innerHTML = div7.innerHTML;
			}
			if(realtorTest){ //set select and innerHTML for realtor
				mySelect.selectedIndex = '6';
				myTarget.innerHTML = div2.innerHTML;
			}
		
			Contact.cleanup(); // initial call to for rollover state for btnSubmit
		}
		
		//Add Functionality to Select DropDown
		if(mySelect){
			
			mySelect.addEvent('change',function(){
				myTarget.innerHTML = ''; //clear content
				selIndex = mySelect.selectedIndex; // define selected index			
				
				//Show content based on selected index
				if(selIndex == '0'){myTarget.innerHTML = div0.innerHTML;} 
				if(selIndex == '1'){myTarget.innerHTML = div3.innerHTML;} 
				if(selIndex == '2'){myTarget.innerHTML = div1.innerHTML;} 
				if(selIndex == '3'){myTarget.innerHTML = div6.innerHTML;} 
				if(selIndex == '4'){myTarget.innerHTML = div4.innerHTML;} 
				if(selIndex == '5'){myTarget.innerHTML = div7.innerHTML;} 
				if(selIndex == '6'){myTarget.innerHTML = div2.innerHTML;} 
				Contact.cleanup(); //call function to cleanup new site tree
			});
		}
		
	},
	
	
	cleanup: function(){ // function only called if mySelect found in Contact.start()
		
		//create rollover effect for submit button
		var myButton = $$('#htmlTarget table tr td .btnSubmit');
		var myFx = new Fx.Style(myButton[0], 'opacity', {'duration':300, 'wait':false, 'transition':Fx.Transitions.quadOut});
		
		myButton[0].addEvent('mouseover', function(){myFx.start(0.75);});
		myButton[0].addEvent('mouseout', function(){myFx.start(1);});
		
		<!-- Call SIFR to add Flash Text -->
		//sIFR.replaceElement(".genericContent h3", named({sFlashSrc: "../sifr/dinMedium.swf", sColor: "#37596F", sWmode:"transparent"}));		
		
	}
};
var Legal = {
	start: function(){
		//Set Legal Link in header
		var myTips = new Tips($$('.toolTipElement'), {
			timeOut: 0,
			maxTitleChars: 50, /*I like my captions a little long*/
			maxOpacity: .9 /*let's leave a little transparancy in there */
		});
	}
};
var Footer = {
	start: function(){
		var myButton = $('footerButton');
		var toSlide = $('footerContainer');
		var myLink = $$('#footerButton a img');
		
		if(myButton){
			var mySlider = new Fx.Slide(toSlide, {duration:300});
			mySlider.hide();
			myButton.addEvent('click', function(){
				var myLinkPos = myLink[0].getStyle('margin-top');
				if(myLinkPos == '0px'){
					myLink[0].setStyle('margin-top','-20px');
				}
				if(myLinkPos == '-20px'){
					myLink[0].setStyle('margin-top','0px');
				}
				
				mySlider.toggle();
				return false;
			});
			$('footerToggle').addEvent('click', function(){
				mySlider.toggle();
				
				var myLinkPos = myLink[0].getStyle('margin-top');
				if(myLinkPos == '0px'){
					myLink[0].setStyle('margin-top','-20px');
				}
				if(myLinkPos == '-20px'){
					myLink[0].setStyle('margin-top','0px');
				}
			});
		}
	}
};
var Gallery = {
	start: function(){
		var thumbs = $$('.galleryThumbs a'); // grab a around thumbnail
		var target = $E('img', 'galleryTarget'); // main image
		var lightboxLink = $('galleryTarget'); // link around main image
		myFx = [];
		
		if(target){ // checks if target is set
			thumbs.each(function(element,i){
				var newHref = thumbs[i].getProperty('href'); // sets variable for new main Img Source before clearing it
				thumbs[i].setProperty('href','#'); // ensures that a tag won't actually link to anything
				myFx[i] = new Fx.Style(thumbs[i], 'border-color', {'duration':250, 'wait':false, 'transition':Fx.Transitions.quadOut}); // style for hover on thumbs
				
				thumbs[i].addEvent('click', function(){
					target.setProperty('src',newHref); //sets new src for main image
					newTextAry = newHref.split(".jpg"); // splits original string at .jpg
					newerHref = newTextAry[0] + '.jpg'; // appends _l.jpg to first part of split string
					lightboxLink.setProperty('href',newerHref); // sets new href for lightbox link
				});
				thumbs[i].addEvent('mouseover',function(){myFx[i].start('FFF');}); //hover effects
				thumbs[i].addEvent('mouseout',function(){myFx[i].start('82B0CC');});
			});
		Gallery.set(); //call next function
		}
	},
	set:function(){ //preps initial values
		var target = $E('img', 'galleryTarget'); //grabs mainImg
		var lightboxLink = $('galleryTarget');
		
		if (lightboxLink){ // checks if variable is set
			var newHref = target.getProperty('src');
			var NewTxtAry = newHref.split('.jpg');
			var newerHref = NewTxtAry[0] + '.jpg';
			lightboxLink.setProperty('href', newerHref); 
		}
	}
};
var FAQ = {
	
	start: function() {
		var myElement = $$('.answer'); // creates array of all elements with .story
		var myTrigger = $$('.question'); // creates array of all elements with .individual
		if (myTrigger){
			myElement.each(function(element,i){ //iterates through array
				var mySlider = new Fx.Slide(myElement[i], {duration: 500}); // sets transition
				myTrigger[i].addEvent('click', function(){mySlider.toggle();}); // adds toggle to specific element 
				mySlider.hide(); // hide all elements
			});
		}
    }
};
var Jobs = {
	
	start: function() {
		var myElement = $$('.job'); // creates array of all elements with .story
		var myTrigger = $$('.jobTitle'); // creates array of all elements with .individual
		
		if (myTrigger){
			myElement.each(function(element,i){ //iterates through array
				var mySlider = new Fx.Slide(myElement[i], {duration: 500}); // sets transition
				myTrigger[i].addEvent('click', function(){mySlider.toggle();}); // adds toggle to specific element 
				mySlider.hide(); // hide all elements
			});
		}
    }
};
var Leadership = {
	
	start: function() {
		var myElement = $$('.story'); // creates array of all elements with .story
		var myTrigger = $$('.individual'); // creates array of all elements with .individual
		
		if(myTrigger){
			myElement.each(function(element,i){ //iterates through array
				var mySlider = new Fx.Slide(myElement[i], {duration: 500}); // sets transition
				myTrigger[i].addEvent('click', function(){mySlider.toggle();}); // adds toggle to specific element 
				mySlider.hide(); // hide all elements
			});
		}
		
    }
};
var Rollover = {
	
	start: function() {
		var myElement = $('btnExploreCommunities'); // creates array of all elements with .story
		if (myElement){
			myElement.addEvent('mouseover', function(){myElement.setProperty('src','../gfx/exploreComm_tout_hov.jpg');});
			myElement.addEvent('mouseout', function(){myElement.setProperty('src','../gfx/exploreComm_tout.jpg');});
		}
		
	}
};
var Search = {
	
	start: function() {
		var mySearch = $('inputTopSearch');
			if(mySearch){
			mySearch.setProperty('value', 'Search Here...'); // Set Initial Search Value
			mySearch.addEvent('focus', function(){
				mySearch.setProperty('value','');
			});
		}
		
		//go button
		var btnGo = $('btnGoTop'); //get btn element
		var myFx = new Fx.Style(btnGo, 'opacity', {'duration':300, 'wait':false, 'transition':Fx.Transitions.quadOut}); //set style
		
		if(btnGo){
			btnGo.addEvent('mouseover', function(){myFx.start(0.5);});
			btnGo.addEvent('mouseout', function(){myFx.start(1);});
		}
	}
};
/*var Kwick = {
	parseKwicks: function(){
		var kwicks = $$('.kwick');
		var fx = new Fx.Elements(kwicks, {wait: false, duration: 200, transition: Fx.Transitions.quadOut});
		
		
		kwicks.each(function(kwick, i){
			kwick.addEvent('mouseover', function(e){
				e = new Event(e).stop();
				var obj = {};
				obj[i] = {
					'width': [kwick.getStyle('width').toInt(), 185]
				};
				kwicks.each(function(other, j){
					if (other != kwick){
						var w = other.getStyle('width').toInt();
						if (w != 133) obj[j] = {'width': [w, 133]};
					}
				});
				fx.start(obj);
			});
		});
		
		document.addEvent('mouseover', function(e){
			e = new Event(e);
			var rel = e.relatedTarget;
			if (!rel) return;
			if (rel.hasClass && (rel.hasClass('kwicks') || rel.hasClass('kwick') || rel.id == 'kwick')){
				var obj = {};
				kwicks.each(function(other, j){
					obj[j] = {'width': [other.getStyle('width').toInt(), 150]};
				});
				fx.start(obj);
			};
		});
	}
}*/
var Site = {
	
	rollOverEffect: function(){
		//btnReadMore Effects
		var button = $$('.btnReadMore img');
		var buttonFx = [];
		
		if(button){ //if button is set
			button.each(function(element,i){
				buttonFx[i] = new Fx.Style(element,'margin-top',{'duration': 250, 'wait':false});
				element.addEvent('mouseover', function(){
					buttonFx[i].start(-19);
				});
				element.addEvent('mouseout', function(){
					buttonFx[i].start(0);
				});
			});
		}
		
		// ACCORDIAN HOVER EFFECTS
		var sideblocks = $$('.accordion li');//initialize variables
		var overfxs = [];
		var tocolor = 'B99765';
		var fromcolor = 'fff';
		
		//begin loop to assign Fx.Styles to each elemtn of array
		sideblocks.each(function(element,i){
			//get first element (element[i])
			var first = element.getFirst();
			//if first element doesnt have a tag, bounce
			if (!first || first.getTag() != 'a') return;								 
			//else apply text effect to element					 
			overfxs[i] = new Fx.Styles(first, {'duration': 250, 'wait': false});
			//now add mouseover events to each element of array
			element.addEvent('mouseover', function(){
				overfxs[i].start({
					'margin-left': 10,
					'color': tocolor
					
				});
			});
			element.addEvent('mouseout', function(){
				overfxs[i].start({
					'margin-left': 0,
					'color': fromcolor
				});
			});
			
		})
		
		// ACCORDIAN TITLE ANIMATION
		var h3blocks = $$('#navigation h3'); //target element to affect
		var tocolor2 = 'fff';
		var fromcolor2 = 'A0C5DB';
		var overfxs2 = [];
		
		
		//begin loop to assign Fx.Styles to each elemtn of array
		h3blocks.each(function(element,i){
			//get first element (element[i])
			var first = element.getFirst();
			//if first element doesnt have a tag, bounce
			if (!first || first.getTag() != 'a') return;								 
			//else apply text effect to element					 
			overfxs2[i] = new Fx.Styles(first, {'duration': 250, 'wait': false});
			//now add mouseover events to each element of array
			element.addEvent('mouseover', function(){
				overfxs2[i].start({
					'margin-left': 4,
					'color': tocolor2
					
				});
			});
			element.addEvent('mouseout', function(){
				overfxs2[i].start({
					'margin-left': 0,
					'color': fromcolor2
				});
			});
			
		})
		
		var myTouts = $$('.hoverTout');
		var tocolor3 = '2E4757';
		var fromcolor3 = '5284A2';
		var myFx = [];
		
			myTouts.each(function(element,i){
				myFx[i] = new Fx.Style(myTouts[i], 'border-color', {'duration': 250, 'wait': false});
				
			element.addEvent('mouseover', function(){
				myFx[i].start(tocolor3);
			});
			element.addEvent('mouseout', function(){
				myFx[i].start(fromcolor3);
			});	
		})	
	}	
};

var Accordion = {
	myAccordion:null,
	start: function(){
		//Get array of accordion elements
		var stretchers = $$('div.accordion');
	
		//go thru each item of stretchers, and make them all hidden
		stretchers.each(function(item){
			item.setStyles({'height': '0', 'overflow': 'hidden'});
		});
		Accordion.accordionFunction(stretchers);
	},
	
	accordionFunction: function(myElement){

			//creat array toglers using all header elements
			var togglers = $$('#navigation h3');
			
			//go thru each toggler element and save its default color
			togglers.each(function(toggler, i){
				toggler.defaultColor = toggler.getStyle('background-color');
			});
			try{
			//start style element for myAccordion 
			this.myAccordion = new Fx.Accordion(togglers, myElement, { opacity: true, start: false, transition: Fx.Transitions.quadOut,
				
				//onActive is function call of Fx.Accordion, this is what happens when clicked	
				//here remove inactive state and add active state
				onActive: function(toggler, i){
					try{
						toggler.removeClass('inactive');
						toggler.addClass('active');
					}catch(e) {}
				},
				
				//onBackground is function call of Fx.Accordion, this is what heppents when another header is clicked
				//here remove active state and add inactive state
				onBackground: function(toggler, i){
					try{
						toggler.removeClass('active');
						toggler.addClass('inactive');
					}catch(e){}
				}
			});
			}catch(e){}
		//anchors??
		function checkDefault(){
			var found = false;
			/*
			$$('h3 a').each(function(link, i){
				if (window.location.hash.test(link.hash)){
					Accordion.myAccordion.display(i);
					found = true;	}
			});
			*/
			$$('h3').each(function(ele,i){
				if(ele.hasClass('initial')){
					Accordion.myAccordion.display(i);
					found=true;
				}
			});
			return found;
		}
		if (!checkDefault() && this.myAccordion!=null) this.myAccordion.display(0);
		try { Window.disableImageCache(); }catch(e){}
	}
};
var CommMap = {
	start: function(){
	},
	enable: function(){
	
		var myStates = $$('#interiorLeft_com #mapsNav h3 a');
		var myCommunities = $$('.nitsugas');
		
		if (myStates){
			for(var i=0; i < myStates.length; i++){
				myStates[i].addEvent('click', function(){
					alert('hello');
				});
			}
		}
		
	}
};

var FixLink = {
	start:function(){
		var myHeadings = $$('#navigation h3');
		
		var myHeadingLinks = $$('#navigation h3 a');
			myHeadingLinks.each(function(el, i){
				var thisLink = el.getProperty('href');
				var thisHeading = myHeadings[i];
				thisHeading.addEvent('click', function(){
					window.location = thisLink;
				});
			});
	}
};

window.addEvent('domready', FixLink.start);
window.addEvent('domready', Nav.start);
window.addEvent('domready', Site.rollOverEffect);
window.addEvent('domready', Leadership.start);
window.addEvent('domready', Jobs.start);
window.addEvent('domready', FAQ.start);
window.addEvent('domready', Rollover.start);
window.addEvent('domready', Gallery.start);
window.addEvent('domready', Search.start);
window.addEvent('domready', Legal.start);
window.addEvent('domready', Contact.start);
window.addEvent('domready', Accordion.start);
window.addEvent('domready', CommMap.start);
window.addEvent('domready', Footer.start);