
function createLayer( width, height, layerTitleText, contentUrl ){

if (navigator.appVersion.indexOf("MSIE") != -1){
	  isie = true;	
      version = parseFloat(navigator.appVersion.split("MSIE")[1]);
}
else
{
	isie = false;
}

	if( $('notModalLayer') ){
		// IF exists, removed from the DOM
		$('notModalLayer').dispose();
	}
	if(isie && version < 7 && $('uglyIE6Iframe')){
		$('uglyIE6Iframe').dispose();
	}
	
	else {
			if(isie && version < 7)
			{
				var topOffset = window.getScrollTop() + window.getHeight()/2;
			}
			else
			{
				var topOffset = '50%';
			}	
		
		// Common Styles For Layer And IFrame
		var commonStyles = {
			'width': width,
			'height': height,
			'margin-left': -width/2,
			'margin-top': -height/2,
			'top': topOffset,
			'left': '50%'
		};
		
		var commonStyles1 = {
			'width': width,
			'height': height,
			'margin-left': -width/2,
			'margin-top': -height/2,
			'top': topOffset,
			'left': 513
		};
		
		var layer = new Element('div', {
				'id': 'notModalLayer',
				'class': 'dpLayer',
				'styles': commonStyles
		}).setStyle('z-index','999998').setStyle('position','absolute').inject(document.body);
		
		// Creating the layer itself
		
		/*if( isie && version < 7 ){
			var iframe = new Element('iframe',{
					'id': 'uglyIE6Iframe',
					'styles': commonStyles1
			}).setStyle('position','absolute').setStyle('z-index','999998').inject(document.body);
		}*/
		// Layer header
		var layerHeader = new Element('div', {
				'class': 'notModalLayerHeader'
		}).inject(layer);
		var layerTitle = new Element('h4', {
				'class': 'notModalLayerTitle'
		});
		layerTitle.set('text',layerTitleText);
		layerTitle.inject(layerHeader);
		var layerCloseText = new Element('div', {
				'class': 'notModalLayerCloseText',
				'events': {
					'click': function(){
						// Close and destroy the layer
						layer.destroy();
						//if( isie && version < 7 ){ iframe.dispose(); }
					}
				}
		});
		layerCloseText.set('text','Fermer la Fenêtre');
		layerCloseText.inject(layerHeader);
		
		var layerContent = new Element('div', {
				'id': 'layerAjaxContent',
				'class': 'layerContent'
		});
		layerContent.inject(layer);
		//layerContent.setStyle('position','absolute');
		new Request.HTML({url: contentUrl, update: 'layerAjaxContent',evalScripts :true}).get(); 	
	}
}
function newLayer(job_id)
{
	var url = "evaluationAbusiveEmail.php?job_id="+job_id+"&mode=displayForm";
	var myModalBox = new DevisprestoLayerBox(url,
	{ 
		displayControls: true,
		title: 'Signaler une évaluation abusive',
		buttonName1: 'Signaler cette évaluation'
	});
}
var AppleModalBox = new Class
({
	getOptions: function()
	{
		return 	{
				title: 'Devispresto',
				width: 500,
				height: 400,
				displayControls: false,
				modalBoxId: false,
				buttonName1: 'Enregistrer'
			};
	},
		
        initialize: function(options)
	{
		this.setOptions(this.getOptions(), options);
		this.options.modalBoxId = 'modalBox'+$random(0,1000000);
		this.createLayer();
        },
		
	createLayer: function()
	{
		this.box = new Element('div', 
		{
			'class': 'appleModalBox',
			'id': this.options.modalBoxId,
			'styles': 
			{
				'width': this.options.width+'px',
				'height': this.options.height+'px',
				'margin-left': -(this.options.width/2)+'px',
				'top': '0px',
				'left': '50%',
				'z-index': '800'
			}
		}).inject(document.body);
		
		this.box.setOpacity(0);
		
		this.boxJs = new Element('div', 
		{
			'class': 'appleModalBoxHeader',
			'styles': 
			{
				'display': 'none',
				'width': '0px',
				'height': '0px'
			}
		}).inject(this.box);
			
		this.boxHeader = new Element('div', 
		{
			'class': 'appleModalBoxHeader'
		}).set('html','<span>Modal Box</span>').inject(this.box);
			
		this.boxContent = new Element('div',
		{
			'class': 'appleModalBoxContent'
		}).inject( this.box );
			
		this.boxTitle = new Element('div',
		{
			'class': 'appleModalBoxTitle'
		}).set('text',this.options.title).inject( this.boxContent );
			
		this.boxText = new Element('div',
		{
			'class': 'appleModalBoxText',
			'styles': 
			{
				'max-height': (Window.getSize().y - 120)+'px',
				'overflow-x': 'hidden',
				'overflow-y': 'auto'
			}
		}).inject( this.boxContent );
			
		if( this.options.displayControls )
		{
			this.boxControls = new Element('div',
			{
				'class': 'appleModalBoxControls'
			}).inject( this.boxContent );
			
			this.boxOKButton = new Element('input', 
			{
				'type': 'submit',
				'value': this.options.buttonName1
			}).inject(this.boxControls).addEvent('click', this.okButtonHandler.bindWithEvent( this ));	
		}
			
		this.boxCloseButton = new Element('div',
		{
			'class': 'appleModalBoxCloseButton'
		}).inject( this.box ).addEvent('click', this.closeWindow.bindWithEvent( this ) );
		this.boxCloseButton.set('text','Fermer la Fenêtre');
			
		this.boxFooter = new Element('div',
		{
			'class': 'appleModalBoxFooter'
		}).set('html','<span></span>').inject( this.box );
			
	},
		
	displayAjaxIndicator: function(e)
	{
			
	},
		
	closeWindow: function(e)
	{
		e = new Event(e).stop();
		this.box.dispose();
	},
		
	addAjaxLoader: function()
	{
		this.ajaxLoader = new Element('div').setStyle('text-align','center').set('html','<br /><span style="font-size: 13px;">Patientez</span><br /><img src="../../admin/images/ajax-loader-bar.gif" alt="Loading" /><br /><br />').inject(this.boxText);
	},
		
	removeAjaxLoaderAndFade: function()
	{
		if( $defined(this.ajaxLoader) ) 
			this.ajaxLoader.dispose();
	},
	okButtonHandler: function(e)
	{
			
	}
});

