<cfcomponent extends="components.common.formObject">
	<cfset variables.idSalesClient=0>
	<cfset variables.idEmployee=0>
	<cfset variables.employee="">
	<cfset variables.dateRegistration=LSDateFormat(Now(), "dd/mm/yyyy") & " " & LSTimeFormat(Now(), "HH:mm:ss")>
	<cfset variables.nameFirst="">
	<cfset variables.nameFirst1="">
	<cfset variables.nameLast="">
	<cfset variables.nameLast1="">
	<cfset variables.documentNumber="">
	<cfset variables.salesClientData="">
	<cfset module.list.orderBy="nameFirst,nameLast">
	
	<cfset variables.idSeller=0>
	<cfset variables.seller="">
	<cfset variables.idProject=0>
	<cfset variables.project="">
	<cfset variables.idSalesClientState=0>
	<cfset variables.salesClientState="">
	
	<cffunction name="init" access="public" output="false">
		<cfset variables.idSalesClient=0>
		<cfset variables.idEmployee=0>
		<cfset variables.employee="">
		<cfset variables.dateRegistration=LSDateFormat(Now(), "dd/mm/yyyy") & " " & LSTimeFormat(Now(), "HH:mm:ss")>
		<cfset variables.nameFirst="">
		<cfset variables.nameFirst1="">
		<cfset variables.nameLast="">
		<cfset variables.nameLast1="">
		<cfset variables.documentNumber="">
		<cfset variables.salesClientData="">

		<cfset variables.idSeller=0>
		<cfset variables.seller="">
		<cfset variables.idProject=0>
		<cfset variables.project="">
		<cfset variables.idSalesClientState=0>
		<cfset variables.salesClientState="">
	</cffunction>
	
	<cffunction name="getFormObjectId" access="public" output="false" returntype="numeric">
		<cfreturn getidSalesClient()>
	</cffunction>
	
	<cffunction name="setFormObjectId" access="public" output="false">
		<cfargument name="objectId" type="numeric" required="yes">
		<cfset setidSalesClient(arguments.objectId)>
	</cffunction>

	<cffunction name="setIdSalesClient" access="public" output="false">
		<cfargument name="idSalesClient" type="numeric" required="yes" default="0">
		<cfset variables.idSalesClient=arguments.idSalesClient>
	</cffunction>

	<cffunction name="getIdSalesClient" access="public" returntype="numeric" output="false">
		<cfreturn variables.idSalesClient>
	</cffunction>

	<cffunction name="setIdEmployee" access="public" output="false">
		<cfargument name="idEmployee" type="numeric" required="yes" default="0">
		<cfset variables.idEmployee=arguments.idEmployee>
	</cffunction>

	<cffunction name="getIdEmployee" access="public" returntype="numeric" output="false">
		<cfreturn variables.idEmployee>
	</cffunction>
	
	<cffunction name="getEmployee" access="public" returntype="components.corporate.employee" output="false">
		<cfif not IsObject("variables.employee")><cfset variables.employee=CreateObject("component", "components.corporate.employee")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.employee.isRetrievedFromDB()) or variables.employee.getIdEmployee() neq variables.idEmployee>
			<cfset variables.employee=CreateObject("component", "components.corporate.employee")>
			<cfset variables.employee.setIdEmployee(variables.idEmployee)>
			<cfset variables.employee.get()>
		</cfif>
		<cfreturn variables.employee>
	</cffunction>
	
	<cffunction name="setDateRegistration" access="public" output="false">
		<cfargument name="dateRegistration" type="string" required="yes" default="">
		<cfset variables.dateRegistration=arguments.dateRegistration>
	</cffunction>

	<cffunction name="getDateRegistration" access="public" returntype="string" output="false">
		<cfreturn variables.dateRegistration>
	</cffunction>

	<cffunction name="setNameFirst" access="public" output="false">
		<cfargument name="nameFirst" type="string" required="yes" default="">
		<cfset variables.nameFirst=arguments.nameFirst>
	</cffunction>

	<cffunction name="getNameFirst" access="public" returntype="string" output="false">
		<cfreturn variables.nameFirst>
	</cffunction>

	<cffunction name="setNameFirst1" access="public" output="false">
		<cfargument name="nameFirst1" type="string" required="yes" default="">
		<cfset variables.nameFirst1=arguments.nameFirst1>
	</cffunction>

	<cffunction name="getNameFirst1" access="public" returntype="string" output="false">
		<cfreturn variables.nameFirst1>
	</cffunction>

	<cffunction name="setNameLast" access="public" output="false">
		<cfargument name="nameLast" type="string" required="yes" default="">
		<cfset variables.nameLast=arguments.nameLast>
	</cffunction>

	<cffunction name="getNameLast" access="public" returntype="string" output="false">
		<cfreturn variables.nameLast>
	</cffunction>

	<cffunction name="setNameLast1" access="public" output="false">
		<cfargument name="nameLast1" type="string" required="yes" default="">
		<cfset variables.nameLast1=arguments.nameLast1>
	</cffunction>

	<cffunction name="getNameLast1" access="public" returntype="string" output="false">
		<cfreturn variables.nameLast1>
	</cffunction>

	<cffunction name="setDocumentNumber" access="public" output="false">
		<cfargument name="documentNumber" type="string" required="yes" default="">
		<cfset variables.documentNumber=arguments.documentNumber>
	</cffunction>

	<cffunction name="getDocumentNumber" access="public" returntype="string" output="false">
		<cfreturn variables.documentNumber>
	</cffunction>

	<cffunction name="getSalesClientData" access="public" returntype="components.corporate.salesClientData" output="false">
		<cfif not IsObject("variables.salesClientData")><cfset variables.salesClientData=CreateObject("component", "components.corporate.salesClientData")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.salesClientData.isRetrievedFromDB()) or variables.salesClientData.getIdSalesClient() neq variables.idSlaesClient>
			<cfset variables.salesClientData=CreateObject("component", "components.corporate.salesClientData")>
			<cfset variables.salesClientData.setIdSalesClient(variables.idSalesClient)>
			<cfset variables.salesClientData.get()>
		</cfif>
		<cfreturn variables.salesClientData>
	</cffunction>

	<!--- additional stuff used for filtering of full list --->
	<cffunction name="setIdSeller" access="public" output="false">
		<cfargument name="idSeller" type="numeric" required="yes" default="0">
		<cfset variables.idSeller=arguments.idSeller>
	</cffunction>

	<cffunction name="getIdSeller" access="public" returntype="numeric" output="false">
		<cfreturn variables.idSeller>
	</cffunction>
	
	<cffunction name="getSeller" access="public" returntype="components.corporate.employee" output="false">
		<cfif not IsObject("variables.seller")><cfset variables.seller=CreateObject("component", "components.corporate.employee")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.seller.isRetrievedFromDB()) or variables.seller.getIdEmployee() neq variables.idSeller>
			<cfset variables.seller=CreateObject("component", "components.corporate.employee")>
			<cfset variables.seller.setIdEmployee(variables.idSeller)>
			<cfset variables.seller.get()>
		</cfif>
		<cfreturn variables.seller>
	</cffunction>

	<cffunction name="setIdProject" access="public" output="false">
		<cfargument name="idProject" type="numeric" required="yes" default="0">
		<cfset variables.idProject=arguments.idProject>
	</cffunction>

	<cffunction name="getIdProject" access="public" returntype="numeric" output="false">
		<cfreturn variables.idProject>
	</cffunction>

	<cffunction name="getProject" access="public" returntype="components.corporate.project" output="false">
		<cfif not IsObject("variables.project")><cfset variables.project=CreateObject("component", "components.corporate.project")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.project.isRetrievedFromDB()) or variables.project.getIdProject() neq variables.idProject>
			<cfset variables.project=CreateObject("component", "components.corporate.project")>
			<cfset variables.project.setIdProject(variables.idProject)>
			<cfset variables.project.get()>
		</cfif>
		<cfreturn variables.project>
	</cffunction>

	<cffunction name="setIdSalesClientState" access="public" output="false">
		<cfargument name="idSalesClientState" type="numeric" required="yes" default="0">
		<cfset variables.idSalesClientState=arguments.idSalesClientState>
	</cffunction>

	<cffunction name="getIdSalesClientState" access="public" returntype="numeric" output="false">
		<cfreturn variables.idSalesClientState>
	</cffunction>

	<cffunction name="getSalesClientState" access="public" returntype="components.corporate.salesClientState" output="false">
		<cfif not IsObject("variables.salesClientState")><cfset variables.salesClientState=CreateObject("component", "components.corporate.salesClientState")></cfif>
		<cfif (Compare(module.form.pageAction, "add") and not variables.salesClientState.isRetrievedFromDB()) or variables.salesClientState.getIdSalesClientState() neq variables.idSalesClientState>
			<cfset variables.salesClientState=CreateObject("component", "components.corporate.salesClientState")>
			<cfset variables.salesClientState.setIdSalesClientState(variables.idSalesClientState)>
			<cfset variables.salesClientState.get()>
		</cfif>
		<cfreturn variables.salesClientState>
	</cffunction>

