/*******************************************************
	----------------------------------------
	----------------------------------------
 validation functions for Sales Leads Calculation
	----------------------------------------
	----------------------------------------
*******************************************************/

///////////////////   sl_reset_form ///////////////////
function sl_reset_form()
{
	document.salesleads.revenue_target.value			= "" ;
	document.salesleads.new_sales_percentage.value		= "" ;
	document.salesleads.new_sales.value				= "" ;
	document.salesleads.avg_sale.value					= "" ;

	document.salesleads.new_sales_num.value			= "" ;

	document.salesleads.close_ratio.value				= "" ;
	document.salesleads.proposals_num.value			= "" ;
	document.salesleads.proposal_ratio.value			= "" ;
	document.salesleads.hot_prospects_num.value		= "" ;
	document.salesleads.hot_prospect_ratio.value		= "" ;
	document.salesleads.qualified_prospects_num.value	= "" ;
	document.salesleads.qualification_ratio.value		= "" ;
	document.salesleads.inquires_num.value				= "" ;

	document.salesleads.revenue_target.focus() ;
	return true ;
}
////////////////////  End  sl_reset_form /////////////////////

///////////////////   sl_recompute_form ///////////////////
function sl_recompute_form()
{
	compute_leads() ;

	document.salesleads.revenue_target.focus() ;
	return true ;
}
////////////////////  End  sl_recompute_form /////////////////////

///////////////////// compute_leads ////////////////////
function compute_leads()
{
//	alert("compute_leads") ;

	t_revenue_target		=   new String( document.salesleads.revenue_target.value ) ;
	t_new_sales_percentage	=   new String( document.salesleads.new_sales_percentage.value ) ;
	t_avg_sale				=   new String( document.salesleads.avg_sale.value ) ;

	t_close_ratio			=   new String(	document.salesleads.close_ratio.value ) ;
	t_proposal_ratio		=   new String(	document.salesleads.proposal_ratio.value ) ;
	t_hot_prospect_ratio	=   new String(	document.salesleads.hot_prospect_ratio.value ) ;
	t_qualification_ratio	=   new String( document.salesleads.qualification_ratio.value ) ;
	
	t_new_sales					= "" ;
	t_new_sales_num				= "" ;

	t_proposals_num				= "" ;
	t_hot_prospects_num			= "" ;
	t_qualified_prospects_num	= "" ;
	t_inquires_num				= "" ;

	//Compute New Sales Amount
	if (   ( isSomeValue( t_revenue_target ) != false )
		&& ( isSomeValue( t_new_sales_percentage ) != false ) )
	{
		t_new_sales = computeShare(t_revenue_target, t_new_sales_percentage ) ;
		ret 		= formatCurrency(t_new_sales, "noMkDecimal") ;
		document.salesleads.new_sales.value = ret ;
	}
	else
		document.salesleads.new_sales.value = "" ;

	//Compute Num of New Sales Needed
	if (   ( isSomeValue( t_new_sales ) != false )
		&& ( isSomeValue( t_avg_sale ) != false ) )
	{
		t_avg_sale		= removeLeadDollar ( removeComma ( t_avg_sale ) ) ;
		t_new_sales_num	= computeRatio(t_new_sales, (t_avg_sale*100) ) ;
		ret 			= removeLeadDollar ( formatCurrency(t_new_sales_num, "MkDecimal") ) ;
		document.salesleads.new_sales_num.value = ret ;
	}
	else
		document.salesleads.new_sales_num.value = "" ;

	//Compute Num of proposales
	if (   ( isSomeValue( t_new_sales_num ) != false )
		&& ( isSomeValue( t_close_ratio ) != false ) )
	{
		t_proposals_num	= computeRatio(t_new_sales_num, t_close_ratio) ;
		ret 			= removeLeadDollar ( formatCurrency(t_proposals_num, "MkDecimal") ) ;
		document.salesleads.proposals_num.value = ret ;
	}
	else
		document.salesleads.proposals_num.value = "" ;

	//Compute Num of hot prospects
	if (   ( isSomeValue( t_proposals_num ) != false )
		&& ( isSomeValue( t_proposal_ratio ) != false ) )
	{
		t_hot_prospects_num	= computeRatio(t_proposals_num, t_proposal_ratio) ;
		ret 				= removeLeadDollar ( formatCurrency(t_hot_prospects_num, "MkDecimal") ) ;
		document.salesleads.hot_prospects_num.value = ret ;
	}
	else
		document.salesleads.hot_prospects_num.value = "" ;

	//Compute Num of Qualified prospects
	if (   ( isSomeValue( t_hot_prospects_num ) != false )
		&& ( isSomeValue( t_hot_prospect_ratio ) != false ) )
	{
		t_qualified_prospects_num	= computeRatio(t_hot_prospects_num, t_hot_prospect_ratio) ;
		ret 						= removeLeadDollar ( formatCurrency(t_qualified_prospects_num, "MkDecimal") ) ;
		document.salesleads.qualified_prospects_num.value = ret ;
	}
	else
		document.salesleads.qualified_prospects_num.value = "" ;

	//Compute Num of inquiries
	if (   ( isSomeValue( t_qualified_prospects_num ) != false )
		&& ( isSomeValue( t_qualification_ratio ) != false ) )
	{
		t_inquires_num	= computeRatio(t_qualified_prospects_num, t_qualification_ratio) ;
		ret 			= removeLeadDollar ( formatCurrency(t_inquires_num, "MkDecimal") ) ;
		document.salesleads.inquires_num.value = ret ;
	}
	else
		document.salesleads.inquires_num.value = "" ;

	return true ;
}
/////////////// end compute_leads //////

