//========
// GLOBAL
//========
var SlideList = {}; // -> <idObject_1>: image[{didascalia: ..., url: ...}, ..., {didascalia: ..., url: ...}]}
var Player1 = new CPlayer("Player1");
Player1.width = 550;
Player1.height = 432;


//===========
// PATCH LINK
//===========
window.onload = function OnLoad() { PatchLink(); Init(); }
function Init(){}
function PatchLink()
{
	for (var i=0; i<document.links.length; i++)
	{
		// Link verso documenti e/o pubblicazioni editati da backoffice e link speciali (immagine, fotogallery, stampa)
        if (document.links[i].className.search("target_open") >= 0)
        {
        	document.links[i].href = 'javascript:OpenLink("'+ document.links[i].href +'", '+ (document.links[i].className.search("target_self") >= 0) +')';
        	continue;
        }

		// Attributo target specificato in className per compatibilità XHTML
        if (document.links[i].className.search("target_blank") >= 0)
			document.links[i].target="_blank";

		// SVILUPPO
		var serverName = document.location.hostname.toLowerCase();
		if (serverName == "levonb" || serverName == "serverknos")
		{
			document.links[i].href = document.links[i].href.replace("www.nordovestimprese.net", serverName+":8121");
			document.links[i].href = document.links[i].href.replace("www.confapialessandria.net", serverName+":8122");
			document.links[i].href = document.links[i].href.replace("www.confapiasti.net", serverName+":8123");
			document.links[i].href = document.links[i].href.replace("www.confapiliguria.net", serverName+":8124");
			document.links[i].href = document.links[i].href.replace("www.confapipiacenza.net", serverName+":8125");
		}
		else if (serverName.indexOf(".demo.selfip.biz") > 0)
		{
			document.links[i].href = document.links[i].href.replace("www.nordovestimprese.net", "nordovestimprese.demo.selfip.biz");
			document.links[i].href = document.links[i].href.replace("www.confapialessandria.net", "confapialessandria.demo.selfip.biz");
			document.links[i].href = document.links[i].href.replace("www.confapiasti.net", "confapiasti.demo.selfip.biz");
			document.links[i].href = document.links[i].href.replace("www.confapiliguria.net", "confapiliguria.demo.selfip.biz");
			document.links[i].href = document.links[i].href.replace("www.confapipiacenza.net", "confapipiacenza.demo.selfip.biz");
		}
	}
}


//===========
// OPEN POPUP
//===========
// Remapping per l'apertura di link di tipo target_open
function OpenLink(arg, bSelf)
{
	if (bSelf==null) bSelf = true;

	var name = "_blank";
	try	{ queryString = arg.split("?")[1] }	catch(e) { queryString = "_blank" }

	// Default features senza menu e barra di stato
	var features = "width=800, height=500, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, titlebar=yes";

	// Specific features
	if (arg.search("OpenGallery.asp") >= 0)
	{
		// Galleria di immagini
	}
	else if (arg.search("OpenImage.asp") >= 0)
	{
		// Singola immagine
	}
	else if (arg.search("OpenObject.asp") >= 0)
	{
		// Singola pubblicazione
		if (bSelf)
		{
			// Apertura nella finestra corrente
			document.location = arg;
			return;
		}
	}
	else if (arg.search("OpenDoc.asp") >= 0)
	{
		// Allegato
	}
	else
	{
		// Redirezione con arg inalterato, tipicamente utilizzata per la versione stampabile
		features = "width=800, height=600, location=yes, menubar=no, resizable=yes, scrollbars=yes, status=yes, titlebar=yes";
	}

	// Le aperture in popup sono segnalate con parametro sulla query
	window.open(arg +"&popup=1", name, features).focus();
}


//==================
// CALENDAR FUNCTION
//==================

