/*	******************************************************************************************
	******************************************************************************************
	 funzioni generiche
	******************************************************************************************
	****************************************************************************************** */

	function doNothing() { 
		return true;
	}

	function confirmLink( sMessage, sUrl ) {
		//alert( sMessage+'\n'+sUrl );
		if (confirm(sMessage)) window.navigate(sUrl);
	}
	
	function openPop(theURL,winName,features) {
		window.open(theURL,winName,features);
	}
	
	function popupXY(theURL,x,y) {
		window.open(theURL,'','scrollbars=yes,resizable=yes,status=no,width='+x+',height='+y+'');
	}

	
	function ShowHideElement( sObjectId ) {
		var oObj = document.getElementById(sObjectId);
		if (oObj.style.display=='block') { oObj.style.display='none' }
		else { oObj.style.display='block' }
	}
	

	function findPosX(obj) {
			var curleft = 0;
			if (obj.offsetParent) {
				curleft = obj.offsetLeft
				while (obj = obj.offsetParent) {
					curleft += obj.offsetLeft
				}
			}
			return curleft;
	}


	function findPosY(obj) {
			var curtop = 0;
			if (obj.offsetParent) {
				curtop = obj.offsetTop
				while (obj = obj.offsetParent) {
					curtop += obj.offsetTop
				}
			}
			return curtop;
	}


	function sRandom() {
		// random string for XML data request
		var d = new Date();
		return 'rnd'+d.getHours()+d.getMinutes()+d.getSeconds();
	}



	function getElementTop(eElement) {				//torna la distanza dal bordo superiore dello schermo di un elemento
		var oObj = document.getElementById(eElement);
		var nTopPos = oObj.offsetTop;            // initialize var to store calculations
		var eParElement = oObj.offsetParent;     // identify first offset parent element  
		while (eParElement != null)
		{                                          // move up through element hierarchy
			nTopPos += eParElement.offsetTop;        // appending top offset of each parent
			eParElement = eParElement.offsetParent;  // until no more offset parents exist
		}
		return nTopPos;                            // return the number calculated
	}



	function checkDateInIsValidForm( sValue, sFieldNameToShow, bNeeded ) {
		var sErr = '';
		var sFieldName = (new String(sFieldNameToShow)).toUpperCase();
		if (sValue!='') {
				var aDate = sValue.split("/");
				if (aDate.length!=3) {
						sErr='- '+sFieldName+' must contain a date value\n';
				} else {
						if (!isDate(aDate[0], aDate[1], aDate[2])) sErr='- '+sFieldName+' must contain a date value\n';
				}
		} else if (bNeeded) {
				sErr='- '+sFieldName+' must contain a value\n';
		}
		return sErr;
	}


	
	function setDataChangeOnEvent() {
		//alert(event.srcElement.name);
		event.srcElement.style.backgroundColor = '#cc0000';
		event.srcElement.style.color = '#ffffff';
	}
	
	
	function setDataChange( oObj ) {
		//alert(event.srcElement.name);
		oObj.style.backgroundColor = '#cc0000';
		oObj.style.color = '#ffffff';
	}
	
	



	function createDictionaryTraduzioni( sPage, sLang, oDict ) {
		
		// identificazione filename corretto ed impostazione percorso 
		var sXmlFullFileName = new String(window.location);
		sXmlFullFileName = sXmlFullFileName.toLowerCase()
		var nPosQuestionMark = sXmlFullFileName.lastIndexOf('?');
		if (nPosQuestionMark!=-1) sXmlFullFileName = sXmlFullFileName.substr(0,nPosQuestionMark);
		var nPosLastSlash = sXmlFullFileName.lastIndexOf('/');
		sXmlFullFileName = sXmlFullFileName.substr(0,nPosLastSlash)+'/xml_traduzioni'+sXmlFullFileName.substr(nPosLastSlash);
		
		// impostazione estensione
		var nPosLastDot = sXmlFullFileName.lastIndexOf('.');
		sXmlFullFileName = sXmlFullFileName.substr(0,nPosLastDot) + '.xml';

		//acquisizione file xml con le traduzioni
		var xmlTesti = new ActiveXObject("Msxml.DOMDocument");
		xmlTesti.async = false;
		xmlTesti.load( sXmlFullFileName );
//		alert(sXmlFullFileName);
		// impostazione traduzioni nel disctionary
		var oTestiList = xmlTesti.selectSingleNode('/testi').childNodes;
		var oItem;
		for (var i=0; i<oTestiList.length; i++) {
			oItem = oTestiList.item(i);
			//alert(oItem.nodeName+' - '+sLang+' - '+getXmlAttr( oItem, sLang ));
			oDict.Add( oItem.nodeName, getXmlAttr( oItem, sLang ));
		}

	}



/*	******************************************************************************************
	******************************************************************************************
	 accesso dati xml	
	******************************************************************************************
	****************************************************************************************** */

	function getXmlText( oXml, sQuery ) {
		var sTemp = '';
		if (oXml!=null) {
			if (oXml.selectSingleNode(sQuery)!=null) {
				sTemp = oXml.selectSingleNode(sQuery).text;
			}	
		}
		return sTemp;
	}

	function getXmlAttr( oXml, sOriginalAttr ) {
		var sTemp = '';
		var sAttr = sOriginalAttr;
		if (isValidLanguage(sAttr)) sAttr = sAttr.toLowerCase();
		if (oXml!=null) {
			if (oXml.attributes.getNamedItem(sAttr)!=null) {
				sTemp = oXml.attributes.getNamedItem(sAttr).value;
			}	
		}
		return sTemp;
	}
	
	
	function getXml( sUrl ) {
		var oXml = new ActiveXObject("Msxml.DOMDocument");
		oXml.async = false;
		oXml.load( sUrl );
		return oXml;
	}


	

/*	******************************************************************************************
	******************************************************************************************
	 accesso dati in querystring
	******************************************************************************************
	****************************************************************************************** */

	function QueryString(key)
	{
		var value = null;
		for (var i=0;i<QueryString.keys.length;i++)
		{
			if (QueryString.keys[i]==key)
			{
				value = QueryString.values[i];
				break;
			}
		}
		return value;
	}
	QueryString.keys = new Array();
	QueryString.values = new Array();
	
	function QueryString_Parse()
	{
		var query = window.location.search.substring(1);
		var pairs = query.split("&");
		
		for (var i=0;i<pairs.length;i++)
		{
			var pos = pairs[i].indexOf('=');
			if (pos >= 0)
			{
				var argname = pairs[i].substring(0,pos);
				var value = pairs[i].substring(pos+1);
				QueryString.keys[QueryString.keys.length] = argname;
				QueryString.values[QueryString.values.length] = value;		
			}
		}
	
	}
	
	QueryString_Parse();
	
	
	
	
	
	
	

	


