var base_url = 'http://' +  location.hostname; 

var message_type = 1;
var requested_price = false;
var mode = "";
var prices; 
var bott_price;
var send_msg = false;
var lock = 0;
var div_to_edit = 'sms_box_form'; 
var global_error_msg;
	
////////////////////////////////////////////////////////
// new
///////////////////////////////////////////////////////

function messaggioTipo_new(){
	tipo = document.getElementById('messaggiotipo').value;
	if (tipo == "1"){
		document.getElementById('mmsImmagine').className = "off";
		
	}else{
		document.getElementById('mmsImmagine').className = "on";
	}
	document.getElementById('message_type').value = tipo;
}

   	 
    function change_message_type(val) {
        document.getElementById('message_type').value =  val;
        if(!send_msg){
            messaggio_tipo_new();
            getPrice();
        }
    }
	
	    
    function sendMessage_new(message_in,form_name,target,mode_in) {
    	
    	// replace di \n con space
    	var message_value = message_in.testo.value;
    	
    	// orizzontale o verticale o personale
    	mode = mode_in;
    	
    	if(mode != '') {
    		//alert('messaggiotipo_' + mode);
    		message_type = document.getElementById('messaggiotipo_' + mode).value;
    	}
    	else{
    		message_type = document.getElementById('messaggiotipo').value;
    	}
    	
    	var error_message = checkMessage(message_value, message_type);
    	
    	if (error_message!= '') {
    		alert(error_message);
    		return false;
    	}
    	
    	if (message_type == "1") {
    		message_url = 'sms_send';
    	} else {
    		message_url = 'mms_send';
    	}
    	send_msg = true;
    	
    	var my_loading = 'sms_box_loading';
    	var my_form    = 'sms_box_form';
    	if(mode != '') {
    		my_loading = 'sms_box_loading_' + mode;
    		my_form    = 'sms_box_form_'  + mode;
    	}	
    	
    	//alert(my_loading);
    	
    	document.getElementById(my_loading).style.display = "";
    	document.getElementById(my_form).style.display = "none";
    	YAHOO.util.Connect.setForm(form_name,true);
    	//alert(target + message_url);
     	YAHOO.util.Connect.asyncRequest('POST',target + message_url,callbackSendMessage);
    }

    

/////////////////////////////////////////////////////////
// END
/////////////////////////////////////////////////////////
function sendMessage(message_in,form_name,target,mode_in) {
	
	// replace di \n con space
	var message_value = message_in.testo.value;
    message_type = message_in.messaggiotipo.value;

	// orizzontale o verticale o personale
	mode = mode_in;
	if (mode == 'pubblico' || mode == 'verticale') {
		div_to_edit = 'sms_box_container';
	}

	var error_message = "";
	
	message_value = message_value.replace("\n", " ");	

    var message_validchars = "\n ABCDEFGHIJKLMNOPQRSTUVWXYZ?????abcdefghijklmnopqrstuvwxyz0123456789.,?!'-()@:;+&%*=[]{}\"";

	for (var i=0; i < message_value.length; i++) {	
		letter = message_value.charAt(i);		
		if (message_validchars.indexOf(letter) < 0)
		{
		    error_message = "Caractere não permitido: " + letter;	
		}          	
	}
	
	if (message_value.length == 0) {
		error_message = "você deve inserir a mensagem para ser enviada !";
	}	
	
	if (message_type == 1) {
		if (message_value.length > 140) {
			error_message = "A mensagem não deve ter mais de 140 caracteres !";
		}
	} else {
		if (message_value.length > 300) {
			error_message = "A mensagem não deve ter mais de 300 caracteres !";
		}
	}		
	
	if (error_message!= '') {
		alert(error_message);
		return false;
	}
	
	if (message_type == 1) {
		message_url = 'sms_send';
	} else {
		message_url = 'mms_send';
	}
	send_msg = true;
	
	document.getElementById('sms_box').style.display = "";
	document.getElementById('sms_box_form').style.display = "none";
	/*
	document.getElementById('sms_box').className = 'messaggio_' + mode + '_invio';
	document.getElementById('sms_box').innerHTML = "";
	*/
	
	if (mode == 'orizzontale') {
		document.getElementById('sms_box').className = 'messaggio_' + mode + '_invio';
		document.getElementById('sms_box').innerHTML = "";
	} else {
		document.getElementById('sms_box').style.display = "block";
		document.getElementById('sms_box_container').className = 'messaggio_' + mode + '_invio';
	}
	
	YAHOO.util.Connect.setForm(form_name,true);
	//alert(target + message_url);
 	YAHOO.util.Connect.asyncRequest('POST',target + message_url,callbackSendMessage);
}

