﻿
var d = document;

function trim(str)
{
  var re = /\s+$|^\s+/g;
	return str.replace(re,"");
}

function ControllaEmail(objSource, objArgs)
{
  var email = objArgs.value;
  if (email == "")
  {
    objArgs.IsValid = false;
    return;
  }
  
  var re = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
  var reResult = email.match (re);
  if (reResult == null) 
  {
    objArgs.IsValid = false;
    return;  
  }
  
  objArgs.IsValid = true;
}

function ControllaPassword(objSource, objArgs)
{
  var password = objArgs.Value;
  if (password == "" || password.length < 8)
  {
    objArgs.IsValid = false;
    return;  
  }
  
  objArgs.IsValid = true;    
}

function ControllaPartitaIVA(objSource, objArgs)
{    
  var pIva = objArgs.Value;
  objArgs.IsValid = true;
	if( pIva.length != 11 ) 
	{objArgs.IsValid = false;}		
	var validi = "0123456789";
	for( i = 0; i < 11; i++ )
	{
		if( validi.indexOf( pIva.charAt(i) ) == -1 ){objArgs.IsValid = false;}
	}
	var s = 0;
	for( i = 0; i <= 9; i += 2 )
	{
		s += pIva.charCodeAt(i) - '0'.charCodeAt(0);
	}
	for( i = 1; i <= 9; i += 2 )
	{
		c = 2*( pIva.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pIva.charCodeAt(10) - '0'.charCodeAt(0) ){objArgs.IsValid = false;}	
}

function ControllaCodiceFiscale(objSource, objArgs)
{	
	var cf = objArgs.Value;
	if(cf.length==11){ControllaPartitaIVA(objSource, objArgs);}
	else
	{
	    var validi, i, s, set1, set2, setpari, setdisp;
	    objArgs.IsValid = true;
    	
	    cf = cf.toUpperCase();
	    if( cf.length != 16 ){objArgs.IsValid = false;}
	    validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	    for( i = 0; i < 16; i++ )
	    {
		    if( validi.indexOf( cf.charAt(i) ) == -1 )
		    {
			    objArgs.IsValid = false;
		        //cf.charAt(i) +
		        //"'.\nI caratteri validi sono le lettere e le cifre.\n";
		    }
	    }
	    set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	    set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	    setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	    setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	    s = 0;
	    for( i = 1; i <= 13; i += 2 )
	    {
		    s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	    }
	    for( i = 0; i <= 14; i += 2 )
	    {
		    s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	    }
	    if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
	    {
		    objArgs.IsValid = false;	
	    }
	}
}

function ControllaConsensoTrattamento(objSource, objArgs)
{
		    objArgs.IsValid = false;
}

function QtaOrdinata(objSource, objArgs)
{    
  var myQta = trim(objArgs.Value);
  objArgs.IsValid = true;
	
	if(myQta.match(/\D/))
	{
	    objArgs.IsValid = false;	    
	}		
}
  
function MostraModalPartite()
{
  if(!IsBrowserAjaxCompatible()){return;}         
  var popup = $find('ctl00_Content_ModalPopupExtenderPartite');
  popup.show();
}

function MostraModalPassaggiPV()
{
  if(!IsBrowserAjaxCompatible()){return;}   
  var popup = $find('ctl00_Content_ModalPopupExtenderPassaggi');
  popup.show();
}

function MostraModalStoricoChiamate()
{
  if(!IsBrowserAjaxCompatible()){return;}   
  var popup = $find('ctl00_Content_ModalPopupExtenderChiamate');
  popup.show();
}

function MostraModalInserimentoContatti(updateTelesell)
{
  if(!IsBrowserAjaxCompatible()){return;}     
  var popup = $find('ctl00_Content_ModalPopupExtenderContatti');  
  popup._DynamicContextKey = updateTelesell;
  popup.show();
}
function MostraModalAlertOrdine()
{
  if(!IsBrowserAjaxCompatible()){return;}         
  var popup = $find('ctl00_Content_ModalPopupExtenderAlertOrdine');
  popup.show();
}

function IsBrowserAjaxCompatible()
{
  //browser compatibili.
  // Internet Explorer dalla 5.5
  // Mozilla dalla 1.0
  // Firefox dalla 0.8
  // Netscape dalla 7.0
  // Safari dalla 1.2 

  var isCompatible = true;
  if (window.XMLHttpRequest) {
     http_request = new XMLHttpRequest();
  } else if (window.ActiveXObject) { // IE
     http_request = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
     isCompatible = false;
     alert('Funzionalità non disponibile! Si consiglia di aggiornare il browser.');
  }
  return isCompatible;
}

function MostraPartite()
{
  if(!IsBrowserAjaxCompatible()){return;}    
  var popup = $find('ctl00_Content_ModalPopupExtenderDett'); 
  popup.show();
  //AjaxControlToolkit.ModalPopupBehavior.invokeViaServer("ctl00_Content_ModalPopupExtenderDett", true);
}

function changeBgColor(obj, color)
{
  eval(obj + ".style.backgroundColor='" + color + "'");
}
function changeForeColor(obj, color)
{
  eval(obj + ".style.foreColor='" + color + "'");
}

function SvuotaCampo(name)
{
  eval("d.getElementById('" + name + "').value = ''");      
}

function RimettiAZero(name)
{
  if(eval(trim("d.getElementById('" + name + "').value == ''")))
  {    
    eval("d.getElementById('" + name + "').value = '0'");     
    var nameTxtErogazioni = name.replace('txtQta', 'txtErogazioni');
    eval("d.getElementById('" + nameTxtErogazioni + "').value = '0'");     
  }
}

function CalcolaErogazioni(qta, name)
{ 
  if(trim(qta)=='')
	{
		return;
	}
  var quantita = parseFloat(qta.replace(',','.'));
  var nameTxtErogazioni = name.replace('txtQta', 'txtErogazioni');      
     
  //--- gestione del minimo vendibile
  var minimoVendibile = 0;  
  var nameHiddenMinimoVendibile = name.replace('txtQta', 'HiddenMinimoVendibile');   
  var strMinimoVendibile = eval("d.getElementById('" + nameHiddenMinimoVendibile + "').value");      
  if(quantita > 0 && trim(strMinimoVendibile) != '')
  {
    minimoVendibile = parseFloat(strMinimoVendibile.replace(',','.'));    
    if(quantita < minimoVendibile)
    {  
      eval("d.getElementById('" + name + "').value = 0");
      eval("d.getElementById('" + nameTxtErogazioni + "').value = 0");
      return;
    }
  }
  
  //--- gestione multiplo vendibile
  var multiploVendibile = 0;
  var nameHiddenVendibileAMultipli = name.replace('txtQta', 'HiddenVendibileAMultipli');
  var strMultiploVendibile = eval("d.getElementById('" + nameHiddenVendibileAMultipli + "').value");
  if(quantita > 0 && trim(strMultiploVendibile) != '')
  {
    multiploVendibile = parseFloat(strMultiploVendibile.replace(',','.'));    
    var computo = quantita % multiploVendibile;
    if(multiploVendibile > 1 && computo != 0)
    {
      eval("d.getElementById('" + name + "').value = 0");
      eval("d.getElementById('" + nameTxtErogazioni + "').value = 0");
      return;
    }
  }
  
  //--- Calcolo delle erogazioni
  var erogazioni = 0;
  var proCoef = 0;  
  var nameHiddenFieldErogazioni = name.replace('txtQta', 'HiddenFieldErogazioni');
  
    
  if(eval("d.getElementById('" + nameTxtErogazioni + "')"))
  {
    proCoef = parseFloat(eval("d.getElementById('" + nameHiddenFieldErogazioni + "').value").replace(',','.'));    
    erogazioni = quantita * proCoef;
    eval("d.getElementById('" + nameTxtErogazioni + "').value = " + Math.round(erogazioni*100)/100 + "");      
  }
  
  //if(qta>0){changeBgColor("d.getElementById('" + name+ "')", '#8BF691');}
  //else{changeBgColor("d.getElementById('" + name+ "')", '#FFFFFF');}
}

function CalcolaPrezzoConfezione(prz, name)
{ 
  if(trim(prz)=='')
	{
		return;
	}

  var prezzoConfezione = 0;
  var unitaVendita = 0;
  var prezzo = parseFloat(prz.replace(',','.'));
  var nameHiddenFieldUDV = name.replace('txtPrezzoUnitario', 'HiddenFieldUDV');
  var nameTxtPrezzoConfezione = name.replace('txtPrezzoUnitario', 'txtPrezzoConfezione');      
  
  if(eval("d.getElementById('" + nameTxtPrezzoConfezione + "')"))
  {
    unitaVendita = parseFloat(eval("d.getElementById('" + nameHiddenFieldUDV + "').value").replace(',','.'));    
    prezzoConfezione = prezzo * unitaVendita;
    eval("d.getElementById('" + nameTxtPrezzoConfezione + "').value = " + Math.round(prezzoConfezione*100)/100 + "");      
  } 
}

//Apertura di un popup al centro dell'area utile (quando possibile) su x e y
// separatamente, altrimenti al centro dello schermo
function mostraPopup(nIdMenu,targetPage,width,height,parAgg,scrollYes) //la funzione incorpora del codice per la centratura della finestra popup.
{
	if (document.all) {
		var xScr = screen.width;
		var yScr = screen.height;
		var x = window.screenLeft;
		var y = window.screenTop;
		var w = window.document.body.offsetWidth;
		var h = window.document.body.offsetHeight;
	}
	else {
		var xScr = screen.width;
		var yScr = screen.height;
		var x = window.screenX;
		var y = window.screenY;
		var w = window.outerWidth;
		var h = window.outerHeight;
	}

	if (w > width + 30)
		var cntx = x - 6 + Math.round((w - (width + 6)) / 2);
	else
		var cntx = Math.round((xScr - width) / 2);

	if (h > height + 40)
		var cnty = y - 20 + Math.round((h - (height + 20)) / 2);
	else
		var cnty = Math.round((yScr - (height + 20)) / 2);
		
	if(scrollYes){
		//open(targetPage+"?"+parAgg,"popup"+nIdMenu,"width="+width+",height="+height+",left="+cntx+",top="+cnty+",scrollbars,resizable=yes,menubar=no")
		//location=no,directories=no,menubar=no,toolbar=no,status=no,scrollbars=no,resizable=no,dependent=no'
		open(targetPage+"?"+parAgg,"popup"+nIdMenu,"width="+width+",height="+height+",left="+cntx+",top="+cnty+",scrollbars,resizable=no,menubar=no")
	}
	else{
		open(targetPage+"?"+parAgg,"popup"+nIdMenu,"width="+width+",height="+height+",left="+cntx+",top="+cnty+",menubar=no")
	}
}








