//funcao para tratar o activeX do flash no IE
var bo_ns_id = 0;

function startIeFix(){
	if(isIE()){
		document.write('<div id="bo_ns_id_' + bo_ns_id + '"><!-- ');
	}
}

function endIeFix(){
  if(isIE()){
    document.write('</div>');
    var theObject = document.getElementById("bo_ns_id_" + bo_ns_id++);
    var theCode = theObject.innerHTML;
    theCode = theCode.substring(4 ,9+theCode.indexOf("</object>"))
    document.write(theCode);
  }
}

function isIE(){
  // only for Win IE 6+
  // But not in Windows 98, Me, NT 4.0, 2000
  var strBrwsr= navigator.userAgent.toLowerCase();
  if(strBrwsr.indexOf("msie") > -1 && strBrwsr.indexOf("mac") < 0){
	  
    if(parseInt(strBrwsr.charAt(strBrwsr.indexOf("msie")+5)) < 6){
      return false;
    }
	
    if(strBrwsr.indexOf("win98") > -1 ||
       strBrwsr.indexOf("win 9x 4.90") > -1 ||
       strBrwsr.indexOf("winnt4.0") > -1 ||
       strBrwsr.indexOf("windows nt 5.0") > -1) {
      return false;
    }
	
    return true;
	
  }else{
    return false;
  }
}
//---------------------------------------------------------

//outra funcao para tratar o aciveX do flash!

/****************************************************************************
* Flash Tag Write Object v1.8 - by Lucas Fererira - www.lucasferreira.com   *
* Info and Usage: www.lucasferreira.com/flashtag                            *
* bugs/reports: contato@lucasferreira.com                                   *
****************************************************************************/
/*
uso...

<script type="text/javascript" src="flashFix.js"></script>
<script type="text/javascript">
<!--
Flash.automatic(true);
//-->
</script>
*/

if(Browser == undefined)
{
	var Browser = {
		isIE: function(){ return (window.ActiveXObject && document.all && navigator.userAgent.toLowerCase().indexOf("msie") > -1  && navigator.userAgent.toLowerCase().indexOf("opera") == -1) ? true : false; }
	};
}

var Flash = function(movie, id, width, height, initParams)
{
	this.html = "";
	
	this.variables = new Array();
	
	this.flashversion = (typeof initParams != "undefined" && typeof initParams.flashversion != "undefined") ? initParams.flashversion : "7,0,0,0";
	
	this.attributes = {
		"classid": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
		"codebase": "http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab#version=" + this.flashversion,
		"type": "application/x-shockwave-flash"
	};
	
	this.params = { "pluginurl": "http://www.macromedia.com/go/getflashplayer" };
	
	if(movie)
	{
		this.addAttribute("data", movie);
		this.addParameter("movie", movie);
	}
	
	if(id && id != null && (this.id = id)) 
	{
		this.addAttribute("id", this.id);
		this.addAttribute("name", this.id);
	}
	else
	{
		this.id = null;
	}
	
	if(width) this.addAttribute("width", width);
	if(height) this.addAttribute("height", height);
	
	if(initParams != undefined)
	{
		for(var i in initParams) this.addParameter(i.toString(), initParams[i]);
	}
};

Flash.version = "v1.8";

Flash.prototype.getObject = function()
{
	if(this.id == null) return null;
	try
	{
		if(window.document[this.id])
		{
			return window.document[this.id];
		}
		else
		{
			return document.getElementById(window.document[this.id]);
		}
	}
	catch(e) { return null; }
};

Flash.getObjectByExceptions = function(obj, excep)
{
	var tempObj = {};
	for(var i in obj)
	{
		var EOF = false;
		for(var j=0; j<excep.length; j++) if(excep[j] == i.toString()) { EOF = true; break; };
		if(!EOF) tempObj[i] = obj[i];
	}
	return tempObj;
};

Flash.prototype.addAttribute = function(prop, val){ this.attributes[prop] = val; };
Flash.prototype.addParameter = function(prop, val){ this.params[prop] = val; };
Flash.prototype.addVariable = function(prop, val){ this.variables.push([prop, val]); };

Flash.prototype.getFlashVars = function()
{
	for(var i=0, tempString = new Array(); i<this.variables.length; i++) tempString.push(this.variables[i].join("="));
	return tempString.join("&");
};


