/*** Ajax ***/
// Questo è per i post
function xmlhttpPost(strURL)
{
    var xmlHttpReq = false;
    var self = this;

    if (window.XMLHttpRequest) {
        // Xhr per Mozilla/Safari/Ie7
        self.xmlHttpReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        // Per tutte le altre versioni di IE
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    return self;
}

function updatepage(str, resultId)
{
    if (str.indexOf('__captcha') != -1) {
        var now = new Date();
        document.getElementById('captchaerror').innerHTML = str.substr(17);
        document.getElementById('captchaimg').src = '/captcha.php?' + now.getTime();
        document.getElementById('caricamento').style.display = 'none';
        document.getElementById(resultId).style.display = '';
    } else if (str.indexOf('__string') != -1 && str.indexOf('__string') == 0) {
        document.getElementById(resultId).innerHTML = str.substr(8);
        document.getElementById(resultId).style.display = '';
        document.getElementById('caricamento').style.display = 'none';
    } else if (str.indexOf('__redirect') != -1 && str.indexOf('__redirect') == 0) {
        window.location.assign(str.substr(10));
    }

}

function getquerystring(formId)
{
    var formObj = document.getElementById(formId);
    var num = formObj.elements.length;
    qstr = '';

    for (var i = 0; i < num; ++i) {
        var chiave = formObj.elements[i].name;
        var valore = formObj.elements[i].value;
        var tipo = formObj.elements[i].type;

        if ((tipo == "submit") || (tipo == "image")) {}
        else {
            if (valore != '')
                qstr += chiave + "=" + escape(valore) + "&";
        }
    }

    return qstr;
}

// Questo è per i get
function tokiCall(strURL, resultId, formId)
{
    xmlObj = xmlhttpPost(strURL, formId, resultId);
    xmlObj.xmlHttpReq.onreadystatechange = function()
    {
        if (xmlObj.xmlHttpReq.readyState == 4) {
            updatepage(xmlObj.xmlHttpReq.responseText, resultId);
        }
    }

    xmlObj.xmlHttpReq.send(getquerystring(formId));
}

function setValueObj(arr_idObjs, arr_valuesObjs)
{
	var n_arr_idObjs = 1;
	var n_arr_valuesObjs = 1;
	
	var type_arr_idObjs = typeof arr_idObjs;
	var type_arr_valuesObjs = typeof arr_valuesObjs;
	
	if (type_arr_idObjs != 'string')
		var n_arr_idObjs = arr_idObjs.length;
		
	if (type_arr_valuesObjs != 'string')
		var n_arr_valuesObjs = arr_valuesObjs.length;
		
	// Se "arr_idObjs" è un array e "arr_valuesObjs" è un array
	if (n_arr_idObjs > 1 && n_arr_valuesObjs > 1) {
		for (k = 0; k < n_arr_idObjs; ++k) {
			var obj = document.getElementById(arr_idObjs[k]);
			var obj_tagName = obj.tagName.toLowerCase();
			if (obj) {
    			switch (obj_tagName) {
    			    case 'input': // TAG Input
    			    case 'select': // TAG Select
                        obj.value = arr_valuesObjs[k];
                        break;
    			}
			}
		}
	} else if (n_arr_idObjs > 1 && n_arr_valuesObjs == 1) { // Se "arr_idObjs" è un array e "arr_valuesObjs" è una stringa sola
		for (k = 0; k < n_arr_idObjs; ++k) {
			var obj = document.getElementById(arr_idObjs[k]);
			var obj_tagName = obj.tagName.toLowerCase();
			if (obj) {
    			switch (obj_tagName) {
    			    case 'input': // TAG Input
    			    case 'select': // TAG Select
                        obj.value = arr_valuesObjs;
                        break;
    			}
			}
		}
	} else { // Se "arr_idObjs" è un solo id
		var obj = document.getElementById(arr_idObjs);
		if (n_arr_valuesObjs > 1) { // Se "arr_valuesObjs" è un array
		    var obj_tagName = obj.tagName.toLowerCase();
			if (obj) {
    			switch (obj_tagName) {
    			    case 'input': // TAG Input
    			    case 'select': // TAG Select
                        obj.value = arr_valuesObjs[0];
                        break;
    			}
			}
		} else { // Se "arr_valuesObjs" è una sola stringa
		    var obj_tagName = obj.tagName.toLowerCase();
			if (obj) {
    			switch (obj_tagName) {
    			    case 'input': // TAG Input
    			    case 'select': // TAG Select
                        obj.value = arr_valuesObjs;
                        break;
    			}
			}
		}
	}
}

function validate_form (frm, controllo_check, checkGoogle, submFrom, controllo_check_facebook, checkFacebook)
{
    var policyObj = document.getElementById('policy'); //.checked? '1': '';
    var prefixObj = document.getElementById('prefix');
    var numerocellObj = document.getElementById('numerocell');
    var operatoreObj = document.getElementById('operatore');
    var sendObj = document.getElementById('invia');

    if (sendObj)
        sendObj.disabled = true;

    if (isNaN(prefixObj.value) || isNaN(numerocellObj.value)
        || prefixObj.value.length != 2 || numerocellObj.value.length != 8
        || prefixObj.value == '' || numerocellObj.value == '') {
        frm.elements['prefix'].focus();
        alert('Número do telefone errado!');

        sendObj.disabled = false;
        return false;
    }

    if (!operatoreObj || operatoreObj.value == '') {
        operatoreObj.focus();
        alert('Selecione a sua operadora!');

        sendObj.disabled = false;
        return false;
    }

    if (
        (policyObj && !policyObj.checked)
        && (
            (checkGoogle == 'no' && checkFacebook == 'no') 
            || (checkGoogle == 'yes' && controllo_check == '1' )
            || (checkFacebook == 'yes' && controllo_check_facebook == '1')
            )
        ) {
        alert('Você primeiro deve aceitar as condições de uso para poder prosseguir!');

        sendObj.disabled = false;
        return false;
    }

    return true;
}

function validate_pin(frm, carrier)
{
    var pinObj = document.getElementById('codice');
    var sendObj = document.getElementById('send');

    sendObj.disabled = 'true';
    if (!pinObj || !pinObj.value.match(/^\d{4}$/)) {
        // SORRY! WRONG PIN!
        if (carrier == 'vivo')
            alert('Atenção! Senha errada!');
        else
            alert('Atenção! Código errado!');
        pinObj.focus();
        sendObj.disabled = false;

        return false;
    }

    return true;
}

function showChip(frase_down, checkGoogle)
{    
    var selectOp = document.getElementById('operatore');
    var chipDiv = document.getElementById('chip');
    var chipDiv2 = document.getElementById('chip2');
    var page_id = document.getElementById('pgid');
    var frase_pinin = document.getElementById('condizioni_pin_frase');
    var frasetta_pulsante = document.getElementById('frasetta_pulsante');    
    var barra_javagames = document.getElementById('barra_javagames');
    var barra_music = document.getElementById('barra_suonerie');
    var barra_mista = document.getElementById('barra_mista');
    var frase_condizioni_vivo = document.getElementById('frase_cond_vivo');
    var frase_condizioni_tim = document.getElementById('frase_cond_tim');
    var frase_condizioni_claro = document.getElementById('frase_cond_claro');
    var frase_condizioni_oi = document.getElementById('frase_cond_oi');    
    var label_policy = document.getElementById('label_policy');    
    var frase_tasto_vivo = document.getElementById('frasetta_tasto_vivo');
    var frase_tasto_altro = document.getElementById('frasetta_tasto_altro');    
    var policy_check = document.getElementById('policy');
    
    var label_policy = document.getElementById('label_policy');
    var policy_vivo = document.getElementById('policy_vivo');
    var policy_altro = document.getElementById('policy_altro');
    
    if (chipDiv) {
        if (selectOp[selectOp.selectedIndex].value == 'vivo;MAP2_VIVO' || selectOp[selectOp.selectedIndex].value == 'ctbc;MAP2_CTBC') {
            chipDiv.style.display = 'block';
            chipDiv2.style.display = 'none';
            if (frase_pinin)
                frase_pinin.style.display = 'none';
        } else if (selectOp[selectOp.selectedIndex].value == 'claro;MAP2_CLARO') {
            chipDiv.style.display = 'none';
            chipDiv2.style.display = 'block';
            if (frase_pinin)
                frase_pinin.style.display = 'none';
        } else {
            chipDiv.style.display = 'none';
            chipDiv2.style.display = 'none';
            if (frase_pinin)
                frase_pinin.style.display = 'none';
        }
    }
    
    /*******************************************************************/
    /*** RIPORTO TUTTO ALLA SITUAZIONE "INIZIALE", ALLA "NORMALITA'" ***/
    if (label_policy) {
        label_policy.className = "policy";
        label_policy.style.display = 'block';
    }
    if (frase_pinin)
        frase_pinin.className = 'condizioni_pin';
    if (policy_check)
        policy_check.className = 'policy_check';
    /*******************************************************************/
    /*******************************************************************/
    
    if (frase_tasto_vivo && frase_tasto_altro) {
        if (selectOp[selectOp.selectedIndex].value == 'vivo;MAP2_VIVO' || selectOp[selectOp.selectedIndex].value == 'be-oi-br;MAP2_BEWIRE' || selectOp[selectOp.selectedIndex].value == 'brt;MAP2_BRT') { // Se ho selezionato VIVO, OI o BRT
            frase_tasto_vivo.style.display = 'block';
            frase_tasto_altro.style.display = 'none';
        } else {
            frase_tasto_vivo.style.display = 'none';
            frase_tasto_altro.style.display = 'block';
        }
    }
    
    if ((selectOp[selectOp.selectedIndex].value == 'vivo;MAP2_VIVO') && frase_pinin) { // Se ho selezionato VIVO
        if (frase_condizioni_vivo)
            frase_pinin.innerHTML = frase_condizioni_vivo.innerHTML;            
        frase_pinin.style.display = 'block';
    } else if (selectOp[selectOp.selectedIndex].value == 'be-tim-br;MAP2_BEWIRE' && frase_pinin) { // Se ho selezionato TIM
        if (frase_condizioni_vivo)
            if (!frase_condizioni_tim || frase_condizioni_tim.innerHTML == '')
                frase_pinin.innerHTML = frase_condizioni_vivo.innerHTML;
            else
                frase_pinin.innerHTML = frase_condizioni_tim.innerHTML;
        frase_pinin.style.display = 'block';

        if (label_policy)
            label_policy.style.display = 'none';
        if (frase_pinin)
            frase_pinin.className = 'condizioni_pin txt_indent_tim';
        if (policy_check)
            policy_check.className = 'policy_check checkbox_tim_down';
    } else if ((selectOp[selectOp.selectedIndex].value == 'be-oi-br;MAP2_BEWIRE' || selectOp[selectOp.selectedIndex].value == 'brt;MAP2_BRT') && frase_pinin) { // Se ho selezionato OI o BRT
        if (frase_condizioni_oi)
            frase_pinin.innerHTML = frase_condizioni_oi.innerHTML;
        frase_pinin.style.display = 'block';
    } else if (selectOp[selectOp.selectedIndex].value == 'claro;MAP2_CLARO' && frase_pinin) { // Se ho selezionato CLARO
        if (frase_condizioni_claro)
            frase_pinin.innerHTML = frase_condizioni_claro.innerHTML;
        frase_pinin.style.display = 'block';
        
        if (frase_down == '1' && (!checkGoogle || checkGoogle != 'yes')) {
            if (selectOp[selectOp.selectedIndex].value == 'claro;MAP2_CLARO') { // Se ho selezionato CLARO
                policy_check.className = "check_down";
                label_policy.className = "frase_down";
            }
        }
    } else
        frase_pinin.style.display = 'none';
            
    
    if (label_policy && policy_vivo && policy_altro) {
        if (selectOp[selectOp.selectedIndex].value == 'vivo;MAP2_VIVO') // Se ho selezionato VIVO
            label_policy.innerHTML = policy_vivo.innerHTML;
        else
            label_policy.innerHTML = policy_altro.innerHTML;
    }
}