/* Author: 

*/




/*
$('#cost-period-change').click(function(){$('#costs-period-box').show('slow');return false;});
$('#cost-period-cancel').click(function(){$('#costs-period-box').hide('slow');return false;});
$('#cost-period-1mo').click(function(){$.get('/sniplets/carCost.gas?car=<cfoutput>#car.usercar_id#</cfoutput>&period=1mo', function(data) {$('#costs-reload').html(data);$('#cost-period-change').html('1 Month');});$('#costs-period-box').hide('slow');return false;});
$('#cost-period-3mo').click(function(){$.get('/sniplets/carCost.gas?car=<cfoutput>#car.usercar_id#</cfoutput>&period=3mo', function(data) {$('#costs-reload').html(data);$('#cost-period-change').html('3 Months');});$('#costs-period-box').hide('slow');return false;});
$('#cost-period-6mo').click(function(){$.get('/sniplets/carCost.gas?car=<cfoutput>#car.usercar_id#</cfoutput>&period=6mo', function(data) {$('#costs-reload').html(data);$('#cost-period-change').html('6 Months');});$('#costs-period-box').hide('slow');return false;});
$('#cost-period-9mo').click(function(){$.get('/sniplets/carCost.gas?car=<cfoutput>#car.usercar_id#</cfoutput>&period=9mo', function(data) {$('#costs-reload').html(data);$('#cost-period-change').html('9 Months');});$('#costs-period-box').hide('slow');return false;});
$('#cost-period-12mo').click(function(){$.get('/sniplets/carCost.gas?car=<cfoutput>#car.usercar_id#</cfoutput>&period=12mo', function(data) {$('#costs-reload').html(data);$('#cost-period-change').html('1 Year');});$('#costs-period-box').hide('slow');return false;});
$('#cost-period-18mo').click(function(){$.get('/sniplets/carCost.gas?car=<cfoutput>#car.usercar_id#</cfoutput>&period=18mo', function(data) {$('#costs-reload').html(data);$('#cost-period-change').html('18 Months');});$('#costs-period-box').hide('slow');return false;});
$('#cost-period-24mo').click(function(){$.get('/sniplets/carCost.gas?car=<cfoutput>#car.usercar_id#</cfoutput>&period=24mo', function(data) {$('#costs-reload').html(data);$('#cost-period-change').html('2 Years');});$('#costs-period-box').hide('slow');return false;});<cfloop index="yearii" from="#Year(Now())#" to="#Max(Year(Now())-3,Year(car.date_created))#" step="-1">
$('#cost-period-<cfoutput>#yearii#</cfoutput>yr').click(function(){$.get('/sniplets/carCost.gas?car=<cfoutput>#car.usercar_id#</cfoutput>&period=<cfoutput>#yearii#</cfoutput>yr', function(data) {$('#costs-reload').html(data);$('#cost-period-change').html('<cfoutput>#yearii#</cfoutput>');});$('#costs-period-box').hide('slow');return false;});</cfloop>
$('#cost-period-alltime').click(function(){$.get('/sniplets/carCost.gas?car=<cfoutput>#car.usercar_id#</cfoutput>&period=all', function(data) {$('#costs-reload').html(data);$('#cost-period-change').html('All Time');});$('#costs-period-box').hide('slow');return false;});
*/

/*$('#mini_stats_admin_link').click(function(){$('#stats-mini').load('/add/carMiniStats.gas');return false;});*/

function ministatsView(car)
{
	$.post('/add/carMiniStats_update.gas',$("#mini_stats_admin_form").serialize(),function(data){
		$('#stats-mini').load('/sniplets/carMiniStats2.gas?car=' + car + '&r=' + Math.random());
	});
}
function ministatsManage(car)
{
	$('#stats-mini').load('/add/carMiniStats.gas?car=' + car + '&r=' + Math.random());
}

/*$('#mini_stats_admin_link').click(function(){$('#stats-mini').load('/add/carMiniStats.gas?car=<cfoutput>#car.usercar_id#</cfoutput>');return false;})*/

function ministatsRemove(statID)
{
	$.post('/add/carMiniStats_update.gas?r=' + Math.random(),{formaction:"remove",stat:statID});
	$('#mini_stats__' + statID).hide('slow');
	$('#mini_stats__' + statID).remove();
}

var ministatCntr = 1;
function ministatsAddOne()
{
	$("#mini_stats_admin li:last").clone().find("select").each(function() {
	$(this).attr({
		//'id': function(_, id) { return id + i },
		//'name': function(_, name) { return name + i },
		//'value': ''               
	});
	}).end().appendTo("#mini_stats_admin");
	ministatCntr++;
}

var inLineValidation = true;
var errCnt = 0;
var errMsg = "";
var errCodeList = "";
var focusSet = -1;
var submitBtnId = 'submitBtn';


