var SeritasIPs = ';75.43.31.2;64.123.232.129;';
var showing = false;
var varReqQuerystring = '';
var sys_onloadEvents = new Array();
var varElementID = '';
var showing = false;
var varReqQuerystring = '';
var sys_onloadEvents = new Array();
var varElementID = '';
var tooltipReset;
var mvar_LastSortColumn = 4;
var updateProgressTimer;



//------------------------------------------------------------

function addOnLoadEvent(s){
	var found = false;
	if(sys_onloadEvents.length){
		for(var i = 0; i < sys_onloadEvents.length; i++){
			if(s == sys_onloadEvents[i]) {
				found = true;
				break;
			}
		} 
	}
	if(!found) sys_onloadEvents[sys_onloadEvents.length] = s;
}

//------------------------------------------------------------

//Event.observe(window, 'load', 'sysLoadCollectedWindowLoadFunctions');
// onload = sysLoadCollectedWindowLoadFunctions
 
function sysLoadCollectedWindowLoadFunctions(){
	if(sys_onloadEvents.length){
		for(var i = 0; i < sys_onloadEvents.length; i++){
			if(sys_onloadEvents[i].indexOf('(') == -1) {
				eval(sys_onloadEvents[i] + '()');
			} else {
				eval(sys_onloadEvents[i]);
			}
		} 
	}
}

//------------------------------------------------------------


function showResultsTooltip(x, what){
	if(!showing){
		var vDiv = document.getElementById('resultsTooltip');
		var sourceDiv = document.getElementById('resultsOptions' + x);
//		alert('<%= now %>')
		if(sourceDiv){
			vDiv.innerHTML = sourceDiv.innerHTML;
			vDiv.style.display = 'block';
			vDiv.style.position = 'absolute';
			vDiv.style.left = event.clientX + document.body.scrollLeft + 5;
			vDiv.style.top = event.clientY + document.body.scrollTop + 5;
			showing = true;
		}
	}
}

// ---------------------------------------------------------------------------

function hideResultsTooltip(x){
	if(showing){
	tooltipReset = setTimeout('doHideResultsTooltip(' + x + ')', 10);
	}
}

// ---------------------------------------------------------------------------

function doHideResultsTooltip(x){
	var vDiv = document.getElementById('resultsTooltip');
	vDiv.innerHTML = '&nbsp;';
	vDiv.style.display = 'none';
	showing = false;
}

// ---------------------------------------------------------------------------
function showHideSelects(state){
	for(var x = 0; x < document.forms.length; x++){
		var frm = document.forms[x];
		for(var y = 0; y < frm.elements.length; y++){
			var ctl = frm.elements[y];
			if(ctl.type.indexOf('select') != -1){
				if(state == 'hide' || state == 'hidden'){
					ctl.style.visibility = 'hidden';
				} else if(state == 'disabled'){
					ctl.disabled = true;
				} else {
					ctl.style.visibility = 'visible';
				}
			}
			
		}
	}
}


// ---------------------------------------------------------------------------

function turnPage(direction, flags, pos){
	var frm = document.frmSearch;
	if(frm){
		if (direction==-1){
			frm.page.value--
		} else {
			frm.page.value++
		}
		frm.cfr.value = 3;

		if(flags){
			if((flags & 2)==2){
				ajaxRefreshSearchByQuerystring(frm);
			} else {
				frm.submit();
			}
		} else {
			frm.submit();
		}
	}
	if(pos=='bottom')$('divSearchResultsFiltering').scrollTo();
}

//------------------------------------------------------------

function sysResetTheResultsFilterForm(){
	grayOutTheSearchResultsContainer();
	doTheSearch();
	setTimeout(function(){restoreTheSearchResultsContainer();}, 2000);
}

// ---------------------------------------------------------------------------

function setOrderBy(intIndex, flags, pos){

	var scrolling = (document.body.scrollTop > 600)
	if(scrolling)Effect.ScrollTo('divSearchResultsFiltering');

	var frm = document.frmSearch;
	frm.sortBy.value = intIndex;
	frm.page.value = 1;
	frm.cfr.value = 4;
	if(flags){
		if((flags & 2) == 2){
			if(scrolling)
				setTimeout('ajaxRefreshSearchByQuerystring(document.frmSearch)', 1000)
			else
				ajaxRefreshSearchByQuerystring(frm);
		} else {
			if(scrolling)
				setTimeout('document.frmSearch.submit()', 1000)
			else
				frm.submit()
		}
	} else {
		if(scrolling)
			setTimeout('document.frmSearch.submit()', 1000)
		else
			frm.submit()
	}
}

