/**
* Account-related Javascript routines for 44I
*
* Copyright (c)2008 44 Interactive. All Rights Reserved.
*
* SVN File: $Id: account.js 217 2008-07-28 19:06:27Z Mike Neugebauer $
* @author $Author: Mike Neugebauer $
* @version $Revision: 217 $
* @lastrevision $Date: 2008-07-28 14:06:27 -0500 (Mon, 28 Jul 2008) $
* @modifiedby $LastChangedBy: Mike Neugebauer $
* @lastmodified $LastChangedDate: 2008-07-28 14:06:27 -0500 (Mon, 28 Jul 2008) $
* @filesource $URL: svn+ssh://miken@svnhost.44i-dev.com/svnhome/base/branches/motormarket/js/account.js $
*/

var numAutoPages = -1;
var currPageNum = 1;

var chgPerPage = -1;
var chgSortBy = "NA";

var initialDisplay = true;

$(document).ready(function() {
	$("select[name=per_page], select[name=sort_by]").live("change", function() {
		$("input[name=exec_chg]").trigger("click");
	});

$('#searchauto').focus(function() {
	if (initialDisplay) {
		initialDisplay = false;
		$(this).attr("value","");
	} else {
		var trimback = document.forms.livesearch.searchauto.value;
		document.forms.livesearch.searchauto.value = trimback.trim();
	}	
	 
	});


});

function reexecLiveSearch( )
{
	document.forms.livesearch.searchauto.value += ' ';
	$('#searchauto').keyup();
	//setContentHeight( document.forms.livesearch.per_page.value );
}

function setContentHeight( numIn )
{
	var theHeight = 1660;

	switch ( numIn )
	{
		case '30': theHeight = 2800; break;
		case '60': theHeight = 5800; break;
		default: break;
	}
	var pusher = document.getElementById( 'content' );
	pusher.style.height = theHeight + 'px';
}

function changePerPageDealers( formIn )
{
	var gourl = '/dealers/detail/' + formIn.dealer_id.value + ',' +
		formIn.per_page.options[ formIn.per_page.selectedIndex ].value + ',' +
		formIn.sort_by.options[ formIn.sort_by.selectedIndex ].value;

	window.location = gourl;
}


function changePerPageAdvSearch( formIn )
{
	document.forms.advsearch.per_page.value = formIn.per_page.options[ formIn.per_page.selectedIndex ].value;
	document.forms.advsearch.sort_by.value = formIn.sort_by.options[ formIn.sort_by.selectedIndex ].value;
	execAdvSearch();
}

function changePerPageLiveSearch( formIn )
{
	document.forms.livesearch.per_page.value = formIn.per_page.options[ formIn.per_page.selectedIndex ].value;
	document.forms.livesearch.sort_by.value = formIn.sort_by.options[ formIn.sort_by.selectedIndex ].value;
	//alert( 'xx ' + document.forms.livesearch.per_page.value );
	reexecLiveSearch();
}

function callPag( resTot, perPage )
{
$("#pagination").pagination( resTot, {
					items_per_page: perPage,
					num_edge_entries: 2,
					num_display_entries: 8,
                    callback: testCallback
                });
}

function testCallback( pageNum, pagDom )
{
	resultChangePage( pageNum );
}

function hideInit( )
{
	//ffiHide( 'initial_autos' );
	//var pusher = document.getElementById( 'copy_pusher' );
	//pusher.style.marginTop = '1430px';
}

function setupls( )
{
	setTimeout( 'setuplsreal();', 1000 );
}

function setuplsreal( )
{
	//alert( 'part1' );
	$('#searchauto').liveSearch({ajaxURL: '/automakeresponse/detail/'});
	//alert( 'part2' );
}

function showBg() {
		var flashvars = {};
		var params = {};
		params.wmode = "transparent";
		var attributes = {
			id:"flashbg"
		};
		swfobject.embedSWF("/_cust/flash/bg.swf", "flashbg", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
}

function fillUsedModel( ) {

	var make_id = document.forms.advsearch.make_id.options[
		document.forms.advsearch.make_id.selectedIndex ].value;

 $.ajax({
   type: "GET",
   url: '/modelfill/detail/' + make_id,
   success: function( dataBack ){
     ffiSwap( 'used_model_swap', dataBack );
   }
 });

}

function execAdvSearch( ) {

 $.ajax({
   type: "GET",
   data: $("form").serialize(),
   url: '/advsearchprocess',
   success: function( dataBack ){
     ffiSwap( 'res_holder_main', dataBack );
     execJSInDiv( 'changeCounters' );
   }
 });

}


function recalcAutoPayment( )
{
	var frm = document.forms.payment_calc;
	var amt = parseFloat( frm.amount.value );
	var rate = parseFloat( frm.rate.value ) + 0.00000001;
	var term = parseInt( frm.term.value );

	if ( amt > 0 && rate > 0 && term > 0 )
	{
		var num_pymt = term; //12 * term;
		var int_pct = rate / 100;
		var mth_int = int_pct / 12;

		var mth_pymt = Math.round( 100 * amt * ( mth_int / ( 1 - Math.pow( ( 1 + mth_int ), -( num_pymt ) ) ) ) ) / 100;
		mth_pymt = '$' + mth_pymt.toFixed(2);

		ffiSwap( 'auto_calc_num_payments', num_pymt + ' payments'  );
		ffiSwap( 'auto_calc_monthly_payment', mth_pymt + ' per month' );
	}

}

function showAutoPage( numIn )
{
	var currDiv = null;
	for ( xa = 1; xa <= numAutoPages; xa++ )
	{
		currDiv = 'res_page_' + xa;
		if ( numIn == xa )
		{
			ffiShow( currDiv );
		}
		else
		{
			ffiHide( currDiv );
		}
	}

}


function resultChangePage( pageNum )
{

 $.ajax({
   type: "GET",
   url: "/swapautoresult/action/" + pageNum,
   success: function( dataBack ){
     ffiSwap( 'res_holder', dataBack );
   }
 });

}

function resultBackPage( )
{
	//alert( 'Curr pg num ' + currPageNum );
	//alert( 'Num pages ' + numAutoPages );
	if ( currPageNum == 1 )
	{
		return;
	}
	currPageNum = currPageNum - 1;
	ffiSwap( 'currPageNumHolder', currPageNum );

 $.ajax({
   type: "GET",
   url: "/swapautoresult/action/back",
   success: function( dataBack ){
     ffiSwap( 'res_holder', dataBack );
   }
 });

}

function resultAheadPage( )
{
	//alert( 'Curr pg num ' + currPageNum );
	//alert( 'Num pages ' + numAutoPages );
	if ( currPageNum == numAutoPages )
	{
		return;
	}
	currPageNum = currPageNum + 1;
	ffiSwap( 'currPageNumHolder', currPageNum );


 $.ajax({
   type: "GET",
   url: "/swapautoresult/action/ahead",
   success: function( dataBack ){
     ffiSwap( 'res_holder', dataBack );
   }
 });

}

function autoSelectDealer( idIn )
{
	var dealSel = document.forms.advsearch.dealer_id;
	var currVal = null;
	for ( xx = 0; xx < dealSel.options.length; xx++ )
	{
		currVal = dealSel.options[ xx ].value;
		if ( idIn == currVal )
		{
			dealSel.selectedIndex = xx;
			break;
		}

	}

	execAdvSearch();
}




