/*Key Events *******************/
var Trigger_OnKeyDown =0;
var Trigger_OnKeyUp =1;

/*Mouse Events **************/
var Trigger_OnMouseDown =10;
var Trigger_OnMouseUp =11;
var Trigger_OnMouseOver =12;
var Trigger_OnMouseOut =13;
var Trigger_OnMouseMove =14;
var Trigger_OnMouseLeave =15;

/*Click events */
var Trigger_OnClick = 20;
var Trigger_OnDblClick= 21;



/*Other********************************/
var Trigger_OnFocus =30;
var Trigger_OnBlur =31;
var Trigger_OnChange =32;
var Trigger_HREF = 33;
var Trigger_OnFocusIn = 35;
var Trigger_OnFocusOut = 34;
//
// Main switching statement for Input Controls
//
function ttinpt(trigger,object,event,uiControlType) {
    var retVal = true;
	//
	//Switch on UI Control Type
	switch(parseInt(uiControlType))
	{
		case UIControlType_InputText:
			InputTextTriggers(trigger, object, event, uiControlType);
			break;
		case UIControlType_InputTextMultiLine:
			InputTextTriggers(trigger, object, event, uiControlType);
			break;		
		case UIControlType_InputDate:
			InputDateTriggers(trigger, object, event, uiControlType);
			break;
		case UIControlType_InputDateRange:
			InputDateRangeTriggers(trigger, object, event, uiControlType);
			break;
		case UIControlType_InputTime:
			InputTimeTriggers(trigger, object, event, uiControlType);
			break;
		case UIControlType_DropDownLov:		
			VerifierDropDownLovTriggers(trigger, object, event, uiControlType);
			break;	
		case UIControlType_InputSearch:
		case UIControlType_InputSearchVerifier:
		case UIControlType_InputSearchSuggest:
			retVal = InputSearchTriggers(trigger, object, event, uiControlType);
			break;
		case UIControlType_InputNumeric:
			InputNumericTriggers(trigger, object, event, uiControlType);
			break;
    }

    return retVal;
}

//Verifier Triggers
function VerifierDropDownLovTriggers(trigger, object, event, uiControlType)
{
	switch(parseInt(trigger))
	{
		case Trigger_OnChange:
			ttlov_vlChange(object.name,object.lovUniqueID, event,object.autoPostBack);
		break;
		case Trigger_OnKeyDown:
		{	
			switch(object.type)
			{		
				case "dd"://Drop down element
				{
					ttlov_dropKeyPress(object.lovUniqueID,object.name);
				}
				break;
				case "lb"://lov control element
				{
					ttlov_formKeyPress(object.dropUniqueID, event,object.shortCutKey);
				}
				break;
			}
		}
		break;
		case Trigger_OnKeyUp:
		{
			switch(object.type)
			{
				case "lb":
				{
					ttlov_autoFill(object.lovUniqueID,object.dropUniqueID,event,object.allowInvalidLov,object.autoPostBack);
				}
				break;				
			}
		}	    
	}
}

//Input Time 
function InputTimeTriggers(trigger, object, event, uiControlType)
{
	switch(object.attributes.getNamedItem("hm").value)
	{
		case "h":
			{
				//
				//Switch on event type	
				switch(parseInt(trigger))
				{
					case Trigger_OnBlur:	
						ttinputtime_blurHour(object);
						tdd_lo(object,object.attributes.getNamedItem("blurStyleName").value);
						break;   
					case Trigger_OnFocus:
						ttinputtime_focusHour(object);
						if(Boolean(parseInt(object.persistPosition)) == true)
                        {
                            ttdd_HLStd(object,object.attributes.getNamedItem("focusStyleName").value,object.controlId,object.columnId);                     
                        }
                        else
                        {
                            ttdd_ho(object,object.attributes.getNamedItem("focusStyleName").value);
                        }
						break;
					case Trigger_OnKeyUp:
						ttinputtime_keyUpHour(object.attributes.getNamedItem("timeClientID").value, event);
						break;
				}
			}
			break;
		
		case "m":
		   {
				//
				//Switch on event type	
				switch(parseInt(trigger))
				{
					case Trigger_OnBlur:		
						ttinputtime_blurMinute(object);	
						tdd_lo(object,object.attributes.getNamedItem("blurStyleName").value);
						break;   
					case Trigger_OnFocus:
						ttinputtime_focusMinute(object);	
						if(Boolean(parseInt(object.persistPosition)) == true)
                        {
                            ttdd_HLStd(object,object.attributes.getNamedItem("focusStyleName").value,object.controlId,object.columnId);                     
                        }
                        else
                        {
                            ttdd_ho(object,object.attributes.getNamedItem("focusStyleName").value);
                        }
						break;
					case Trigger_OnKeyUp:		
						ttinputtime_keyUpMinute(object.attributes.getNamedItem("timeClientID").value, event);
						break;
				}
			}
			break;
		break;
	}	
}