// ---------------------------------------------------------------------------

function page_selection(val, flags){
	var frm = document.frmSearch;
	frm.page.value = val;
	frm.cfr.value = '3';
	if(flags){
		if((flags & 2)==2 && window.sysProgressImage){
			ajaxRefreshSearchByQuerystring(frm);
		} else {
			frm.submit()
		}
	} else {
		frm.submit()
	}
}

// ---------------------------------------------------------------------------

function resultsFilter_onChange(useAjax){

	if(queryStr('cmd')=='dosearchhtml')useAjax=false;
	// alert(queryStr('cmd'))
	var exclusions = 'cmdsearchresultsfilteringreset';
	var frm = document.forms['form_resultsFiltering'];
	var newQuerystring = '';
	var elementIdFound = false;
	if(useAjax){
		for (var i = 0; i < frm.elements.length; i++){
			if(frm.elements[i].name.toLowerCase() == 'elementid') elementIdFound = true;
			if(exclusions.indexOf(frm.elements[i].name.toLowerCase())==-1){
				if(frm.elements[i].value != ''){
					newQuerystring += frm.elements[i].name + '=' + escape(frm.elements[i].value) + "&"
				}
			}
		}
		if(!elementIdFound) newQuerystring += 'elementId=' + varElementID;
		
		document.getElementById('resultsFilteringUpdateMessage').innerHTML = 'Updating the page, please wait...';		
		updateContainer('/sysSearchResultsFiltering.asp?' + newQuerystring, 'divSearchResultsFiltering');
		grayOutTheSearchResultsContainer();
		updateContainer('/sysSearchResults.asp?' + newQuerystring, 'searchResultsContainer', 'restoreTheSearchResultsContainer');
	
	} else {
		
		if(window.resultsFilter_wait){
			resultsFilter_wait()
		}
		if(window.showHideSelects){
			//if(document.all) showHideSelects('disabled');
		}
		var ctl = document.getElementById('tdStatusMsg')
		if(ctl)
			ctl.innerHTML = '<br><span class="resultsFilteringCountLabel">Searching...</span>'

		document.forms['form_resultsFiltering'].action = '/index.asp';
		document.forms['form_resultsFiltering'].submit();
	}
}


// ---------------------------------------------------------------------------

function ajaxRefreshSearchByQuerystring(frm){

	var newQuerystring = '';
	var elementIdFound = false;
	
	
	for (var i = 0; i < frm.elements.length; i++){
		if(frm.elements[i].name.toLowerCase() == 'elementid') elementIdFound = true;
		newQuerystring += frm.elements[i].name + '=' + frm.elements[i].value + "&"
	}
	if(!elementIdFound) newQuerystring += 'elementId=' + varElementID;

	if(showProgress) showProgress();

	grayOutTheSearchResultsContainer();
	updateContainer('/sysSearchResults.asp?' + newQuerystring, 'searchResultsContainer', 'restoreTheSearchResultsContainer', 'searchResults_postProcess');
}


//------------------------------------------------------------

function trimAll(sString) {
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}




//------------------------------------------------------------



function sfGetRandomNumber(n){
	return Math.floor(Math.random()*n)
}

//------------------------------------------------------------


function queryStr(ji) {
	var sTemp = ji.toLowerCase();
	hu = window.location.search.substring(1);
	gy = hu.split("&");
	for (i=0;i<gy.length;i++) {
		ft = gy[i].split("=");
		if (ft[0].toLowerCase() == sTemp) {
			return ft[1];
		}
	}
	return '';
}

//------------------------------------------------------------

function dateDiffInDays(s) {
	var days = 0;
	var difference = 0;
	
	var testDate = new Date(s);
	today = new Date();
	
	difference = testDate - today;
	
	days = Math.round(difference/(1000*60*60*24));
	return days;
	
}

//------------------------------------------------------------

