// JavaScript Document

if(typeof(avblog) == 'undefined') {var avblog = {}};

// variuos functions

avblog.addIE8Compatibilitymode = function()
	{
		
	}

avblog.openWin = function(url,_1b,_1c,_1d,_1e)
	{
		if(!url)
			{
				url="";
			}
		if(!_1b)
			{
				_1b="NewWindow";
			}
		if(!_1c)
			{
				_1c=450;
			}
		if(!_1d)
			{
				_1d=320;
			}
		if(!_1e)
			{
				_1e="resizable=1";
			} else {
				var _1f=_1e.split(",");
				for(var i=0;i<_1f.length;i++)
					{
						_1f[i]=opt.core.trim(_1f[i]);
					}
				if(opt.core.arrayFind(_1f,"centerscreen")>-1)
					{
						var _1c=_1c+32;
						var _1d=_1d+96;
						var _21=(screen.width-_1c)/2;
						var _22=(screen.height-_1d)/2;
						var _23="left="+_21;
						var _24="top="+_22;
						_1f.push(_24);
						_1f.push(_23);
						_1e=_1f.join(",");
					}
			}
		var gui="width="+_1c+",height="+_1d+","+_1e;
		var win=window.open(url,_1b,gui);
		win.focus();
		return win;
	};

avblog.openYouTubeWin = function(url,_1b,_1c,_1d,_1e)
	{
		if(!url)
			{
				url="";
			}
		if(!_1b)
			{
				_1b="You Tube Video";
			}
		if(!_1c)
			{
				_1c=430;
			}
		if(!_1d)
			{
				_1d=360;
			}
		if(!_1e)
			{
				_1e="resizable=1";
			} else {
				var _1f=_1e.split(",");
				for(var i=0;i<_1f.length;i++)
					{
						_1f[i]=opt.core.trim(_1f[i]);
					}
				if(opt.core.arrayFind(_1f,"centerscreen")>-1)
					{
						var _1c=_1c+32;
						var _1d=_1d+96;
						var _21=(screen.width-_1c)/2;
						var _22=(screen.height-_1d)/2;
						var _23="left="+_21;
						var _24="top="+_22;
						_1f.push(_24);
						_1f.push(_23);
						_1e=_1f.join(",");
					}
			}
		var gui="width="+_1c+",height="+_1d+","+_1e;
		var win=window.open(url,_1b,gui);
		win.focus();
		return win;
	};

// keepalive

avblog.heartbeat = function() {
	// in order to work a cfajaxproxy has to be defined before calling this js
	var mykeepalive = new jskeepalive();
	mykeepalive.setCallbackHandler(avblog.heartbeatResponse);
	mykeepalive.setErrorHandler(avblog.myErrorHandler);
	mykeepalive.gettick();
};
		
avblog.keepAlive = {
	aliveID : false,
	refresh : 300000,

	start : function() {
		avblog.keepAlive.aliveID = setInterval(avblog.heartbeat, avblog.keepAlive.refresh);		
	},
	
	stop : function() {
		clearInterval(avblog.keepAlive.aliveID);
		avblog.keepAlive.aliveID = false;	
	}	
}

avblog.myErrorHandler = function(statusCode, statusMsg)
	{
		alert('Status: ' + statusCode + ', ' + statusMsg);
	}
	
avblog.heartbeatResponse = function(){};

avblog.setResolution = function(height)
	{
		var mykeepalive = new jskeepalive();
		mykeepalive.setErrorHandler(avblog.myErrorHandler);
		mykeepalive.setresolution(height);
	}

// form aid