// Input Text
function InputTextTriggers(trigger, object, event, uiControlType)
{
	//
    //Switch on event type    
    switch(parseInt(trigger))
    {
        case Trigger_OnKeyDown:
            if(Boolean(parseInt(object.displaySearchOptions)) == true)
            {
                ttSr_kd(object,object.textUniqueID);
            }
            else                    
            {
                ttTx_kd(object,object.searchId,object.shortCutKey);
            }
            break;            
        case Trigger_OnFocus:
            if(Boolean(parseInt(object.persistPosition)) == true)
            {
                ttdd_HLStd(object,object.attributes.getNamedItem("focusStyleName").value,object.controlId,object.columnId);                     
            }
            else
            {
                ttdd_ho(object,object.attributes.getNamedItem("focusStyleName").value);
            }                    
            break;
        case Trigger_OnBlur:                    
            tdd_lo(object,object.attributes.getNamedItem("blurStyleName").value);
            break;
    }
}

// Input Date
function InputDateTriggers(trigger, object, event, uiControlType)
{
	//
	//Switch on whether day/ month/ year 
	var datePart = object.attributes.getNamedItem("dmy");
	if(datePart)
	{
	    switch(object.attributes.getNamedItem("dmy").value)
	    {
		    //
		    // Day
		    case "d":
		    {
			    //
			    //Switch on event type    
			    switch(parseInt(trigger))
			    {
				    case Trigger_OnBlur:
					    ttipd_blurDay(object);
					    tdd_lo(object,object.attributes.getNamedItem("blurStyleName").value);
					    break;   
				    case Trigger_OnFocus:
					    ttipd_focusDay(object);
					    if(Boolean(parseInt(object.persistPosition)) == true)
                        {
                            ttdd_HLStd(object,object.attributes.getNamedItem("focusStyleName").value,object.controlId,object.columnId);                     
                        }
                        else
                        {
                            ttdd_ho(object,object.attributes.getNamedItem("focusStyleName").value);
                        }
					    break;
				    case Trigger_OnKeyUp:
					    ttipd_keyUpDay(object.attributes.getNamedItem("dateClientID").value, event);
			    }
		    }
		    break;
		    //
		    // Month
		    case "m":
		    {
			    //
			    //Switch on event type    
			    switch(parseInt(trigger))
			    {
				    case Trigger_OnBlur:
					    ttipd_blurMonth(object);
					    tdd_lo(object,object.attributes.getNamedItem("blurStyleName").value);
					    break;   
				    case Trigger_OnFocus:
					    ttipd_focusMonth(object);
					    if(Boolean(parseInt(object.persistPosition)) == true)
                        {
                            ttdd_HLStd(object,object.attributes.getNamedItem("focusStyleName").value,object.controlId,object.columnId);                     
                        }
                        else
                        {
                            ttdd_ho(object,object.attributes.getNamedItem("focusStyleName").value);
                        }
					    break;
				    case Trigger_OnKeyUp:
					    ttipd_keyUpMonth(object.attributes.getNamedItem("dateClientID").value, event);
					    break;
			    }
		    }
		    break;
		    //
		    // Year
		    case "y":
		    {
			    //
			    //Switch on event type    
			    switch(parseInt(trigger))
			    {
				    case Trigger_OnBlur:
					    ttipd_blurYear(object.attributes.getNamedItem("dateClientID").value, object);
					    tdd_lo(object,object.attributes.getNamedItem("blurStyleName").value);
					    break;   
				    case Trigger_OnFocus:
					    ttipd_focusYear(object);
					    if(Boolean(parseInt(object.persistPosition)) == true)
                        {
                            ttdd_HLStd(object,object.attributes.getNamedItem("focusStyleName").value,object.controlId,object.columnId);                     
                        }
                        else
                        {
                            ttdd_ho(object,object.attributes.getNamedItem("focusStyleName").value);
                        }
					    break;
				    case Trigger_OnKeyUp:
					    ttipd_keyUpYear(object.attributes.getNamedItem("dateClientID").value);
					    break;
			    }
		    }
		    break;
	    }
	}
	else
	{
        if(trigger == Trigger_OnMouseOver)
        {   
            // Show search  
            ttipd_updateDayOfWeekTitle(object.attributes.getNamedItem("dateClientID").value);               
            //window.status = object.hintText; 
		}
	}
	
}

