﻿var HOME_URL_STRING = '.com/Pages/default.aspx';
var SUMMARY_URL = '/Pages/Properties.aspx';
var CONTENT_AREA_ID = 'contentArea';
var STATE_PARAMETER_NAME = 's';
var STATE_DEFAULT_VALUE = 'SA';
var TYPE_PARAMETER_NAME = 't';
var TYPE_DEFAULT_VALUE = '';
var STATE_SELECT_ID = 'ctl00_PlaceHolderMain_ChkDevDynamicFilterNavigation1_StateDD';
var TYPE_SELECT_ID = 'ctl00_PlaceHolderMain_ChkDevDynamicFilterNavigation1_PropertyTypeDD';
var OFFER_SELECT_ID = 'ctl00_PlaceHolderMain_ChkDevDynamicFilterNavigation1_OfferTypeDD';
var SEARCH_BUTTON_ID = 'SearchBtn';//'ctl00_PlaceHolderMain_ChkDevDynamicFilterNavigation1_SearchBtn';



var HOME = isHome( HOME_URL_STRING );

var qs = new Querystring()
var qsstate = qs.get( STATE_PARAMETER_NAME, STATE_DEFAULT_VALUE );
var qstype = qs.get( TYPE_PARAMETER_NAME, TYPE_DEFAULT_VALUE );


setState( qsstate, STATE_DEFAULT_VALUE, true );

if ( HOME ) 
{ 
	// enable the green homepage header //
	document.getElementById( CONTENT_AREA_ID ).className = 'home';
	if ( qsstate == 'SA' )
	{
		try { document.getElementById( 'typeNavLabel-' + qsstate ).className = 'typeNavLabel hide'; } catch(e){}
	}
	try
	{
		document.getElementById( SEARCH_BUTTON_ID ).onclick = function(){ quickSearch_clicked(); return false; };
	}
	catch(e){}
	
	// disable the disclaimer //
	document.getElementById( 'disclaimerArea' ).className = 'hide';
} 
else 
{
	setType( qstype );

	try
	{
		// only set banner on the summary page //
		document.getElementById('propertySummaryLayout').id = 'propertySummaryLayout';
		setBanner( qstype );
	}
	catch(e){}
	
	try
	{
		// only set return link on the detail page //
		document.getElementById('propertyDetailLayout').id = 'propertyDetailLayout';
		url = getPropertySummaryLink( '', qstype );
		document.getElementById('detailReturnLink').href=url;
	}
	catch(e){}
}

/* is the current page the home page?
 * 
 * url is just a portion of the url that determines home page i.e. '.com/Pages/default.html'
 * this works because Sharepoint redirects all valid home urls to the welcome page url
 *
*/
function isHome( url )
{

	var bool = false
	if ( window.location.href.indexOf( url ) != -1 ) 
	{
		bool = true;
	}
	return ( bool );
}



function getPropertySummaryLink( state, type )
{
	if ( state != 'AR' && state != 'OK' && state != 'TX' && state != 'LA' && state != 'PA' && state != 'WV' && state != 'SA' )
	{
		state = qs.get( STATE_PARAMETER_NAME, STATE_DEFAULT_VALUE );
	}

	if ( type != 'Retail' && type != 'Residential' && type != 'Office' && type != 'Industrial' && type != 'Land' )
	{
		type = qs.get( TYPE_PARAMETER_NAME, TYPE_DEFAULT_VALUE );
	}

	return( SUMMARY_URL + '?s=' + state + '&t=' + type )
}


