//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
//
function getPageScroll(){

	var yScroll;  

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}
	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}



//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.documentElement.scrollWidth;
		yScroll = document.documentElement.scrollHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function formattaValuta(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + '.' + '$2');
	}
	return x1 + x2;
}

function InitRcaBoxStyle() {
    // prep objects
    var objOverlay = document.getElementById('overlay');
    var objRcaBox = document.getElementById('rcabox');

    var arrayPageSize = getPageSize();
    var arrayPageScroll = getPageScroll();

    // visualizzo il div di sfondo
    objOverlay.style.height = (arrayPageSize[1] + 'px');
    objOverlay.style.display = 'block';
    // visualizzo il box rca 
    objRcaBox.style.display = 'block';
    objRcaBox.style.height = '400px';
    objRcaBox.style.width = '600px';
    // posizioni il box al centro dello schermo
    var arrayPageScroll = getPageScroll();
    var arrayPageSize = getPageSize();
    var w = parseInt(objRcaBox.style.width);
    var h = parseInt(objRcaBox.style.height);
    rcaboxTop = arrayPageScroll[1] + (arrayPageSize[3]/2-h/2);
    rcaboxLeft = arrayPageScroll[0] + (arrayPageSize[2]/2-w/2);
    objRcaBox.style.top = rcaboxTop + 'px';
    objRcaBox.style.left = rcaboxLeft + 'px';
}

function LoadRcabox()
{
	// prep objects
	var objOverlay = document.getElementById('overlay');
	var objRcaBox = document.getElementById('rcabox');
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// visualizzo il div di sfondo
	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';
    // visualizzo il box rca 
    objRcaBox.style.display = 'block';
    objRcaBox.style.height = '400px';
    objRcaBox.style.width = '600px';
	// posizioni il box al centro dello schermo
	var arrayPageScroll = getPageScroll();
	var arrayPageSize = getPageSize();
    var w = parseInt(objRcaBox.style.width);
    var h = parseInt(objRcaBox.style.height);
    rcaboxTop = arrayPageScroll[1] + (arrayPageSize[3]/2-h/2);
    rcaboxLeft = arrayPageScroll[0] + (arrayPageSize[2]/2-w/2);
    objRcaBox.style.top = rcaboxTop + 'px';
    objRcaBox.style.left = rcaboxLeft + 'px';
    // carico il box rca
    caricaRca(1);
}

function initRcaBox()
{
	var objBody = document.getElementsByTagName("body").item(0);
	
	// inizializzo il box di overlay
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','overlay');
	objOverlay.style.display = 'none';
	objBody.insertBefore(objOverlay, objBody.firstChild);
	// inizializzo il box di sfondo della rca
	var objRcaBox = document.createElement("div");
	objRcaBox.setAttribute('id','rcabox');
	objRcaBox.style.display = 'none';
	objBody.insertBefore(objRcaBox, objBody.firstChild);	
}

function closeRca() {
	rca = document.getElementById('rca')
    if ( rca ) {
        rca.checked = false
        document.getElementById('rca_prodotto1').value = ""
    }	
    rca = document.getElementById('rca_check1')
    if ( rca ) {
        rca.checked = false
        document.getElementById('rca_prodotto1').value = ""
    }
    rca = document.getElementById('rca_check2')
    if ( rca ) {
        rca.checked = false
        document.getElementById('rca_prodotto2').value = ""
    }
    rca = document.getElementById('rca_check3')
    if ( rca ) {
        rca.checked = false
        document.getElementById('rca_prodotto3').value = ""
    }
	var objOverlay = document.getElementById('overlay');
	var objRcaBox = document.getElementById('rcabox');
    objOverlay.style.display = 'none';
    objRcaBox.style.display = 'none';
    f = document.getElementById('form_calcolo');
    f.submit();
}

function closeRca3yai() {
    rca = document.getElementById('rca_check1')
    rca.checked = false
    document.getElementById('rca_prodotto1').value = ""
	var objOverlay = document.getElementById('overlay');
	var objRcaBox = document.getElementById('rcabox');
    objOverlay.style.display = 'none';
    objRcaBox.style.display = 'none';
}

function getXMLHttpRequest() {
    // lista delle variabili locali
    var XHR = null;
    // informazioni sul nome del browser
    var browserUtente = navigator.userAgent.toUpperCase();
    // browser standard con supporto nativo
    // non importa il tipo di browser
    if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") {
	     // browser Internet Explorer
	     // è necessario filtrare la versione 4
	    XHR = new XMLHttpRequest();
    }
    else if ( window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0 ) {
	    // la versione 6 di IE ha un nome differente
	    // per il tipo di oggetto ActiveX
	    if(browserUtente.indexOf("MSIE 5") < 0) {
		    XHR = new ActiveXObject("Msxml2.XMLHTTP");
	    }
	    else {
		    // le versioni 5 e 5.5 invece sfruttano lo stesso nome
	        XHR = new ActiveXObject("Microsoft.XMLHTTP");
	    }
     }
     return XHR;
}

