// JavaScript Document
function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}
	return ro;
}



 function crea_http_req() {  
     var req = false;  
     if (typeof XMLHttpRequest != "undefined")  
         req = new XMLHttpRequest();  
     if (!req && typeof ActiveXObject != "undefined") {  
         try {  
             req=new ActiveXObject("Msxml2.XMLHTTP");  
         } catch (e1) {  
             try {  
                 req=new ActiveXObject("Microsoft.XMLHTTP");  
             } catch (e2) {  
                 try {  
                     req=new ActiveXObject("Msxml2.XMLHTTP.4.0");  
                 } catch (e3) {  
                     req=null;  
                 }  
             }  
         }  
     }  
   
     if(!req && window.createRequest)  
         req = window.createRequest();  
   
     if (!req) alert("Il browser non supporta AJAX");  
   
     return req;  
 }  
   
 // l'oggetto per comunicare con il server  
 	var http_req = crea_http_req();
	
	var http = createRequestObject();





function hideShowbyId(id) {
	var elem = document.getElementById(''+id);
	if(elem.style.display	==	'none')
		elem.style.display	=	'block';
	else
		elem.style.display	=	'none';
}



function validatePassword(){
	var p1				= document.getElementById("password");
	var p2				= document.getElementById("cpassword");
	var filtro_password = /^([a-zA-Z0-9_\.\-]{5,})+$/;

	
	if (!filtro_password.test(p1.value)) {
		alert('La password inserita utilizza caratteri non validi o minori di 5');
	}else{
		if(p2.value.length<=0){
		}else{
			if(p1.value!=p2.value){
				alert('le password non corrispondono');
			}
		}
	}
}

function validateRagioneSociale(){
	var elem1	= document.getElementById("ragione_sociale");
	var elem2	= document.getElementById("piva");
	var table	= document.getElementById("table_piva");
	var table2	= document.getElementById("table_piva_sep");
	
	if(elem1.value.length>1){
		elem2.disabled=false;
		table.style.display="";
		table2.style.display="";
	}else{
		elem2.disabled=true;
		table.style.display="none";
		table2.style.display="none";
	}

}


function searchProvince(obj){
	http.open('GET', 'action.php?act=searchProvincia&id='+obj);
	http.onreadystatechange = handleResponseSearchProvincia;
	http.send(null);

}

function handleResponseSearchProvincia() {
	var elem			= 	document.getElementById("returnProvince");
	if(http.readyState 	== 	4)
		elem.innerHTML 	= 	http.responseText;
}


function validateUsername() {
	var elem		= document.getElementById("username");
	var message		= document.getElementById("msgUsername");
	var filtro_username = /^([a-zA-Z0-9_\.\-]{5,})+$/;

	if (filtro_username.test(elem.value)) {
		http.open('GET', 'action.php?act=validateUsername&username='+elem.value);
		http.onreadystatechange = handleResponseUsername;
		http.send(null);
	} else 
		message.innerHTML	=	'<div class="messageFalse"><img src="./images/alert.png" align="absmiddle" /> username non valido!</div>';
	
}

function handleResponseUsername() {
	var elem		= 	document.getElementById("msgUsername");
	if(http.readyState == 4){
		var response = http.responseText;
		if(http.responseText == 'exists'){
			elem.innerHTML	=	'<div class="messageFalse"><img src="./images/alert.png" align="absmiddle" /> username non disponibile!</div>';
		}else if(http.responseText == 'noexists'){
			elem.innerHTML	=	'<div class="messageTrue"><img src="./images/true.png" align="absmiddle" /> username disponibile!</div>';
		}
	}
}

