	// ===============================================================
	// Global Var
	// ===============================================================
	
	// Edit Handler
	// _______________________________________________________________________
	var EDIT_HANDLER = function(){};	
	EDIT_HANDLER.REF_IS_MODIFIED = false;
	EDIT_HANDLER.HAS_NEWLY_SAVED_DATA = false;
	var PROPERTY_PARENT_ID = 0;
	var PROPERTY_PARENT_DESCRIPTION = "";
	
	
	// Cache
	// _______________________________________________________________________
	var PROPERTY_REC_INVENTORY_ID = -1;
	var PROPERTY_REC_BRANCH_PRODUCTS = [];
	var PROPERTY_EDIT_MODE = false;
	var PROPERTY_EDIT_ROW_INDEX = -1;
	var INPUT_INSTANCE = null;
	
	
	// Buttons [Optional]
	// _______________________________________________________________________
	var PRINT_BBI = null;
	
	
	// Dialog Controls [Optional]
	// _______________________________________________________________________

	
	// DGV Controls
	// _______________________________________________________________________
	var INVENTORY_DGV = null;


	// ===============================================================
	// Initialize Controls
	// ===============================================================     
	function FORM_INITIALIZE()
	{
		// Load Cache Parent Data [Add Redirects if this is a required data.]
		// ...........................................
		if(JSVC_COOKIE.VAR_ISSET("PROPERTY_PARENT_ID_INVENTORY"))
		{
			PROPERTY_PARENT_ID = JSVC_COOKIE.VAR_READ("PROPERTY_PARENT_ID_INVENTORY");
		}	
		else
		{
			//window.location = JSCUS_CACHE.AUTH_REDIRECT_URL[JSCUS_CACHE.LOGIN_CLASS];
			//window.close();
		}
		if(JSVC_COOKIE.VAR_ISSET("PROPERTY_PARENT_DESCRIPTION_INVENTORY"))
		{
			PROPERTY_PARENT_DESCRIPTION = JSVC_COOKIE.VAR_READ("PROPERTY_PARENT_DESCRIPTION_INVENTORY");
			if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("PAGE_PARENT_DESCRIPTION_TXT") == true)
			{
				JSOC_ELEMENT.VAR_VALUE("PAGE_PARENT_DESCRIPTION_TXT", PROPERTY_PARENT_DESCRIPTION);			
			}
			if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("PAGE_PARENT_DESCRIPTION_LBL") == true)
			{
				JSOC_ELEMENT.VAR_VALUE("PAGE_PARENT_DESCRIPTION_LBL", PROPERTY_PARENT_DESCRIPTION);			
			}
			if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("PAGE_TITLE_LBL") == true)
			{
				JSOC_ELEMENT.VAR_VALUE("PAGE_TITLE_LBL", JSOC_ELEMENT.VAR_VALUE("PAGE_TITLE_LBL") + " : " + PROPERTY_PARENT_DESCRIPTION);	
			}
		}	
		else
		{
			//window.location = JSCUS_CACHE.AUTH_REDIRECT_URL[JSCUS_CACHE.LOGIN_CLASS];	
		}
	
		// Restore Cache on reload
		// ...........................................	
		if
		(
			JSVC_COOKIE.VAR_ISSET("PROPERTY_PARENT_ID_INVENTORY") || 
			JSVC_COOKIE.VAR_ISSET("PROPERTY_PARENT_DESCRIPTION_INVENTORY")
		)
		{
			  window.onbeforeunload = function(event)
			  {
					// Get Current Root path
					var CURRENT_ROOT_PATH = JSCUS_CACHE.ROOT_PATH + JSVC_STR.VAR_MID(JSVC_STR.VAR_DLEFT(JSCUS_CACHE.AUTH_REDIRECT_URL[JSCUS_CACHE.LOGIN_CLASS], JSCUS_CACHE.SERVER_URL.length), 1, 1);
				
					// Cache Primary Key
					JSVC_COOKIE.VAR_ADD
					(
						'PROPERTY_PARENT_ID_INVENTORY', 
						PROPERTY_PARENT_ID, 
						5, 
						CURRENT_ROOT_PATH
					);
					
					// Cache Description
					JSVC_COOKIE.VAR_ADD
					(
						'PROPERTY_PARENT_DESCRIPTION_INVENTORY', 
						PROPERTY_PARENT_DESCRIPTION, 
						5, 
						CURRENT_ROOT_PATH
					);
			  };
		}
		
 		// Cache Class Properties
		// ...........................................
		if(JSVC_COOKIE.VAR_ISSET("PROPERTY_REC_INVENTORY_ID"))
		{
			PROPERTY_REC_INVENTORY_ID = JSVC_COOKIE.VAR_READ("PROPERTY_REC_INVENTORY_ID");
		}	
		if(JSVC_COOKIE.VAR_ISSET("PROPERTY_EDIT_MODE"))
		{
			PROPERTY_EDIT_MODE = JSVC_COOKIE.VAR_READ("PROPERTY_REC_INVENTORY_ID");
		}
	
		// Initialize: Modals
		// ...........................................
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("INVENTORY_MODAL") == true)
		// {
		// 	// Display Modal
		// 	JSOC_DIALOG.VAR_MODAL("INVENTORY_MODAL", false);
		// }
				
		// Initialize: Ribbon Buttons [Add Item]
		// ...........................................
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("ADD_BBI"))
		// {
  //   		ADD_BBI = JSOC_ELEMENT.VAR_GET("ADD_BBI");     	
			
		// 	// Add OnClick event [Show Modal]
		// 	if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("INVENTORY_MODAL"))
		// 	{
		// 		ADD_BBI.onclick = 
		// 			function()
		// 			{		
		// 				// Display Modal
		// 				PROPERTY_REC_INVENTORY_ID = FLAG_BIGINT_NULL;
		// 				PROPERTY_EDIT_ROW_INDEX = -1;
						
		// 				if(JSVC_VAR.VAR_ISSET(INPUT_INSTANCE))
		// 				{
		// 					JSOC_WINDOW.VAR_INPUT_INSTANCE_RESTORE(INPUT_INSTANCE);
		// 				}
		// 				EDIT_HANDLER.REF_IS_MODIFIED = false;
		// 				JSOC_DIALOG.VAR_MODAL("INVENTORY_MODAL", true);
		// 			}		
		// 	}
		// 	// Add OnClick event [Show Add/Edit Page]
		// 	else
		// 	{
				
		// 	}
		// }	
		
		// Initialize: Ribbon Buttons [Save Changes]
		// ...........................................
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("SAVE_BBI"))
		// {
  //   		SAVE_BBI = JSOC_ELEMENT.VAR_GET("SAVE_BBI");     
		// 	if(JSVC_VAR.VAR_ISSET(HTTP_SAVE))
		// 	{
		// 		// Prepare Save callback
		// 		var CALLBACK_HANDLER = 
		// 			function(IS_SUCCESS)
		// 			{
		// 				// Abort on failure
		// 				if(IS_SUCCESS == false)
		// 				{
		// 					return;
		// 				}
					
		// 				// Show record saved messageBox
		// 				JSVC_INFO.VAR_RECORD_SAVED('');
		// 			}
				
		// 		// Add OnClick event
		// 		SAVE_BBI.onclick = 
		// 			function()
		// 			{
		// 				HTTP_SAVE(CALLBACK_HANDLER);
		// 			}
		// 	}
		// }
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("CANCEL_BBI"))
		// {
  //   		CANCEL_BBI = JSOC_ELEMENT.VAR_GET("CANCEL_BBI");      		
		// }
		
		// Initialize: Ribbon Buttons [Add Back Link (to parent page)]
		// ...........................................
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("NAVIGATION_BACK_BBI"))
		// {
  //   		NAVIGATION_BACK_BBI = JSOC_ELEMENT.VAR_GET("NAVIGATION_BACK_BBI");  
			
		// 	// Add OnClick event
		// 	NAVIGATION_BACK_BBI.onclick = 
		// 		function()
		// 		{
		// 		}		
		// }
		
		// Initialize: Ribbon Buttons [Add Forward Link (to child page)]
		// ...........................................
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("NAVIGATION_BACK_BBI"))
		// {
  //   		NAVIGATION_BACK_BBI = JSOC_ELEMENT.VAR_GET("NAVIGATION_BACK_BBI");  
			
		// 	// Add OnClick event
		// 	NAVIGATION_BACK_BBI.onclick = 
		// 		function()
		// 		{
		// 		}		
		// }

		// Initialize: Ribbon Buttons [Add Search]
		// ...........................................
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("SEARCH_CMD"))
		// {
		// 	SEARCH_CMD = JSOC_ELEMENT.VAR_GET("SEARCH_CMD");
		// 	SEARCH_CMD.onclick = function(){HTTP_SEARCH()};
		// }		

		// Initialize: Ribbon Buttons [Add Print]
		// ...........................................
		if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("PRINT_BBI"))
		{
			PRINT_BBI = JSOC_ELEMENT.VAR_GET("PRINT_BBI");
			PRINT_BBI.onclick = function()
			{
				HTTP_PRINT_SUMMARY();
			};
		}		
		
		// Initialize: Ribbon Buttons [Add Search]
		// ...........................................
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("EXPORT_BBI"))
		// {
		// 	EXPORT_BBI = JSOC_ELEMENT.VAR_GET("EXPORT_BBI");
		// 	EXPORT_BBI.onclick = function()
		// 	{
		// 		JSRC_EXCEL.REF_EXPORT('INVENTORY_DGV');
		// 	};
		// }		

		// Initialize: Ribbon Buttons [End Shift - Cash breakdown]
		// ...........................................
		if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("SHIFT_END_BBI"))
		{
    		SHIFT_END_BBI = JSOC_ELEMENT.VAR_GET("SHIFT_END_BBI"); 

    		SHIFT_END_BBI.onclick =
    			function()
    			{
    				HTTP_PRINT_CASHBREAKDOWN
    				(
    					function(IS_SUCCESS) 
    					{
    						if(IS_SUCCESS == false)
    						{	
    							return;
    						}
    					}
    				);
    			};
		}

		// Initialize: Ribbon Buttons [End Shift 2]
		// ...........................................
		if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("SHIFT_END_BBI_2"))
		{
    		SHIFT_END_BBI_2 = JSOC_ELEMENT.VAR_GET("SHIFT_END_BBI_2"); 

    		SHIFT_END_BBI_2.onclick =
    			function()
    			{
    				HTTP_END_SHIFT();
    			};
		}

		// Initialize: Ribbon Buttons [X Read]
		// ...........................................
		if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("REPORTS_XREAD_BBI"))
		{
    		REPORTS_XREAD_BBI = JSOC_ELEMENT.VAR_GET("REPORTS_XREAD_BBI"); 

    		REPORTS_XREAD_BBI.onclick =
    			function()
    			{
    				X_READING();
    			};
		}

		
		// Prepare onChange event
		// ...........................................
		var ON_CHANGE_EVENT = '';

		if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("SHIFT_END_MODAL"))
		{
			$('input[id^="CASHBREAKDOWN_"]').on('keyup', function (e) {
				HTTP_CALCULATE_CASH($(this).attr('id'));
			});
		}
		
		
		// Initialize: Input Controls
		// ...........................................
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("REC_INVENTORY_ID_TXT"))
		// {
		// 	REC_INVENTORY_ID_TXT = JSOC_ELEMENT.VAR_GET("REC_INVENTORY_ID_TXT");      
		// 	REC_INVENTORY_ID_TXT.onchange = 
		// 		function()
		// 		{
		// 			if(REC_INVENTORY_ID_TXT.disabled == false)
		// 			{
		// 				EDIT_HANDLER.REF_IS_MODIFIED = true;
		// 			}
		// 		};
		// 	REC_INVENTORY_ID_TXT.onkeypress = function(){REC_INVENTORY_ID_TXT.onchange();};
		// 	REC_INVENTORY_ID_TXT.onpaste = function(){REC_INVENTORY_ID_TXT.onchange();};
		// 	REC_INVENTORY_ID_TXT.oninput = function(){REC_INVENTORY_ID_TXT.onchange();};
		// }
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("REC_INVENTORY_ACC_GROUP_ID_CMB"))
		// {
		// 	REC_INVENTORY_ACC_GROUP_ID_CMB = JSOC_ELEMENT.VAR_GET("REC_INVENTORY_ACC_GROUP_ID_CMB");      	
		// 	REC_INVENTORY_ACC_GROUP_ID_CMB.onchange = 
		// 		function()
		// 		{
		// 			if(REC_INVENTORY_ACC_GROUP_ID_CMB.disabled == false)
		// 			{
		// 				EDIT_HANDLER.REF_IS_MODIFIED = true;
		// 			}
		// 		};
		// 	REC_INVENTORY_ACC_GROUP_ID_CMB.onkeypress = function(){REC_INVENTORY_ACC_GROUP_ID_CMB.onchange();};
		// 	REC_INVENTORY_ACC_GROUP_ID_CMB.onpaste = function(){REC_INVENTORY_ACC_GROUP_ID_CMB.onchange();};
		// 	REC_INVENTORY_ACC_GROUP_ID_CMB.oninput = function(){REC_INVENTORY_ACC_GROUP_ID_CMB.onchange();};							
		// }
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("REC_INVENTORY_CAT_PRODUCT_ID_CMB"))
		// {
		// 	REC_INVENTORY_CAT_PRODUCT_ID_CMB = JSOC_ELEMENT.VAR_GET("REC_INVENTORY_CAT_PRODUCT_ID_CMB");      	
		// 	REC_INVENTORY_CAT_PRODUCT_ID_CMB.onchange = 
		// 		function()
		// 		{
		// 			if(REC_INVENTORY_CAT_PRODUCT_ID_CMB.disabled == false)
		// 			{
		// 				EDIT_HANDLER.REF_IS_MODIFIED = true;
		// 			}
		// 		};
		// 	REC_INVENTORY_CAT_PRODUCT_ID_CMB.onkeypress = function(){REC_INVENTORY_CAT_PRODUCT_ID_CMB.onchange();};
		// 	REC_INVENTORY_CAT_PRODUCT_ID_CMB.onpaste = function(){REC_INVENTORY_CAT_PRODUCT_ID_CMB.onchange();};
		// 	REC_INVENTORY_CAT_PRODUCT_ID_CMB.oninput = function(){REC_INVENTORY_CAT_PRODUCT_ID_CMB.onchange();};							
		// }
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("REC_INVENTORY_CAT_STORAGE_ID_CMB"))
		// {
		// 	REC_INVENTORY_CAT_STORAGE_ID_CMB = JSOC_ELEMENT.VAR_GET("REC_INVENTORY_CAT_STORAGE_ID_CMB");      	
		// 	REC_INVENTORY_CAT_STORAGE_ID_CMB.onchange = 
		// 		function()
		// 		{
		// 			if(REC_INVENTORY_CAT_STORAGE_ID_CMB.disabled == false)
		// 			{
		// 				EDIT_HANDLER.REF_IS_MODIFIED = true;
		// 			}
		// 		};
		// 	REC_INVENTORY_CAT_STORAGE_ID_CMB.onkeypress = function(){REC_INVENTORY_CAT_STORAGE_ID_CMB.onchange();};
		// 	REC_INVENTORY_CAT_STORAGE_ID_CMB.onpaste = function(){REC_INVENTORY_CAT_STORAGE_ID_CMB.onchange();};
		// 	REC_INVENTORY_CAT_STORAGE_ID_CMB.oninput = function(){REC_INVENTORY_CAT_STORAGE_ID_CMB.onchange();};							
		// }

		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB"))
		// {
		// 	SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB = JSOC_ELEMENT.VAR_GET("SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB");      	
		// 	SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB.onchange = 
		// 		function()
		// 		{
		// 			LOAD_SPECIFIC_STORAGELOCATION()
		// 		};
		// 	SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB.onkeypress = function(){SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB.onchange();};
		// 	SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB.onpaste = function(){SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB.onchange();};
		// 	SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB.oninput = function(){SEARCH_REC_INVENTORY_ACC_GROUP_ID_CMB.onchange();};							
		// }

		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("REC_INVENTORY_QUANTITY_TXT"))
		// {
		// 	REC_INVENTORY_QUANTITY_TXT = JSOC_ELEMENT.VAR_GET("REC_INVENTORY_QUANTITY_TXT");      
		// 	REC_INVENTORY_QUANTITY_TXT.onchange = 
		// 		function()
		// 		{
		// 			if(REC_INVENTORY_QUANTITY_TXT.disabled == false)
		// 			{
		// 				EDIT_HANDLER.REF_IS_MODIFIED = true;
		// 			}
		// 		};
		// 	REC_INVENTORY_QUANTITY_TXT.onkeypress = function(){REC_INVENTORY_QUANTITY_TXT.onchange();};
		// 	REC_INVENTORY_QUANTITY_TXT.onpaste = function(){REC_INVENTORY_QUANTITY_TXT.onchange();};
		// 	REC_INVENTORY_QUANTITY_TXT.oninput = function(){REC_INVENTORY_QUANTITY_TXT.onchange();};
		// }
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("REC_INVENTORY_STATUS_CMB"))
		// {
		// 	REC_INVENTORY_STATUS_CMB = JSOC_ELEMENT.VAR_GET("REC_INVENTORY_STATUS_CMB");      	
		// 	REC_INVENTORY_STATUS_CMB.onchange = 
		// 		function()
		// 		{
		// 			if(REC_INVENTORY_STATUS_CMB.disabled == false)
		// 			{
		// 				EDIT_HANDLER.REF_IS_MODIFIED = true;
		// 			}
		// 		};
		// 	REC_INVENTORY_STATUS_CMB.onkeypress = function(){REC_INVENTORY_STATUS_CMB.onchange();};
		// 	REC_INVENTORY_STATUS_CMB.onpaste = function(){REC_INVENTORY_STATUS_CMB.onchange();};
		// 	REC_INVENTORY_STATUS_CMB.oninput = function(){REC_INVENTORY_STATUS_CMB.onchange();};							
		// }
		// if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("PARAM_REC_INVENTORY_ID_FILE_FP"))
		// {
		// 	PARAM_REC_INVENTORY_ID_FILE_FP = JSOC_ELEMENT.VAR_GET("PARAM_REC_INVENTORY_ID_FILE_FP");
		// }

		if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS("device_datetime")) {
			JSOC_ELEMENT.VAR_VALUE("device_datetime", JSVC_DATE.VAR_FORMAT(JSVC_DATE.VAR_NOW(), "MMM DD, YYY hh:mm TT"));
		}
				
		
		// Initialize: Default Settings
		// ...........................................
		// FORM_PREPARE_DEFAULT_SETTINGS();   	
	}