﻿function handleMlsTabs(vsoHasComingleMlsOptionsLayoutOne){
	var multiMlsOptionView = document.getElementById('div_multimlsoption');
	var multiMlsOptionContainer = document.getElementById('tbl_multimlsoption');
	var height = 0;
	if (multiMlsOptionView && multiMlsOptionContainer) { 
		//if (multiMlsOptionView.offsetWidth > document.body.offsetWidth) { multiMlsOptionView.style.width = document.body.offsetWidth + 'px'; }
		multiMlsOptionView.style.height = multiMlsOptionContainer.offsetHeight + 'px';
		if (multiMlsOptionContainer.offsetWidth > multiMlsOptionView.offsetWidth) {
			//multiMlsOptionView.style.height = multiMlsOptionContainer.offsetHeight + 'px';
			multiMlsOptionContainer.style.cssText = 'position:absolute;top:0px;left:10px;';			
			var div = document.createElement('div');
			div.style.cssText = 'position:relative;height:100%;float:left;padding:0px 2px 0px;font-weight:bold;color:#ffffff;cursor:pointer;background:#777777;';
			div.innerHTML = '&laquo;';
			if (vsoHasComingleMlsOptionsLayoutOne == 'True'){
				div.onmousedown = function( ) { handlerSmoothScrollMultiMlsOption('right'); }
				div.onmouseup = function( ) { handlerStopSmoothScrollMultiMlsOption( ); }
			}else{
				div.onclick = reliance.event.callbackArgs(div, handlerExactScrollMultiMlsOption, 'right');
			}
			multiMlsOptionView.appendChild(div);			
			var div = document.createElement('div');
			div.style.cssText = 'position:relative;height:100%;float:right;padding:0px 2px 0px;font-weight:bold;color:#ffffff;cursor:pointer;background:#777777;';
			div.innerHTML = '&raquo;';
			if (vsoHasComingleMlsOptionsLayoutOne == true){
				div.onmousedown = function( ) { handlerSmoothScrollMultiMlsOption('left'); }
				div.onmouseup = function( ) { handlerStopSmoothScrollMultiMlsOption( ); }
			}else{
				div.onclick = reliance.event.callbackArgs(div, handlerExactScrollMultiMlsOption, 'left');
			}
			multiMlsOptionView.appendChild(div);
		}
	}
}
function handlerStopSmoothScrollMultiMlsOption ( ) { window.clearTimeout(timeoutID); }
function handlerSmoothScrollMultiMlsOption( ) {
	var direction = arguments[0];
	var multiMlsOptionView = document.getElementById('div_multimlsoption');
	var multiMlsOptionContainer = document.getElementById('tbl_multimlsoption');
	timeoutID = window.setTimeout(function() {
		var leftOffset = parseInt(multiMlsOptionContainer.style.left);
		if (direction == 'left' && (multiMlsOptionView.offsetWidth-leftOffset-8) < multiMlsOptionContainer.offsetWidth) { multiMlsOptionContainer.style.left = leftOffset - 8 + 'px' ; }
		else if (direction == 'right' && leftOffset < 10) { multiMlsOptionContainer.style.left = leftOffset + 8 + 'px' ; }
		handlerSmoothScrollMultiMlsOption(direction);
	}, 4);
}
function handlerExactScrollMultiMlsOption( ) {
	// this refers to the arrow scrollbars
	var direction = arguments[0];
	var multiMlsOptionView = document.getElementById('div_multimlsoption');
	var multiMlsOptionContainer = document.getElementById('tbl_multimlsoption');
	var leftOffset = parseInt(multiMlsOptionContainer.style.left);
	var row = multiMlsOptionContainer.rows[0];
	var width = 0;		
	if (direction == 'right' && leftOffset < this.offsetWidth) {
		for (var i=0; i<row.cells.length; i++) {
			width += row.cells[i].offsetWidth;
			if (width > Math.abs(leftOffset)) {
				multiMlsOptionContainer.style.left = (row.cells[i].offsetWidth - width) + this.offsetWidth + 'px';
				break;
			}
		}
	}
	else if (direction == 'left' && (multiMlsOptionContainer.offsetWidth+leftOffset-this.offsetWidth) > multiMlsOptionView.offsetWidth) {
		for (var i=0; i<row.cells.length; i++) {
			width += row.cells[i].offsetWidth;
			if ((width+leftOffset) > (multiMlsOptionView.offsetWidth-this.offsetWidth)) {
				multiMlsOptionContainer.style.left = (multiMlsOptionView.offsetWidth-this.offsetWidth) - width + 'px';
				break;
			}
		}
	}
}
function clearCityStateBox(action){
	var elem = document.getElementById('multisearch');
	if (action == 'type'){
		if (elem.value == 'Enter City Name'){
			elem.value = '';
			elem.style.color = '#000000';
		}
	}else if (action == 'clear'){
		elem.value = 'Enter City Name';
		elem.style.color = '#CCCCCC';
	}
}
function addCriteriaToCache(frmSearch, companyID, siteDir, currentDomain, mlsprefix){
	var cityState = frmSearch.city.value;	
	if (cityState == parseInt(cityState)){
		alert('You must enter a city in order to perform a search')
		return false;
	}
	var request = new reliance.utilities.createHttpRequest( );
	var location
	if (cityState.length == 0 || cityState == 'Enter City Name'){
		alert('You must enter a city in order to perform a search');
	}else{
		var aCityState = cityState.split(', ')
		if (aCityState.length == 2){
			addDataToCache(frmSearch, aCityState[0], aCityState[1], siteDir, currentDomain, mlsprefix);
		}else{
			// get the location, then run addDataToCache as the callback function
			reliance.xDomainHttpRequest.create('/proxy/getlocation.aspx?companyid=' + companyID + '&location='+cityState, this, function(response){
				var validLocations = response.valid;
				var location;
				for (var i = 0; i < validLocations.length; i++) {
					if (validLocations[i].hasListings) {
						location = validLocations[i];
						break;
					}
				}
				if (location || validLocations.length > 0) {
					location = location || validLocations[0];
					var city = location.translatedLocation.replace(' ', '_');
					var state = location.state;
					addDataToCache(frmSearch, city, state, siteDir, currentDomain, mlsprefix);
				}
			}, {silent:true});
		}
	}
}
function addDataToCache(frm, city, state, siteDir, currentDomain, mlsprefix){
	var request = new reliance.utilities.createHttpRequest( );
	var data = '&';
	var propTypeData = '&groupproptype=';
	for (i=0;i<frm.elements.length;i++){
		if (frm.elements[i].name == 'groupproptypeboxes'){
			if (frm.elements[i].checked == true) {
				propTypeData += frm.elements[i].value + ',';
			}
		}else if(frm.elements[i].name == 'city'){
			//don't add to cache, we're doing this manually
		}else{
			data += frm.elements[i].name + '=' + frm.elements[i].value + '&';
		}
	}
	data = data.substring(0,data.length - 1);
	if (propTypeData.charAt(propTypeData.length - 1) == ',') { propTypeData = propTypeData.substring(0, propTypeData.length - 1); }
	data += propTypeData//+'&city='+city+'&state='+state;	
	request.open('GET', '/'+ siteDir + '/modules/internet/search/searchresults_seocity.asp?ajax=true'+data, true);
	request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	request.onreadystatechange = function ( ) {
		if (request.readyState == 4 || request.readyState == 'complete') {
			var response = request.responseText;
			if (response == 'success') {
				var refreshUrl = 'http://' + currentDomain + '/'+state + '/' + city.replace(' ', '_');
				if (mlsprefix){
					refreshUrl += '/' + mlsprefix;
				}
                //refreshUrl = 'http://' + currentDomain + '/' + siteDir + '/index.asp?p=findahome.asp&page=search&selected=qck&seoresults=true&city=' + city + '&state=' + state;
				window.location.replace(refreshUrl)
			}else { alert(response);alert('Error: request returned empty response'); }
		}
	}
	request.send(null);
}