function sysFixPNG(){
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	var hspaceVal
	
	if ((version <= 6.0) && (document.body.filters)) {
		var img = $$('img').each(function(C){
			var imgName = C.src.toUpperCase();
		  if (imgName.indexOf('IMAGEPROC.ASP?') != -1) return;
			if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){
				var imgID = (C.id) ? "id='" + C.id + "' " : "";
				var imgClass = (C.className) ? "class='" + C.className + "' " : "";
				var imgTitle = (C.title) ? "title='" + C.title + "' " : "title='" + C.alt + "' ";
				var imgStyle = "display:inline-block;" + C.style.cssText;
				if (C.align == "left") imgStyle = "float:left;" + imgStyle;
				if (C.align == "right") imgStyle = "float:right;" + imgStyle;
				if (C.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
				hspaceVal = C.hspace;
				if (hspaceVal != '') imgStyle = 'margin-left:' + hspaceVal + ';margin-right:' + (hspaceVal * 2) + ';' + imgStyle;
	         var strNewHTML = "<span " + imgID + imgClass + imgTitle
				+ " style=\"" + "width:" + C.width + "px; height:" + C.height + "px;" + imgStyle + ";"
	         + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
				+ "(src=\'" + C.src + "\', sizingMethod='scale');\"></span>" 
				C.outerHTML = strNewHTML;
	      }
		});
	   }
}

// -----------------------------------------------------------------------------

function doTheSearch(){
	// if(isWriteout) alert(varReqQuerystring);
	var showBorders = 0;
	var url = '';
	showBorders = queryStr('bordersOn');
	
	var suppressPaging = queryStr('suppressPaging');
	
	showProgress();
	if(varElementID == '') varElementID = 10;
	
	if(queryStr('showAjax')=='1'){
		if(!$('sysShowAjax')){
			Element.insert('<div id="sysShowAjax"></div>')
		}
	}

	if(document.getElementById('divSearchResultsFiltering')) {
		// if the results filtering div is present, update it
		url = '/sysSearchResultsFiltering.asp?' + varReqQuerystring + '&elementID=' + varElementID;
		new Ajax.Updater('divSearchResultsFiltering', url, { evalScripts: true }); 
		// updateContainer('/sysSearchResultsFiltering.asp?' + varReqQuerystring + '&elementID=' + varElementID, 'divSearchResultsFiltering');
		if(document.getElementById('sysShowAjax')){
			document.getElementById('sysShowAjax').innerHTML = '<a target="_blank" href="http://' + varSysServerName + '/sysSearchResultsFiltering.asp?' + varReqQuerystring + '&elementID=' + varElementID + '">Click for results filtering</a><br>';
		}
	}
	
	
	url = '/sysSearchResults.asp?' + varReqQuerystring + '&elementID=' + varElementID + '&suppressPaging=' + suppressPaging;
	new Ajax.Updater('searchResultsContainer', url, { evalScripts: true }); 
	
	// updateContainer('/sysSearchResults.asp?' + varReqQuerystring + '&elementID=' + varElementID + '&suppressPaging=' + suppressPaging, 'searchResultsContainer', 'restoreTheSearchResultsContainer');
	if(document.getElementById('sysShowAjax')){
		document.getElementById('sysShowAjax').innerHTML += '<a target="_blank" href="http://' + varSysServerName + '/sysSearchResults.asp?' + varReqQuerystring + '&elementID=' + varElementID + '">Click for search results</a>';
	}
	if(document.getElementById('sysShowAjax')){
		document.getElementById('sysShowAjax').innerHTML = '<b>For Debugging: Click to view the results HTML</b><br>' + document.getElementById('sysShowAjax').innerHTML;
	}
}

// ---------------------------------------------------------------------------

function showProgress(){
	if (!window.sysProgressImage) return;
	if($('tdProgressIndicator')) {
		if(document.images['sysImgProgressIndicator']){
			document.images['sysImgProgressIndicator'].src = sysProgressImage.src
		} else {
			document.getElementById('tdProgressIndicator').innerHTML = '<div align="center"><img src="/library/progressIndicators/ajax-loader1.gif" border="0" alt=""></div>';
		}
	} 
	
}

// ---------------------------------------------------------------------------

function sysSetElementId(x){
	varElementID = x
}

//------------------------------------------------------------