function DoCalendarRefresh(idCalendar, urlPattern)
{
	var month = document.getElementById(idCalendar +"_SELECT_Month").value;
	var year = document.getElementById(idCalendar +"_SELECT_Year").value;
	var url = urlPattern.replace("_event_", 2);
	var url = url.replace("_month_", month);
	var url = url.replace("_year_", year);
	window.document.location = url;
}


//=======
// LOGIN
//=======
function DoLogin(formName)
{
	// LoginForm
	var form = document.getElementById(formName);

	// Check autologin
	if (form.Subject.value == form.InputUtente.value && form.InputPassword.value == ")auto(")
	{
		document.location = form.UrlSuccess.value;
		return;
	}

	// Utente
	var ss = "";
	var subject = Trim(form.InputUtente.value).toLowerCase();
	if ( subject == "" )
	{
		window.alert("Utente obbligatorio");
		FormLogin.InputUtente.focus();
		return false;
	}
	if (subject.charAt(0) == '$')
	{
		ss = subject.charAt(0);
		subject = subject.substr(1);
	}
	form.Subject.value = subject;
	form.SubjectEncoded.value = ss+UCN(subject);

	// Password
	var password = Trim(form.InputPassword.value).toLowerCase();

	// IpAddress
	var ip = Trim(form.IpAddress.value);

	// Ticket
	var ticket = Trim(form.Ticket.value);
	form.Ticket.value = ticket;

	// Digest
	var key = subject + password;
	key = SHA1EsaDigest(key, key.length);
	fullMsg = subject + ip + key + ticket;
	var digest = SHA1EsaDigest(fullMsg, fullMsg.length);
	form.Digest.value = digest;

	form.submit();
}


//================
// Gestione schede
//================
function ReferenzeMenuOver(idObject, list)
{
	for (var i=0; i<list.length; i++)
	{
		var target = document.getElementById("Logo_IMG_"+list[i]);
		if (target != null)
			target.className = target.className.replace(/-out/, "-over");
	}
}
function ReferenzeMenuOut()
{
	var list = document.getElementsByName("Logo_A");
	for (var i=0; i<list.length; i++)
	{
		var target = document.getElementById(list[i].id.replace(/_A_/, "_IMG_"));
		target.className = target.className.replace(/-over/, "-out");
		list[i].className = list[i].className.replace(/-selected/, "-normal");
	}
}
function ReferenzeLogoOver(idMenu, idLogo)
{
	var target = document.getElementById("Menu_A_"+idMenu);
	if (target != null)
		target.className = target.className.replace(/-out/, "-over");
	target = document.getElementById("Logo_IMG_"+idLogo);
	target.className = target.className.replace(/-out/, "-over");
}
function ReferenzeLogoOut()
{
	var list = document.getElementsByName("Menu_A");
	for (var i=0; i<list.length; i++)
		list[i].className = list[i].className.replace(/-over/, "-out");
	ReferenzeMenuOut();
}



//================
// Form Invio dati
//================
function ContattiCheck()
{
	var target;
	var inputObbligatori = ["Nome", "Cognome", "Azienda", "FunzioneAziendale", "Indirizzo", "Citta", "Telefono", "Mail"];
	for (var i=0; i<inputObbligatori.length; i++)
	{
		target = document.getElementById(inputObbligatori[i]);
		if (target != null && target.value == "")
		{
			window.alert("Campo obbligatorio");
			target.focus();
			return false;
		}
	}
	target = document.getElementById("PrivacyCheck");
	if (target != null && !target.checked)
	{
		window.alert("E' necessaria l'autorizzazione al trattamento dei dati per completare la procedura di contatto");
		target.focus();
		return false;
	}
	return true;
}



function SelectNazioniPopup(select)
{
	var idAttrValue = ParseInt(select.value, 0);
	var features = "width=550, height=500, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, titlebar=yes";
	if (idAttrValue > 0)
		window.open("PopupReference.asp?IdAttrValue="+ idAttrValue, "SelectNazioniPopup", features).focus();
}