function setState( qsstate, defaultState, isLoad )
{
	/* passing in the state value allows the state menu to change client-side */

	qsstate = qsstate.toUpperCase();
	isInteriorClick = !isLoad; 
	
	/* conceal the home link, as appropriate  */
	if ( HOME && ( qsstate == '' ||  qsstate == 'SA' ) )
	{
		try { document.getElementById( 'homeItem' ).className = 'conceal'; } catch(e){}
	}
	else
	{
		try { document.getElementById( 'homeItem' ).className = ''; } catch(e){}
	}
	
	/* flip home page images, text */
	if ( HOME ) {
		document.getElementById( 'homeLayout' ).className = 'layoutArea ' + qsstate;

		document.getElementById( 'homeHeader-SA' ).className = 'hide'
		document.getElementById( 'homeHeader-OK' ).className = 'hide'
		document.getElementById( 'homeHeader-TX' ).className = 'hide'
		document.getElementById( 'homeHeader-AR' ).className = 'hide'
		document.getElementById( 'homeHeader-LA' ).className = 'hide'
		document.getElementById( 'homeHeader-PA' ).className = 'hide'
		document.getElementById( 'homeHeader-WV' ).className = 'hide'
		document.getElementById( 'homeHeader-' + qsstate ).className = '';
		
		document.getElementById( 'homeCopy-SA' ).className = 'copy hide'
		document.getElementById( 'homeCopy-OK' ).className = 'copy hide'
		document.getElementById( 'homeCopy-TX' ).className = 'copy hide'
		document.getElementById( 'homeCopy-AR' ).className = 'copy hide'
		document.getElementById( 'homeCopy-LA' ).className = 'copy hide'
		document.getElementById( 'homeCopy-PA' ).className = 'copy hide'
		document.getElementById( 'homeCopy-WV' ).className = 'copy hide'
		document.getElementById( 'homeCopy-' + qsstate ).className = 'copy';
		
		setQuickSearchState( qsstate, defaultState );
	}
	else if ( isInteriorClick ) { // set state was invoked by a click and not by a page load, somewhere other than the home page
		window.location = '/Pages/default.aspx?s=' + qsstate;
	}
	
	document.getElementById( 'typeNav-AR' ).className = 'typeNavList hide';
	document.getElementById( 'typeNav-OK' ).className = 'typeNavList hide';
	document.getElementById( 'typeNav-TX' ).className = 'typeNavList hide';
	document.getElementById( 'typeNav-LA' ).className = 'typeNavList hide';
	document.getElementById( 'typeNav-PA' ).className = 'typeNavList hide';
	document.getElementById( 'typeNav-WV' ).className = 'typeNavList hide';
	document.getElementById( 'typeNav-SA' ).className = 'typeNavList hide';
	
	document.getElementById( 'typeNavLabel-AR' ).className = 'typeNavLabel hide';
	document.getElementById( 'typeNavLabel-OK' ).className = 'typeNavLabel hide';
	document.getElementById( 'typeNavLabel-TX' ).className = 'typeNavLabel hide';
	document.getElementById( 'typeNavLabel-LA' ).className = 'typeNavLabel hide';
	document.getElementById( 'typeNavLabel-PA' ).className = 'typeNavLabel hide';
	document.getElementById( 'typeNavLabel-WV' ).className = 'typeNavLabel hide';
	document.getElementById( 'typeNavLabel-SA' ).className = 'typeNavLabel hide';


	document.getElementById( 'AR' ).className = '';
	document.getElementById( 'OK' ).className = '';
	document.getElementById( 'TX' ).className = '';
	document.getElementById( 'LA' ).className = '';
	document.getElementById( 'PA' ).className = '';
	document.getElementById( 'WV' ).className = '';
	document.getElementById( 'SA' ).className = '';

	
	if ( qsstate == 'AR' || qsstate == 'OK' || qsstate == 'TX' || qsstate == 'LA' || qsstate == 'PA' || qsstate == 'WV' || qsstate == 'SA' ) 
	{ 
		try{document.getElementById( 'typeNav-' + qsstate ).className = 'typeNavList show';}catch(e){}
		//try{document.getElementById( 'typeNavLabel-' + qsstate ).className = 'typeNavLabel show';}catch(e){}
		try{document.getElementById( 'stateArea'  ).className = qsstate;}catch(e){}
		document.getElementById( qsstate ).className = 'active';
	}
	else
	{
		try{document.getElementById( 'typeNav-' + defaultState ).className = 'typeNavList show';}catch(e){}
		//try{document.getElementById( 'typeNavLabel-' + defaultState ).className = 'typeNavLabel show';}catch(e){}
		document.getElementById( defaultState ).className = 'active';	
	}
}