function registraUtente(){
	var form				= 	document.getElementById("formRegistrazioneUtente");
	var filtro_email 		= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	var filtro_username 	= /^([a-zA-Z0-9_\.\-]{5,})+$/;
	var filtro_password 	= /^([a-zA-Z0-9_\.\-]{5,})+$/;
	var filtro_email 		= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	var filtro_cf 			= /^([a-zA-Z0-9]{11,16})+$/;
	var filtro_piva 		= /^([a-zA-Z0-9]{11,16})+$/;
	
	if (!filtro_username.test(form.username.value)) {
		alert('L\'username utilizza caratteri non validi o minori di 5');
	}else if((!filtro_password.test(form.password.value)) || (form.password.value!=form.cpassword.value) ){
		alert('Le password non corrispondono o usano caratteri non validi');
	}else if (!filtro_email.test(form.email.value)) {
		alert('Email non valida');
	}else if(form.nome.value.length<1){
		alert('Nome non valido');
	}else if(form.cognome.value.length<1){
		alert('Cognome non valido');
	}else if((form.giorno.value=='-') || (form.mese.value=='-') || (form.anno.value=='-')){
		alert('Data di nascita non valida');
	}else if(form.sesso.value=='-'){
		alert('Indicare il sesso');
	}else if(!filtro_cf.test(form.codiceFiscale.value)){
		alert('Codice Fiscale non valido');
	}else if((form.ragione_sociale.value.length>1) && (!filtro_piva.test(form.piva.value))){
		alert('P.Iva non valida');
	}else if(form.nazione.value=='-'){
		alert('Seleziona una nazione');
	}else if((form.nazione.value=='Italia') && (form.province.value=='-')){
		alert('Seleziona una provincia');
	}else if(form.citta.value.length<1){
		alert('Indicare il nome della Citta\'');
	}else if(form.indirizzo.value.length<1){
		alert('Indicare un indirizzo valido');
	}else if(form.cap.value.length<5){
		alert('Cap non valido');
	}else if(!form.trattamentoDati.checked){
		alert('Acconsenti al trattamento dei dati');
	}else{
		form.submit();
	}


}






function modifyUser(){
	var form				= 	document.getElementById("formModifyUser");
	var filtro_email 		= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	var filtro_password 	= /^([a-zA-Z0-9_\.\-]{5,})+$/;
	var filtro_cf 			= /^([a-zA-Z0-9]{11,16})+$/;
	var filtro_piva 		= /^([a-zA-Z0-9]{11,16})+$/;
	
	if((!filtro_password.test(form.password.value)) || (form.password.value!=form.cpassword.value) ){
		alert('Le password non corrispondono o usano caratteri non validi');
	}else if (!filtro_email.test(form.email.value)) {
		alert('Email non valida');
	}else if(form.nome.value.length<1){
		alert('Nome non valido');
	}else if(form.cognome.value.length<1){
		alert('Cognome non valido');
	}else if((form.giorno.value=='-') || (form.mese.value=='-') || (form.anno.value=='-')){
		alert('Data di nascita non valida');
	}else if(form.sesso.value=='-'){
		alert('Indicare il sesso');
	}else if(!filtro_cf.test(form.codiceFiscale.value)){
		alert('Codice Fiscale non valido');
	}else if((form.ragione_sociale.value.length>1) && (!filtro_piva.test(form.Piva.value))){
		alert('P.Iva non valida');
	}else if(form.nazione.value=='-'){
		alert('Seleziona una nazione');
	}else if((form.nazione.value=='Italia') && (form.province.value=='-')){
		alert('Seleziona una provincia');
	}else if(form.citta.value.length<1){
		alert('Indicare il nome della Citta\'');
	}else if(form.indirizzo.value.length<1){
		alert('Indicare un indirizzo valido');
	}else if(form.cap.value.length<5){
		alert('Cap non valido');
	}else{
		form.submit();
	}


}



function getAttributesForm(){

  stringa = "";
  var form = document.getElementById("idFORM");
  var numeroElementi = form.elements.length;
 
  for(var i = 0; i < numeroElementi; i++){
    if(i < numeroElementi-1){
      stringa += form.elements[i].name+"="+encodeURIComponent(form.elements[i].value)+"&";
    }else{
      stringa += form.elements[i].name+"="+encodeURIComponent(form.elements[i].value);
    } 
  }	
	return stringa;
	
}





function requestCartNum(idprod, idattr){
	http.open('GET', 'action.php?act=requestcartnum&idprod='+idprod+'&idattr='+idattr);
	http.onreadystatechange = handleResponseCartNum;
	http.send(null);
}

function handleResponseCartNum() {
	var elem		= 	document.getElementById("QntAjaxResponse");
	
	if(http.readyState == 4)
		elem.innerHTML	= http.responseText;
}



function checkformBuyStep1(){
	var form = document.getElementById("FormBuyStep1");
	
	var chk	=	false;
	for (i=0; i<form.payment.length; i++) {
		 if (form.payment[i].checked){
			   chk	=	true;
			   break;
         }
	}
	
	if(!chk){
		alert("Seleziona un metodo di pagamento");
		return false;
	}else{
		return true;	
	}
	

}