// DIALOGS
// (c) 2006 by klickTel AG, Essen.
// All rights reserved. Unauthorized duplication and use prohibited.

Dialog = Base.extend ({
	
	isOpen:0,
	ppmObject:null,
	divID:null,
	title:'',
	text:'',
	centered:0,
	additionalHTML:'',
	marker:null,
	
	constructor: function (ppmObject) {		
		this.isOpen=0;
		this.divID='';
		this.ppmObject=ppmObject;
	},
	
	close: function()
	{	
		if(this.isOpen == 1) {
			new Effect.Fade($(this.divID), {duration:0.3});
			this.isOpen=0;
		}
	},
	
	
	open: function()
	{
		if(this.isOpen == 0) {
			divID=this.divID;
			divDim = Element.getDimensions($(divID));
			mapDim   = Element.getDimensions(this.ppmObject.parentNode.id);
			leftDim  = Element.getDimensions(this.ppmObject.parentNode.id+'_optionsleiste_links');
			rightDim = Element.getDimensions(this.ppmObject.parentNode.id+'_optionsleiste_rechts');
	
			centerDimWidth = mapDim.width - leftDim.width - rightDim.width;		
			marginLeft = Math.round((centerDimWidth - divDim.width)/2);
	
			newX = leftDim.width + marginLeft - 3;			
			newY = 26;
			
			$(divID).style.position = 'absolute';
			$(divID).style.top = newY+5+'px';
			$(divID).style.left = newX+'px';
			ppmObject=this.ppmObject;
			new Effect.Appear($(this.divID), {duration:0.3, afterFinish:function(){  ppmObject.makeModal(divID); }});	
			this.isOpen=1;
		}
	},
	
	
	set: function(title, text, additionalHTML)
	{
		this.title = title;
		this.text = text;
		if(additionalHTML != null) this.additionalHTML=additionalHTML;
	}
	
});



InfoDialog = Dialog.extend ({
	
	divID:'',
	divCaptionID:'',
	divTextID:'',
		
	construct: function(ppmObject)
	{
		this.base();
	
	},
	
	open: function(title, text)
	{		
		this.divID 		  = ppmObject.parentNode.id+'_InfoDialog';
		this.divTitleID   = ppmObject.parentNode.id+'_InfoDialogTitle';
		this.divTextID 	  = ppmObject.parentNode.id+'_InfoDialogText';
		
		Element.update($(this.divTitleID), title);
		Element.update($(this.divTextID), text);
		this.base();
	},
	
	close: function()
	{
		this.base();
	}
		
});


ConfirmDialogDelete = Dialog.extend ({
	
	construct: function(ppmObject)
	{
		this.base();
		this.divID = ppmObject.parentNode.id+'_ConfirmDialogDelete';
	},
	
	open: function(title, text, ok, cancel)
	{	
		this.divID 		  = ppmObject.parentNode.id+'_ConfirmDialogDelete';
		this.divTitleID   = ppmObject.parentNode.id+'_ConfirmDialogDeleteTitle';
		this.divTextID 	  = ppmObject.parentNode.id+'_ConfirmDialogDeleteText';
		Element.update($(this.divTitleID), title);
		Element.update($(this.divTextID), text);
		$(this.divTitleID).value = title;
		$(this.divTextID).value = text;
		this.base();
	}
});

ConfirmDialogDeleteAll = Dialog.extend ({
	
	construct: function(ppmObject)
	{
		this.base();
		this.divID = ppmObject.parentNode.id+'_ConfirmDialogDeleteAll';
	},
	
	open: function(title, text, ok, cancel)
	{	
		this.divID 		  = ppmObject.parentNode.id+'_ConfirmDialogDeleteAll';
		this.divTitleID   = ppmObject.parentNode.id+'_ConfirmDialogDeleteAllTitle';
		this.divTextID 	  = ppmObject.parentNode.id+'_ConfirmDialogDeleteAllText';
		Element.update($(this.divTitleID), title);
		Element.update($(this.divTextID), text);
		$(this.divTitleID).value = title;
		$(this.divTextID).value = text;
		this.base();
	}
});

ConfirmDialogRouting = Dialog.extend ({
	
	construct: function(ppmObject)
	{
		this.base();
		this.divID = ppmObject.parentNode.id+'_ConfirmDialogRouting';
	},
	
	open: function(title, text)
	{	
		this.divID 		  = ppmObject.parentNode.id+'_ConfirmDialogRouting';
		this.divTitleID   = ppmObject.parentNode.id+'_ConfirmDialogRoutingTitle';
		this.divTextID 	  = ppmObject.parentNode.id+'_ConfirmDialogRoutingText';

		Element.update($(this.divTitleID), title);
		Element.update($(this.divTextID), text);
		$(this.divTitleID).value = title;
		$(this.divTextID).value = text;
		this.base();
	}
});

ConfirmDialogLocationSave = Dialog.extend ({
	
	construct: function(ppmObject)
	{
		this.base();
		this.divID = ppmObject.parentNode.id+'_ConfirmDialogLocationSave';
	},
	
	open: function(title, text)
	{	
		this.divID 		  = ppmObject.parentNode.id+'_ConfirmDialogLocationSave';
		this.divTitleID   = ppmObject.parentNode.id+'_ConfirmDialogLocationSaveTitle';
		this.divTextID 	  = ppmObject.parentNode.id+'_ConfirmDialogLocationSaveText';

		Element.update($(this.divTitleID), title);
		Element.update($(this.divTextID), text);
		$(this.divTitleID).value = title;
		$(this.divTextID).value = text;
		this.base();
	}
});


ConfirmDialogTooManyLocations = Dialog.extend ({
	
	construct: function(ppmObject)
	{
		this.base();
		this.divID = ppmObject.parentNode.id+'_ConfirmDialogTooManyLocations';
	},
	
	open: function(title, text)
	{	
		this.divID 		  = ppmObject.parentNode.id+'_ConfirmDialogTooManyLocations';
		this.divTitleID   = ppmObject.parentNode.id+'_ConfirmDialogTooManyLocationsTitle';
		this.divTextID 	  = ppmObject.parentNode.id+'_ConfirmDialogTooManyLocationsText';

		Element.update($(this.divTitleID), title);
		Element.update($(this.divTextID), text);
		$(this.divTitleID).value = title;
		$(this.divTextID).value = text;
		this.base();
	}
});