//============
// ANIMAZIONI
//============
function SlideShow(idContainer, idObject)
{

	var container = document.getElementById(idContainer);
	var maxPagedElements = 9;

	if (SlideList[idObject].current == null)
	{
		SlideList[idObject].current = 0;
		SlideList[idObject].offset = 0;
		SlideList[idObject].maxPagedElements = maxPagedElements;

		var cnt = 0;

		for (var i in SlideList[idObject].image)
			if (!isNaN(i))
				cnt = cnt < parseInt(i) ? parseInt(i): cnt;


		SlideList[idObject].image.length = (cnt+1);
	}


	var HTML = new CString();
	HTML.append(
	'<table class="SlideShow-TABLE" cellspacing="0" cellpadding="0" border="0"><tr> \
	<td class="SlideShow-TD-Image" rowspan="2"><div id="SlideShow_DIV" class="SlideShow-DIV"><img id="SlideShow_IMG" class="SlideShow-IMG" src="#"/></div></td> \
	<td class="SlideShow-TD-Top"> \
		<div class="SlideShow-DIV-Titolo">'+ SlideList[idObject].titolo +'</div> \
		<div class="SlideShow-DIV-Sommario">'+ SlideList[idObject].sommario +'</div> \
	</td></tr><tr> \
	<td class="SlideShow-TD-List"><div id="SlideShow_DIV_List" class="SlideShow-DIV-List">');
	var selected = "-selected";

	var numElements = SlideList[idObject].image.length;

	var startOffset = SlideList[idObject].offset;
	var lastElement = startOffset + maxPagedElements;
	var current = SlideList[idObject].current;

	for (var i = 0; i < Math.min(maxPagedElements, numElements); i++)
	{
		if (i == current)
			selected = "-selected";
		else
			selected = "-normal";

		HTML.append('<div id="SlideShow_DIV_Item_' + i + '" class="SlideShow-DIV-Item' + selected + '">' + SlideList[idObject].image[i + startOffset].didascalia + '</div>');
	}

	var desc = SlideList[idObject].image.length > 0 ? SlideList[idObject].image[startOffset+current].fileDescr : "&nbsp;";

	HTML.append(
	'</div></td></tr><tr> \
	<td id="SlideShow_TD_Description" class="SlideShow-TD-Description">' + desc + '</td> \
	<td class="SlideShow-TD-Button"> \
		<img class="SlideShow-IMG-Button" src="/img/SlideUp.gif" onclick="SlideNext(\'' + idContainer + '\',' + idObject +', -1)" /> \
		<img class="SlideShow-IMG-Button" src="/img/SlideDown.gif" onclick="SlideNext(\'' + idContainer + '\',' + idObject +', +1)"/> \
	</td></tr></table>');
	container.innerHTML = HTML.toString();
	document.getElementById("SlideShow_IMG").src = SlideList[idObject].image[startOffset + current].url;

}

function SlideNext(idContainer, idObject, inc)
{

	var i = SlideList[idObject].current;

	switch (inc)
	{
	case -1:
		if ((SlideList[idObject].current + SlideList[idObject].offset) > 0)
		{
			if (SlideList[idObject].current > 0)
				SlideList[idObject].current--;
			else
				SlideList[idObject].offset--;
		}
		break;
	case 1:
		if ((SlideList[idObject].current + SlideList[idObject].offset) < SlideList[idObject].image.length)
		{
			if (SlideList[idObject].current < SlideList[idObject].maxPagedElements - 1)
				SlideList[idObject].current++;
			else
				SlideList[idObject].offset++;
		}
		break;

	}


	SlideShow(idContainer, idObject);

}

