// JavaScript Document

function StartEnviaEmail(){	
	var objImagem = document.createElement("img");
	objImagem.setAttribute('src', 'templates/images/enviando_mensagem.gif');
	objImagem.setAttribute('id', 'img_enviando');
	$('confimEmail').appendChild(objImagem);
	
	Element.show('confimEmail');
	setTimeout(StopEnviaEmail,7000);
}

function StopEnviaEmail(){
	new Effect.Fade('overlay', { duration: 0.2});	
	
	Element.remove('img_enviando');
	Element.hide('confimEmail');
	showSelectBoxes();
	
	$('mensagem').value = 'Digite seu comentario';
}

function carregando(){
	alert('carregando...');
}

function StartBackground(){
	
	var objBody = document.getElementsByTagName("body").item(0);
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','overlay');
	objOverlay.style.display = 'none';
	objBody.appendChild(objOverlay);

	hideSelectBoxes();
	
	var arrayPageSize = getPageSize();
	objOverlay.style.height = arrayPageSize[1] +"px";
	new Effect.Appear('overlay', { duration: 0.2, from: 0.0, to: 0.5 });
	
	var arrayPageScroll = getPageScroll();
	var enviandoTop = arrayPageScroll[1] + (arrayPageSize[3] / 3);
	
	if( !$('confimEmail') ){
		var objConfEmail = document.createElement('div');
		objConfEmail.setAttribute('id', 'confimEmail');
		objBody.appendChild(objConfEmail);
	}

	$('confimEmail').style.top = enviandoTop+"px";
	$('confimEmail').appendChild( $('enviar_email') )
	
	Element.show('confimEmail');
	Element.show('enviar_email');
}

function StopBackground(){
	Element.hide('enviar_email');
	Element.hide('confimEmail');
	new Effect.Fade('overlay', { duration: 0.2});
	showSelectBoxes();
}

function enviar(){
	Element.hide('enviar_email');
	Element.hide('confimEmail');
	StartEnviaEmail();
}

function envioEmailCompleto(e){
	//alert( e.responseText );
}

function enviarEmail(){
	var valorEmail = $('emailDestinatario').value;
	var emailRemetente = $('emailRemetente').value;
	var remetente = $('nomeRemetente').value;
	var destinatario = $('nomeDestinatario').value;
	var mensagem = $('mensagem').value;
	var link = $('link').value;
	if( $('titulo') ){
		var titulo = $('titulo').value;
	}
	else{
		var titulo = '';
	}
	

if(mensagem == 'Digite seu comentario') mensagem = 'null'; 
	if(validarEmail(valorEmail) && validarEmail(emailRemetente) && validarRemetente(remetente) && validarDestinatario(destinatario) ){
		var url = "utils/enviar/enviar.php";
		//var pars = Form.serialize('contato');
		var pars = "nomeRemetente=" + remetente + "&emailRemetente=" + emailRemetente + "&nomeDestinatario=" + destinatario + "&emailDestinatario=" + valorEmail + "&titulo=" + titulo  +"&link=" + link + '&mensagem=' + mensagem;
		//alert(pars);
		var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onLoading: enviar, onComplete: envioEmailCompleto } );
		//var myAjax = new Ajax.Updater( 'div_resultado',url, { method: 'get', parameters: pars, onComplete: envioEmailCompleto } );
	}
	else{
		if(!validarEmail(valorEmail))
		{
			//alert( 'O email precisa ser válido' );
			var msg = 'Email do Destinatário';
			$('emailDestinatario').value = msg;
			$('emailDestinatario').style.color = '#a60000';
			Event.observe('emailDestinatario', 'click', emailDestinatarioHandleClick);
		}
		if(!validarEmail(emailRemetente))
		{
			//alert( 'O email precisa ser válido' );
			var msg = 'Digite seu e-mail';
			$('emailRemetente').value = msg;
			$('emailRemetente').style.color = '#a60000';
			Event.observe('emailRemetente', 'click', emailHandleClick);
		}
		if(!validarRemetente(remetente))
		{
			//alert( 'O email precisa ser válido' );
			var msg = 'Digite seu nome completo';
			$('nomeRemetente').value = msg;
			$('nomeRemetente').style.color = '#a60000';
			Event.observe('nomeRemetente', 'click', RemetenteHandleClick);
		}
		if(!validarDestinatario(destinatario))
		{
			//alert( 'O email precisa ser válido' );
			var msg = 'Nome do Destinatário';
			$('nomeDestinatario').value = msg;
			$('nomeDestinatario').style.color = '#a60000';
			Event.observe('nomeDestinatario', 'click',DestinatarioHandleClick);
		}
	}
}



function emailHandleClick(e){
	if(typeof(e) == 'undefined'){
		var e = window.event;
	}
	var elem = e.target ? e.target  :e.srcElement;
	
	var msg = 'Digite seu e-mail';
	elem.style.color = '#000000';

}

function emailDestinatarioHandleClick(e){
	if(typeof(e) == 'undefined'){
		var e = window.event;
	}
	var elem = e.target ? e.target : e.srcElement;
	elem.style.color = '#000000';
}

function RemetenteHandleClick(e){
	if(typeof(e) == 'undefined'){
		var e = window.event;
	}
	var elem = e.target ? e.target : e.srcElement;
	elem.style.color = '#000000';
}

function DestinatarioHandleClick(e){
	if(typeof(e) == 'undefined'){
		var e = window.event;
	}
	var elem = e.target ? e.target : e.srcElement;
	elem.style.color = '#000000';
}


function validarRemetente(nome)
{
	if(nome == 'Digite seu nome completo' || nome == '') return false;
	return true;
}

function validarDestinatario(nome)
{
	if(nome == 'Nome do Destinatário' || nome == '') return false;
	return true;
}

function validaEmail(str){
	for(var i = 0; i < str.length; i++){
		if(str.charAt(i) == "@"){
			return true;
		}
	}
	return false;
}

function validarEmail(str){ 
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str))) 
	{ 
		//alert("Favor informar um email válido.");
		return false;
		
	}
	else
	{
		return true;	
	}
} 

// ---------------------------------------------------




function showSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}


function hideSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
}

function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

function getPageSize(){

var xScroll, yScroll;

if (window.innerHeight && window.scrollMaxY) { 
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight){ // Explorer 6 strict mode
xScroll = document.documentElement.scrollWidth;
yScroll = document.documentElement.scrollHeight;
} else { // Explorer Mac...would also work in Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}

var windowWidth, windowHeight;
if (self.innerHeight) { // all except Explorer
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
} 

// for small pages with total height less then height of the viewport
if(yScroll < windowHeight){
pageHeight = windowHeight;
} else { 
pageHeight = yScroll;
}

// for small pages with total width less then width of the viewport
if(xScroll < windowWidth){ 
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}


arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
return arrayPageSize;
}



//Event.observe(window, 'load', Start, false);