var handleSuccessSendMessage = function(o){

	if(o.responseText !== undefined){
		if(o.responseText=='OK') {
			setTimeout("messaggio_inviato()", 2500);
		}  
		else if (o.responseText=='REGISTRATI')  {
			location.href = base_url + "/caring";
		}
		else if (o.responseText=='SOTTOSCRIVITI')  {
			location.href = base_url + "/registrazione/upselling";
		}
		else {
			//error_type = o.responseText.split(':');
			//setTimeout("messaggio_errore()", 2500);
			switch(o.responseText) {
				case "PAGAMENTO" : 
					global_error_msg = "Aconteceu um error enquanto você estava enviando sua mensagem. Tente mais tarde!"
					setTimeout("messaggio_errore()", 2500);
				break;
				case "TIPOFILE" :
					global_error_msg = "Il tipo di file non ? accettato per l'invio tramite MMS. Riprova con un altro file !"
					setTimeout("messaggio_errore()", 2500);
				break;
				case "DIMENSIONE" :
					global_error_msg = "La dimensione del file non ? valida per l'invio tramite MMS. Riprova con un altro file !"
					setTimeout("messaggio_errore()", 2500);
				break;
				case "LISTANERA" :
					global_error_msg = "Não pode enviar mensagens para esse usuário !"
					setTimeout("messaggio_errore()", 2500);
				break;
				case "NONAFFINE" :
					global_error_msg = "Não pode enviar mensagens para esse usuário !"
					setTimeout("messaggio_errore()", 2500);
				break;
				case "GENERALE1" :
					global_error_msg = "Esse usuário não é habilitado a receber mensagens."
					setTimeout("messaggio_errore()", 2500);
				break;
				default : 
					global_error_msg = "Aconteceu um error enquanto você estava enviando suas mensagens. Tente mais tarde! !"
					setTimeout("messaggio_errore()", 2500);
			}

		}
	} else {
			global_error_msg = o.responseText;
			setTimeout("messaggio_errore()", 2500);
	}
}

var handleErrorSendMessage = function(o) {
	global_error_msg = "Ci sono stati dei problemi nell'invio del tuo sms. Riprova piu' tardi !"
	setTimeout("messaggio_errore()", 2500);
}

var callbackSendMessage =
{
  upload:handleSuccessSendMessage,
  failure: handleErrorSendMessage
};

function messaggio_inviato() {
	var my_loading = 'sms_box_loading';
	var my_ok    = 'sms_box_ok';
	
	if(mode != '') {
		my_loading = 'sms_box_loading_' + mode;
		my_ok      = 'sms_box_ok_'  + mode;
	}	
	
	
	document.getElementById(my_loading).style.display = "none";
	document.getElementById(my_ok).style.display = "";
	
	// document.getElementById(div_to_edit).innerHTML += "<a href=\"\" class=\"messaggio_" + mode + "_link\">&nbsp</a>";
	
}
function aggiunge_link(){
	da_aggiungere = document.getElementById(div_to_edit);
    if (mode=='orizzontale') classe='riprova02';
    else classe='riprova';
   /*
    var link_errore = document.createElement('a');
    link_errore.setAttribute('href','');
    link_errore.setAttribute('class',classe);
    da_aggiungere.parentNode.appendChild(link_errore);
    */
    da_aggiungere.parentNode.innerHTML +=  "<a href=\"\" class=\""+classe+"\"></a>";
}
function messaggio_errore() {
	var my_loading = 'sms_box_loading';
	var my_ko    = 'sms_box_ko';
	var my_error_text = 'sms_box_error_message';
	
	if(mode != '') {
		my_loading     = 'sms_box_loading_' + mode;
		my_ko          = 'sms_box_ko_'  + mode;
		my_error_text  =  'sms_box_error_message_' + mode ;
	}	
	
	document.getElementById(my_loading).style.display = "none";
	document.getElementById(my_error_text).innerHTML = global_error_msg;
	document.getElementById(my_ko).style.display = "";
	global_error_msg = '';
}
	
function messaggio_errore_pagamento()
{
	document.getElementById(div_to_edit).className = 'messaggio_' + mode + '_credito';
	document.getElementById(div_to_edit).innerHTML = "";
	aggiunge_link();
}

function messaggio_errore_upload()
{
	document.getElementById(div_to_edit).className = 'messaggio_' + mode + '_immagine';
	document.getElementById(div_to_edit).innerHTML = "";
	aggiunge_link();
}

function messaggio_errore_listanera()
{
	document.getElementById(div_to_edit).className = 'messaggio_' + mode + '_blacklist';
	document.getElementById(div_to_edit).innerHTML = "";
	aggiunge_link();
}

