/**
 *
 *  $Id: pjtheme.js,v 1.7 2008/03/27 11:54:52 remus Exp $
 *
 *  
 *
 * @author Remus Pereni
 * @module Core
 * Copyright 2006 Nethrom Software
 */

if( typeof Projapi == "undefined") { var Projapi = {}; }


//	
//	
// ------------------------------------ Theme
//
//
/**
 * Standard constructor.
 * @constructor
 * @namespace Projapi
 * @module Theme
 * @class Basic properties for JS base theming
 * @author [RP]
 * @version $Revision: 1.7 $ $Date: 2008/03/27 11:54:52 $
 */	
Projapi.Theme =  { TemplatePath: Projapi.Globals.DEP_PATH +  '/templates/blue_horizon/' }; 

Projapi.Theme.ImageBase = {};

Projapi.Theme.ImageBase.getWithSource = function (src) {
	for(var prop in Projapi.Theme) {
		if( Projapi.Theme.ImageBase[prop] && Projapi.Theme.ImageBase[prop].src == src) return Projapi.Theme.ImageBase[prop];
	}	
};
	
Object.extend(Projapi.Theme, {	

	WindowClassName : "bluelighting",
	
	WindowBlurClassName : "bluelighting",

	BorderHighlight : "#E6EEF7",
	
	BorderShadow : "#86A0C1",
	
	BorderColor : "#8DB2E3",
	
	PanelLabelColor : "#344657",
	
	WindowBackground: "#E4EDF9",
	
	PanelBackground: "transparent",
	
	PanelLightBackground: "#DDECFE",
	
	NoBorderForClass: ['present'],
	
	NoBackgroundForClass: ['present'],
	
	WarningsImageError: Projapi.Theme.TemplatePath + 'images/warn/error.png',
	
	WarningsImageWarning: Projapi.Theme.TemplatePath +  'images/warn/warning.png',
						
	WarningsImageInfo:  Projapi.Theme.TemplatePath + 'images/warn/info.png',
			
	WarningsImageDebug:  Projapi.Theme.TemplatePath + 'images/warn/info.png',
	
	PJNavigationToolbarFirstImage:  Projapi.Theme.TemplatePath +  "images/toolbar/first.png",
	PJNavigationToolbarFirstImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/firstD.png",
	PJNavigationToolbarFirstImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/first.png",
	
	PJNavigationToolbarPrevImage:  Projapi.Theme.TemplatePath +  "images/toolbar/prev.png",
	PJNavigationToolbarPrevImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/prevD.png",
	PJNavigationToolbarPrevImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/prev.png",																			

	PJNavigationToolbarNextImage:  Projapi.Theme.TemplatePath +  "images/toolbar/next.png",
	PJNavigationToolbarNextImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/nextD.png",
	PJNavigationToolbarNextImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/next.png",																			

	PJNavigationToolbarLastImage:  Projapi.Theme.TemplatePath +  "images/toolbar/last.png",
	PJNavigationToolbarLastImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/lastD.png",
	PJNavigationToolbarLastImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/last.png",			

	PJUpdateToolbarAddImage:  Projapi.Theme.TemplatePath +  "images/toolbar/add.png",
	PJUpdateToolbarAddImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/addD.png",
	PJUpdateToolbarAddImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/add.png",

	PJUpdateToolbarCopyImage:  Projapi.Theme.TemplatePath +  "images/toolbar/copy.png",
	PJUpdateToolbarCopyImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/copyD.png",
	PJUpdateToolbarCopyImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/copy.png",

	PJUpdateToolbarUpdateImage:  Projapi.Theme.TemplatePath +  "images/toolbar/update.png",
	PJUpdateToolbarUpdateImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/updateD.png",
	PJUpdateToolbarUpdateImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/update.png",

	PJUpdateToolbarDeleteImage:  Projapi.Theme.TemplatePath +  "images/toolbar/delete.png",
	PJUpdateToolbarDeleteImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/deleteD.png",
	PJUpdateToolbarDeleteImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/delete.png",

	PJUpdateToolbarSaveImage:  Projapi.Theme.TemplatePath +  "images/toolbar/save.png",
	PJUpdateToolbarSaveImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/saveD.png",
	PJUpdateToolbarSaveImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/save.png",

	PJUpdateToolbarResetImage:  Projapi.Theme.TemplatePath +  "images/toolbar/reset.png",
	PJUpdateToolbarResetImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/resetD.png",
	PJUpdateToolbarResetImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/reset.png",

	PJUpdateToolbarCancelImage:  Projapi.Theme.TemplatePath +  "images/toolbar/cancel.png",
	PJUpdateToolbarCancelImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/cancelD.png",
	PJUpdateToolbarCancelImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/cancel.png",
	
	PJSelectImage:   Projapi.Theme.TemplatePath +  "images/toolbar/select.png",
	PJSelectImageHoover:   Projapi.Theme.TemplatePath +  "images/toolbar/select.png",
	PJSelectImageDisabled:   Projapi.Theme.TemplatePath +  "images/toolbar/selectD.png",

	PJDateSelectImage:   Projapi.Theme.TemplatePath +  "images/toolbar/dateSel.gif",
	PJDateSelectImageHoover:   Projapi.Theme.TemplatePath +  "images/toolbar/dateSelH.gif",
	PJDateSelectImageDisabled:   Projapi.Theme.TemplatePath +  "images/toolbar/dateSelD.gif",

	PJExitImage:  Projapi.Theme.TemplatePath +  "images/toolbar/exit.png",
	PJExitImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/exitD.png",
	PJExitImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/exit.png",

	PJFilterImage:  Projapi.Theme.TemplatePath +  "images/toolbar/filter.png",
	PJFilterImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/filterD.png",
	PJFilterImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/filter.png",

	PJCancelImage:  Projapi.Theme.TemplatePath +  "images/toolbar/cross.png",
	PJCancelImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/crossD.png",
	PJCancelImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/cross.png",

	PJOkImage:  Projapi.Theme.TemplatePath +  "images/toolbar/tick.png",
	PJOkImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/tickD.png",
	PJOkImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/tick.png",
	
	PJPrintImage:  Projapi.Theme.TemplatePath +  "images/toolbar/print.png",
	PJPrintImageDisabled:  Projapi.Theme.TemplatePath +  "images/toolbar/printD.png",
	PJPrintImageHoover:  Projapi.Theme.TemplatePath +  "images/toolbar/print.png"

																			
});	