// Input Date
function InputDateRangeTriggers(trigger, object, event, uiControlType)
{
//
	//Switch on whether day/ month/ year 
	switch(object.attributes.getNamedItem("dmy").value)
	{
		//
		// Day
		case "d":
		{
			//
			//Switch on event type    
			switch(parseInt(trigger))
			{
				case Trigger_OnKeyDown:
					ttTx_kd(object,object.attributes.getNamedItem("uniqueID").value,object.attributes.getNamedItem("shortCutAscii").value);
					break;   
				
			}
		}
		break;
		//
		// Month
		case "m":
		{
			//
			//Switch on event type    
			switch(parseInt(trigger))
			{
				case Trigger_OnKeyDown:
					ttTx_kd(object,object.attributes.getNamedItem("uniqueID").value,object.attributes.getNamedItem("shortCutAscii").value);
					break;   
			}
		}
		break;
		//
		// Year
		case "y":
		{
			//
			//Switch on event type    
			switch(parseInt(trigger))
			{
				case Trigger_OnKeyDown:
					ttTx_kd(object,object.attributes.getNamedItem("uniqueID").value,object.attributes.getNamedItem("shortCutAscii").value);
					break;
			}
		}
		break;
	}
}

// Input Search
function InputSearchTriggers(trigger, object, event, uiControlType) {
    var retVal = true;
	//
    //Switch on event type    
    switch(parseInt(trigger))
    {
        case Trigger_OnClick:
			 //Switch on type of link
			switch(object.linkType)
			{
				case "ss": // showsearch
				    retVal = ttis_ShowSearch(object.javaScriptClientId);
            		break;
            	case "qs": // quicksearch link
				    retVal = ttis_ShowQuickSearch(object.javaScriptClientId);
            		break;	
            	case "sa": // search again
				    ttis_SearchAgain(object.javaScriptClientId);
            		break;	
            	case "rl": // results list box
				    ttis_SelectMouseDown(object, object.javaScriptClientId);
            		break;
            }
            break;            
        case Trigger_OnKeyUp:  
            //Switch on type of link
			switch(object.linkType)
			{  
				case "tx": // text box
					ttis_keyUp(object, object.javaScriptClientId);
					break;
			}
			break;
        case Trigger_OnKeyDown:
             //Switch on type of link
			switch(object.linkType)
			{
				case "ss": // showsearch
					retVal = ttis_ShowSearchKey(object.javaScriptClientId);
					break;
                case "qs": // quicksearch link
				    retVal = ttis_ShowQuickSearchKey(object.javaScriptClientId);
            		break;
            	case "rl": // results list box
				    ttis_SelectKeyDown(object, object.javaScriptClientId);
            		break;	
				case "tx": // text box
					ttis_keyDown(object, object.javaScriptClientId);
					break;
            }                    
            break;
        case Trigger_OnMouseOver:   
			// Show search                 
            window.status = object.hintText; 
            break;
        case Trigger_OnBlur:
			// text box only
			ttis_onBlur(object, object.javaScriptClientId);
			break;
    }

    return retVal;
}

// Input Numeric
function InputNumericTriggers(trigger, object, event, uiControlType)
{
	//
    //Switch on event type    
    switch(parseInt(trigger))
    {
		case Trigger_OnKeyUp:
			ttdd_checkNumeric(object)
			break;
        case Trigger_OnKeyDown:
			// Switch on item that is sending event
			switch(object.linkType)
			{
				case "ol": // operator list
					ttSr_kd(object, object.attributes.getNamedItem("uniqueID").value, event);
					break;
				default:
				    ttTx_kd(object, object.attributes.getNamedItem("uniqueID").value, object.attributes.getNamedItem("shortCutAscii").value, event);
					break;
            }
            break; 
		case Trigger_OnBlur:
			tdd_lo(object,object.attributes.getNamedItem("blurStyleName").value);
			break;   
		case Trigger_OnFocus:
			if(Boolean(parseInt(object.persistPosition)) == true)
            {
                ttdd_HLStd(object,object.attributes.getNamedItem("focusStyleName").value,object.controlId,object.columnId);                     
            }
            else
            {
                ttdd_ho(object,object.attributes.getNamedItem("focusStyleName").value);
            }
			break;           
    }
}