function caricaRca3yai(ope) {
    if ( !ope ) {
        // carico il valore di rca nei piani selezionati
        rca = document.getElementById('rca_check1')
        if ( rca && rca.checked ) document.getElementById('rca_prodotto1').value = document.getElementById('importo_rca').value.substr(2)
        var objOverlay = document.getElementById('overlay');
	    var objRcaBox = document.getElementById('rcabox');
        objOverlay.style.display = 'none';
        objRcaBox.style.display = 'none';
        return;
    }
	
	InitRcaBoxStyle(); 
	
    var ajaxObj = getXMLHttpRequest();
        
    // inizializzo la richiesta in post
    ajaxObj.open("post", "tfs_ajaxSrvRca3yai.asp", true);
    // imposto il giusto header
    ajaxObj.setRequestHeader("content-type", "application/x-www-form-urlencoded");	
    // imposto la funzione di callback
    ajaxObj.onreadystatechange = function() {  
    // nel caso in cui la funzione sia completata verifico l'esito
    if(ajaxObj.readyState == 4) {
        // verifico la risposta del server
        if(ajaxObj.status == '200') {
            document.getElementById('rcabox').innerHTML = ajaxObj.responseText;
		    // carico l'importo rca nel div predisposto
		    var d = document.getElementById('premio_finito_rca');
		    d.innerHTML = "<strong>Premio finito "+ document.getElementById('importo_rca').value  +"</strong><br>La copertura assicurativa ha durata 12 mesi.";
	    }
        else {
          // errore di caricamento
	      alert(ajaxObj.responseText);
	      alert('Errore riscontrato: ' + ajaxObj.status);
        }
      } 
    }
    check = ""
    //if ( document.getElementById('check_rca').checked ) check = "1"
    // costruisco la lista ei parametri da passare allo script
    if ( ope == 1 ) { 
	    params = 'op=open';
	    params += '&vettura=' + escape(document.getElementById('model').value);
	    params += '&versione=' + escape(document.getElementById('version').value);
	    params += '&provincia=' + escape(document.getElementById('provincia').value);
    }
    else if ( ope == 2 ) {
	    params = 'op=modifica';
	    params += '&tipo_pacchetto=' + escape(document.getElementById('tipoPacchetto').value);
	    params += '&provincia=' + escape(document.getElementById('provincia').value);
	    params += '&assicurato=' + escape(document.getElementById('assicurato').value);
	    params += '&classedimeritocip=' + escape(document.getElementById('classedimeritocip').value);	
	    params += '&satellitare=' + escape(document.getElementById('satellitare').value);	
	    params += '&infortunio=' + escape(document.getElementById('infortunio').value);			
    }
    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
    ajaxObj.send(params); 		
}

function caricaRcaCampagna(ope) {
    if ( !ope ) {
        // carico il valore di rca nei piani selezionati
        document.getElementById('rca_prodotto1').value = document.getElementById('importo_rca').value.substr(2)
        var objOverlay = document.getElementById('overlay');
	    var objRcaBox = document.getElementById('rcabox');
        objOverlay.style.display = 'none';
        objRcaBox.style.display = 'none';
        if ( !document.getElementById('submit_rca') )
            document.getElementById('form1').submit();
        return;
    }
	
	InitRcaBoxStyle(); 
	
    var ajaxObj = getXMLHttpRequest();
        
    // inizializzo la richiesta in post
    ajaxObj.open("post", "tfs_ajaxSrvRcaCampagna.asp", true);
    // imposto il giusto header
    ajaxObj.setRequestHeader("content-type", "application/x-www-form-urlencoded");	
    // imposto la funzione di callback
    ajaxObj.onreadystatechange = function() {  
    // nel caso in cui la funzione sia completata verifico l'esito
    if(ajaxObj.readyState == 4) {
        // verifico la risposta del server
        if(ajaxObj.status == '200') {
            document.getElementById('rcabox').innerHTML = ajaxObj.responseText;
		    // carico l'importo rca nel div predisposto
		    var d = document.getElementById('premio_finito_rca');
		    d.innerHTML = "<strong>Premio finito "+ formattaValuta(document.getElementById('importo_rca').value)  +"</strong><br>La copertura assicurativa ha durata 12 mesi.";
	    }
        else {
          // errore di caricamento
	      alert(ajaxObj.responseText);
	      alert('Errore riscontrato: ' + ajaxObj.status);
        }
      } 
    }
    check = ""
    // costruisco la lista ei parametri da passare allo script
    if ( ope == 1 ) { 
	    params = 'op=open';
	    params += '&vettura=' + escape(document.getElementById('vettura').value);
	    params += '&versione=' + escape(document.getElementById('version_name').value);
	    params += '&provincia=' + escape(document.getElementById('provincia').value);
    }
    else if ( ope == 2 ) {
	    params = 'op=modifica';
	    params += '&tipo_pacchetto=' + escape(document.getElementById('tipoPacchetto').value);
	    params += '&provincia=' + escape(document.getElementById('provincia').value);
	    params += '&assicurato=' + escape(document.getElementById('assicurato').value);
	    params += '&classedimeritocip=' + escape(document.getElementById('classedimeritocip').value);	
	    params += '&satellitare=' + escape(document.getElementById('satellitare').value);	
		params += '&gancio_traino=' + escape(document.getElementById('gancio_traino').value);			
	    params += '&infortunio=' + escape(document.getElementById('infortunio').value);			
    }
    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
    ajaxObj.send(params); 		
}