function grayOutTheSearchResultsContainer(){
	//searchResultsContainerGrayed
	var vDiv = $('searchResultsContainer');
	var vDivGray = $('searchResultsContainerGrayed');
	
	if(!vDivGray) return;
	
	vDivGray.style.width = vDiv.offsetWidth;
	vDivGray.style.height = vDiv.offsetHeight;
	vDivGray.style.top = vDiv.offsetTop;
	vDivGray.style.left = vDiv.offsetLeft;
	vDivGray.style.backgroundColor = '#afafaf';
	vDivGray.style.opacity = .7; 
	vDivGray.style.filter = 'alpha(opacity=70);' /* opacity: partly transparent */

//	vDiv.style.opacity = .4; 
//	vDiv.style.filter = 'alpha(opacity=40);' /* opacity: partly transparent */

}

//------------------------------------------------------------

function restoreTheSearchResultsContainer(){
	var vDiv = document.getElementById('searchResultsContainer');
	var vDivGray = document.getElementById('searchResultsContainerGrayed');
	vDivGray.style.width = vDiv.offsetWidth;
	vDivGray.style.height = vDiv.offsetHeight;
	vDivGray.style.left = -10000;
	vDivGray.style.top = (vDivGray.offsetHeight * -1);
}



//------------------------------------------------------------

function sysGrayOut(vis, options) {
var options = options || {}; 
var zindex = options.zindex || 50;
var opacity = options.opacity || 70;
var opaque = (opacity / 100);
var bgcolor = options.bgcolor || '#000000';
var dark=document.getElementById('darkenScreenObject');
if (!dark) {
// The dark layer doesn't exist, it's never been created. So we'll
// create it here and apply some basic styles.
// If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
var tbody = document.getElementsByTagName("body")[0];
var tnode = document.createElement('div'); // Create the layer.
tnode.style.position='absolute'; // Position absolutely
tnode.style.top='0px'; // In the top
tnode.style.left='0px'; // Left corner of the page
tnode.style.overflow='hidden'; // Try to avoid making scroll bars 
tnode.style.display='none'; // Start out Hidden
tnode.id='darkenScreenObject'; // Name it so we can find it later
tbody.appendChild(tnode); // Add it to the web page
dark=document.getElementById('darkenScreenObject'); // Get the object.
}
if (vis) {
// Calculate the page width and height 
if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
var pageWidth = document.body.scrollWidth+'px';
var pageHeight = document.body.scrollHeight+'px';
} else if( document.body.offsetWidth ) {
var pageWidth = document.body.offsetWidth+'px';
var pageHeight = document.body.offsetHeight+'px';
} else {
var pageWidth='100%';
var pageHeight='100%';
} 
//set the shader to cover the entire page and make it visible.
dark.style.opacity=opaque; 
dark.style.MozOpacity=opaque; 
dark.style.filter='alpha(opacity='+opacity+')'; 
dark.style.zIndex=zindex; 
dark.style.backgroundColor=bgcolor; 
dark.style.width= pageWidth;
dark.style.height= pageHeight;
dark.style.display='block'; 
} else {
dark.style.display='none';
}
}


function Right(str, n)
{
if (n <= 0) {
   return "";
} else if (n > String(str).length) {
   return str;
}
else
{
   var iLen = String(str).length;
   return String(str).substring(iLen, iLen - n);
}
}


//----------------------------------------------------------------------