<!--- end --->

	<cffunction name="setVariablesFromQuery" access="private" output="false">
		<cfargument name="getQuery" type="query" required="yes">
		<cfif getQuery.recordcount gt 0>
			<cfset variables.idSalesClient=getQuery.idSalesClient>
			<cfif Len(getQuery.idEmployee)><cfset variables.idEmployee=getQuery.idEmployee><cfelse><cfset variables.idEmployee=0></cfif>
			<cfif Len(getQuery.dateRegistration)><cfset variables.dateRegistration=LSDateFormat(getQuery.dateRegistration, "dd/mm/yyyy") & " " & LSTimeFormat(getQuery.dateRegistration, "HH:mm:ss")><cfelse><cfset variables.dateRegistration=""></cfif>
			<cfset variables.nameFirst=getQuery.nameFirst>
			<cfset variables.nameFirst1=getQuery.nameFirst1>
			<cfset variables.nameLast=getQuery.nameLast>
			<cfset variables.nameLast1=getQuery.nameLast1>
			<cfset variables.documentNumber=getQuery.documentNumber>
		</cfif>
	</cffunction>

	<cffunction name="get" access="public" output="false">
		<cfquery name="getQuery" datasource="#application.datasource#">
			SELECT 
				#getQueryString()#
			WHERE
				salesClient.idSalesClient=<cfqueryparam value="#variables.idSalesClient#" cfsqltype="cf_sql_integer">
		</cfquery>
		<cfif getQuery.recordcount gt 0>
			<cfset setVariablesFromQuery(getQuery)>
		</cfif>
		<cfset module.retrievedFromDB=true>
	</cffunction>

	<cffunction name="getList" access="public" output="false" returntype="query">
		<cfargument name="orderBy" required="no" type="string" default="">
		<cfquery name="getListQuery" datasource="#application.datasource#">
			SELECT DISTINCT
				#getQueryString()#
			GROUP BY salesClient.idSalesClient, salesClientUnit.idSalesClientUnit
			ORDER BY <cfif Len(arguments.orderBy)>#arguments.orderBy#<cfelse>#module.list.orderBy#</cfif>
		</cfquery>
		<cfreturn getListQuery>
	</cffunction>
	
	<cffunction name="getListFull" access="public" output="false" returntype="query">
		<cfargument name="orderBy" required="no" type="string" default="">
		<cfquery name="getListFullQuery" datasource="#application.datasource#">
			SELECT DISTINCT
				#getFullQueryString()#
			WHERE 
				1=1
				<cfif Len(variables.nameFirst)>
				AND (
					salesClient.nameFirst LIKE <cfqueryparam value="%#variables.nameFirst#%" cfsqltype="cf_sql_varchar" maxlength="255">
					OR 
					salesClient.nameFirst1 LIKE <cfqueryparam value="%#variables.nameFirst#%" cfsqltype="cf_sql_varchar" maxlength="255">
				)
				</cfif>
				<cfif Len(variables.nameLast)>
				AND (
					salesClient.nameLast LIKE <cfqueryparam value="%#variables.nameLast#%" cfsqltype="cf_sql_varchar" maxlength="255">
					OR 
					salesClient.nameLast1 LIKE <cfqueryparam value="%#variables.nameLast#%" cfsqltype="cf_sql_varchar" maxlength="255">
				)
				</cfif>
				<cfif variables.idProject gt 0>
				AND salesClientUnit.idProject=<cfqueryparam value="#variables.idProject#" cfsqltype="cf_sql_integer">
				</cfif>
				<cfif variables.idSalesClientState gt 0>
				AND salesClientUnit.idSalesClientState=<cfqueryparam value="#variables.idSalesClientState#" cfsqltype="cf_sql_integer">
				</cfif>
				<cfif variables.idSeller gt 0>
				AND sellerClientProject.idEmployee=<cfqueryparam value="#variables.idSeller#" cfsqltype="cf_sql_integer">
				</cfif>
			GROUP BY salesClient.idSalesClient, salesClientUnit.idSalesClientUnit
			ORDER BY <cfif Len(arguments.orderBy)>#arguments.orderBy#<cfelse>#module.list.orderBy#</cfif>
		</cfquery>
		<cfreturn getListFullQuery>
	</cffunction>
	
	<cffunction name="getQueryString" access="private" output="false" returntype="string">
		<cfset var result="
				salesClient.idSalesClient,
				salesClient.idEmployee, CONCAT(TRIM(CONCAT(employee.nameFirst, ' ', employee.nameFirst1)), ' ', TRIM(CONCAT(employee.nameLast, ' ', employee.nameLast1))) AS employee,
				salesClient.dateRegistration,
				salesClient.nameFirst,
				salesClient.nameFirst1,
				TRIM(CONCAT(salesClient.nameFirst, ' ', salesClient.nameFirst1)) AS namesFirst,
				salesClient.nameLast,
				salesClient.nameLast1,
				TRIM(CONCAT(salesClient.nameLast, ' ', salesClient.nameLast1)) AS namesLast,
				CONCAT(TRIM(CONCAT(salesClient.nameFirst, ' ', salesClient.nameFirst1)), ' ', TRIM(CONCAT(salesClient.nameLast, ' ', salesClient.nameLast1))) AS nameFull,
				salesClient.documentNumber
			FROM 
				salesClient
			LEFT JOIN employee ON salesClient.idEmployee=employee.idEmployee
			">
		<cfreturn result>
	</cffunction>
	
	<cffunction name="getFullQueryString" access="private" output="false" returntype="string">
		<cfset var result="
				salesClient.idSalesClient,
				salesClient.idEmployee, CONCAT(TRIM(CONCAT(employee.nameFirst, ' ', employee.nameFirst1)), ' ', TRIM(CONCAT(employee.nameLast, ' ', employee.nameLast1))) AS employee,
				salesClient.dateRegistration,
				salesClient.nameFirst, salesClient.nameFirst1, TRIM(CONCAT(salesClient.nameFirst, ' ', salesClient.nameFirst1)) AS namesFirst,
				salesClient.nameLast, salesClient.nameLast1, TRIM(CONCAT(salesClient.nameLast, ' ', salesClient.nameLast1)) AS namesLast,
				CONCAT(TRIM(CONCAT(salesClient.nameFirst, ' ', salesClient.nameFirst1)), ' ', TRIM(CONCAT(salesClient.nameLast, ' ', salesClient.nameLast1))) AS nameFull,
				salesClient.documentNumber,
				salesClientData.idSalesContactMedia, salesContactMedia.name AS salesContactMedia,
				salesClientData.phone1, salesClientData.phone2, salesClientData.phone3, salesClientData.email,
				salesClientUnit.idSalesUnit, salesUnit.number AS number,
				sellerClientProject.idEmployee AS idSeller, CONCAT(TRIM(CONCAT(seller.nameFirst, ' ', seller.nameFirst1)), ' ', TRIM(CONCAT(seller.nameLast, ' ', seller.nameLast1))) AS seller,
				salesClientUnit.idSalesClientState, salesClientState.name AS salesClientState,
				sellerClientProject.idProject, project.name AS project,
				salesClientUnit.idCurrency, currency.name AS currency,
				salesClientUnit.dateRegistration AS sellDateRegistration,
				salesClientUnit.sellPrice
			FROM 
				salesClient
			LEFT JOIN employee ON salesClient.idEmployee=employee.idEmployee
			LEFT JOIN salesClientData ON salesClient.idSalesClient=salesClientData.idSalesClient
			LEFT JOIN salesContactMedia ON salesClientData.idSalesContactMedia=salesContactMedia.idSalesContactMedia
			LEFT JOIN sellerClientProject ON salesClient.idSalesClient=sellerClientProject.idSalesClient
			LEFT JOIN salesClientUnit ON salesClient.idSalesClient=salesClientUnit.idSalesClient
			LEFT JOIN employee AS seller ON sellerClientProject.idEmployee=seller.idEmployee
			LEFT JOIN salesUnit ON salesClientUnit.idSalesUnit=salesUnit.idSalesUnit
			LEFT JOIN salesClientState ON salesClientUnit.idSalesClientState=salesClientState.idSalesClientState
			LEFT JOIN project ON sellerClientProject.idProject=project.idProject
			LEFT JOIN currency ON salesClientUnit.idCurrency=currency.idCurrency
			">
		<cfreturn result>
	</cffunction>

	<cffunction name="createOptions" access="public" returntype="numeric" output="true">
		<cfargument name="selected" required="yes" type="numeric" default="0">
		<cfset var list=getList("salesClient.documentNumber")>
		<cfset var result=0>
		<cfif list.idSalesClient gt 0><cfset result=list.idSalesClient></cfif>
		<cfloop query="list">
			<cfif list.idSalesClient eq arguments.selected><cfset _selected=" selected"><cfset result=list.idSalesClient><cfelse><cfset _selected=""></cfif>
			<cfoutput><option value="#list.idSalesClient#"#_selected#>#list.nameFull#</option></cfoutput>
		</cfloop>
		<cfreturn result>
	</cffunction>
	
	<cffunction name="getId" access="public" returntype="struct" output="false">
		<cfset var result=StructNew()>
		<cfset result.id=0>
		<cfset result.message="">
		<cfquery name="getIdQuery" datasource="#application.datasource#">
			SELECT 
				idSalesClient 
			FROM 
				salesClient 
			WHERE 
				nameFirst=<cfqueryparam value="#variables.nameFirst#" cfsqltype="cf_sql_varchar" maxlength="255">
				AND nameFirst1=<cfqueryparam value="#variables.nameFirst1#" cfsqltype="cf_sql_varchar" maxlength="255">
				AND nameLast=<cfqueryparam value="#variables.nameLast#" cfsqltype="cf_sql_varchar" maxlength="255">
				AND nameLast1=<cfqueryparam value="#variables.nameLast1#" cfsqltype="cf_sql_varchar" maxlength="255">
				<cfif variables.idSalesClient gt 0>
				AND idSalesClient != <cfqueryparam value="#variables.idSalesClient#" cfsqltype="cf_sql_integer">
				</cfif>
		</cfquery>
		<cfif getIdQuery.recordcount gt 0>
			<cfset result.id=getIdQuery.idSalesClient>
		</cfif>
		<cfreturn result>
	</cffunction>
	
	<cffunction name="create" access="public" returntype="struct" output="false">
		<cfset var result=StructNew()>
		<cfset result.id=0>
		<cfset result.message="">
		<!--- check parameters --->
		<cfif not Len(variables.nameFirst)>
			<cfset result.message="Primer nombre es un campo obligatorio">
			<cfreturn result>
		</cfif>
		<cfif not Len(variables.nameLast)>
			<cfset result.message="Apellido paterno es un campo obligatorio">
			<cfreturn result>
		</cfif>
		<cfset result=getId()>
		<cfif result.id gt 0>
			<cfset result.message="Prospecto/cliente con ese nombre ya existe">
			<cfreturn result>
		</cfif>
		<!--- variables ok --->
		<cftry>
			<cfquery name="createQuery" datasource="#application.datasource#">
				INSERT INTO salesClient
					(
					idSalesClient,
					idEmployee, 
					dateRegistration, 
					nameFirst, 
					nameFirst1, 
					nameLast, 
					nameLast1, 
					documentNumber
					) 
				VALUES 
					(
					<cfqueryparam value="#variables.idSalesClient#" cfsqltype="cf_sql_integer">,
					<cfif variables.idEmployee gt 0><cfqueryparam value="#variables.idEmployee#" cfsqltype="cf_sql_integer"><cfelse>NULL</cfif>, 
					<cfqueryparam value="#Now()#" cfsqltype="cf_sql_timestamp">,
					<cfqueryparam value="#variables.nameFirst#" cfsqltype="cf_sql_varchar" maxlength="255">,
					<cfqueryparam value="#variables.nameFirst1#" cfsqltype="cf_sql_varchar" maxlength="255">,
					<cfqueryparam value="#variables.nameLast#" cfsqltype="cf_sql_varchar" maxlength="255">,
					<cfqueryparam value="#variables.nameLast1#" cfsqltype="cf_sql_varchar" maxlength="255">,
					<cfqueryparam value="#variables.documentNumber#" cfsqltype="cf_sql_varchar" maxlength="255">
					)
			</cfquery>
			<cfif variables.idSalesClient lt 1>
				<cfset result=getId()>
				<cfset variables.idSalesClient=result.id>
			<cfelse>
				<cfset result.id=variables.idSalesClient>
			</cfif>
			<!--- catch any error --->
			<cfcatch type="any">
				<cfset result.id=-1>
				<cfset result.message="Error [salesClient.create()]: " & cfcatch.Message & "<br>Details: " & cfcatch.Detail>
			</cfcatch>
		</cftry>
		<cfreturn result>
	</cffunction>

	<cffunction name="update" access="public" returntype="struct" output="false">
		<cfset var result=StructNew()>
		<cfset result.id=0>
		<cfset result.message="">
		<!--- check parameters --->
		<cfif not Len(variables.nameFirst)>
			<cfset result.message="Primer nombre es un campo obligatorio">
			<cfreturn result>
		</cfif>
		<cfif not Len(variables.nameLast)>
			<cfset result.message="Apellido paterno es un campo obligatorio">
			<cfreturn result>
		</cfif>
		<cfset result=getId()>
		<cfif result.id gt 0>
			<cfset result.message="Prospecto/cliente con ese nombre ya existe">
			<cfreturn result>
		</cfif>
		<!--- variables ok --->
		<cftry>
			<cfquery name="updateQuery" datasource="#application.datasource#">
				UPDATE salesClient
				SET 
					nameFirst=<cfqueryparam value="#variables.nameFirst#" cfsqltype="cf_sql_varchar" maxlength="255">,
					nameFirst1=<cfqueryparam value="#variables.nameFirst1#" cfsqltype="cf_sql_varchar" maxlength="255">,
					nameLast=<cfqueryparam value="#variables.nameLast#" cfsqltype="cf_sql_varchar" maxlength="255">,
					nameLast1=<cfqueryparam value="#variables.nameLast1#" cfsqltype="cf_sql_varchar" maxlength="255">,
					documentNumber=<cfqueryparam value="#variables.documentNumber#" cfsqltype="cf_sql_varchar" maxlength="255">
					<cfif variables.idEmployee gt 0>,idEmployee=<cfqueryparam value="#variables.idEmployee#" cfsqltype="cf_sql_integer"></cfif>
					<cfif Len(variables.dateRegistration)>
					,dateRegistration=<cfqueryparam value="#parseDate(dateRegistration)#" cfsqltype="cf_sql_timestamp">
					</cfif>
				WHERE 
					idSalesClient=<cfqueryparam value="#variables.idSalesClient#" cfsqltype="cf_sql_integer">
			</cfquery>
			<cfset result.id=variables.idSalesClient>
			<!--- catch any error --->
			<cfcatch type="any">
				<cfset result.id=-1>
				<cfset result.message="Error [salesClient.update()]: " & cfcatch.Message & "<br>Details: " & cfcatch.Detail>
			</cfcatch>
		</cftry>
		<cfreturn result>
	</cffunction>

	<cffunction name="delete" access="public" returntype="struct" output="false">
		<cfset var result=StructNew()>
		<cfset result.id=0>
		<cfset result.message="">
		<!--- check parameters --->
		<cftry>
			<cfquery name="deleteQuery" datasource="#application.datasource#">
				DELETE FROM salesClient
				WHERE 
					idSalesClient=<cfqueryparam value="#variables.idSalesClient#" cfsqltype="cf_sql_integer">
			</cfquery>
			<cfset result.id=0>
			<cfset init()>
			<!--- catch any error --->
			<cfcatch type="any">
				<cfset result.id=-1>
				<cfset result.message="Error [salesClient.delete()]: " & cfcatch.Message & "<br>Details: " & cfcatch.Detail>
			</cfcatch>
		</cftry>
		<cfreturn result>
	</cffunction>
</cfcomponent>