function messaggio_errore_nonaffine()
{
	document.getElementById(div_to_edit).className = 'messaggio_' + mode + '_gusti';
	document.getElementById(div_to_edit).innerHTML = "";
	aggiunge_link();
}

function getPrice() {
	lock++;
	if (lock==1) {
		
		var sUrl = base_url + '/sms_box/get_price';
		
		var price_callback = {
			success: function(o){
				prices = o.responseText.split('|');
				if (message_type == 1) {
					final_price = prices[0];
				}
				else {
					final_price = prices[1];
				}
				if (final_price == 0) 
					final_price = "Invia gratis";
				else 
					final_price = "Invia a " + final_price + " eur";
				if(document.getElementById('sms_invia')) document.getElementById('sms_invia').value = final_price;
				requested_price = true;
				if(document.getElementById('sms_invia')) document.getElementById('sms_invia').disabled = false;
				lock = 0;
			},
			failure: function(o){
				//alert(o.responseText);
			}
		}
		if (!requested_price) {
			if(document.getElementById('sms_invia')) document.getElementById('sms_invia').disabled = true;
			YAHOO.util.Connect.asyncRequest('GET', sUrl, price_callback, null);
		}
		else {
			if (document.getElementById('message_type').value == 1) {
				final_price = prices[0];
			}
			else {
				final_price = prices[1];
			}
			if (final_price == 0) 
				final_price = "Invia gratis";
			else 
				final_price = "Invia a " + final_price + " eur";
			if(document.getElementById('sms_invia')) document.getElementById('sms_invia').value = final_price;
			lock = 0;
		}
		
	}
}

function getBottPrice() {
	lock++;
	if (lock==1) {
		
		var sUrl = base_url + '/messaggio_bottiglia/get_price';
		
		var bott_callback = {
			success: function(o){
				
				bott_price = o.responseText;
				if (bott_price == 0) 
					final_price = "Invia gratis";
				else 
					final_price = "Invia a " + bott_price + " eur";
				document.getElementById('sms_invia').value = final_price;
				requested_price = true;
				if(document.getElementById('sms_invia')) document.getElementById('sms_invia').disabled = false;
				lock = 0;
			},
			failure: function(o){
				//alert(o.responseText);
			}
		}
		if (!requested_price) {
			if(document.getElementById('sms_invia')) document.getElementById('sms_invia').disabled = true;
			YAHOO.util.Connect.asyncRequest('GET', sUrl, bott_callback, null);
		}
		else {

			final_price = bott_price;
			if (final_price == 0) 
				final_price = "Invia gratis";
			else 
				final_price = "Invia a " + final_price + " eur";
			document.getElementById('sms_invia').value = final_price;
			lock = 0;
		}
	}
}


function searchBottle() {
	var sUrl = base_url + '/mbott_cerca.php?';
	var url_params = '';
	if(document.getElementById("bottle_gender").value != ''){
		url_params += "gender=" + document.getElementById("bottle_gender").value;
	}
	if(document.getElementById("bottle_location_id").value != ''){
		if (url_params!='') url_params += "&";
		url_params += "location_id=" + document.getElementById("bottle_location_id").value;
	}
	if(document.getElementById("bottle_age").value != ''){
		if (url_params!='') url_params += "&";
		url_params += "age_range=" + document.getElementById("bottle_age").value;
	}
	sUrl += url_params;
	
	var bott_callback = {
		success: function(o){
			div_to_fill = o.responseText;
			document.getElementById("messaggio_bottiglia_ricerca_risultati").innerHTML = div_to_fill;
			document.getElementById("messaggio_bottiglia_ricerca_risultati").className ="";
		},
		failure: function(o){
			//alert(o.responseText);
		}
	}
	YAHOO.util.Connect.asyncRequest('GET', sUrl, bott_callback, null);
	
}

function bottleCheck(cform) {
	var error_message = "";
	
	message_value = cform.campomessaggio.value.replace("\n", " ");	

    var message_validchars = "\n ABCDEFGHIJKLMNOPQRSTUVWXYZ?????abcdefghijklmnopqrstuvwxyz0123456789.,?!'-()@:;+&%*=[]{}\"";

	for (var i=0; i < message_value.length; i++) {	
		letter = message_value.charAt(i);		
		if (message_validchars.indexOf(letter) < 0)
		{
		    error_message = "Caractere não permitido: " + letter;	
		}          	
	}
	
	if (message_value.length == 0) {
		error_message = "você deve inserir a mensagem para ser enviada !";
	}	
	
	if (message_value.length > 160) {
		error_message = "A mensagem não deve ter mais de 160 caracteres !";
	}	
	
	if (error_message!= '') {
		alert(error_message);
		return false;
	}
}