include_once('/js/sardalya.js');
include_once('/js/functions.js');

var g_Modal = null;


function window_resize(evt) {
	adjustHeight();
}

function adjustHeight() {
	var intWindowHeight	= _.wo().getInnerDimension().getY();
	var intScrollOffsetY	= _.wo().getScrollOffset().getY();
	
	var dynModalBG		= _.dyl('ModalBG');
	var intModalHeight	= dynModalBG.getHeight();

	if(intModalHeight<intWindowHeight)
		dynModalBG.setHeight(intWindowHeight + intScrollOffsetY);
}

function addExtensionsForOpera() {
	var ModalBG = _.o('ModalBG');
	
	if(typeof(window.opera)!='undefined')
		ModalBG.className='modalOpera';
}

function attachOpacityCSS() {
	var opacityCSS	= _.elm('link');
	opacityCSS.type	= 'text/css';
	opacityCSS.rel	= 'stylesheet';
	opacityCSS.href	= '/css/opacity.css';
	
	_.gtn('head')[0].appendChild(opacityCSS);
}


function InitializeModalPopups() {
	_.sweep();

	addExtensionsForOpera();
	attachOpacityCSS();
	
	adjustHeight();
	
	_.chain(window, 'resize', window_resize, false);
	_.chain(window, 'scroll', window_resize, false); //aggiunto da me perchè su ff non ridimensionava/spostava su scroll
	
	g_Modal = new ModalDialog('ModalBG', 'DialogWindow', 'DialogContent', 'DialogActionBtn');
}


function showModalPopUp(url, method, fields)
{
	var ajax = _.ajax();
	
	ajax.oncomplete = function(strResponseText, objResponseXML) {
		_.l('DialogContent').changeContent(strResponseText);
		g_Modal.enableClose();
	};
	
	ajax.onerror = function(intStatus, strStatusText) {
		_.l('DialogContent').changeContent('Errore [' + intStatus + '] [' + strStatusText + '].');
		g_Modal.enableClose();
	}
	
	g_Modal.show('<img src="/images/popups/ico_loading.gif" alt="Caricamento in corso..." />');
	g_Modal.disableClose();
	
	ajax.removeAllFields();
	
	for (var field in fields) {
		ajax.addField(field, fields[field]);
	}
	
	if (method == 'get')
		ajax.get(url)
	else
		ajax.post(url)
	
	disableEventPropagation(e);
}

function changeModalPopUp(url, method, fields) {
	var ajax = _.ajax();
	
	ajax.oncomplete = function(strResponseText, objResponseXML) {
		_.l('DialogContent').changeContent(strResponseText);
		g_Modal.enableClose();
	};
	
	ajax.onerror = function(intStatus, strStatusText) {
		_.l('DialogContent').changeContent('Errore [' + intStatus + '] [' + strStatusText + '].');
		g_Modal.enableClose();
	}
	
	g_Modal.disableClose();
	
	
	ajax.removeAllFields();
	
	for (var field in fields) {
		ajax.addField(field, fields[field]);
	}
	
	if (method == 'get')
		ajax.get(url);
	else
		ajax.post(url);
		
	disableEventPropagation(e);
}

function closeModalPopUp(){
	g_Modal.hide();
}

/***************************************************************************************/
function sendEmail(from, to, subject, textbody, htmlbody) {
	var fields = new Array();
	
	fields['from']	= escape(from);
	fields['to']		= escape(to);
	fields['subject']	= escape(subject);
	fields['textbody']	= escape(textbody);
	fields['htmlbody']	= escape(htmlbody);
	
	showModalPopUp('/ajax.sendmail.asp', 'get', fields);
}

/***************************************************************************************/
function photoGallery(t, p) {
	var ajax = _.ajax();
	
	ajax.oncomplete = function(strResponseText, objResponseXML) {
		var parts = strResponseText.split('|');
		
		_.l('DialogContent').changeContent(parts[0]);
		
		var maxWidth	= parseInt(_.getstyle('pgimg', 'max-width'));
		var maxHeight	= parseInt(_.getstyle('pgimg', 'max-height'));
		var width		= parseInt(parts[1]);
		var height		= parseInt(parts[2]);
		
		if (width>height) {
			if (width>maxWidth) {
				height	= (maxWidth / width) * height;
				width		= maxWidth;
			}
		}
		else {
			if (height>maxHeight) {
				width		= (maxHeight  / height) * width;
				height	= maxHeight;
			}
		}
		
		g_Modal._contentLayer.resizeTo(width, height);
		g_Modal.resizeTo(width + 22, height + 42); //2 perchè l'immagine è bordata
		g_Modal.moveToDeadCentre();
		g_Modal.enableClose();
	};
	
	ajax.onerror	 = function(intStatus, strStatusText) {
		alert('Errore [' + intStatus + '] [' + strStatusText + '].');
	};
	
	g_Modal.show();
	g_Modal.disableClose();
	
	ajax.addField('tipo', t);
	ajax.addField('idfoto', p);
	ajax.get('/ajax.photogallery.asp')
}

/***************************************************************************************/
MyAttachEvent(window, 'load', InitializeModalPopups);