//
// Standard control
//
function ttstd(trigger,object)
{
	//
    //Switch on event type    
    switch(parseInt(trigger))
    {
		case Trigger_OnClick:
			// Switch on item that is sending event
			switch(object.element)
			{
				case "ci": // close image
					ttStandard_hide(object.javaScriptClientId);
					break;
				case "ti": // toggle group image
					ttsearch_toggleSearchGroup(object.clientID, object.group,true);
					break;	
				case "gc": // groups checkbox
					document.getElementById(object.divClientID).style.display=(object.checked)?('block'):('none');
					document.getElementById(object.hidClientID).style.display=(object.checked)?('none'):('block');
					break;						
			}
			break;
		case Trigger_OnChange:
			ttStandard_groupChanged(object, object.javascriptClientId, object.attributes.getNamedItem("uniqueID").value + 'currentGroup');
			break;
    }
}

//
// Client Tab control
//
function tttab(trigger,object)
{
	//
    //Switch on event type    
    switch(parseInt(trigger))
    {
		case Trigger_OnClick:
			ttclientTab_tabClick(object.attributes.getNamedItem("javaScriptClientId").value, object.attributes.getNamedItem("index").value);
			break;
		case Trigger_OnMouseOver:
			window.status=object.toolTip;
			break;	
		case Trigger_OnMouseOut:
			window.status='';
			break;		
    }
}

//
// Client Navigation Menu control
//
function ttmen(trigger,object,event)
{
//
    //Switch on event type    
    switch(parseInt(trigger))
    {
    	case Trigger_OnMouseOver:
    		ttCNM_OnMOver(object, object.javaScriptClientId);
    		break;
		case Trigger_OnMouseOut:
			// Switch on element firing event
			switch(object.element)
			{
				case "tp": // top menu
					ttCNM_TOnMOut(object.javaScriptClientId);
					break;
				default:
					ttCNM_OnMOut(object); 
					break;
			}
			break;		
		case Trigger_OnKeyUp:
			ttCNM_OnKU(object, event, object.javaScriptClientId, object.parentMenuId);
			break;
		case Trigger_OnMouseDown:
			ttCNM_OnMD(object, object.javaScriptClientId, object.parentMenuId);
			break;
		case Trigger_OnFocus:
			ttCNM_OnF(object, object.javaScriptClientId, object.parentMenuId);
			break;
		case Trigger_OnBlur:
			ttCNM_OnB(object, object.javaScriptClientId, object.parentMenuId);
			break;	
	
    }
}
//
//Menu Events
function tttb(trigger,object,event)
{
	//Switch on event type    
    switch(parseInt(trigger))
    {
		case Trigger_OnKeyDown:
			tttb_onkeyDown(object);
			break;
		case Trigger_OnKeyUp:
			tttb_pageClick(object.clientID);
			break; 
		case Trigger_OnMouseOver:		
			window.status=object.mover;		
			break; 
		case Trigger_OnMouseOut:
			window.status='';
			break;
		case Trigger_OnBlur:
			//window.status='';
			break; 
		case Trigger_HREF:		
		{
			object =document.activeElement;
			if(object.clientButton !=null && object.clientButton ==-1)			
			{
				tttb_clientButton(object.clientFunction);
			}
			else			
			{
				try
				{
					eval(object.clientFunction);
				}
				catch(e){}
			}
			return ;
		}
		break; 
    }
    return true;
}