Flash.prototype.toString = function()
{
	this.params.flashVars = this.getFlashVars();
	if(Browser.isIE())
	{
		//IE
		this.html = "<ob" + "ject";
		var attr = Flash.getObjectByExceptions(this.attributes, ["type", "data"]);
		for(var i in attr) if(i.toString() != "extend") this.html += " " + i.toString() + " = \"" + attr[i] + "\"";
		this.html += "> ";
		var params = Flash.getObjectByExceptions(this.params, ["pluginurl", "extend"]);
		for(var i in params) if(i.toString() != "extend") this.html += "<param name=\"" + i.toString() + "\" value=\"" + params[i] + "\" /> ";
		this.html += " </obj" + "ect>";
	}
	else
	{
		//non-IE
		this.html = "<!--[if !IE]> <--> <obj" + "ect";
		var attr = Flash.getObjectByExceptions(this.attributes, ["classid", "codebase"]);
		for(var i in attr) if(i.toString() != "extend") this.html += " " + i.toString() + " = \"" + attr[i] + "\"";
		this.html += "> ";
		var params = Flash.getObjectByExceptions(this.params, ["extend"]);
		for(var i in params) if(i.toString() != "extend") this.html += "<param name=\"" + i.toString() + "\" value=\"" + params[i] + "\" /> ";
		this.html += " </obj" + "ect> <!--> <![endif]-->";
	}
	return this.html;
};
Flash.prototype.write = Flash.prototype.writeIn = function(w)
{
	if(typeof w == "string" && (w = document.getElementById(w)));
	if( w != null ) { w.innerHTML = this.toString(); }
	else if( w == undefined ) { document.write( this.toString() ); }
    	else { return false; }
};

//automatization functions...
Flash.correctAll = function()
{
	if(!/msie/.test(navigator.userAgent.toLowerCase()) || !document.getElementsByTagName) return false;
	for (var i = 0, objects = document.getElementsByTagName("OBJECT"); i < objects.length;
		(objects[i].outerHTML ? (objects[i].outerHTML = objects[i].outerHTML, objects[i].style.visibility = "visible") : null), i++);
};
Flash.automatic = function(r)
{
	if(r && window.attachEvent)
	{	
		for (var i = 0, objects = document.getElementsByTagName("OBJECT"); i < objects.length; (objects[i].style.visibility = "hidden"), i++);
		window.attachEvent("onload", Flash.correctAll);
		window.attachEvent("onunload", function(){ window.detachEvent("onload", Flash.correctAll); });
	}
	else
	{
		Flash.correctAll();
	}
};


//-------------------------------------------------------------


//-----------------------------------------------------------------------
//checa se o campo passdo esta vazio.
function EstaVazio(texto)
{
	//Caracteres considerados em Branco
	var enter1 = "\n",
		enter2 = "\r",
		espaco = " ",
		tab = "\t";
	
	if (texto =="")
	{
		return true;
	}
	
	//A verifica se o caracter selecionada possui valor vahlido
   for (var indice = 0; indice < texto.length; indice++)
	{
 		if (texto.charAt(indice) != espaco && texto.charAt(indice) != tab &&
			texto.charAt(indice) != enter1 && texto.charAt(indice) != enter2 )
			return false;
	}
   return true;
}

//--------------------------------------------------------

//funcao para validar o login do aluno
function validaLogin(nome, user) 
{
	if (EstaVazio(teste))
	{
		//alert(" asd ");
		return false;
	}
	
	if (EstaVazio(senha))
	{
		//alert(" asd2 ");
		return false;
	}

	document.frmPass.submit();
 	return true;
}
//--------------------------------------------------------

