var pinLabel = '<label for="contacto-pinpuk">Pin Original/PUK:</label>';
var pinInput = '<input type="text" name="pinpuk" id="contacto-pinpuk">';

var subjects=new Array();
subjects[0]="2&ordf; Via de Cart&atilde;o";
subjects[1]="Actualiza&ccedil;&atilde;o de Dados Pessoais";
subjects[2]="Informa&ccedil;&atilde;o sobre Tarif&aacute;rio";
subjects[3]="Campanhas e D&uacute;vidas";

subjects[0]="2ª Via de Cartão";
subjects[1]="Actualização de Dados Pessoais";
subjects[2]="Informação sobre Tarifário";
subjects[3]="Campanhas e Dúvidas";

var strInsertPinPUK = "Tens que inserir o teu PIN Original ou o teu PUK.";
var strSubscriptionSent = "O teu pedido foi registado com sucesso.";
var strUnsubscriptionSent = "O teu pedido foi registado com sucesso.";

var strMsisdnText = "Número de telemóvel inválido.";
var strNumericPinPUK = "PIN/PUK inserido inválido."
 /**
 *
 * FUNCTIONS TO SEND CONTACT
 *
 */
 
function isNumeric(sText){
   var ValidChars = "0123456789.";
   var IsNumber = true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++){ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
         IsNumber = false;
      }
   }
   return IsNumber;
}
 
function subjectChange(){

	var val = document.getElementById('contacto-assunto').value;
	

	if(val < 2){
		document.getElementById('div-pinpuk').innerHTML = pinLabel + pinInput;
	}
	else
		document.getElementById('div-pinpuk').innerHTML = "";

}

 
function sendContact(){
	inThickB = true;
	var name = document.getElementById("contacto-nome").value;
	var email = document.getElementById("contacto-email").value;
	var msisdn = document.getElementById("contacto-msisdn").value;
	var subject = document.getElementById("contacto-assunto").value;
	var pinpuk = "";
	var text = document.getElementById("contacto-mensagem").value;

	if(name == undefined || name == "") {
		showMessage(strInsertName);
		return;
	}
	if(email == undefined || email == "") {
		showMessage(strInsertEmail);
		return;
	}
	if(!echeck(email)) {
		showMessage(strValidEmail);
		return;
	}	
	
	if(msisdn == undefined || msisdn == "") {
		showMessage(strInsertMSISDN);
		return;
	}
	if(!isNumeric(msisdn) || msisdn.length != 9){
		showMessage(strMsisdnText);
		return;	
	}
	if(subject == undefined || subject < 0) {
		showMessage(strInsertSubject);
		return;
	}
	
	if(subject < 2){
		pinpuk = document.getElementById("contacto-pinpuk").value;
			
		if(pinpuk == undefined || pinpuk == "") {
			showMessage(strInsertPinPUK);
			return;
		}
		if(!isNumeric(pinpuk)){
			showMessage(strNumericPinPUK);
			return;
		}
	}
	
	if(text == undefined || text == "" || text == "Escreve aqui a tua mensagem") {
		showMessage(strInsertMsg);
		return;
	}	

	var msg = text;
	var now = new Date();
	
	text = "Data: " + now.getDate() + "/" + (now.getMonth()+1) + "/" + now.getFullYear();
	text += "\n";	
	text += "Nome: " + name;
	text += "\n";;
	text += "Email: " + email;
	text += "\n";;
	text += "MSISDN: " + msisdn;
	text += "\n";;
	text += "Assunto: " + subjects[subject];
	text += "\n";
	if(pinpuk != "") {
		text += "Pin / PUK: " + pinpuk;
		text += "\n";;
	}
	text += "Mensagem:";
	text += msg;
	text += "\n";
	
	var url = '/utils.jsp';
	var params = 'action=sendContact&lang=pt_pt';
	params += '&name='+name;
	params += '&email='+email;
	params += '&subject='+Url.encode(subjects[subject]);
	params += '&text='+Url.encode(text);

	
	$.ajax({
		url: url,
		type: 'GET',
		dataType: 'html',
		data: params,
		error: showFailedRegContact,
		success: showRegContactResult
	});
	
	showLoader();
  } 
  