/*
function SlideShow(idContainer, idObject)
{
	var container = document.getElementById(idContainer);
	SlideList[idObject].current = 0;
	var HTML = new CString();
	HTML.append(
	'<table class="SlideShow-TABLE" cellspacing="0" cellpadding="0" border="0"><tr> \
	<td class="SlideShow-TD-Image" rowspan="2"><div id="SlideShow_DIV" class="SlideShow-DIV"><img id="SlideShow_IMG" class="SlideShow-IMG" src="#"/></div></td> \
	<td class="SlideShow-TD-Top"> \
		<div class="SlideShow-DIV-Titolo">'+ SlideList[idObject].titolo +'</div> \
		<div class="SlideShow-DIV-Sommario">'+ SlideList[idObject].sommario +'</div> \
	</td></tr><tr> \
	<td class="SlideShow-TD-List"><div id="SlideShow_DIV_List" class="SlideShow-DIV-List">');
	var selected = "-selected";
	for (var i in SlideList[idObject].image)
	{
		if (i > 0)
			selected = "-normal";
		HTML.append('<div id="SlideShow_DIV_Item_'+ i +'" class="SlideShow-DIV-Item'+ selected +'">'+ SlideList[idObject].image[i].didascalia +'</div>');
	}
	var desc = SlideList[idObject].image.lenght > 0 ? SlideList[idObject].image[0].fileDescr : "&nbsp;";

	HTML.append(
	'</div></td></tr><tr> \
	<td id="SlideShow_TD_Description" class="SlideShow-TD-Description">' + desc + '</td> \
	<td class="SlideShow-TD-Button"> \
		<img class="SlideShow-IMG-Button" src="/img/SlideUp.gif" onclick="SlideNext('+ idObject +', -1)" /> \
		<img class="SlideShow-IMG-Button" src="/img/SlideDown.gif" onclick="SlideNext('+ idObject +', +1)"/> \
	</td></tr></table>');
	container.innerHTML = HTML.toString();
	SlideNext(idObject, 0);
}

function SlideNext(idObject, inc)
{
	var i = SlideList[idObject].current;
	var listContainer = document.getElementById("SlideShow_DIV_List");
	var curr = document.getElementById("SlideShow_DIV_Item_"+ i);
	i += inc;
	if (i<0)
		i = 0;
	if (i >= SlideList[idObject].image.length)
		i = SlideList[idObject].image.length-1;
	if (document.getElementById("SlideShow_DIV_Item_"+ i) == null)
		i--;
	var next = document.getElementById("SlideShow_DIV_Item_"+ i);
	SlideList[idObject].current = i;

	document.getElementById("SlideShow_IMG").src = SlideList[idObject].image[i].url;
	//BestFit(document.getElementById("SlideShow_DIV"), document.getElementById("SlideShow_IMG"));
	document.getElementById("SlideShow_TD_Description").innerHTML = SlideList[idObject].image[i].fileDescr;

	curr.className = curr.className.replace("-selected", "-normal");
	next.className = next.className.replace("-normal", "-selected");

	var topClip = next.offsetTop - listContainer.scrollTop;
	var bottomClip = next.offsetTop + next.offsetHeight - listContainer.scrollTop - listContainer.offsetHeight;
	if (topClip < 0)
		listContainer.scrollTop = next.offsetTop;
	else if (bottomClip > 0)
		listContainer.scrollTop += bottomClip;

}

*/

function BestFit(container_id, item_id)
{
	var container = typeof(container_id) == "string" ? document.getElementById(container_id) : container_id;
	var item = typeof(item_id) == "string" ? document.getElementById(item_id) : item_id;

	var w = container.scrollWidth;
	var h = container.scrollHeight;
	var scrollRatio = container.scrollWidth / container.scrollHeight;
	var offsetRatio = container.offsetWidth / container.offsetHeight;
	if (scrollRatio > offsetRatio)
	{
		if (item.width > container.offsetWidth)
			item.width = container.offsetWidth;
	}
	else
	{
		if (item.height > container.offsetHeight)
			item.height = container.offsetHeight;
	}
}

var documentList = {}; // hashmap di lista documenti
var currentRow;
var currentIdObject = "";

function addDocItem(idObject, textData, imgUrl)
{
    if (documentList["" + idObject] == null) documentList["" + idObject] = [];
    documentList["" + idObject].push({textData: textData, imgUrl:imgUrl});
}

