
HaX_Functions=HaX_F={};
HaX_CustomCss = function (url,skin) {this.url = url;this.skin = skin;}
HaX_Config = function ()
{

	this.serialNumber = "HaX_InternalDevelopment_SN_0000001";

	this.amp="&amp;";
	this.and="&";

	/*************************************
	********  BASE CONFIGURATION  ********
	*************************************/
	
	/****		BASE URLS AND PATHS		****/
	this.expBasePath = 'http://www.hax-solutions.de/';
	this.basePath = this.expBasePath + 'res/';
	this.widgetPath = 'widgets/';
	this.baseFolderPath = 'base/';
	this.imagePath = 'images/';						// TODO implement
	this.iconPath = 'images/icons/';				// TODO implement
	/****		BASE URLS AND PATHS		****/
	
	/****		ExP CLIENTSESSION INSTANCE ID		****/
	this.instanceId = '65cd4271ea82e320995029157badc1b7';
	/****		ExP CLIENTSESSION INSTANCE ID		****/

	/****		BASE CONFIG		****/
	this.defaultSkin = this.baseSkin = 'hax';	// the base skin of the application
	this.timerTickrate = 40;						// the tickrate of the global HaX timer in miliseconds
	this.useBrowserHistory = true;
	this.useIELoadingHack=false;					// if set to "true" HaX expects a DOM Node with the ID "HaX_IEHACKELEMENT" as last Node of the DOM Tree
	//this.historyStart = '/index.hax';
	//this.defaultTarget = 'dyncont';
	/****		BASE CONFIG		****/


	/****		DATA TRANSFER		****/
	this.defaultPollTimeout = 5000;					// default Timeout when using a Poller
	/****		DATA TRANSFER		****/


	/****		MOUSE HANDLER CONFIG		****/
	this.validDropCursor = "wait";					// Cursor that shall be used to show that a Potential Drop is Valid
	this.InvalidDropCursor = "default";				// Cursor that shall be used to show that a Potential Drop is InValid
	this.snapBackAnimation = 8;						// Framecount of the SnapBack Animation if Framecount == false || Framecount <= 0 Snap BackAnimation will be disabled
	this.snapBackOpacityDifference = -90;			// how much opacity will be added (for full fadeout: -100) if OpacityDifference == false || OpacityDifference <= 0 Opacity Effect will be disabled
	this.xSnapTolerance=10;							// default X Snap Tolerance (can be overridden for every snapGroup, snapItem and Node)
	this.ySnapTolerance=10;							// default Y Snap Tolerance (can be overridden for every snapGroup, snapItem and Node)
	this.doubleClickDelay = 200;					// (in miliseconds)
	this.holdClickDelay = 2000;						// (in miliseconds)
	this.stopWheelEvent = false;					// if set to "true" the global MouseWheel Events will be globally stopped, else it will bubble up (use only if you know what you are doing)
	/****		MOUSE HANDLER CONFIG		****/


	/****		MISC		****/
	this.useHiddenBodyOverflow = false;				// if set to "true" a overflow hidden css property will be set to the document.body DOM Element
	this.buildDocumentationModeActive = false;
	//this.iconPath = this.basePath = this.expBasePath + '/';
    this.iconPath = "";
	/****		MISC		****/
	 

	/****		BROWSER DEPENDEND CONFIG		****/
	this.useBrowserQuickCheck = false;				// if set to "true" HaX will only be loaded on reliably working Browsers (some Browsers that may work will be excluded!)
    this.kWaitForImages = false;					// Here you can enable "Waiting for Images to load" in KHTML Browsers (Loading may fail due to Image loading Problems, please Test!)
	this.ieWaitForImages = false;					// Here you can enable "Waiting for Images to load" in IE Browsers (Loading may fail due to Image loading Problems, please Test!)
	this.operaWaitForImages = false;				// Here you can enable "Waiting for Images to load" in Opera Browsers (Loading may fail due to Image loading Problems, please Test!)
	this.disableTransparencies = false;				// enable / disable all Transparency Effects
	/****		BROWSER DEPENDEND CONFIG		****/
	 

	/****		AJAX LAYOUT			****/
	// if set to "true" HaX will NOT parse the normal Document, but load a new Document defined by 
	//this.useAjaxLayout = false;
	// if useBog is enabled the HaX loader automatically loads "www.mydomain.de/myPath/myFile.bog"
	this.ajaxLayoutURL = "http://foo.bar.de/foobar";
	this.useAjaxLayout = true;
	this.ajaxLayoutSerializer = ".bog";
	/****		AJAX LAYOUT		****/


	/****		PRELOADING		****/
	this.preloaderImageUrl = "images/loader.jpg";
	this.preloaderTopShift = -1;
	this.preloaderImageWidth =  320; //320;
	this.preloaderImageHeight = 311; //311;
	this.imagesToPreload = ["images/loading.gif"];// define Images for global preloading (images that will be preloaded wenn the framework itself is loaded)
	// define Custom CSS Files that will be loaded with the framework (you can use variables and conditions in files defined here!)
	//this.cssFilesToLoad = [new HaX_CustomCss("css/prepage.css","default")];
  this.cssFilesToLoad = [new HaX_CustomCss("css/hax.css","default")];
	this.hssFilesToLoad = [];
	/****		PRELOADING		****/

	  
	/****		LOADER		****/
	this.loaderImageUrl = "images/loading.gif";
    //this.basePath = this.expBasePath + '/';
	this.loaderImageClass = "loader";
	/****		LOADER		****/


	/****		DYNAMIC CSS		****/
	this.useCssConditions = true;					// check for "if" and "else" conditions and variable definitions in css files
	this.useCssXML = true;							// if true conditions and variables can be used in real xml format
	this.useCssVariables = true;					// replace all placeholders with real values (only useful if use Css Conditions is turned on!)
	/****		DYNAMIC CSS		****/
	

	/****		ENCODING AND ENCRYPTION		****/
	this.useOneFileBase = false;					// load the Base from one big archive file instead of using many little files
	this.useEncryptedBase = false;					// file(s) of base is/are encrypted
	this.useNewEncoding=true;
	this.useEncryptedWidgets = false;
	this.useEncryptedCss = false;
	this.useMultiFileRequests = false;				//TODO use intelligent archive requests, load multiple js and css files in one big request TODO
	/****		ENCODING SECTION		****/
	

	/****		DEBUG SECTION		****/
	this.enableDebug=false;
	this.logMode = 'debug';							// 'disabled','debug'
	this.logRotation = false;						// define the maximum number of logitems kept in the log array or false / 0 / null if rotation shall be turned of
	this.showDebugPanel = false;					// automatically display a debug panel. in the debug panel you can browse all logitems (messages, warnings, errors, xmlhttprequests, domcrawls...)
	this.showLoadingDebugPanel = false;				// show a simple Debug Output while loading (very useful if you got a blocking error before loading is done)
	/****		DEBUG SECTION		****/



	

	/*************************************
	*******  WIDGET CONFIGURATION  *******
	*************************************/
	
	/************ HaX_ToolTip ***********/
	this.toolTip_DefaultSkin = this.baseSkin;
	this.toolTip_ShowTimeout = 2000;					// in ms
	this.toolTip_HideTimeout = 50;						// in ms
	this.toolTip_ShowStyle = 'moving';					// moving - fixed
	this.toolTip_KeepInViewport = false;
	
	/************ HaX_Tree ***********/					// TODO
	this.tree_DefaultSkin = this.baseSkin;
	this.tree_SelectionType = 'SingleNode';
	this.tree_DefaultTabSize = 20;

	/************ HaX_MenuBar ***********/				// TODO
	this.menuBar_DefaultSkin = this.baseSkin;
	this.menuBar_ShowTimeout = 200;
	this.menuBar_HideTimeout = 1000;
	
	/************ HaX_Scroller ***********/
	this.scroller_DefaultSkin = this.baseSkin;			// TODO
	this.scroller_DefaultScrollType = 'default';
	this.scroller_DefaultTimeout = 5000;
	
	/************ HaX_Table ***********/
	this.table_DefaultSkin = this.baseSkin;				// TODO
	this.table_DefaultSortType = 'alphabetic';			// can be 'alphabetic', 'numeric', 'auto'
	
	/************ HaX_TabbedPane ***********/
	this.tabbedPane_DefaultSkin = this.baseSkin;		// TODO
	this.tabbedPane_DefaultHorizontalAlignment='Left';
	this.tabbedPane_DefaultVerticalAlignment='Top';
}
 