//
// MiniSearch control
//
function ttms(trigger,object,event)
{
	//Switch on event type    
    switch(parseInt(trigger))
    {
		case Trigger_OnClick:
		{
			switch(object.element)
			{
				case "img":
					ttsearch_toggleSearchGroup(object.attributes.getNamedItem("clientID").value,object.attributes.getNamedItem("group").value, true);
					break;
				case "row":
					ttsearch_highlightRow(object.attributes.getNamedItem("clientID").value,object);
					break;
				case "but":
					ttsearch_performSearch(object.attributes.getNamedItem("clientID").value);
					break;	
			}
		} 
		break;
		case Trigger_OnMouseMove:
		{
			ttsearch_tableMouseMove(object.clientID,object, event);
		}
		break;
		case Trigger_OnFocus:
		{
			ttsearch_controlFocus(object.attributes.getNamedItem("clientID").value,object,object.attributes.getNamedItem("currentRow").value,object.attributes.getNamedItem("pos").value);			
		} 
		break;
		case Trigger_OnKeyDown:
		{
			switch(object.element)
			{
				case "but":
					ttsearch_performSearchKeyDown(object.attributes.getNamedItem("clientID").value, event);
					break;
				default:
					ttsearch_keyDown(object.attributes.getNamedItem("clientID").value, event);
					break;
				
			}
		} 
		break;
    }
}


//
// Client Grid control
//
function ttgrd(trigger, object, event) {



    //
    //Switch on event type
    //
    switch (parseInt(trigger)) {
        case Trigger_OnClick:
            // Switch on element firing event
            switch (object.element) {
                case "ci": // Close image
                    ttclientGrid_hideGrid(object.javaScriptClientId);
                    break;
                case "cf": // Client fill down
                    ttclientGrid_ClientFillDown(object.javaScriptClientId);
                    break;
                case "ca": // Cancel button
                    ttclientGrid_CloseEditObject(object.javaScriptClientId);
                    break;
                case "co": // Commit button
                    ttclientGrid_setChanges(object.javaScriptClientId);
                    break;
                case "gi": // Group image
                    ttclientGrid_toggleGroup(object, object.calledId, object.groupIndex);
                    break;
                case "sc": // Sort column header
                    ttclientGrid_sortColumn(object.calledId, object);
                    break;
                case "ro": // Grid Row
                    // Done this way so it works with Client Grid AND Client Grid Light
                    ttclientGrid_state[object.calledId].GridObject.ttclientGrid_onRowMouseClick(object.calledId, object);
                    break;
                case "rs": // Row selector
                    // Done this way so it works with Client Grid AND Client Grid Light
                    ttclientGrid_state[object.calledId].GridObject.ttclientGrid_rowSelectorChanged(object);
                    break;
                case "ce": // Cell
                    ttclientGrid_onCellClick(object.calledId, object);
                    break;
            }
            break;
        case Trigger_OnDblClick:
            // Switch on element firing event
            switch (object.element) {
                case "rn": // Row number
                    ttclientGrid_onRowNumberDblClick(object.calledId, object);
                    break;
                case "ro": // Grid Row
                    ttclientGrid_state[object.calledId].GridObject.ttclientGrid_onRowMouseDblClick(object.calledId, object);
                    break;
                case "gr": // Grouping
                    ttclientGrid_clearGrouping(object.calledId);
                    break;
                case "ce": // Cell
                    ttclientGrid_startInCellEdit(object.calledId, object);
                    break;
            }
            break;
        case Trigger_OnMouseMove:
            // Done this way so it works with Client Grid AND Client Grid Light
            var state = ttclientGrid_state[object.javaScriptClientId];
            if (state.GridObject != null)
                state.GridObject.ttclientGrid_gridFocus();
            break;
        case Trigger_OnMouseLeave:
            ttclientGrid_gridBlur(object.javaScriptClientId);
            break;
        case Trigger_OnKeyDown:
            if (Boolean(parseInt(object.editable)) == true) {
                ttclientGrid_onEditKeyDown(object.calledId);
            }
            else {
                if (ttclientGrid_state[object.calledId].GridObject != null)
                    ttclientGrid_state[object.calledId].GridObject.ttclientGrid_onKeyDown();
            }
        case Trigger_OnMouseDown:
            if (object.element == "mv") // Move
            {
                ttclientGrid_startDrag(object.javaScriptClientId);
            }
            break;
        case Trigger_OnMouseUp:
            if (object.element == "mv") // Move
            {
                ttclientGrid_endDrag(object.javaScriptClientId);
            }
            break;
        case Trigger_OnFocus:
            // find what context the event has been fired from
            var gridState = ttclientGrid_state[object.javaScriptClientId];

            var gridHasFocus = true;
            var tabbedIn = false;
            
            if (gridState != null) {
                gridHasFocus = gridState.GridHasFocus;
            }
            
            if (document.activeElement.id == gridState.ContainerId && gridHasFocus) {
                // click outside grid has taken place as the DIV should never be the active tabstop at the same time as a cell
                gridHasFocus = false;
            }

            if (gridHasFocus) {
                event.cancelBubble = true;
                event.returnValue = false;
            }
            else {
                if (document.readyState == "complete") {
                    if (object != null &&
                        object.javaScriptClientId != null) {

                        if (gridState.GridObject != null) {
                            event.cancelBubble = true;
                            event.returnValue = false;

                            gridState.GridObject.ttclientGrid_onfocusInHandler();
                        }
                    }
                }
            }
            break;
        case Trigger_OnBlur:
            if (object != null && object.javaScriptClientId != null) {
                var gridState = ttclientGrid_state[object.javaScriptClientId];
                if (document.readyState == "complete" && gridState != null) {
                    if (gridState.GridHasFocus) {

                        event.cancelBubble = true;
                        event.returnValue = false;
                        gridState.GridObject.ttclientGrid_onBlurHandler();
                    }
                }
            }
            break;
    }
}