function setQuickSearchState( qsstate, defaultState )
{
	var states = document.getElementById( STATE_SELECT_ID ).options;
	var currentStateIndex = 0;
	
	for ( var stateIndex = 0; stateIndex < document.getElementById( STATE_SELECT_ID ).length; stateIndex++ )
	{
		if ( states[stateIndex].value == qsstate )
		{
/*			try
			{
				document.getElementById( STATE_SELECT_ID ).options[stateIndex].selected = true;
			}
			catch(e)
			{
				document.getElementById( STATE_SELECT_ID ).options[0].selected = true;
			}
*/			currentStateIndex = stateIndex;
			break;
		}
	}
	
	document.getElementById( STATE_SELECT_ID ).selectedIndex = currentStateIndex;
	document.getElementById( STATE_SELECT_ID ).onchange();
}


function setBanner( qstype )
{
	document.getElementById( 'banner' ).className = qstype;

	try{
		document.getElementById( 'bannercopy-Retail' ).className = 'hide';
	}
	catch(e){}
	try{
		document.getElementById( 'bannercopy-Residential' ).className = 'hide';
	}
	catch(e){}
	try{
		document.getElementById( 'bannercopy-Office' ).className = 'hide';
	}
	catch(e){}
	try{
		document.getElementById( 'bannercopy-Industrial' ).className = 'hide';
	}
	catch(e){}
	try{
		document.getElementById( 'bannercopy-Land' ).className = 'hide';
	}
	catch(e){}
	try{
		document.getElementById( 'bannercopy-Multifamily' ).className = 'hide';
	}
	catch(e){}
	try{
		document.getElementById( 'bannercopy-' + qstype ).className = 'show';
	}
	catch(e){}
}



function setType( qstype )
{	
	//get all the list item elements in the typenav for the current state
	var items = document.getElementById( 'typeNav-' + qsstate ).getElementsByTagName( 'li' );
	
	//if there are some
	if ( items.length > 0 )
	{
		//loop through them
		for ( var itemIndex = 0; itemIndex < items.length; itemIndex++ )
		{
			//if the type is empty or not one of the valid types, try and hide the property summary and stop
			if ( qstype == '' || ( qstype != 'Retail' && qstype != 'Residential' && qstype != 'Office' && qstype != 'Industrial' && qstype != 'Land' && qstype != 'Multifamily' ) )
			{
				try
				{
					document.getElementById( 'propertySummary' ).className = 'hide';
				}
				catch(e){}
				break;
			}
			//otherwise, the type is valid, so if this list item's class contains the type, set the child anchor's class to active and stop
			else if ( items[itemIndex].className.indexOf( qstype ) != -1 )
			{
				items[itemIndex].getElementsByTagName( 'a' )[0].className = 'active';
				break;
			}
		}
	}
}

function quickSearch_clicked()
{
	var stateSelectedIndex = document.getElementById( STATE_SELECT_ID ).selectedIndex;
	var stateSelectedValue = document.getElementById( STATE_SELECT_ID ).options[stateSelectedIndex].value;
	
	var typeSelectedIndex = document.getElementById( TYPE_SELECT_ID ).selectedIndex;
	var typeSelectedValue = document.getElementById( TYPE_SELECT_ID ).options[typeSelectedIndex].value;
	
	var offerSelectedIndex = document.getElementById( OFFER_SELECT_ID ).selectedIndex;
	var offerSelectedValue = document.getElementById( OFFER_SELECT_ID ).options[offerSelectedIndex].value;

	quickSearch(stateSelectedValue, typeSelectedValue, offerSelectedValue);
}
	
function quickSearch( state, propertyType, offerType ) {
	var url = "/Pages/Properties.aspx?";
	url += "s=" + state;
	url += "&t=" + propertyType;
	url += "&o=" + offerType;
	window.location.href = url;
}
