/*************************************************
 * Biblioteca de funções para manipulação de 
 * janelas.
 *
 * cássio saldanha dos santos, 08/fev/2003
 * atualizada em: 20/mar/2004
 ************************************************/


//===============================================
// verifica se existe um determinado frame.
//
// parametros:
// frameName = o nome de um frame a ser procurado
//
// retorno:
// true se o frame for encontrado, senão false.
//
// cássio saldanha dos santos, 08/fev/2003.
//===============================================		
function checkFrames(frameName) {
	var frm;
	
	//tenta encontrar o frame
	frm  = eval("parent." + frameName);				
	
	//verifica se encontrou o frame
	if((frm!=undefined) && (frm!=null)) {					
		//frame foi encontrado
		return true;
	}				
	else {
		//frame não foi encontrado
		return false;
	}
}	



//===============================================
// remove os frames carregando uma URL na janela
// pai de um frame indicado.
//
// parametros:
// frameName = o nome de um frame filho da janela
//             principal.
//
// retorno:
// não retorna
//
// cássio saldanha dos santos, 08/fev/2003.
//===============================================		
function removeFrames(aFrameName,redir) {
	if(checkFrames(aFrameName)) {
		parent.window.location = redir;
	}
}



//===============================================
// Abre uma nova janela sem barra de menu
//
// parametros:
// url = URL da página a ser aberta na nova janela
// width = largura da janela
// height = altura da janela
//
// retorno:
// retorna a janela criada
//
// cássio saldanha dos santos, 05/mar/2003.
//===============================================		
function openSysWindow(url,width,height,statusBar,scrollBars,resizable,multipleWins) {
	var prefs = "titlebar=no,directories=no,location=no,menubar=no,toolbar=no,";//Directories Location Menubar Toolbar 
	var winName = "";
	var nro;
	
	if(multipleWins){
	    //cria um nome randomico para a janela
	    // com isso a tela chamada pode ficar duplicada na tela
	    winName = generateRandomString(5,"w","",false);
    }
    else{
	    //cria um nome Fixo para a janela
	    // com isso a janela chamada não fica duplicada na tela
	    winName = "FLY3SYSWIN";
	}
	
	//verifica se deve ou não incluir barra de status
	if(statusBar) {
		prefs += "status=yes,";
	}
	else {
		prefs += "status=no,";
	}	
	
	//verifica se deve ou não incluir barras de rolagem
	if(scrollBars) {
		prefs += "scrollbars=yes,";
	}
	else {
		prefs += "scrollbars=no,";
	}	
		
	//verifica se deve ou não incluir barras de rolagem
	if(resizable) {
		prefs += "resizable=yes";
	}
	else {
		prefs += "resizable=no";
	}	
		
	//acerta tamanho, barras de rolagem e redimensionamento
	if(width!=0)
		prefs += ",width=" + width;
	if(height!=0)		
		prefs += ",height=" + height;
		
	//tela posicionada mais acima e mais a esquerda possivel
	prefs += ",top=0,left=0";
				
	//retorna a janela criada
	var newWin = window.open(url,winName,prefs)

	//retorna, centralizada, a janela criada 
	//var newWin = window.open(url,winName,prefs + centralizaJanela(width, height))
	
	if((width==0)&&(height==0))
	{
		newWin.moveTo(0,-4);
		newWin.resizeTo(screen.availWidth,screen.availHeight+4);
	}
	
	return newWin
}



//===============================================
// cria uma string com caracteres aleatorios
//
// parametros:
// url = URL da página a ser aberta na nova janela
// width = largura da janela
// height = altura da janela
//
// retorno:
// retorna a janela criada
//
// cássio saldanha dos santos, 08/fev/2003.
//===============================================		
function generateRandomString(size,prefix,sufix,onlyNumbers) {
	var str = "";
	var nro = 0;
	var chartable = "abcdefghijklmnopqrstuvxywz_";
		
	if(onlyNumbers) {
		for(i=1;i<=size;i++) {
			if((i%2)==0) {
				nro = Math.floor(Math.random()*9) + Math.ceil(Math.random()*11);
				str += nro;				
			}
			else {
				nro = Math.ceil(Math.random()*10);
				str += nro;
			}
		}		
	}
	else {
		for(i=1;i<=size;i++) {
			if((i%2)==0) {
				nro = Math.floor(Math.random()*9) + Math.ceil(Math.random()*9) + Math.floor(Math.random()*9);				
				str += chartable.charAt(nro);				
			}
			else {
				nro = Math.ceil(Math.random()*10);
				str += nro;
			}
		}		
	}
		
	return (prefix + str + sufix);
}


//===============================================
// imprime a janela indicada
//
// parametros:
// objWindow = objeto window indicando a janela
//			   que deve ter seu conteúdo impressa
//
// cássio saldanha dos santos, 20/mar/2004.
//===============================================		
function printWindow(objWindow) {
	
	// define o foco na janela (necessário para impirmir)
	objWindow.focus();
	
	// invoca impressão pelo browser
	objWindow.print();
}

function printAndClose(segundos){
    segundos = segundos * 1000;
    self.print();
    //window.close(); Espera 5 segundos para fechar tela após a impressão
    window.setTimeout("javascript:this.close();", segundos)
}

//
// campovalor e' uma referencia ao campo 'codigooperacao' da pagina chamadora. exemplo: 'opener.document.frmname.fieldname'
//            campo para retornar código transação do cartão. Esse campo está na tela que chamou DadosCartao.aspx
// valor  : valor decimal a ser emitido para o Cartão de Crédito
// moedaid: identificador da Moeda a ser usada para a operação do Cartão de Crédito
// cartao: cartão de crédito escolhido
// nomessegurados: lista de nomes dos segurados que serão pagos com a operação do cartão
// idsvouchers: lista de ids dos vouchers que serão pagos com a operação do cartão
function OpenCartaoCredito(valor, moedaid, cartao, nomessegurados, idsvouchers)
{
	var url 
	
	url = 'DadosCartao.aspx';
	url = url + '?valor=' + escape(valor);
	url = url + '&moedaid=' + escape(moedaid);
	url = url + '&cartao=' + escape(cartao);
	url = url + '&nomessegurados=' + escape(nomessegurados);
	url = url + '&idsvouchers=' + escape(idsvouchers);
	window.open(url,'CartaoCredito','scrollbars=1,toolbar=0,status=1,' + centralizaJanela(840,460));
}

function centralizaJanela(width,height)
{
	var string;
	var top;
	var left;
	
	top = ((screen.availHeight - height)/2);
	left = ((screen.availWidth - width)/2);
	
	string = 'top=' + top + ',left=' + left + ',width=' + width + ',height=' + height;

	return string ;
}

function finalizaTela(){
    // valida data inicio seguro
	   // alert("fechou.");
    return true;
}