avblog.getSelectedRadioValue = function(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = avblog.getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

avblog.getSelectedRadio = function(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

avblog.verifyUserName = function(name)
	{
		var myuser = new user();
		
		myuser.setCallbackHandler(avblog.verifyUsernameCallback);
		myuser.setErrorHandler(avblog.myErrorHandler);
		myuser.checkavailability('username',name);
	}

avblog.verifyUsernameCallback = function(result)
	{
		document.getElementById('verifyUserNameDiv').innerHTML=result;
		document.getElementById('verifyUserNameDiv').style.display = 'inline';
	}

avblog.verifyUserEmail = function(name)
	{
		var myuser = new user();
		
		myuser.setCallbackHandler(avblog.verifyUserEmailCallback);
		myuser.setErrorHandler(avblog.myErrorHandler);
		myuser.checkavailability('email',name);
	}

avblog.verifyUserEmailCallback = function(result)
	{
		document.getElementById('verifyUserEmailDiv').innerHTML=result;
		document.getElementById('verifyUserEmailDiv').style.display = 'inline';
	}

avblog.myErrorHandler = function(statusCode, statusMsg)
	{
		alert('Status: ' + statusCode + ', ' + statusMsg);
	}

avblog.checkPw=function (passwordfield,passwordconfirmationfield,divtodisplay) 
	{
		var result = true;
		if (document.getElementById(passwordconfirmationfield).value != document.getElementById(passwordfield).value)
			{
				document.getElementById(divtodisplay).style.display = "inline";
				result = false;
			}
		else
			{
				document.getElementById(divtodisplay).style.display = "none";
			}
		return result;
	}

avblog.verifiyPrivacy = function(checkfield,submitfield)
	{
		if (document.getElementById(checkfield).checked == true)
			document.getElementById(submitfield).disabled = false;
		else
			document.getElementById(submitfield).disabled = true;
	}


// Validation

// VERIFICA NOME,COGNOME,CITTA
avblog.isAlphabeticString = function (what)
	{
		var i=new RegExp("([a-zA-Z\ ]{3,})");
		if(!i.test(what))
			return false
		else
			return true;
	}

// VERIFICA EMAIL
avblog.isEmail = function (what)
	{
		var i=new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
		if(!i.test(what))
			return false
		else
			return true;
	}

// VERIFICA URL
avblog.isURL = function(what)
	{
		var i=new RegExp("HTTP:\/\/([a-zA-Z\.0-9]{2,})\.([a-zA-Z\.0-9]{2,})");
		if(!i.test(what))
			return false
		else
			return true;
	}

// VERIFICA TEL/FAX
avblog.isTelFax = function(what,fname)
	{
		var i=new RegExp("([0-9]{2,})\/([0-9]{5,})");
		if(!i.test(what))
			return false
		else
			return true;
	}

// VERIFICA Partita IVA
avblog.isPIVA = function(pi)
	{
		
        if((pi == '')||(pi.length!=11))  
			return false;
		else
			{
		        validi = "0123456789";
		        for( i = 0; i < 11; i++ )
					{
		                if ( validi.indexOf( pi.charAt(i) ) == -1 )
							return false;
			        }
		        s = 0;
		        for( i = 0; i <= 9; i += 2 )
		                s += pi.charCodeAt(i) - '0'.charCodeAt(0);
		        for( i = 1; i <= 9; i += 2 )
					{
		                c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		                if( c > 9 )  c = c - 9;
		                s += c;
			        }
		        if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
		                return false;
		        return true;
			}

	}	

// VERIFICA CAP
avblog.isCAP = function(what)
	{
		var i=new RegExp("^[0-9]{5}$");
		if(!i.test(what))
			return false
		else
			return true;
	}

// VERIFICA CF
avblog.isCF = function(what)
	{
		var i=new RegExp("([a-zA-Z0-9]{16})");
		if(!i.test(what))
			return false
		else
			return true;
	}

// VERIFICA Indirizzo
avblog.isAddress = function(what)
	{
		var i=new RegExp("([a-zA-Z0-9\ ]{3,})");
		if(!i.test(what))
			return false
		else
			return true;
	}

// VERIFICA Data di nascita
avblog.isDate = function(what,fname)
	{
		var i=new RegExp("^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$");
		if(i.test(what))
			{
				datePart=what.split("/");
				giorno=(datePart[0]>=1) && (datePart[0]<=31);
				mese=(datePart[1]>=1) && (datePart[1]<=12);
				anno=(datePart[2]>=1900) && (datePart[2]<=9999);
				if(!giorno || !mese || !anno) 
					return false;
			}  
		else
			{
				return false
			}
		return true;
	}

avblog.numberFormat = function(nstr)
	{
		if (nstr != '' && nstr != undefined)
			{
				nstr += '';
				var x = nstr.split('.');
				var x1 = x[0];
				var x2 = x.length > 1 ? '.' + x[1] : '';
				x2 = x2.replace('.',',');
				if (x2.length == 0)
					x2 = ',00';
				if (x2.length == 2)
					x2 = x2.replace(',',',0');
				var rgx = /(\d+)(\d{3})/;
				while (rgx.test(x1))
					{
						x1 = x1.replace(rgx, '$1' + '.' + '$2');
					}
				return x1 + x2;
			}
		else
			return '';
	}
					
avblog.currencyFormat = function(nstr)
	{
		if (nstr != '' && nstr != undefined)
			return '&euro; ' + avblog.numberFormat(nstr);
		else
			return '';
	}

avblog.numberAlign = function(nstr)
	{
		if (nstr != '' && nstr != undefined)
			return '<div style="text-align:right;">' + nstr + '</div>';
		else
			return '';
	}
					
avblog.cfgridTimeRemove = function(nstr)
	{
		var x				= '';
		var returnvalue		= '';
		
		if (nstr != '' && nstr != undefined)
			{
				x = nstr.split(' ');
				if (x.length > 2)
					returnvalue = x[1] + ' ' + x[0].replace(',','') + ' ' + x[2];
				else
					returnvalue = x[0];
			}
		else
			returnvalue = '';
		return returnvalue;
	}
					
avblog.cfgridDateFormat = function(nstr)
	{
		var x				= '';
		var returnvalue		= '';
		
		if (nstr != '' && nstr != undefined)
			{
				x = nstr.split(' ');
				if (x.length > 2)
					{
						returnvalue = x[1] + ' ' + x[0].replace(',','') + ' ' + x[2] + ' ' + x[3];
					}
				else
					{
						x1	= x[0].split('-');
						returnvalue = x1[2] + '/' + x1[1] + '/' + x1[0] + ' ';
						if (x.length > 1)
							returnvalue = returnvalue + x[1].replace('.0','');
					}
			}
		else
			returnvalue = '';
		return returnvalue;
	}

avblog.cfgridDateFormatNoTime = function(nstr)
	{
		var x				= '';
		var returnvalue		= '';
		
		if (nstr != '' && nstr != undefined)
			{
				x = nstr.split(' ');
				if (x.length > 2)
					{
						returnvalue = x[1] + ' ' + x[0].replace(',','') + ' ' + x[2];
					}
				else
					{
						x1	= x[0].split('-');
						returnvalue = x1[2] + '/' + x1[1] + '/' + x1[0] + ' ';
						if (x.length > 1)
							returnvalue = returnvalue + x[1].replace('.0','');
					}
			}
		else
			returnvalue = '';
		return returnvalue;
	}