function doOnMouseOver(index, status)
{
    document.getElementById('slider-divrow_' + index).className = 'Slider-DIV-slidertext-' + (status ? "over": currentRow == index ? "highlight" : "normal");
}


function doImpaginate(id, idObject)
{
    currentIdObject = "" + idObject;
    currentRow = null;


    var div = document.getElementById(id);
    var doc = documentList[idObject];
    var HTML = '';
    for (var i in doc)
    {
        HTML += '<div id="slider-divrow_' + i + '" onclick="doChangeImage(' + i + ')" onmouseover="doOnMouseOver(' + i + ', true)" onmouseout="doOnMouseOver(' + i + ', false)" >' + doc[i].textData + '</div>';
    }

    div.innerHTML = HTML;
    doChangeImage(0);
}


function doChangeImage(index)
{
    var suffix = 'normal';
    if (currentRow != null)
        document.getElementById('slider-divrow_' + currentRow).className = 'Slider-DIV-slidertext-' + suffix;
    suffix = 'highlight';
    document.getElementById('slider-divrow_' + index).className = 'Slider-DIV-slidertext-' + suffix;
    document.getElementById('sliderimage-img').src = documentList[currentIdObject][index].imgUrl;
    currentRow = index;
}

function DoPrintListaAssociati(params)
{
	var features = "width=800, height=500, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, titlebar=yes";
	var name="_blank";
	window.open(params, name, features).focus();
}

function linkPrintStatus(enabled)
{

	var d = document.getElementById('linkprint');

	if (d!=null)
		d.style.display = enabled ? 'inline': 'none';
}

function SearchSubmit(action)
{

	var target = document.getElementById("SearchForm");
	if (!IsEmpty(action))
		target.action = action;

	var searchNumero = document.getElementById("Search_Numero");

	if (searchNumero != null)
	{
		var value = searchNumero.value;
		if (isNaN(value))
		{
			alert("Indicare un numero maggiore di zero");
			searchNumero.focus();
			return false;
		}

	}


	target.submit();
}

function mailSend(group)
{

	var subject = "";
	var body = "";
	switch (group)
	{
	case 0:
		subject = "Richiesta - Assistenza";
		body = "Azienda:" + document.getElementById('Assistenza_NomeAzienda').value + '\r\n' +
			   "EMail:" + document.getElementById('Assistenza_EMail').value + '\r\n' +
			   "Telefono:" + document.getElementById('Assistenza_Telefono').value + '\r\n' +
			   "Argomento:" + document.getElementById('Assistenza_Argomento').value + '\r\n' +
			   document.getElementById('Assistenza_Testo').value;
		break;
	case 1:
		subject = "Richiesta - Incontro";

		var date = document.getElementById('BtnSelDate_D').value + '/' + document.getElementById('BtnSelDate_M').value + '/' + document.getElementById('BtnSelDate_Y').value;
		if (date == "//") date="";
		body = "Azienda:" + document.getElementById('Assistenza_NomeAzienda2').value + '\r\n' +
			   "EMail:" + document.getElementById('Assistenza_EMail2').value + '\r\n' +
			   "Telefono:" + document.getElementById('Assistenza_Telefono2').value + '\r\n' +
			   "Persona da incontrare:" + document.getElementById('Assistenza_Persona2').value + '\r\n' +
			   "Data:" + date + '\r\n' +
			   "Sede:" + document.getElementById('Assistenza_Sede2').value + '\r\n' +
			   document.getElementById('Assistenza_Testo2').value;

		break;
	}

	document.location.href = "mailto:info@nordovestimprese.net?subject=" + subject + '&body=' + escape(body);
}

function SearchAssociati(baseUrl, v)
{
	var queryString = ['&pr=', '&att='];
	for (var i = 1; i < 3; i++)
	{
		if (document.getElementById('Associati_RadioOpt' + i).checked)
			document.location = baseUrl + queryString[i - 1] + v[i - 1];
	}
}