﻿// File JScript

function eCom_Viste_Browse(ObjDivColonnaVista, MultiSelect) {
	var listaIdAttivi = '';
	var cont1, cont2, obj1, obj2, vett1, str1, str2;
	var idVistaFiglia, objUrl;
	var esciFor;
	//Ottengo il valore ID della vista da aprire
	idVistaFiglia = '';
	str1 = '';
	esciFor = false;
	for (cont1 in ObjDivColonnaVista.childNodes) {
		obj1 = ObjDivColonnaVista.childNodes[cont1];
		if (obj1.tagName == 'DIV') {
			for (cont2 in obj1.childNodes) {
				obj2 = obj1.childNodes[cont2];
				if (obj2.tagName == 'INPUT' && (obj2.type == 'checkbox' || obj2.type == 'radio')) {
					if (obj2.checked) {
						str2 = obj2.id.split('_')		//Formato così: "ChkVista_<idVista>_<idNodo>"
						vett1 = str2[2].split(eCom_Viste_Config.IDStructure.idSepC);		//Formato così: "<idConfig>:<idSogOpz>"
						if (!idVistaFiglia) idVistaFiglia = str2[1] + eCom_Viste_Config.IDStructure.idSepV + vett1[0];
						if (vett1[1] == '' || vett1[1] == '0') {
							str1 = '*';
							esciFor = true;
						} else {
							str1 += eCom_Viste_Config.IDStructure.idSepS + vett1[1];
						}
						if (!MultiSelect) esciFor = true;
					}
				}
				if (esciFor) break;
			}
		}
		if (esciFor) break;
	}
	if (idVistaFiglia) {
		idVistaFiglia += eCom_Viste_Config.IDStructure.idSepC + str1.substr(1);
		switch (1) {
			case 0:
				objUrl = new UrlParserClass(window.location.href);
				str1 = objUrl.GetPartialUrl(true, true, true, true);
				
				str1 = SetUrlParam(str1, 'ID', idVistaFiglia);
				str2 = objUrl.GetParameter('FilterType', true);	if (str2) str1 = SetUrlParam(str1, 'FilterType', str2);
				str2 = objUrl.GetParameter('Filter', true);		if (str2) str1 = SetUrlParam(str1, 'Filter', str2);
				window.location = str1;
				break;
			case 1:
				findObj('TxhArtic_IDVista').value = idVistaFiglia;
				findObj('FrmPrinc').action = 'index.asp';
				findObj('FrmPrinc').submit();
				break;
		}
	}
}

function Articoli_FindGeneric_Initialize(IDVista, IDCombo) {
	var objDiv = findObj('DivColonnaVista_' + IDVista);
	var objCbo = window.HtmlPlus_ComboBoxColl[IDCombo];
	var objTxh = findObj('TxhColVista' + IDVista + '_Find');
	objCbo.__eCom_Articoli_objDiv = objDiv;
	objCbo.OnResult = Articoli_FindGeneric_OnResult;
	if (objTxh.value) {
		objCbo._runSearch(objTxh.value);
	}
}
function Articoli_FindGeneric_OnResult(ComboBox, ItemsColl) {
	var objDiv = ComboBox.__eCom_Articoli_objDiv;
	var cont1, cont2, objDivItem, objInput, idNodo;
	var fncCercaItem = function(ItemsColl, IDNodo) {
		var cont1, fReturn;
		fReturn = -1;
		for (cont1 = 0; cont1 < ItemsColl.length; cont1++) {
			if (ItemsColl[cont1].id == IDNodo) {
				fReturn = cont1;
				break;
			}
		}
		return fReturn;
	}
	for (cont1 in objDiv.childNodes) {
		objDivItem = objDiv.childNodes[cont1];
		if (objDivItem.tagName == 'DIV') {
			for (cont2 in objDivItem.childNodes) {
				objInput = objDivItem.childNodes[cont2];
				if (objInput.tagName == 'INPUT' && (objInput.type == 'checkbox' || objInput.type == 'radio')) {
					idNodo = objInput.id.split('_')[2];
					if (!ItemsColl || fncCercaItem(ItemsColl, idNodo) > -1) {
						objDivItem.style.display = 'block';
					} else {
						objDivItem.style.display = 'none';
						objInput.checked = false;
					}
				}
			}
		}
	}
}


