
LIFEWAY.dialog = new function(){
	
	var _PROMPT_OFF = 'true';
	var URL_ADD_PREFERENCE = "/user/addPreference";
	var URL_REMOVE_PREFERENCE = "/user/removePreference";
	var isIE = (navigator.appName == "Microsoft Internet Explorer" || navigator.appName.indexOf("MSIE"));
	var isSafari = (navigator.appVersion.indexOf("Safari") != -1);
	
	return {
		
		turnOffConfirmDialog : function(element) {
			if(element.checked == true) {
				this.hideDeleteConfirmationDialog();
				this._PROMPT_OFF = 'false';
			}
		},
		
		hideDeleteConfirmationDialog : function (dialogId)	 {
			var formVars = "preferenceId=1";
			sendAjaxRequest(URL_ADD_PREFERENCE, 'POST', true, formVars);
		},

		displayConfirmationDialog : function(confirmText, yesResponse, yesParams, noResponse, noParams ){
			var ajp = new AjaxPages();
		   	ajp.load("/confirmDialog.ajp");
		   	var processor = ajp.getProcessor();
		   	var returnedData = processor({
		   			ConfirmText : confirmText,
		   			YesSelect: yesResponse,
		   			YesParams: yesParams,
		   			NoSelect: noResponse,
		   			NoParams: noParams
		   		});
		   	LIFEWAY.dialog.displayDialog(returnedData, "confirmationMessage");
		},
		displayConfigConfirmationDialog : function(confirmText, yesResponse, yesParams, 
					noResponse, noParams, yesButton, noButton ){
			var ajp = new AjaxPages();
		   	ajp.load("/configConfirmDialog.ajp");
		   	var processor = ajp.getProcessor();
		   	var returnedData = processor({
		   			ConfirmText : confirmText,
		   			YesSelect: yesResponse,
		   			YesParams: yesParams,
		   			NoSelect: noResponse,
		   			NoParams: noParams,
		   			YesButton: yesButton,
		   			NoButton: noButton
		   		});
		   	LIFEWAY.dialog.displayDialog(returnedData, "confirmationMessage");
		},
		
		removeConfirmationDialog : function(){
			LIFEWAY.dialog.removeDialog("confirmationMessage");
		},
		
		hideSelects : function(){
		    if (isIE) {
				this.setSelectVisibility('hidden');
			} else if(isSafari) {
				this.setSelectDisplay('');
			}
		},
		
		showSelects : function(){
			if (isIE) {
				this.setSelectVisibility('visible');
			} else if(isSafari) {
				this.setSelectDisplay('block');
			}
		},

		showModalBackground : function(){
		    var page_height = YAHOO.util.Dom.getDocumentHeight();
			var modalDiv = document.createElement('div');
			modalDiv.id = 'modalDiv';
			modalDiv.style.height = page_height + "px";
			document.body.appendChild(modalDiv);
		},
		
		hideModalBackground : function(){
			if($('modalDiv') != null){
				Element.remove('modalDiv');
			}
		},
		
		displayStaticDialog : function(dialogDiv){
		    var scroll_top = YAHOO.util.Dom.getDocumentScrollTop();
			this.hideSelects();
			this.showModalBackground();
			$(dialogDiv).style.top = (scroll_top + 50) + "px";
			Effect.Appear(dialogDiv, { duration: 0.3 });
		},
		
		removeStaticDialog : function(dialogDiv){
			if($(dialogDiv) != null) {
				this.showSelects();
				Effect.Fade(dialogDiv, { duration: 0.3 });
				this.hideModalBackground();
			}
		},
		
		displayDialog : function(html, displayDiv){
		    var scroll_top = YAHOO.util.Dom.getDocumentScrollTop();
		    var page_height = YAHOO.util.Dom.getDocumentHeight();
			
			this.hideSelects();
			
			var div2 = document.createElement('div');
			var div = document.createElement('div');
			div.id = displayDiv + 'Parent';
			div2.id = 'modalDiv';
			div.innerHTML = html;
			div2.style.height = page_height + "px";
			
			document.body.appendChild(div);
			document.body.appendChild(div2);
			if(displayDiv == 'repeatSection' || displayDiv == 'popup') {
				$(div.id).style.top = (scroll_top + 10) + "px";
			} else {
				$(displayDiv).style.top = (scroll_top + 10) + "px";
			}
			Effect.Appear(displayDiv, { duration: 0.3 });
		},
		
		removeDialog : function(displayDiv){
			if($(displayDiv) != null) {
				this.showSelects();
				Effect.Fade(displayDiv, { duration: 0.3 });
				Element.remove(displayDiv + 'Parent');
				Element.remove('modalDiv');
			}
		},
				
		setSelectVisibility : function(value){
			var selects = document.getElementsByTagName('select');
			for (var i = 0; i < selects.length; i++){
				selects[i].style.visibility=value;
			}
		},
		
		setSelectDisplay : function(value){
			var selects = document.getElementsByTagName('select');
			for (var i = 0; i < selects.length; i++){
				selects[i].style.display=value;
			}
		},
		
		removeConfirmationDialog : function(){
			this.removeDialog('confirmationMessage');
		},
		
		isPromptOffValue : function (){
			return _PROMPT_OFF;
		},
		
		setPromptOffValue : function (value) {
			_PROMPT_OFF = value;
		},
				
		displayAjpDialog : function(ajpPage, mappedArray, dialogDiv) {
			var processor = getAjaxProcessor(ajpPage);
			var dialogHtml = processor(mappedArray);
		    LIFEWAY.dialog.displayDialog(dialogHtml, dialogDiv);
		}
		
	};
	
};