//abre um popup
//params: url, largura, altura, topo, esq.
function abrePop() {
	
	//posicao na tela largura, altura left, top.
	var width = 401;
	var height = 401;
	
	var left = 99;
	var top = 99;
		
	//nome do arquivo
	URL = "pop-cons_w.htm";
	myRef = window.open(URL,'Cidadania', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=no, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
	
}


//-------------------------------------------------------------------
//abre popup na tela.
function doPop(URL, wName, w, h, tl, tb) {

	if(tl==undefined) tl=50;
	if(tb==undefined) tb=50;
	
	window.open(URL, wName, 'width='+w+', height='+h+', top='+tl+', left='+tb+', scrollbars=no, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');

}

//-------------------------------------------------------------------

//fucao para checar o email se e valido
function checkemail(str1){
	//alert(str1)
	var testresults
	var str=str1
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	
	if (filter.test(str))
		testresults=true
	else{
		alert("Por favor digite um endereço de e-mail válido.")
		testresults=false
	}
	return (testresults)
}

function trimString (str) {
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

//-------------------------------------------------------------------

//checa se os campos do formulario do Placement estao todos preenchidos.
function validaFormPlac(formID){

	flagReturn = true;
	
	//pega variáveis
	prinome = formID.prinome.value;
	myemail = formID.email.value;
	secao = formID.sec.value;
	ddd = formID.ddd.value;
	telefone = formID.tel_numero.value;
	dia = formID.dia.value;
	mes = formID.mes.value;
	ano = formID.ano.value;
	
	//valida se tem pelo menos 2 nomes.
	var name = new Array()
	name = prinome.split(" ")

	// validate radio buttons
	var radio_choice = false;
	for (counter = 0; counter < formID.tipo_telefone.length; counter++)	{
		if (formID.tipo_telefone[counter].checked){
			radio_choice = true; 
		}	
	}

	if(name[1]=="" || name[1]==undefined) {
		alert("Por favor digite seu nome completo.");
		formID.prinome.focus();
		return false;
	}

	//checa se tem algum campo vazio
	if( (prinome=="") || (myemail=="") || (radio_choice==false) || (ddd=="") || (telefone=="") || (dia=="") || (mes=="") || (ano=="") ) {
		alert('Por favor preencha todos os campos antes de prosseguir.');
		return false;
	}
	
	//valida email
	if(!checkemail(myemail)){
		formID.email.focus();
		return false;
	}
	var answer = confirm("  Este cadastro e para:\n"+secao+"\n    Deseja continuar?")
	if (answer){
		
		
		return flagReturn;
	}
	else{
		
		window.location = "http://valida.alumni.org.br/placement/indexp.asp";
		return false;
	}

	
}




//------------------------------------------------------------------------
function RetiraAcentos(Campo) {
   var Acentos = "áàãââÁÀÃÂéêÉÊíÍóõôÓÔÕúüÚÜçÇ";
   var Traducao ="aaaaaAAAAeeEEiIoooOOOuuUUcC";
   var Posic, Carac;
   var TempLog = "";
   for (var i=0; i < Campo.length; i++)
   {
   Carac = Campo.charAt (i);
   Posic  = Acentos.indexOf (Carac);
   if (Posic > -1)
	  TempLog += Traducao.charAt (Posic);
   else
      TempLog += Campo.charAt (i);
   }
      return (TempLog);
}
//-------------------------------------------------------------------

//checa se os campos do formulario de re-envio do plac estão todos preenchidos.
function validaReenvioPlac(formID){

	alert('validaForm')
	flagReturn = true;
	
	//pega variáveis
	emailcad = formID.emailcad.value;
	dtnasc = formID.dtnasc.value;
	newEmail = formID.newEmail.value;
	
	//checa se tem algum campo vazio
	if( (emailcad=="") || (dtnasc=="") ){
		alert('Por favor preencha todos os campos antes de prosseguir.');
		return false;
	}
	
	//checa se o email é valido
	if(!checkemail(emailcad)){
		return false;
	}
	
	//valida dt nasc
	if(!validateDate(dtnasc)) {
		return false	
	}	
	return flagReturn

}


//-------------------------------------------------------------------
//ve se o núimero é um inteiro
function isInteger(s) {   
	var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

//-------------------------------------------------------------------
//retira os caracteres definidos em (s) do string passado
function stripCharsInBag(s, bag) {  

	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

////-------------------------------------------------------------------
//valida se o telefone é internacional

function checkInternationalPhone(strPhone){
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	//alert(s.length)
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 8;


//valida o telefone passado
//8 caracteres e so aceita - ( ) + alem de numeros
function validaTelefone(numTel){
	
	//alert(numTel)
	var Phone=numTel
	
	if ((Phone==null)||(Phone=="")){
		alert("O Telefone deve ter no mínimo 8 digitos.")
		//alert("false")
		return false
	}
	
	if (checkInternationalPhone(Phone)==false){
		alert("O Telefone deve ter no mínimo 8 digitos.")
		//alert("false")
		return false
	}
	
	//alert("true")	
	return true

}

//-------------------------------------------------------------------
//valida data passada, formato brasileiro (dd/mm/aaaa)
function validateDate(strData) {
	
	
    var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
    var errorMessage = 'O campo data deve estar no formato dd/mm/aaaa (ex: 25/01/1955).';
	
    if ((strData.match(RegExPattern)) && (strData!='')) {
        return true;
    } else {
        alert(errorMessage);
        return false;
    } 
	
}


//-------------------------------------------------------------------
// If the element's string matches the regular expression it is all letters
//ve se o caracter passado é letra e a mensagem caso nao seja
function isAlphabet(elem, helperMsg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		return false;
	}
}


function IncludeJS(jsFile)
{
  document.write('<script type="text/javascript" src="'
    + jsFile + '"></script>');
}

//IncludeJS('http://www.google-analytics.com/urchin.js');



//-----------------------------------------------------------------------------------
/*
Copyright 2005, 4word systems
All rights reserved.

This software may not be reproduced or distributed in any form without the express 
written consent of 4word systems or it's designee.

Revision 1.1:  20050729 Added underscore to list of valid characters
*/


function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}