//
// Splitter control
//
function ttspl(trigger,object,event)
{
	//Switch on event type    
    switch(parseInt(trigger))
    {
		case Trigger_OnMouseUp:
			ttsplitter_tableMouseUp(object, object.javaScriptClientId, event);
			break;
		case Trigger_OnMouseMove:
			ttsplitter_tableMouseMove(object, object.javaScriptClientId, event);
			break;	
		case Trigger_OnMouseOver:
			ttsplitter_tableMouseOver(object, object.javaScriptClientId, event);
			break;	
		case Trigger_OnMouseOut:
			ttsplitter_tableMouseOut(object, object.javaScriptClientId, event);
			break;	
		case Trigger_OnMouseDown:
			ttsplitter_tableMouseDown(object, object.javaScriptClientId, event);
			break;				
    }
}


//
// Layout manager control
//
function ttlay(trigger,object,event)
{
//Switch on event type    
    switch(parseInt(trigger))
    {
		case Trigger_OnMouseMove:
			ttlayout_GeneralMouseMove(event);
			break;
		case Trigger_OnMouseDown:
			// Switch on element firing event
			switch(object.element)
			{
				case "mc": // Main context
					ttlayout_MainContextMouseDown();
					break;
				case "s0": // splitter 0
					ttlayout_SelectSplitter(object,0,-99);
					break;	
				case "s1": // splitter 1
					ttlayout_SelectSplitter(object,1,-99);
					break;	
				case "s2": // splitter 2
					ttlayout_SelectSplitter(object,2,-99);
					break;	
				case "s3": // splitter 3
					ttlayout_SelectSplitter(object,3,-99);
					break;
				case "dd": // Drag div
					ttlayout_SelectTarget(object.targetID,false);
					break;	
				case "ri": // Resize image
					selectResize(object,object.targetID);
					break;				
			}
			break;	
		case Trigger_OnMouseUp:
			// Switch on element firing event
			switch(object.element)
			{
				case "sd": // Splitter div
					ttlayout_UnSelectSplitter();
					break;
				case "dd": // Drag div
					ttlayout_UnselectTarget();
					break;
			}
			break;
		case Trigger_OnMouseOver:	
			ttlayout_ClearAutoHideTimer(object.targetID,false);
			break;
		case Trigger_OnMouseOut:
			ttlayout_TargetDivMouseOut(object.targetID,1000);
			break;
		case Trigger_OnClick:
			ttlayout_SetAutoHide(object.targetID);
			break;				
	}
}

//
// Popup Calendar control
//
function ttcal(trigger,object,event)
{
	//Switch on event type    
    switch(parseInt(trigger))
    {
		case Trigger_OnClick:
			// Switch on element firing event
			switch(object.element)
			{
				case "im": // Image
					ttcal_showcalendar(object.clientID, object);
					break;
				case "ci": // Close image
					ttcal_closecalendar(object.clientID);
					break;					
			}
			break;
	}
}

//
// BreadCrumb control
//
function ttbc(trigger,object,event)
{
    switch(parseInt(trigger))
    {
        case Trigger_OnClick:
            ttbreadCrumb_crumbClick(object, object.attributes.getNamedItem("clientID").value);
            break;
    }
}