/////////////// sl_validate_revenue_target //////
function sl_validate_revenue_target()
{
//	alert("sl_validate_revenue_target: " + document.salesleads.revenue_target.value) ;

	if ( isSomeValue( document.salesleads.revenue_target.value ) == false )
	{
		sl_reset_form() ;
		return true ;
	}

	ret = formatCurrency( document.salesleads.revenue_target.value, "noMkDecimal" ) ;

	if ( ret == false )
	{
		alert("Please enter a valid revenue target! The valid values are 0-9, '.'") ;
		sl_reset_form() ;
		document.salesleads.revenue_target.focus();
		return false;
	}
	else
		document.salesleads.revenue_target.value = ret ;

	//Compute sales leads
	compute_leads() ;

	return true ;
}
/////////////// end sl_validate_revenue_target //////

/////////////// sl_validate_new_sales_percentage //////
function sl_validate_new_sales_percentage()
{
//	alert("sl_validate_new_sales_percentage")
//	alert(document.salesleads.new_sales_percentage.value);

	// ********* Validate New Sales Percentage
	if ( isSomeValue(document.salesleads.new_sales_percentage.value) != false )
	{
		if (  isNumber(document.salesleads.new_sales_percentage.value) == false )
		{
			alert("Invalid Value: The new sales % needs to be between 0 and 100 !") ;
			document.salesleads.new_sales_percentage.value = "" ;
			compute_leads() ;
			document.salesleads.new_sales_percentage.focus();
			return false;
		}

		if (  isRatio(document.salesleads.new_sales_percentage.value) == false )
		{
			alert("Invalid Value: The new sales % needs to be between 0 and 100 !") ;
			document.salesleads.new_sales_percentage.value = "" ;
			compute_leads() ;
			document.salesleads.new_sales_percentage.focus();
			return false;
		}
	}
	else
		if ( isSomeValue(document.salesleads.revenue_target.value) != false )
			document.salesleads.new_sales_percentage.value = 100 ;

	//Compute sales leads
	compute_leads() ;

	return true ;
}
/////////////// end sl_validate_new_sales_percentage //////

/////////////// sl_validate_avg_sale //////
function sl_validate_avg_sale()
{
//	alert("sl_validate_avg_sale")
//	alert(document.salesleads.avg_sale.value);

	if ( isSomeValue( document.salesleads.avg_sale.value ) != false )
	{
		ret = formatCurrency( document.salesleads.avg_sale.value, "noMkDecimal" ) ;

		if ( ret == false )
		{
			alert("Please enter a valid average sale amount! The valid values are 0-9, '.'") ;
			document.salesleads.avg_sale.value = "" ;
			compute_leads() ;
			document.salesleads.avg_sale.focus();
			return false;
		}
		else
			document.salesleads.avg_sale.value = ret ;

		// Check if avg sale is greater than revenue
		if ( compareFinAmount(document.salesleads.revenue_target.value, 
								document.salesleads.avg_sale.value)  == -1 )
		{
			alert("The avg sale amount needs to be less than Revenue Target") ;
			document.salesleads.avg_sale.value = "" ;
			compute_leads() ;
			document.salesleads.bonus.focus();
			return false;
		}
	}
	else
		if ( isSomeValue( document.salesleads.revenue_target.value ) != false )
		{
			alert("Please enter average sale amount! The valid values are 0-9, '.'") ;
			document.salesleads.avg_sale.value = "" ;
			compute_leads() ;
			document.salesleads.avg_sale.focus();
			return false;
		}

	//Compute sales leads
	compute_leads() ;

	return true ;
}
/////////////// end sl_validate_avg_sale //////