var searchFunctions = function(){
	var jsFunctions = [];
	return {
		selfLabeledCtl_onFocus:function(C,V){if(C.value==V)C.value='';},
		name_onBlur:function(B){if(B.value=='test')$$('[dv]').each(function(C){C.value=C.getAttribute('dv')});},
		buildSelfLabeledForms:function(){
			$$('[selfLabeled]').each(function(C){
				C.value=C.getAttribute('selfLabeled');
				Event.observe(C,'focus',function(){if(C.value==C.getAttribute('selfLabeled'))C.value=''});
			});
		},
		setDefaultFormValues:function(C){if(C.value=='test'){$$('[dv]').each(function(D){D.value=D.getAttribute('dv')})}},
		hidePageChrome:function(){$$('.pageChrome').each(function(C){C.style.display = 'none'});},
		addFunction:function(s) {
			jsFunctions[jsFunctions.length] = s;
		},
		doFunctions:function(){
			for(var i = 0; i < jsFunctions.length; i++){
				// alert(jsFunctions[i]);
				eval(jsFunctions[i]);
			}
		},
		rebateContent:function(url,container){
			// .innerHTML = 'hello world'
			url = '/srtsGenProxy.asp?uri=' + escape(url);
			// alert(url)
			new Ajax.Request(url, {
				method: 'get',
				onSuccess: function(transport){
					eval(transport.responseText)
					$(container).innerHTML = FactoryCash;
					FactoryCash = '';
				}
			});
			// new Ajax.Updater($(container), url, { evalScripts: true })
			//$('divTest').innerHTML += (url + '<br>');
		},
		popRebate:function(sURL){
			var win = new Window({className: "dialog", title: "Incentives", width:800, height:400, destroyOnClose: true, recenterAuto:true, minimizable:false, maximizable:false, url:sURL, showEffectOptions:{duration:0.5}}); 
			win.showCenter(); 
		},
		showCalendarEvent:function(idEvent, sg, w, h){
			if(!w) w = 640;
			if(!h) h = 480;
			var sURL = '/sysLoadCalendar.asp?sg=' + sg;
			sURL += '&idEvent=' + idEvent;
			sURL += '&layout=event';
			sURL += '&flags=6';
			var win = new Window({className: "dialog", title: "Event", width:w, height:h, destroyOnClose: true, recenterAuto:true, minimizable:false, maximizable:false, url:sURL, showEffectOptions:{duration:0.5}}); 
			win.showCenter(); 
		},
		simpleContactForm_onSubmit: function(onSuccessText){
			formValidation.assembleCaptionsAndLabels();
			$('frm1031').request({
				onComplete: function(){
					if(!onSuccessText){onSuccessText = '<div align="center"><p>&nbsp;</p><p><strong>Thanks!</strong></p><p>You\'ll be hearing from <br>one of our associates<br>very soon!</p></div>'}
					$('divSimpleContactForm').innerHTML = onSuccessText;
				}
			});
		} ,
		btnSearchResults_onClick: function(sURL, iWidth){
			// 11:02 AM 1/6/2010
			sURL += '&fromWindowJs=1';
			dialogWin = new Window({className: "dialog", title: "Make An Offer", width:iWidth, height:480, destroyOnClose: true, recenterAuto:true, minimizable:false, maximizable:false, url:sURL, showEffectOptions:{duration:1.0}});
			dialogWin.showCenter();
		} ,
		loadVehicleImages: function(){
			$$('[imgsrc]').each(function(C){
				C.src = C.getAttribute('imgsrc');
			});
		} ,
		loadFlowPlayerVideo: function(vid, splash, targetObj, autoPlayVideo, w, h){
			var c = '{ controlsOverVideo: true,';
			c += 'showMenu: false,';
			c += 'showMuteVolumeButton: true,';
			c += 'showVolumeSlider: true,';
			c += 'showPlayButton: true,';
			c += 'showStopButton: true,';
			c += 'showFullScreenButton: false,';
			c += 'autoBuffering: true,';
			c += 'menuItems: [ false, false, false, false, false, false ], ';
			if(splash != ''){
				c += 'playList: [{ url: \'' + splash + '\', autoPlay: true },{ url: \'' + vid + '\', autoPlay: ' + autoPlayVideo + ' }], ';
			} else {
				c += 'playList: [{ url: \'' + vid + '\', autoPlay: ' + autoPlayVideo + ' }], ';
			}
			c += 'autoRewind: false}';
			var fo = new SWFObject('/FlowPlayerDark.swf', 'FlowPlayer', w, h, '9', '#fff', true);
			fo.addVariable('config', c);
			fo.write(targetObj);
		}
	};
}();

Event.observe(document,'dom:loaded',function(){
	searchFunctions.buildSelfLabeledForms();
	if(queryStr("nochrome")=='1'){
		searchFunctions.hidePageChrome();
	}
	sysFixPNG();
});


//----------------------------------------------------------------------

/*
searchFunctions.addFunction('alert(\'test1\');');
searchFunctions.addFunction('alert(\'test2\');');
searchFunctions.doFunctions();
*/