function Articoli_ListPage_PageNavigator_Goto(PageNumber) {
	findObj('TxhArtic_CurrPage').value = PageNumber;
	findObj('FrmPrinc').submit();
}
/*function Articoli_PageNavigator_Goto(PageNumber) {
	var str1;
	str1 = R + 'Articoli/Lista.asp';
	str1 += '?IDVista=' + CStrUrlParam(findObj('TxhArtic_IDVista').value);
	str1 += '&IDFilter=' + CStrUrlParam(findObj('TxhArtic_IDFilter').value);
	str1 += '&Page=' + CStrUrlParam(PageNumber);
	window.location = str1;
}*/

function Articoli_ListPage_SetOrderBy(NewValue) {
	findObj('TxhArtic_Lista_Order').value = NewValue;
	findObj('TxhArtic_CurrPage').value = '';
	findObj('FrmPrinc').submit();
}
function Articoli_ListPage_SetLayoutStyle(NewValue) {
	findObj('TxhArtic_Lista_Layout').value = NewValue;
	findObj('TxhArtic_CurrPage').value = '';
	findObj('FrmPrinc').submit();
}
function Articoli_ListPage_FiltroText__onClick() {
	findObj('FrmPrinc').submit();
}




function Articoli_ShowAdvancedFilter(IDVista, IDAdvancedFilter) {
	Articoli_ShowAdvancedFilter_ConDiv(IDVista, IDAdvancedFilter);
}

function Articoli_ShowAdvancedFilter_ConDiv(IDVista, IDAdvancedFilter) {
	var objDivFiltro = findObj('DivListaArticoli_Top2_Filtro');
	if (objDivFiltro) {
		if (objDivFiltro.style.display == 'none') {
			objDivFiltro.style.display = 'block';
		} else {
			objDivFiltro.style.display = 'none';
		}
	}
}

function Articoli_ShowAdvancedFilter_ConPopup(IDVista, IDAdvancedFilter) {
	var objPopUp;
	var idObj = 'Articoli_ShowAdvancedFilter';
	var collArg = new Array();
	var cont1;
	var parametri;
	
	parametri = '';
	collArg['IDVista'] = IDVista;
	collArg['IDFilter'] = IDAdvancedFilter;
	collArg['SelectedFilters'] = findObj('TxhArtic_Lista_FilAdv_Selected').value;
	if (window.HtmlPlus_PopupColl) objPopUp = HtmlPlus_PopupColl[idObj];
	if (!objPopUp) {
		objPopUp = new HtmlPlus_Popup(idObj, 'Raffina la ricerca', R + 'Articoli/AdvancedFilter_DlgForm.asp' + parametri, 916, 400, 910, 370, 'BigStop');
	}
	objPopUp.OnClose = Articoli_ShowAdvancedFilter_onClose;
	objPopUp.Open(collArg, '50%', 80, true, 0, 0, 0);
	
	return objPopUp;
}
function Articoli_ShowAdvancedFilter_onClose(ObjPopup, ReturnValue, IsAbort) {
	var objDivFiltro = findObj('DivListaArticoli_Top2_Filtro');
	if (objDivFiltro) objDivFiltro.style.display = 'none';
	if (!IsAbort) {
		findObj('TxhArtic_Lista_FilAdv_Selected').value = SerializeValue(ReturnValue);
		findObj('FrmPrinc').submit();
	}
}


