/**
 *
 *  $Id: theme.js,v 1.5 2009/02/27 08:50:47 remus Exp $
 *
 *  
 *
 * @author Remus Pereni
 * @module Core
 * Copyright 2006 Nethrom Software
 */

//	
//	
// ------------------------------------ Theme
//
//
/**
 * Standard constructor.
 * @constructor
 * @module Theme
 * @class Basic properties for JS base theming
 * @author [RP]
 * @version $Revision: 1.5 $ $Date: 2009/02/27 08:50:47 $
 */	
Quarix.Theme =  { TemplatePath: Quarix.Globals.DEP_PATH +  '/templates/default/' }; 

Quarix.Theme.ImageBase = {};

Quarix.Theme.ImageBase.getWithSource = function (src) {
	for(var prop in Quarix.Theme) {
		if( Quarix.Theme.ImageBase[prop] && Quarix.Theme.ImageBase[prop].src == src) return Quarix.Theme.ImageBase[prop];
	}	
};
	
Object.extend(Quarix.Theme, {	

	WindowClassName : "alphacube",
   
	WindowBlurClassName : "alphacube",

	BorderHighlight : "#E6EEF7",
	
	BorderShadow : "#86A0C1",
	
	BorderColor : "#8CB1E2",
	
	PanelLabelColor : "#2963E4",
	
	WindowBackground: "#E0DFE3",
	
	PanelBackground: "transparent",
	
	PanelLightBackground: "#DDECFE",
	
	NoBorderForClass: ['present'],
	
	NoBackgroundForClass: ['present'],
	
	WarningsImageError: Quarix.Theme.TemplatePath + 'images/warn/error.png',
	
	WarningsImageWarning: Quarix.Theme.TemplatePath +  'images/warn/warning.png',
						
	WarningsImageInfo:  Quarix.Theme.TemplatePath + 'images/warn/info.png',
			
	WarningsImageDebug:  Quarix.Theme.TemplatePath + 'images/warn/info.png',
	
	PJNavigationToolbarFirstImage:  Quarix.Theme.TemplatePath +  "images/toolbar/first.png",
	PJNavigationToolbarFirstImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/firstD.png",
	PJNavigationToolbarFirstImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/first.png",
	
	PJNavigationToolbarPrevImage:  Quarix.Theme.TemplatePath +  "images/toolbar/prev.png",
	PJNavigationToolbarPrevImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/prevD.png",
	PJNavigationToolbarPrevImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/prev.png",																			

	PJNavigationToolbarNextImage:  Quarix.Theme.TemplatePath +  "images/toolbar/next.png",
	PJNavigationToolbarNextImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/nextD.png",
	PJNavigationToolbarNextImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/next.png",																			

	PJNavigationToolbarLastImage:  Quarix.Theme.TemplatePath +  "images/toolbar/last.png",
	PJNavigationToolbarLastImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/lastD.png",
	PJNavigationToolbarLastImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/last.png",			

	PJUpdateToolbarAddImage:  Quarix.Theme.TemplatePath +  "images/toolbar/add.png",
	PJUpdateToolbarAddImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/addD.png",
	PJUpdateToolbarAddImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/add.png",

	PJUpdateToolbarCopyImage:  Quarix.Theme.TemplatePath +  "images/toolbar/copy.png",
	PJUpdateToolbarCopyImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/copyD.png",
	PJUpdateToolbarCopyImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/copy.png",

	PJUpdateToolbarUpdateImage:  Quarix.Theme.TemplatePath +  "images/toolbar/update.png",
	PJUpdateToolbarUpdateImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/updateD.png",
	PJUpdateToolbarUpdateImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/update.png",

	PJUpdateToolbarDeleteImage:  Quarix.Theme.TemplatePath +  "images/toolbar/delete.png",
	PJUpdateToolbarDeleteImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/deleteD.png",
	PJUpdateToolbarDeleteImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/delete.png",

	PJUpdateToolbarSaveImage:  Quarix.Theme.TemplatePath +  "images/toolbar/save.png",
	PJUpdateToolbarSaveImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/saveD.png",
	PJUpdateToolbarSaveImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/save.png",

	PJUpdateToolbarResetImage:  Quarix.Theme.TemplatePath +  "images/toolbar/reset.png",
	PJUpdateToolbarResetImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/resetD.png",
	PJUpdateToolbarResetImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/reset.png",

	PJUpdateToolbarCancelImage:  Quarix.Theme.TemplatePath +  "images/toolbar/cancel.png",
	PJUpdateToolbarCancelImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/cancelD.png",
	PJUpdateToolbarCancelImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/cancel.png",
	
	PJSelectImage:   Quarix.Theme.TemplatePath +  "images/toolbar/select.png",
	PJSelectImageHoover:   Quarix.Theme.TemplatePath +  "images/toolbar/select.png",
	PJSelectImageDisabled:   Quarix.Theme.TemplatePath +  "images/toolbar/selectD.png",

	PJDateSelectImage:   Quarix.Theme.TemplatePath +  "images/toolbar/dateSel.png",
	PJDateSelectImageHoover:   Quarix.Theme.TemplatePath +  "images/toolbar/dateSel.png",
	PJDateSelectImageDisabled:   Quarix.Theme.TemplatePath +  "images/toolbar/dateSelD.png",

	PJExitImage:  Quarix.Theme.TemplatePath +  "images/toolbar/exit.png",
	PJExitImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/exitD.png",
	PJExitImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/exit.png",

	PJFilterImage:  Quarix.Theme.TemplatePath +  "images/toolbar/filter.png",
	PJFilterImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/filterD.png",
	PJFilterImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/filter.png",

	PJCancelImage:  Quarix.Theme.TemplatePath +  "images/toolbar/cross.png",
	PJCancelImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/crossD.png",
	PJCancelImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/cross.png",
	
	PJCloseImage:  Quarix.Theme.TemplatePath +  "images/closeBtn.gif",
	PJCloseImageDisabled:  Quarix.Theme.TemplatePath +  "images/closeBtnD.gif",
	PJCloseImageHoover:  Quarix.Theme.TemplatePath +  "images/closeBtnH.gif",

	PJOkImage:  Quarix.Theme.TemplatePath +  "images/toolbar/tick.png",
	PJOkImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/tickD.png",
	PJOkImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/tick.png",
	
	PJPrintImage:  Quarix.Theme.TemplatePath +  "images/toolbar/print.png",
	PJPrintImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/printD.png",
	PJPrintImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/print.png",

	PJColapseImage:  Quarix.Theme.TemplatePath +  "images/toolbar/colapse.png",
	PJColapseImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/colapseD.png",
	PJColapseImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/colapse.png",

	PJExpandImage:  Quarix.Theme.TemplatePath +  "images/toolbar/expand.png",
	PJExpandImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/expandD.png",
	PJExpandImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/expand.png",

	PJMaximizeImage:  Quarix.Theme.TemplatePath +  "images/toolbar/maximize.png",
	PJMaximizeImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/maximizeD.png",
	PJMaximizeImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/maximize.png",

	PJMinimizeImage:  Quarix.Theme.TemplatePath +  "images/toolbar/minimize.png",
	PJMinimizeImageDisabled:  Quarix.Theme.TemplatePath +  "images/toolbar/minimizeD.png",
	PJMinimizeImageHoover:  Quarix.Theme.TemplatePath +  "images/toolbar/minimize.png"
																			
});	