function caricaRca (ope) {
    // nel caso di chiusura del box, viene rieseguito in automatico il calcolo
    if ( !ope ) {
        // carico il valore di rca nei piani selezionati
        rca = document.getElementById('rca_check1')
        if ( rca && rca.checked ) 
            document.getElementById('rca_prodotto1').value = document.getElementById('importo_rca').value.substr(2)
        rca = document.getElementById('rca_check2')
        if ( rca && rca.checked ) 
            document.getElementById('rca_prodotto2').value = document.getElementById('importo_rca').value.substr(2)
        rca = document.getElementById('rca_check3')
        if ( rca && rca.checked ) 
            document.getElementById('rca_prodotto3').value = document.getElementById('importo_rca').value.substr(2)
        f = document.getElementById('form_calcolo');
        f.submit();
        return;
    }
	
    var ajaxObj = getXMLHttpRequest();
        
    // inizializzo la richiesta in post
    ajaxObj.open("post", "tfs_ajaxSrvRca.asp", true);
    // imposto il giusto header
    ajaxObj.setRequestHeader("content-type", "application/x-www-form-urlencoded");	
    // imposto la funzione di callback
    ajaxObj.onreadystatechange = function() {  
    // nel caso in cui la funzione sia completata verifico l'esito
    if(ajaxObj.readyState == 4) {
        // verifico la risposta del server
        if(ajaxObj.status == '200') {
		   document.getElementById('rcabox').innerHTML = ajaxObj.responseText;
		    // carico l'importo rca nel div predisposto
		    var d = document.getElementById('premio_finito_rca');
		    d.innerHTML = "<strong>Premio finito "+ document.getElementById('importo_rca').value  +"</strong><br>La copertura assicurativa ha durata 12 mesi.";
	    }
        else {
          // errore di caricamento
	      alert(ajaxObj.responseText);
	      alert('Errore riscontrato: ' + ajaxObj.status);
        }
      } 
    }
    check = ""
    //if ( document.getElementById('check_rca').checked ) check = "1"
    // costruisco la lista ei parametri da passare allo script
    if ( ope == 1 ) { 
	    params = 'op=open';
    }
    else if ( ope == 2 ) {
	    params = 'op=modifica';
	    params += '&tipo_pacchetto=' + escape(document.getElementById('tipoPacchetto').value);
	    params += '&provincia=' + escape(document.getElementById('provincia').value);
	    params += '&assicurato=' + escape(document.getElementById('assicurato').value);
	    params += '&classedimeritocip=' + escape(document.getElementById('classedimeritocip').value);	
	    params += '&satellitare=' + escape(document.getElementById('satellitare').value);	
		params += '&gancio_traino=' + escape(document.getElementById('gancio_traino').value);			
	    params += '&infortunio=' + escape(document.getElementById('infortunio').value);			
    }
    params += '&descrizioneProdotto1=' + escape(document.getElementById('descrizioneProdotto1').value);
    params += '&descrizioneProdotto2=' + escape(document.getElementById('descrizioneProdotto2').value);		
    params += '&descrizioneProdotto3=' + escape(document.getElementById('descrizioneProdotto3').value);		
    params += '&chk_piano1=' + document.getElementById('rca_prodotto1').value
    params += '&chk_piano2=' + document.getElementById('rca_prodotto2').value
    params += '&chk_piano3=' + document.getElementById('rca_prodotto3').value		
    // effettuo la richiesta inviando la variabile leggi con contenuto Dante
    ajaxObj.send(params); 		
}
    
//-- Funzione di attivazione/disattivazione classe di merito nel box rca
function attivaClasseMerito() {
	c = document.getElementById('assicurato');	
	m = document.getElementById('classedimeritocip');
	if ( c.value=='no' || c.value == '' ) {
		m.selectedIndex=13;
		m.disabled='yes';
		caricaRca(2);
	}
	else m.disabled='';
}

// funzione che permette di selezionare il piano sul quale attivare l'rca
function seleziona_rca_piano(piano, valore) {
	o = document.getElementById('rca_prodotto'+piano);
	chk = document.getElementById('chk_piano'+piano)
	if ( chk.checked ) o.value = valore;
	else chk.value = "";
}