function Articoli_ShowAdvancedFilter_Checkbox_OnClick() {
	Articoli_ShowAdvancedFilter_RinfrescaForm('', 'preview');
}

function Articoli_ShowAdvancedFilter_RemoveOne(Id){
	var listaCheckbox = findObj('DivSezioneFiltroAttrib').getElementsByTagName('input');
	for (var i = 0; i < listaCheckbox.length; i++){
		var objCheckbox = listaCheckbox[i];
		if (objCheckbox.id == Id){
			objCheckbox.checked = false;
		}
	}
	Articoli_ShowAdvancedFilter_RinfrescaForm('RunRefresh', 'submit');
}
function Articoli_ShowAdvancedFilter_RemoveAll(){
	var listaCheckbox = findObj('DivSezioneFiltroAttrib').getElementsByTagName('input');
	for (var i = 0; i < listaCheckbox.length; i++){
		var objCheckbox = listaCheckbox[i];
		if (objCheckbox.checked){
			objCheckbox.checked = false;
		}
	}
	Articoli_ShowAdvancedFilter_RinfrescaForm('RunRefresh', 'submit');
}
function  Articoli_ShowAdvancedFilter_CmdSubmit_OnClick() {
	//Articoli_ShowAdvancedFilter_onClose(null, Articoli_ShowAdvancedFilter_GetSelectedFilters(), false);
	Articoli_ShowAdvancedFilter_RinfrescaForm('RunRefresh', 'submit');
}
function Articoli_ShowAdvancedFilter_CmdAbort_OnClick() {
	Articoli_ShowAdvancedFilter_onClose(null, null, true);
}
function Articoli_ShowAdvancedFilter_CmdReset_OnClick() {
	Articoli_ShowAdvancedFilter_onClose(null, null, false);		//Questo metodo funziona però lascia un "[ricerca]" nel path di ricerca
	//window.location = 'Lista.asp?IDVista=' + findObj('TxhArtic_IDVista').value;
}

function Articoli_ShowAdvancedFilter_RinfrescaForm(optStato, optTag) {
	var objServerEval, dict;
	switch (optStato) {
		case 'RunRefresh':
			//Creazione oggetto DivOmbra
			/*var divOmbra = document.createElement('DIV');
			divOmbra.id = 'DivListaArticoli_Top2_Filtro__shadow';
			window.document.body.appendChild(divOmbra);
			var divOmbra_txt = document.createElement('DIV');
			divOmbra_txt.innerHTML = 'Loading...';
			divOmbra.appendChild(divOmbra_txt);
			divOmbra.style.display = 'block';*/
			document.getElementById('TxhArtic_CurrPage').value = '';
			document.getElementById('DivAttesaForm').style.display = 'block';
			dict = new Array();
			dict['IDVista'] = findObj('TxhArtic_IDVista').value;
			dict['IDFilter'] = findObj('TxhArtic_IDFilter').value;
			dict['SelectedFilters'] = Articoli_ShowAdvancedFilter_GetSelectedFilters();
			dict['Tag'] = optTag;
			
			//Creazione oggetto ServerEval
			objServerEval = new HtmlPlus_ServerEval('Articoli_ShowAdvancedFilter_RefreshForm', '/Articoli/AspResponder.asp?cli=Brw', 'Articoli_AdvancedFilter_DlgForm_Refresh');
			objServerEval.OnEnd = Articoli_ShowAdvancedFilter_RinfrescaForm_onEnd;
			objServerEval.Run(dict);
			break;
		default:
			infoColl.tmr = window.setTimeout('Articoli_ShowAdvancedFilter_RinfrescaForm(\'RunRefresh\', \'' + CStrJS(optTag) + '\');', 1800);
	}
}