// Preload images
for(var prop in Quarix.Theme) {
	if( prop.indexOf('Image') != -1 && prop != 'ImageBase') {
		Quarix.Theme.ImageBase[prop] = {};
		Quarix.Theme.ImageBase[prop].image = new Image();
		Quarix.Theme.ImageBase[prop].image.src = Quarix.Theme[prop];
		Quarix.Theme.ImageBase[prop].src = Quarix.Theme[prop];
	}
}


if( typeof Windows != 'undefined' && Windows.windows && (Quarix.Theme.WindowBlurClassName || Quarix.Theme.WindowClassName) ) {
	 Windows.windows.each(function(win) {
	 	console.log('Reloading window %o', win);
    	if( Quarix.Theme.WindowClassName) win.options.focusClassName = Quarix.Theme.WindowClassName; 
    	if( Quarix.Theme.WindowBlurClassName ) {
			win.options.blurClassName = Quarix.Theme.WindowBlurClassName;
    		win.changeClassName(Quarix.Theme.WindowBlurClassName)	
		}
  	});
}
	
if( Quarix.Theme.WindowClassName && typeof Windows != 'undefined' && Windows.focusedWindow ) Windows.focusedWindow.changeClassName(Quarix.Theme.WindowClassName);

setTimeout(function() {	// wait for CSS to load before publishing
	if( Quarix.EventManager ) Quarix.EventManager.publish(Quarix.EventManager.newEvent(window, 'ThemeLoaded'));
	
	if( Quarix.Register ) {
		var i, obj;
		for (i = 0; i < Quarix.Register._objectRegister.length; i++)
			if ((obj = Quarix.Register._objectRegister[i]) && (obj._objectType == "SmartWindow") && !obj._objectHidden)
				obj.resize(Quarix.EventManager.newEvent(window, 'resize'));
	}
}, 200);

