<?xml version="1.0" encoding="utf-8"?>
<objects>
	<fn name="SUI.fn.behaviour" type="Object" pref="static">
		<desc>Check browser behaviour to determine whether it's based on IE, IE6, IE7, GECKO, OPERA or KHTML.</desc>
		<value type="Object">Object containing Boolean value of each browser object.</value>
		<output type="Boolean">True or false based on each browser object validation.</output>
		<example>if(SUI.fn.behaviour.gecko)) { alert("You are using Gecko based browser"); } else { alert("You aren't using Gecko based browser"); }</example>
	</fn>
	
	<fn name="SUI.fn.debug" type="Boolean" pref="public">
		<desc>By default, Savvy.UI will store all error log in SUI.fn.logs Arrays. To display an alert or use Firebug's console display (if Firebug is enabled) set SUI.fn.debug to true.</desc>
		<value type="Boolean" pref="optional" default="false">Debug option value, choose true to enable debugging mode.</value>
		<example>SUI.fn.debug = true;</example>
	</fn>
	
	<fn name="SUI.fn.logs" type="Array" pref="public">
		<desc>Hashtable to store all alert or error by Savvy.UI.</desc>
		<value type="Array">Contain all error string generated by Savvy.UI.</value>
		<example>if(SUI.fn.behaviour.gecko)) { alert("You are using Gecko based browser"); } else { alert("You aren't using Gecko based browser"); }</example>
	</fn>
	
	<fn name="SUI.fn.trigger" type="Array" pref="static">
		<desc>List of events handler prepared for SUI.Ext.Elements</desc>
		<value type="Array">Contain all listed events handler</value>
	</fn>
	
	<fn name="SUI.fn.version" type="String" pref="public">
		<desc>Return current running version/build of Savvy.UI</desc>
		<output type="String">Savvy.UI running version/build.</output>
		<example>alert(SUI.fn.version);</example>
	</fn>
	
	<fn name="SUI.fn.callback" type="Function" pref="public"></fn>
	<fn name="SUI.fn.each" type="Function" pref="public"></fn>
	<fn name="SUI.fn.extend" type="Function" pref="public"></fn>
	<fn name="SUI.fn.finds" type="Function" pref="public"></fn>
	
	<fn name="SUI.fn.href" type="Function" pref="public">
		<desc>Load a URL location using JavaScript, equivalent to JavaScript native location.href.</desc>
		<param name="uri" type="String" pref="required">the URI destination value.</param>
		<param name="target" type="String" pref="optional">open URI in target.</param>
		<output type="void">Redirect current/target page with the new URL</output>
		<example>SUI.fn.href("http://www.chronosight.net/", "_blank");</example>
	</fn>
	
	<fn name="SUI.fn.htmlentities" type="Function" pref="public">
		<desc></desc>
	</fn>
	
	<fn name="SUI.fn.inArray" type="Function" pref="public"></fn>
	<fn name="SUI.fn.indexOf" type="Function" pref="public"></fn>
	<fn name="SUI.fn.isfunction" type="Function" pref="public"></fn>
	
	<fn name="SUI.fn.isnull" type="Function" pref="public">
		<desc>Check whether the object is null or undefined.</desc>
		<param name="object" type="Object" pref="required">object to be checked.</param>
		<output type="Boolean">false if the object is defined and true if null/undefined.</output>
		<example>var hello_world = null; alert("SUI.fn.isnull(hello_world): " + SUI.fn.isnull(hello_world));</example>
	</fn>
	
	<fn name="SUI.fn.isset" type="Function" pref="public">
		<desc>Check whether the object is defined and not null.</desc>
		<param name="object" type="Object" pref="required">object to be checked.</param>
		<output type="Boolean">true if the object is defined and false if null/undefined.</output>
		<example>var hello_world = null; alert("SUI.fn.isset(hello_world): " + SUI.fn.isset(hello_world));</example>
	</fn>
	
	<fn name="SUI.fn.logger" type="Function" pref="public">
		<desc>Initialize error logging and notify user using either window.alert or console.log (using Firebug) when SUI.debug is set to true.</desc>
		<param type="String" var="err" pref="required">error message string.</param>
		<output type="Array">Contain all error string generated by Savvy.UI.</output>
		<example>SUI.fn.logger("This is a log/error");</example>
	</fn>
	
	<fn name="SUI.fn.on" type="Function" pref="public"></fn>
	
	<fn name="SUI.fn.pick" type="Function" pref="public">
		<desc>Loop each option until find an option which does not return null and return it.</desc>
		<param name="choose" type="Object/Number/String/Boolean" pref="required">First option to choose</param>
		<param name="option" type="Object/Number/String/Boolean" pref="required">alternative option to choose if first option is null</param>
		<param name="n_option" type="Object/Number/String/Boolean" pref="optional">n-option to be choose if the previous option null</param>
		<output type="Object/Number/String/Boolean" default="null">Return the first option/n-option only if the previous option return null.</output>
		<example>var hello = null; var world = "world"; var hello_world = SUI.fn.pick(hello, world);</example>
	</fn>
	
	<fn name="SUI.fn.prepare" type="Function" pref="public"></fn>
	
	<fn name="SUI.fn.toNumber" type="Function" pref="public">
		<desc>Parse input string value as Number using ParseInt</desc>
		<param name="val" type="String" pref="required"></param>
		<output type="Number">Parsed number</output>
		<example>var hello = "100px"; alert(SUI.fn.toNumber(hello));</example>
	</fn>
	
	<fn name="SUI.fn.trim" type="Function" pref="public">
		<desc>Trim both left and right of a string.</desc>
		<param name="val" type="String" pref="required">input string to be manipulated.</param>
		<output type="String">trimmed version of the string</output>
		<example>var hello = " Hello world "; hello = SUI.fn.trim(hello); // "Hello world"</example>
	</fn>
	
	<fn name="SUI.fn.unique" type="Function" pref="public">
		<desc>Delete any duplicate array's value from given array.</desc>
		<param name="d" type="Array" pref="required">Input array to be manipulated.</param>
		<param name="val" type="Boolean" pref="optional" default="false"></param>
	</fn>
	
</objects>