// TTNews
// TrocaTroca.com 2007 - Todos os direitos reservados

var isIE = (navigator.userAgent.toLowerCase().indexOf('msie') != -1);
var agt = navigator.userAgent.toLowerCase();
var isIe = (agt.indexOf('msie') != -1);
var isIe5 = (agt.indexOf('msie 5') != -1);
var isIE6 = (navigator.userAgent.toLowerCase().indexOf('msie 6') != -1);

var url_news = 'http://news.trocatroca.com/news.php';

frameWidth = 0;
frameHeight = 0;
if (self.innerWidth){
	frameWidth = self.innerWidth;
	frameHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientWidth){
	frameWidth = document.documentElement.clientWidth;
	frameHeight = document.documentElement.clientHeight;
} else if (document.body) {
	frameWidth = document.body.clientWidth;
	frameHeight = document.body.clientHeight;
}

//--------------------------------------------
function LoadNews(id, menu, page){
	var args = '?section='+menu+'&id_news='+id+'&page='+page;
	var url = url_news+args;
	//window.location = url_news+args;
	setTimeout( "window.location.href = '"+url+"'", 0 );
}

function OpenNewsFile(section, page){
	var args = '?section='+section+'&page='+page;
	var url = url_news+args;
	setTimeout( "window.location.href = '"+url+"'", 0 );
}

function isFormValid(){
	local  	 = document.getElementById('local').value;
	nome 	 = document.getElementById('nome').value;
	mensagem = document.getElementById('mensagem').value;
	email 	 = document.getElementById('email').value;
	if(local==''){
		alert('Por favor, informe o local de onde você é!');
		document.getElementById('local').focus();
		return false;
	}
	if(nome==''){
		alert('Favor informar seu nome');
		document.getElementById('nome').focus();
		return false;
	}
	if(!CheckMail(email)){
		alert('Por Favor, informe um endereço de email válido');
		document.getElementById('email').focus();
		return false;
	}
	if(mensagem==''){
		alert('Favor informar um texto para a mensagem');
		document.getElementById('mensagem').focus();
		return false;
	}
	document.getElementById('contato').submit();
}

function toggleMailForm(show){
	document.getElementById('div-contato').style.display = show ? 'block':'none';
	document.getElementById('main-content').style.display = show ? 'none':'block';
	if(show){
		window.clearTimeout(reloading);
	} else {
		reloading = window.setTimeout("location.reload();", time_reload ); 	
	}
}

function setNewsText(id_news, photo){
	var date_element 	= document.getElementById('news-date-'+id_news);
	var photo_element 	= document.getElementById('news-photo');
	var text_element 	= document.getElementById('news-text-complete');
		
	document.getElementById('news-title-complete').innerHTML = document.getElementById('title-'+id_news).innerHTML;
	if(section != 5){
		document.getElementById('news-date-complete').innerHTML = date_element.innerHTML;
	}
	
	if(isIE6){
		var img = new Image();
		img.src = new String(photo);			
		photo_element.src = img.src;
		photo_element.height = img.height;
		photo_element.width = img.width;	
	} else {
		photo_element.src = photo;
	}

	text_element.innerHTML = "<img src='http://www.trocatroca.com/admintt/css/images/large-loading.gif' />";	
	var xmlhttp = createXmlHttpReq(function() {
		if(xmlhttp.readyState == 4) {
			if(xmlhttp.status == 200) {
				var news_text = xmlhttp.responseText;
				news_text = news_text.replace(/<a /g, "<a target='_blank' "); // the g makes it global 
				//alert(news_text);
				text_element.innerHTML = '';
				var child = document.createElement('div');
				child.innerHTML = ''+news_text+'';
				text_element.appendChild(child);				
				document.getElementById('news-text').style.visibility = "visible";
			} else {
				var error = "Erro: \n"+xmlhttp.status+" - "+xmlhttp.statusText;
				alert(error);
			}
		} 
	});
	xmlHttpPOST(xmlhttp, 'action_getNews.php', 'id_news='+id_news+'&type=text');	
}

var setMenuNews = function(id, page){
	if(id==0){
		window.location = "http://news.trocatroca.com/index.php?page="+page;
	} else {
		window.location = "http://news.trocatroca.com/news.php?section="+id+'&page='+page;
	}
}

var setTitleMenu = function(id){
	if(id != "-1"){
		element = document.getElementById(id);
		selected = document.getElementById('selected-item');
		selected.innerHTML = element.innerHTML;
		selected.style.backgroundColor = element.style.backgroundColor;		
	}
}