function Articoli_ShowAdvancedFilter_RinfrescaForm_onEnd(ServerEval, ReturnValue, IsAbort) {
	var infoColl, str1;
	infoColl = window.Articoli_ShowAdvancedFilter_RinfrescaForm__infoColl;
	if (!IsAbort) {
		if (ReturnValue['Tag'] == 'submit') {
			//findObj('TxhArtic_IDFilter').value = ReturnValue['ID'];
			//Articoli_ShowAdvancedFilter_onClose(null, ReturnValue['SelectedFilters'], false);
			/*
			window.document.body.style.cursor = 'wait';
			str1 = R + 'Articoli/Lista.asp';
			str1 += '?IDVista=' + CStrUrlParam(findObj('TxhArtic_IDVista').value);
			str1 += '&IDFilter=' + CStrUrlParam(ReturnValue['ID']);
			window.location = str1;
			*/
			findObj('TxhArtic_IDFilter').value = ReturnValue['ID'];
			findObj('TxhArtic_Lista_FilAdv_Selected').value = ReturnValue['SelectedFilters'];
			findObj('FrmPrinc').submit();
		} else {
			findObj('DivFormFiltro').innerHTML = ReturnValue['Html'];
			//findObj('DivFormFiltro').style.cursor = 'auto';
		}
	}
}

function Articoli_ShowAdvancedFilter_GetSelectedFilters() {
	var listaCheckbox = findObj('DivSezioneFiltroAttrib').getElementsByTagName('input');
	var objCheckbox, fReturn;
	var cont1, vett1, vett2;
	fReturn = CreateDictionary();
	for (cont1=0; cont1 < listaCheckbox.length; cont1++) {
		objCheckbox = listaCheckbox[cont1];
		if (objCheckbox.type == 'checkbox') {
			if (objCheckbox.checked) {
				vett1 = objCheckbox.id.split(' ');
				vett2 = fReturn[vett1[0]];
				if (ValueType(vett2) != 'Array') vett2 = new Array();
				vett2.push(vett1[1]);
				fReturn[vett1[0]] = vett2;
			}
		}
	}
	return fReturn;
}


