/**
* @projectDescription MySabre Plus Brazil Site
* @author Roger Leite
* @email roger.leite@Sabre.com
* @date 20100118
* @class GenericsPage
* @version 1.01
* A classe "AirAlertDialog.js", é responsável por criar todos os alertas modal, na parte de aereo.
*/

function AirAlertDialog(){
	var t = new Template('main').structpage.alertModal;
	
	this.buildDialog = function(type, page, dialog){
		var _page,
			_ret; 
			
			_page = page.toUpperCase();
			_ret = "";
			
			if(type == "fail"){
				switch(_page){
					case "BUSCAVOOS":

						if(dialog.indexOf("Não foi possível retornar voo(s)") >= 0){
							t.alertError.hdVb = "hidden";
							t.alertError.N_B = "none";
							t.alertError.textAlert = "Não foi possível retornar voo(s) com os dados informados."+
							"Por favor tente fazer uma nova busca!";
							t.alertError.textAlertErrorTrace = dialog;
							t.alertError.hdVb = "visible";
							t.alertError.N_B = "none";
							t.alertError.exeFunction = "buildstructPage.selectPage('buscavoos');";								
						};
						if(dialog.indexOf("Erro de disponibilidade: Erro ao tentar localizar a empresa") >= 0 || dialog.indexOf("Por favor preencha todos os campos!") >= 0 || dialog.indexOf("A data") >= 0 || dialog.indexOf("Para selecionar os voos disponíveis na volta") >= 0 || dialog.indexOf("O aeroporto de origem deve ser diferente do aeroporto de destino!") >= 0){
							t.alertError.hdVb = "hidden";
							t.alertError.N_B = "none";
							if (dialog.indexOf("Erro de disponibilidade: Erro ao tentar localizar a empresa") >= 0) {
								t.alertError.textAlert = "Sua sessão expirou,<br/>"+
								"Por favor tente fazer uma nova busca!";
								t.alertError.textAlertErrorTrace = dialog;
								t.alertError.hdVb = "visible";
								t.alertError.N_B = "none";
								t.alertError.exeFunction = "buildstructPage.selectPage('buscavoos');";								
							}else{
								t.alertError.textAlert = dialog;
								t.alertError.hdVb = "hidden";
								t.alertError.textAlertErrorTrace = "";
								t.alertError.exeFunction = "buildstructPage.destructSkin();";
							};
						
						};
						
						
						_ret = t.alertError.getHtml();
						pageScroll();
						break;
						
					case"RESULTADOVOOS":
					
						if(dialog.indexOf("Os aeroportos do trecho de ida não correspondem aos do trecho de retorno.") >= 0 || dialog.indexOf("CalculaTarifaReservaDU") >= 0){
							if(dialog.indexOf("CalculaTarifaReservaDU") >= 0){
								t.alertDialog.textAlert = 'Não foi possível selecionar este voo.'+ ' <br/><br/> ' + 'Clique em "Cancelar" para fazer uma nova busca ou "Continuar" para escolher outro voo.';
							};
							
							if(dialog.indexOf("Os aeroportos do trecho de ida não correspondem aos do trecho de retorno.") >= 0){
								t.alertDialog.textAlert = "Os aeroportos do trecho de ida não correspondem aos do trecho de retorno, favor escolha outro(s) voo(s)."+ ' <br/><br/> ' + 'Clique em "Cancelar" para fazer uma nova busca ou "Continuar" para escolher outro voo.';
							};
							
							t.alertDialog.textAlertErrorTrace = dialog;
							t.alertDialog.hdVb = "visible";
							t.alertDialog.N_B = "none";							
						}else{
							t.alertDialog.textAlert = dialog;
							t.alertDialog.hdVb = "hidden";
							t.alertDialog.N_B = "none";
							t.alertDialog.textAlertErrorTrace = "";							
						};
						_ret = t.alertDialog.getHtml();
						pageScroll();
						break;

					case"RESULTADOVOOSINTER":
						if(dialog.length > 30){
							
							if(dialog.indexOf("Os aeroportos do trecho de ida não correspondem aos do trecho de retorno.") >= 0 ){
								t.alertDialog.textAlert = "Os aeroportos do trecho de ida não correspondem aos do trecho de retorno, favor escolha outro(s) voo(s).";
							};
							if (dialog.indexOf("CODE - UC SEG STATUS NOT ALLOWED") >= 0) {
								t.alertDialog.textAlert = 'Não foi possível selecionar este voo.'+ ' <br/><br/> ' + 'Clique em "Cancelar" para fazer uma nova busca ou "Continuar" para escolher outro voo.';
							};

							if (dialog.indexOf("NO COMBINABLE FARES FOR CLASS USED") >= 0) {
								t.alertDialog.textAlert = 'Não foi possível selecionar este voo.'+ ' <br/><br/> ' + 'Clique em "Cancelar" para fazer uma nova busca ou "Continuar" para escolher outro voo.';
							};//else{
								//t.alertDialog.textAlert = dialog;
							//};
							
							if(!(dialog.indexOf("Os aeroportos do trecho de ida não correspondem aos do trecho de retorno.") >= 0 ) && !(dialog.indexOf("CODE - UC SEG STATUS NOT ALLOWED") >= 0) && !(dialog.indexOf("NO COMBINABLE FARES FOR CLASS USED") >= 0)){
								t.alertDialog.textAlert = dialog;
							};
											
							t.alertDialog.textAlertErrorTrace = dialog;
							t.alertDialog.hdVb = "visible";
							t.alertDialog.N_B = "none";
						}else{
							t.alertDialog.hdVb = "hidden";
							t.alertDialog.N_B = "none";							
							t.alertDialog.textAlert = dialog;
							t.alertDialog.textAlertErrorTrace = "";
						};
												
						_ret = t.alertDialog.getHtml();
						pageScroll();
						break;
						
					case"TARIFADAAEREO":
						if(dialog.length > 30){
						
							if((dialog.indexOf("O número de bebês não pode ser superior ao número de Adulto(s)!") >= 0) || (dialog.indexOf("O número de passageiros excedeu") >= 0)){
								t.alertError.textAlert = dialog;
								
								t.alertError.hdVb = "hidden";
								t.alertError.N_B = "none";
								
								t.alertError.textAlertErrorTrace = "";
								t.alertError.exeFunction = "buildstructPage.destructSkin();";
							};
															
							if(dialog.indexOf("Erro de tarifada: Error response received. The error was: CODE - UN SEG STATUS NOT ALLOWED") >= 0){
								t.alertError.textAlert = "Não existem tarifas para o(s) Voo(s) selecionado(s), por favor escolha outro(s) voo(s)!";
								t.alertError.exeFunction = "buildstructPage.destructSkin();";
								t.alertError.textAlertErrorTrace = dialog;
								t.alertError.hdVb = "visible";
							};
							
							if(dialog.indexOf("Não foi possível tarifar o(s) voo(s) selecionado(s), favor refaça a sua busca!") >= 0){
								t.alertError.textAlert = dialog;
								t.alertError.exeFunction = "buildstructPage.selectPage('buscavoos');";
								t.alertError.textAlertErrorTrace = "Erro ao tentar carregar os dados da tarifada.";
								t.alertError.hdVb = "visible";
							};
							//t.alertError.N_B = "none";
							
						}else{
							t.alertError.hdVb = "hidden";
							t.alertError.N_B = "none";							
							t.alertError.textAlert = dialog;
							t.alertError.textAlertErrorTrace = "";
							t.alertError.exeFunction = "buildstructPage.destructSkin();";
						};
					
						_ret = t.alertError.getHtml();
						pageScroll();
						break;
						
					case"DADOSPAGAMENTO":
						
						if(dialog.length > 50 && !(dialog.indexOf("Relay")>=0) && !(dialog.indexOf("Campo")>=0) && !(dialog.indexOf("Não é permitido passageiros com o mesmo Nome e Sobrenome") >= 0) && !(dialog.indexOf("idade máxima permitida") >= 0)){
							if(dialog.indexOf("Root element is missing") >=0){
								t.alertError.textAlert = "Sua sessão expirou,<br/>"+
								"Por favor tente fazer uma nova busca!";
							}else{
								t.alertError.textAlert = "Ocorreu um erro ao tentar confirmar a sua reserva,<br/>"+
								"Por favor tente fazer uma nova busca!";								
							};
							t.alertError.textAlertErrorTrace = dialog;
							t.alertError.hdVb = "visible";
							t.alertError.N_B = "none";
							t.alertError.exeFunction = "buildstructPage.selectPage('buscavoos');";
						}else{
							t.alertError.hdVb = "hidden";
							t.alertError.N_B = "none";							
							t.alertError.textAlert = dialog;
							t.alertError.textAlertErrorTrace = "";
							if(dialog.indexOf("Erro no método de envio") >= 0){
								t.alertError.exeFunction = "$('conclusaoPedido').submit();";
							}else{
								t.alertError.exeFunction = "buildstructPage.destructSkin();";
							};
						};
						_ret = t.alertError.getHtml();
						pageScroll();
						break;
						
					case"CADASTROCLIENTE":
						if(dialog.length > 90){
							t.alertError.textAlert = "Ocorreu um erro ao tentar efetuar seu cadastro,<br/>"+
							"Por favor tente novamente!";
							t.alertError.textAlertErrorTrace = dialog;
							t.alertError.hdVb = "visible";
							t.alertError.N_B = "none";
						}else{
							t.alertError.hdVb = "hidden";
							t.alertError.N_B = "none";							
							t.alertError.textAlert = dialog;
							t.alertError.textAlertErrorTrace = "";
						};
						t.alertError.exeFunction = "buildstructPage.destructSkin();";
						_ret = t.alertError.getHtml();
						pageScroll();
						break;
						
					case"ESQUECIMINHASENHA":

						t.alertError.hdVb = "hidden";
						t.alertError.N_B = "none";
						t.alertError.textAlert = dialog;
						t.alertError.textAlertErrorTrace = "";
						t.alertError.exeFunction = "buildstructPage.destructSkin();";						
						_ret = t.alertError.getHtml();
						pageScroll();					
						break;

					case"FALECONOSCO":
						t.alertError.hdVb = "hidden";
						t.alertError.N_B = "none";
						t.alertError.textAlert = dialog;
						t.alertError.textAlertErrorTrace = "";
						t.alertError.exeFunction = "buildstructPage.destructSkin();";
						_ret = t.alertError.getHtml();
						pageScroll();
						break;																									
				};
			}else{
				switch(_page){
					
					case "BUSCAVOOS":
						break;
						
					case"RESULTADOVOOS":
						break;

					case"RESULTADOVOOSINTER":
						break;
						
					case"DADOSPAGAMENTO":
						break;

					case"ESQUECIMINHASENHA":
					if(dialog.indexOf("Foi enviado para o seu email cadastrado") >= 0){
						t.alertSuccess.textAlert = dialog;
						t.alertSuccess.nameForm = "selected_Result";
						_ret = t.alertSuccess.getHtml();						
					}else{
						t.alertError.hdVb = "hidden";
						t.alertError.N_B = "none";
						t.changePwd.textAlert = dialog;
						t.changePwd.exeFunction = "requestChangePwd.resetPwd();";
						_ret = t.changePwd.getHtml();				
					};
					pageScroll();					
					break;
					
					case"CADASTROCLIENTE":
						t.alertSuccess.textAlert = dialog;
						t.alertSuccess.nameForm = "selected_Result";
						_ret = t.alertSuccess.getHtml();
						pageScroll();
					break;																			
				};				
			};
			return _ret;
	};
	
    var pageScroll = function(){
    	window.scroll(0, 0);
    };
	
	
	this.deconstruct = function(){
		$("dialog").removeChild($('alertModal'));
		$("dialog").removeChild($('siteSkin'));
	};
	
	this.constructor = new function(){
	
	};
};