/*--------------------------------------------------------------------------*/
function createXmlHttpReq(handler) {
	if (isIe) {
		var control = (isIe5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
		try {
			xmlhttp = new ActiveXObject(control);
			xmlhttp.onreadystatechange = handler;
		} catch (e) {}
	} else {
		xmlhttp = new XMLHttpRequest();
		xmlhttp.onload = handler;
		xmlhttp.onerror = handler;
	}
	return xmlhttp;
}

/**
 *
 * @param xmlhttp is xml object used to make ajax request, it must support open and send.
 * @param url is the url/command to execute against the server.
 */
function xmlHttpGET(xmlhttp, url) {
  xmlhttp.open('GET', url, true);
  //xmlhttp.send(null);
  xmlhttp.send('');
}	
/**
 *
 * @param xmlhttp is xml object used to make ajax request, it must support open and send.
 * @param url is the url/command to execute against the server.
 */
function xmlHttpPOST(xmlhttp, url, arg) {
  xmlhttp.open('POST', url, true);
  xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlhttp.setRequestHeader("Content-Length", arg.length);
  xmlhttp.setRequestHeader('Connection','close');
  xmlhttp.send(arg);	  
}

// Para chamar o request do metodo GET
function sendRequestGET(url) {
  //var xmlhttp = createXmlHttpReq(function() {});
  xmlhttp = createXmlHttpReq(function() {});
  xmlHttpGET(xmlhttp, url);
}

// Para chamar o request do metodo GET
function sendRequestPOST(url, arg) {
  //var xmlhttp = createXmlHttpReq(function() {});
  xmlhttp = createXmlHttpReq(function() {});
  xmlHttpPOST(xmlhttp, url, arg);
}

function CheckMail(emailStr) {	
	/* The following variable tells the rest of the function whether or not
	to verify that the address ends in a two-letter country or well-known
	TLD.  1 means check it, 0 means don't. */	
	var checkTLD=1;
	
	/* The following is the list of known TLDs that an e-mail address must end with. */	
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	
	/* The following pattern is used to check if the entered e-mail address
	fits the user@domain format.  It also is used to separate the username
	from the domain. */	
	var emailPat=/^(.+)@(.+)$/;
	
	/* The following string represents the pattern for matching all special
	characters.  We don't want to allow special characters in the address. 
	These characters include ( ) < > @ , ; : \ " . [ ] */	
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	
	/* The following string represents the range of characters allowed in a 
	username or domainname.  It really states which chars aren't allowed.*/
	var validChars="\[^\\s" + specialChars + "\]";
	
	/* The following pattern applies if the "user" is a quoted string (in
	which case, there are no rules about which characters are allowed
	and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
	is a legal e-mail address. */
	var quotedUser="(\"[^\"]*\")";
	
	/* The following pattern applies for domains that are IP addresses,
	rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
	e-mail address. NOTE: The square brackets are required. */
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	
	/* The following string represents an atom (basically a series of non-special characters.) */
	var atom=validChars + '+';
	
	/* The following string represents one word in the typical username.
	For example, in john.doe@somewhere.com, john and doe are words.
	Basically, a word is either an atom or quoted string. */
	var word="(" + atom + "|" + quotedUser + ")";
	
	// The following pattern describes the structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	
	/* The following pattern describes the structure of a normal symbolic
	domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	
	/* Finally, let's start trying to figure out if the supplied address is valid. */
	
	/* Begin with the coarse pattern to simply break up user@domain into
	different pieces that are easy to analyze. */
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		/* Too many/few @'s or something; basically, this address doesn't
		even fit the general mould of a valid e-mail address. */
		//alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	
	// Start by checking that only basic ASCII characters are in the strings (0-127).
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			alert("Ths username contains invalid characters.");
			return false;
	   }
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			alert("Ths domain name contains invalid characters.");
			return false;
	   }
	}
	
	// See if "user" is valid 
	if (user.match(userPat)==null) {
		// user is not valid
		//alert("The username doesn't seem to be valid.");
		return false;
	}
	
	/* if the e-mail address is at an IP address (as opposed to a symbolic
	host name) make sure the IP address is valid. */
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		// this is an IP address
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Destination IP address is invalid!");
				return false;
			}
		}
		return true;
	}
	
	// Domain is symbolic name.  Check if it's valid.
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			//alert("The domain name does not seem to be valid.");
			return false;
	   }
	}
	
	/* domain name seems valid, but now make sure that it ends in a
	known top-level domain (like com, edu, gov) or a two-letter word,
	representing country (uk, nl), and that there's a hostname preceding 
	the domain or country. */
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
		//alert("The address must end in a well-known domain or two letter " + "country.");
		return false;
	}
	
	// Make sure there's a host name preceding the domain.
	if (len<2) {
		//alert("This address is missing a hostname!");
		return false;
	}
	
	// If we've gotten this far, everything's valid!
	return true;
}

function setCSSOpacity(){
	var str = '';
	if ((navigator.appName.indexOf('Microsoft')+1)) {
		str += '<style type="text/css">';
		str += ' .opacity1 {filter:alpha(opacity=70);  }';
		str += ' .opacity2 {filter:alpha(opacity=100);  }';
		str += '</style>';
	} else if ((navigator.appName.indexOf('Netscape')+1)) {
		str = '';
		str += '<style type="text/css">';
		str += ' .opacity1 {-moz-opacity:0.7;  } ';
		str += ' .opacity2 {-moz-opacity:1;  } ';
		str += '</style>';
	}
	document.write(str); 
}