// Preload images
for(var prop in Projapi.Theme) {
	if( prop.indexOf('Image') != -1) {
		Projapi.Theme.ImageBase[prop] = {};
		Projapi.Theme.ImageBase[prop].image = new Image();
		Projapi.Theme.ImageBase[prop].image.src = Projapi.Theme[prop];
		Projapi.Theme.ImageBase[prop].src = Projapi.Theme[prop];
	}
}


if( typeof Windows != 'undefined' && Windows.windows && (Projapi.Theme.WindowBlurClassName || Projapi.Theme.WindowClassName) ) {
	 Windows.windows.each(function(win) {
	 	console.log('Reloading window %o', win);
    	if( Projapi.Theme.WindowClassName) win.options.focusClassName = Projapi.Theme.WindowClassName; 
    	if( Projapi.Theme.WindowBlurClassName ) {
			win.options.blurClassName = Projapi.Theme.WindowBlurClassName;
    		win.changeClassName(Projapi.Theme.WindowBlurClassName)	
		}
  	});
}
	
if( Projapi.Theme.WindowClassName && typeof Windows != 'undefined' && Windows.focusedWindow ) Windows.focusedWindow.changeClassName(Projapi.Theme.WindowClassName);

setTimeout(function() {	// wait for CSS to load before publishing
	if( Projapi.Controller ) Projapi.Controller.publish(this, 'ThemeLoaded');
	
	if( Projapi.Register ) {
		var i, obj;
		for (i = 0; i < Projapi.Register._objectRegister.length; i++)
			if ((obj = Projapi.Register._objectRegister[i]) && (obj._objectType == "SmartWindow") && !obj._objectHidden)
				obj.resize();
	}
}, 200);