/*** MAIN SITE FUEL UP FORM ***/
function validateFuelUp()
{
	//TEMP DISABLING THIS!!!!
	return true;
	
	var formObj = document.fuForm;
	inLineValidation = false;
	errCnt = 0;
	errMsg = '';
	errCodeList = '';
	focusSet = 0;
	submitBtnId = 'submitBtnFuelUp';
	swapSubmitStatus(false);
	
	if(formObj.odometer) {
   	validate_odometer(formObj.odometer);
   }
	if(formObj.miles) {
		validate_miles(formObj.miles);
   }
	validate_gallons(formObj.gallons);
	//validate_price(formObj.price);
	//validate_citypct(formObj.citypct);
	validate_fuelupdate(formObj.fuelup_date_yy,formObj.fuelup_date_mm,formObj.fuelup_date_dd);
	
	if(errCnt>0)
	{
		alert('We found the following problem(s) with your submission, please correct:\n' + errMsg);
		swapSubmitStatus(true);
		inLineValidation = true;
		return false;
	}
	else
	{
		inLineValidation = true;
		return true;
	}
}
/*** end - MAIN SITE FUEL UP FORM ***/

/*** FUEL UP VALUES ***/
function validate_odometer(formObj) {
	if(trim(formObj.value)=='') {
		addErr(formObj,"Must provide an odometer reading");
	}
	else {
		if(isNaN(trim(formObj.value)) == true) {
			addErr(formObj,"Odometer reading does not appear to be valid.");
		}
	}
}

function validate_miles(formObj) {
	if(trim(formObj.value)=='') {
		addErr(formObj,"Must provide a tripometer reading");
	}
	else {
		if(isNaN(trim(formObj.value)) == true) {
			addErr(formObj,"Trip miles does not appear to be valid.");
		}
	}
}

function validate_gallons(formObj) {
	if(trim(formObj.value)=='') {
		addErr(formObj,"Must provide the amount of fuel for this fuel-up");
	}
	else {
		if(isNaN(trim(formObj.value)) == true) {
			addErr(formObj,"Fuel amount does not appear to be valid.");
		}
	}
}

function validate_fuelupdate(formObj_yr,formObj_mo,formObj_dy) {
	var yy = parseInt(formObj_yr.options[formObj_yr.selectedIndex].value);
	var mm = parseInt(formObj_mo.options[formObj_mo.selectedIndex].value)-1;
	var dd = parseInt(formObj_dy.options[formObj_dy.selectedIndex].value);
	try{
		var d=new Date();
		d.setFullYear(yy,mm,dd);
		var dc = d.getMonth();
		if (dc != mm) {
			addErr(formObj_yr,"Fuel-up date does not appear to be valid.");
		}
		else {
			//looks good
		}
	}
	catch(e){
		addErr(formObj_yr,"Fuel-up date does not appear to be valid.");
	}
}
/*** end - FUEL UP VALUES ***/


/*** RE-USEABLE FUNCTIONS ***/
/*** RE-USEABLE FUNCTIONS ***/
/*** RE-USEABLE FUNCTIONS ***/

function swapSubmitStatus(activeState) {
	var btnObj = document.getElementById(submitBtnId);
	if(activeState==true) {
		btnObj.disabled=false;//MAKE THE SUBMIT ACTIVE
	}
	else {
		btnObj.disabled=true;//MAKE THE SUBMIT DISABLED
	}
}

function addErr(formObj,displayName)
{
	if(inLineValidation==false)
	{
		errMsg = errMsg + '\n- ' + displayName;
		errCodeList = errCodeList + ',' + formObj.id;
		errCnt = errCnt + 1;
		if(focusSet==0)
		{
			focusSet=1;
			formObj.focus();
		}
	}
}

function checkReqFeild(formObj,displayName)
{
	if(trim(formObj.value)=='')
	{
		validationAlert(formObj,true);
		addErr(formObj,displayName);
	}
	else
	{
		validationAlert(formObj,false);
	}
}

function checkSelectedIndex(formObj,displayName)
{
	if(formObj.selectedIndex==0)
	{
		validationAlert(formObj,true);
		addErr(formObj,displayName);
	}
	else
	{
		validationAlert(formObj,false);
	}
}

function validationAlert(formObj,status)
{
	var alertImgObj = document.getElementById('alert_' + formObj.id);
	if(alertImgObj)
	{
		if(status == true)
			alertImgObj.style.display = '';
		else
			alertImgObj.style.display = 'none';
	}
	else
	{
		//console.debug("alertImgObj for %s not found.",formObj.id);
	}
}

function trim(str)
{
	return str.replace(/^\s+|\s+$/g,"");
}

function isEmail(emailValue)
{
	var pattern = /.*\@.*\..*/;
	if(emailValue != '')
	{
		if(!pattern.test(emailValue)) 
			{ 
				if(emailValue.search("@") == -1)
				{
					emailValue = "@.";
				}
				return false;
			}
	}
	else
	{
		return false;
	}
	return true;
}

// credit : http://www.somacon.com/p143.php
// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getRadioValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function currencyFormat(value)
{
	var val = value.toString();
	var decpos = val.indexOf(".");
	var diff = val.length-decpos;
	if(decpos==-1)
		{val = val+".00";}
	else if(diff==2)
		{val = val+"0";}
	return "$"+val;
}

/*** end - RE-USEABLE FUNCTIONS ***/
/*** end - RE-USEABLE FUNCTIONS ***/
/*** end - RE-USEABLE FUNCTIONS ***/