AppleModalBox.implement(new Options);
AppleModalBox.implement(new Events);

/*
Class: DevisprestoLayerBox
	Modal Box To Edit / Create / View Notes
*/

var DevisprestoLayerBox = new Class(
{
	Extends: AppleModalBox,
	initialize: function(targetID,options)
	{
		this.parent(options);
		this.addAjaxLoader();
		this.targetID=targetID;
		var myHTMLRequest = new Request.HTML({ update: this.boxText, onComplete: this.bindBoxEvents.bindWithEvent( this ) }).get(targetID);
		this.box.fade(1);
		return this;
	},
		
	validateAlertForm: function()
	{
		var validate = true;
		if( $defined( this.box.getElement('form') ) )
		{
			this.box.getElement('form').getElements('.validate').each( function(el)
			{
				if( el.getProperty('name') == 'text_comment')
				{ 
					if($('text_comment').get('value')=="")
					{
						var err1 = 1;
					}
					else
					{
						var err1 = 0;
					}
				}
				if(el.getProperty('name') == 'chkbox1' || el.getProperty('name') == 'chkbox2' || el.getProperty('name') == 'chkbox3' || el.getProperty('name') == 'chkbox4')
				{
					if($('chkbox1').checked || $('chkbox2').checked || $('chkbox3').checked || $('chkbox4').checked)
					{
						var err2 = 0;
					}
					else
					{
						var err2 = 1;
					}
				}
				if(err1==1 || err2==1)
				{
					validate = false;
					$('errmsg').set('html','<p id="errMessage">Compléter les champs de réponses</p>');
				}
					
			} , this);
		}
		return validate;
	},
		
	bindBoxEvents: function()
	{
		this.removeAjaxLoaderAndFade();
		this.box.getElement('form').addEvent('submit', this.validateAlertForm.bindWithEvent( this ));
	},
	okButtonHandler: function(e)
	{
		if( $defined(this.box.getElement('form')) )
		{
			this.box.getElement('form').fireEvent('submit');
			if( this.validateAlertForm() )
			{
				this.addAjaxLoader();
				var myHTMLRequest = new Request.HTML({url: this.targetID+"&mode=save", onComplete: this.closeAndReload.bindWithEvent( this ) }).post( this.box.getElement('form') );
			}
		}
	},
	closeAndReload: function(responseTree, responseElements, responseHTML, responseJavaScript)
	{			
		this.removeAjaxLoaderAndFade();				
		this.boxOKButton.dispose();
		this.boxText.set('html','<div id="ajaxResponse">'+responseHTML+'</div>');
	}
});

DevisprestoLayerBox.implement(new Options);
DevisprestoLayerBox.implement(new Events);