function Articoli_ListaArticoliImg_Initialize() {
	var objDivParent = findObj('DivAltriArticoliImg');
	var elements;
	var i, obj1, cont1, objArr;
	//Cerco i pulsanti CMD SX e CMD DX e la lista di ITEMS
	objArr = objDivParent.getElementsByTagName('A');
	elements = new Array();
	elements['CmdSx'] = null;
	elements['CmdDx'] = null;
	elements['Items'] = new Array();
	elements['CurrItem'] = null;
	elements['DivLista'] = null;
	elements['DivItems'] = null;
	elements['ObjCM'] = null;
	elements['itemWidth'] = null;
	elements['itemsCount'] = null;
	elements['itemsPerView'] = null;
	elements['minScrollLeft'] = null;
	elements['maxScrollLeft'] = null;
	for (i in objArr) {
		obj1 = objArr[i];
		if (obj1.tagName == 'A') {
			if (ContainsClassName(obj1, 'Cmd')) {
				if (ContainsClassName(obj1, 'aSX')) elements['CmdSx'] = obj1;
				if (ContainsClassName(obj1, 'aDX')) elements['CmdDx'] = obj1;
			} else {
				if (ContainsClassName(obj1, 'Item')) {
					elements['Items'].push(obj1);
					obj1.onclick = function (ev) {
								var eventObj = new STDEvent(ev);
								var objA = findParentObj(eventObj.srcElement, 'A');
								window.location = objA.href;		//salto la parola javascript
							};
					if (ContainsClassName(obj1, 'aCur')) elements['CurrItem'] = obj1;
				}
			}
		}
	}
	//Certo l'oggetto ITEMS
	objArr = objDivParent.getElementsByTagName('DIV');
	for (i in objArr) {
		obj1 = objArr[i];
		if (obj1.tagName == 'DIV') {
			if (ContainsClassName(obj1, 'Lista')) elements['DivLista'] = obj1;
			if (ContainsClassName(obj1, 'Items')) elements['DivItems'] = obj1;
		}
	}
	//Genero il ClipMaker per il movimento
	elements['ObjCM'] = new HtmlPlus_ClipMaker('Articoli_ListaArticoliImg_ObjCM', 0.3);
	elements['ObjCM'].AppendMotion(elements['DivLista'], 'scrollLeft', '#', 0, 100, 0, 100, 'sin');
	elements['ObjCM'].AppendEvent(100, 'Articoli_ListaArticoliImg_Redraw();');
	//Calcolo i valori
	if (elements['Items'].length > 0) {
		elements['itemWidth'] = parseInt(elements['Items'][0].offsetWidth) + 4;
	} else {
		elements['itemWidth'] = 100;
	}
	elements['itemsCount'] = elements['Items'].length;
	elements['itemsPerView'] = Math.floor(parseInt(elements['DivLista'].clientWidth) / elements['itemWidth']);
	elements['minScrollLeft'] = 0;
	elements['maxScrollLeft'] = (elements['itemsCount'] - elements['itemsPerView']) * elements['itemWidth'];
	//Salvo l'oggetto ELEMENTS per essere trovato dalle altre funzioni
	window.Articoli_ListaArticoliImg_Elements = elements;
	//Posiziono la lista in modo da visualizzare l'oggetto corrente al centro
	cont1 = 0;
	if (elements['CurrItem']) {		//questo controllo lo faccio per evitare di trovarmi in errori
		for (i in elements['Items']) {
			obj1 = elements['Items'][i];
			if (obj1 === elements['CurrItem']) {
				break;
			} else {
				cont1 += 1;
			}
		}
		cont1 -= Math.floor(elements['itemsPerView'] / 2);	//Questa istruzione mi serve per posizionare l'elemento al centro
	}
	if (cont1 > 0) {
		Articoli_ListaArticoliImg_Goto(cont1);
	} else {
		Articoli_ListaArticoliImg_Redraw();
	}
}
function Articoli_ListaArticoliImg_Goto(MoveOf) {
	var elements = window.Articoli_ListaArticoliImg_Elements;
	var scrollLeft = null;
	var itemWidth = null;
	var nuovoValore = -1;
	if (!elements) return;
	itemWidth = elements['itemWidth'];
	if (elements['ObjCM'].Status() == 'play') {
		scrollLeft = elements['ObjCM'].Motions()[0].stopValue;
	} else {
		scrollLeft = parseInt(elements['DivLista'].scrollLeft);
	}
	if (MoveOf < 0) {
		if (scrollLeft > elements['minScrollLeft']) {
			nuovoValore = scrollLeft + itemWidth * MoveOf;
			if (nuovoValore < 0) nuovoValore = 0;
		}
	} else if (MoveOf > 0) {
		if (scrollLeft < elements['maxScrollLeft']) {
			nuovoValore = scrollLeft + itemWidth * MoveOf;
			if (nuovoValore > elements['maxScrollLeft']) nuovoValore = elements['maxScrollLeft'];
		}
	}
	if (nuovoValore > -1) {
		elements['ObjCM'].Pause();
		elements['ObjCM'].Motions()[0].startValue = elements['DivLista'].scrollLeft;
		elements['ObjCM'].Motions()[0].stopValue = nuovoValore;
		elements['ObjCM'].Stop();
		elements['ObjCM'].Play();
		//elements['DivLista'].scrollLeft = nuovoValore;
	}
}
function Articoli_ListaArticoliImg_Redraw() {
	var elements = window.Articoli_ListaArticoliImg_Elements;
	var scrollLeft = parseInt(elements['DivLista'].scrollLeft);
	var itemWidth = elements['itemWidth'];
	SetClassName(elements['CmdSx'], 'aDis', (scrollLeft <= elements['minScrollLeft']));
	SetClassName(elements['CmdDx'], 'aDis', (scrollLeft >= elements['maxScrollLeft']));
}