function showFailedRegContact(){
	$("#TB_load").remove();
	showMessage(strError);
}

function showRegContactResult(resultStr){
	$("#TB_load").remove();
	var resultStr = trim(resultStr);
	if(resultStr.substring(0,2) == "OK"){
		clearForm();
		showMessage(strSentEmail);
	}
	else{
		showMessage(strError);
	}
}

function clearForm(){		

	var el = document.getElementById("contacto-nome");
	if(el) el.value = "";
	
	el = document.getElementById("contacto-email");
	if(el) el.value = "";
	
	el = document.getElementById("contacto-msisdn");
	if(el) el.value = "";
	
	el = document.getElementById("contacto-assunto");
	if(el) el.value = -1;
	
	el = document.getElementById("contacto-mensagem");
	if(el) el.value = "";
	
	el = document.getElementById("contacto-pinpuk");
	if(el) el.value = "";
	
}

/**
 *
 * FUNCTIONS TO SEND CONTACT - END
 *
 */
 
/**
 *
 * NEWSLETTER Subscription - START
 *
 */
function subscribeMail(){
	inThickB = true;
	var email = document.getElementById("newsletter-email").value;
	var username = null;
	
	if(document.getElementById("newsletter-username"))
		username = document.getElementById("newsletter-username").value;

	if(email == undefined || email == "") {
		showMessage(strInsertEmail);
		return;
	}
	if(!echeck(email)) {
		showMessage(strValidEmail);
		return;
	}
	

	var url = '/utils.jsp';
	var params = 'action=subscribeMail&lang=pt_pt';
	params += '&email='+email;
	if(username != null)
		params += '&username='+username;
	
	$.ajax({
		url: url,
		type: 'GET',
		dataType: 'html',
		data: params,
		error: showFailedSubscribeMail,
		success: showSubscribeMailResult
	});
	
	showLoader();
  } 
  
function showFailedSubscribeMail(){
	$("#TB_load").remove();
	showMessage(strError);
}

function showSubscribeMailResult(resultStr){
	$("#TB_load").remove();
	var resultStr = trim(resultStr);
	if(resultStr.substring(0,2) == "OK" || resultStr.substring(9,11) == "ok"){
		clearForm();
		showMessage(strSubscriptionSent);
	}
	else{
		if(resultStr.substring(0,9) == "resposta=") 
			showMessage(resultStr.substring(9));
		else
			showMessage(strError);
	}
}
function clearNewsletterForm(){		

	var el = document.getElementById("newsletter-email");
	if(el) el.value = "";
	
	el = document.getElementById("newsletter-username");
	if(el) el.value = "";
		
}


function unsubscribeMail(email, code, list){
	inThickB = true;
	
	var listNr = list;
	if(list == undefined || list == "")
		listNr = 1;
	
	if(email == undefined || email == "") {
		showMessage(strInsertEmail);
		return;
	}
	if(!echeck(email)) {
		showMessage(strValidEmail);
		return;
	}	
	

	var url = '/utils.jsp';
	var params = 'action=unsubscribeMail&lang=pt_pt';
	params += '&email='+email+'&code='+code +'&list='+list;

	$.ajax({
		url: url,
		type: 'GET',
		dataType: 'html',
		data: params,
		error: showFailedUnsubscribeMail,
		success: showUnsubscribeMailResult
	});
	
	showLoader();
  } 
  
function showFailedUnsubscribeMail(){
	$("#TB_load").remove();
	showMessage(strError);
}

function showUnsubscribeMailResult(resultStr){
	$("#TB_load").remove();
	var resultStr = trim(resultStr);
	if(resultStr.substring(0,2) == "OK"){
		document.location="/info/TAGNews.jsp?cancelado="+resultStr.substring(5);
	}
	else{
		showMessage(strError);
	}
}

/**
 *
 * NEWSLETTER Subscription - END
 *
 */