/////////////// sl_validate_close_ratio //////
function sl_validate_close_ratio()
{
//	alert("sl_validate_close_ratio")
//	alert(document.salesleads.close_ratio.value);

	if ( isSomeValue(document.salesleads.close_ratio.value) != false )
	{
		if (  isNumber(document.salesleads.close_ratio.value) == false )
		{
			alert("Invalid Value: The Proposal to Sale Close Ratio needs to be between 0 and 100 !") ;
			document.salesleads.close_ratio.value = "" ;
			compute_leads() ;
			document.salesleads.close_ratio.focus();
			return false;
		}

		if (  isRatio(document.salesleads.close_ratio.value) == false )
		{
			alert("Invalid Value: The Proposal to Sale Close Ratio needs to be between 0 and 100 !") ;
			document.salesleads.close_ratio.value = "" ;
			compute_leads() ;
			document.salesleads.close_ratio.focus();
			return false;
		}
	}
	else
		if ( isSomeValue(document.salesleads.avg_sale.value) != false )
			document.salesleads.close_ratio.value = 100 ;

	//Compute sales leads
	compute_leads() ;

	return true ;
}
/////////////// end sl_validate_close_ratio //////

/////////////// sl_validate_proposal_ratio //////
function sl_validate_proposal_ratio()
{
//	alert("sl_validate_proposal_ratio")
//	alert(document.salesleads.proposal_ratio.value);

	if ( isSomeValue(document.salesleads.proposal_ratio.value) != false )
	{
		if (  isNumber(document.salesleads.proposal_ratio.value) == false )
		{
			alert("Invalid Value: The Hot-Prospect to Proposal Close Ratio needs to be between 0 and 100 !") ;
			document.salesleads.proposal_ratio.value = "" ;
			compute_leads() ;
			document.salesleads.proposal_ratio.focus();
			return false;
		}

		if (  isRatio(document.salesleads.proposal_ratio.value) == false )
		{
			alert("Invalid Value: The Hot-Prospect to Proposal Ratio needs to be between 0 and 100 !") ;
			document.salesleads.proposal_ratio.value = "" ;
			compute_leads() ;
			document.salesleads.proposal_ratio.focus();
			return false;
		}
	}
	else
		if ( isSomeValue(document.salesleads.avg_sale.value) != false )
			document.salesleads.proposal_ratio.value = 100 ;

	//Compute sales leads
	compute_leads() ;

	return true ;
}
/////////////// end sl_validate_proposal_ratio //////

/////////////// sl_validate_hot_prospect_ratio //////
function sl_validate_hot_prospect_ratio()
{
//	alert("sl_validate_hot_prospect_ratio")
//	alert(document.salesleads.hot_prospect_ratio.value);

	if ( isSomeValue(document.salesleads.hot_prospect_ratio.value) != false )
	{
		if (  isNumber(document.salesleads.hot_prospect_ratio.value) == false )
		{
			alert("Invalid Value: The Qualified-Prospect to Hot-Prospect Ratio needs to be between 0 and 100 !") ;
			document.salesleads.hot_prospect_ratio.value = "" ;
			compute_leads() ;
			document.salesleads.hot_prospect_ratio.focus();
			return false;
		}

		if (  isRatio(document.salesleads.hot_prospect_ratio.value) == false )
		{
			alert("Invalid Value: The Qualified-Prospect to Hot-Prospect Ratio needs to be between 0 and 100 !") ;
			document.salesleads.hot_prospect_ratio.value = "" ;
			compute_leads() ;
			document.salesleads.hot_prospect_ratio.focus();
			return false;
		}
	}
	else
		if ( isSomeValue(document.salesleads.avg_sale.value) != false )
			document.salesleads.hot_prospect_ratio.value = 100 ;

	//Compute sales leads
	compute_leads() ;

	return true ;
}
/////////////// end sl_validate_hot_prospect_ratio //////

/////////////// sl_validate_qualification_ratio //////
function sl_validate_qualification_ratio()
{
//	alert("sl_validate_qualification_ratio")
//	alert(document.salesleads.qualification_ratio.value);

	if ( isSomeValue(document.salesleads.qualification_ratio.value) != false )
	{
		if (  isNumber(document.salesleads.qualification_ratio.value) == false )
		{
			alert("Invalid Value: The Sales Inquiry to Qualified Prospect Ratio needs to be between 0 and 100 !") ;
			document.salesleads.qualification_ratio.value = "" ;
			compute_leads() ;
			document.salesleads.qualification_ratio.focus();
			return false;
		}

		if (  isRatio(document.salesleads.qualification_ratio.value) == false )
		{
			alert("Invalid Value: The Sales Inquiry to Qualified Prospect Ratio needs to be between 0 and 100 !") ;
			document.salesleads.qualification_ratio.value = "" ;
			compute_leads() ;
			document.salesleads.qualification_ratio.focus();
			return false;
		}
	}
	else
		if ( isSomeValue(document.salesleads.avg_sale.value) != false )
			document.salesleads.qualification_ratio.value = 100 ;

	//Compute sales leads
	compute_leads() ;

	return true ;
}
/////////////// end sl_validate_qualification_ratio //////


/*******************************************************
 End validation functions for Sales Leads Calculation
*******************************************************/
