// author: sydi.net


initTAC = function()
{
	paginaComponivel = document.getElementById('frmcomponivel');
	outrasFotos = document.getElementById('outrasImagens');
	newsForm = document.getElementById('formmail');
/*
	// substitui texto por flash (sifr)
	if(sIFR != null && sIFR.replaceElement != null){
		sIFR.replaceElement(".tit h2", "/_scripts/sifr/futura.swf", "#535353", "", "", "#fafafa", 0, 0, 0, 0, "", "upper");
		sIFR.replaceElement(".subtit h3", "/_scripts/sifr/futura.swf", "#535353", "", "", "#fafafa", 0, 0, 0, 0, "", "upper");
		sIFR.replaceElement("h3.sub", "/_scripts/sifr/futura.swf", "#015487", "", "", "#ffffff", 0, 0, 0, 0, "", "upper");
		sIFR.replaceElement("h3.obs", "/_scripts/sifr/futura.swf", "#535353", "", "", "#ffffff", 0, 0, 0, 0, "", "upper");
		sIFR.replaceElement("h4.obs", "/_scripts/sifr/futura.swf", "#535353", "", "", "#ffffff", 0, 0, 0, 0, "", "upper");
		sIFR.replaceElement("p.obs", "/_scripts/sifr/futura.swf", "#535353", "", "", "#ffffff", 0, 0, 0, 0, "");
	};
	*/

	//initmenu();
	// pagina componiveis
	if(paginaComponivel)
	{
//		rewriteComponivelLinks();
		initLightbox();
		addOptionObservers();
		sumResults();
	}
	// pagina produtos
	if(outrasFotos)
	{
//		rewriteOutrasImagensLinks();
		initLightbox();
	}
	// form de newsletter
	if(newsForm)
	{
		newsForm.onsubmit = checkFormNewsletter;
	}

}

// troca links de componivel
function rewriteComponivelLinks()
{
	var allLinks =  document.getElementById('content').getElementsByTagName('A');
	for(i=0;i<allLinks.length;i++)
	{
		if(allLinks[i].rel.indexOf('lightbox') != -1)
		{
			allLinks[i].onclick = function()
			{
				bigPic = document.getElementById('mainPic');
				linkImage = this.getElementsByTagName('IMG')[0];
				bigPic.src = this.href;
				return false;
			}
		}
	}
}



function addOptionObservers()
{
	var formComponivel = document.getElementById('frmcomponivel');
	var formInputs = formComponivel.getElementsByTagName('INPUT');
	// adiciona observadores aos inputs do form de componivel
	if(formComponivel)
	{
		for(i=0;i<formInputs.length;i++)
		{
			addEvent( formInputs[i], 'click', updateOption );
		}
	}
}

function updateOption(event)
{
	var inputSelected = document.getElementById(getSrcEvent(event));
	var cellResult = document.getElementById("result-"+inputSelected.name);
	// corrije preos
	setResults(cellResult,inputSelected.value);
	sumResults();
}
function setResults(obj, valor)
{
	obj.firstChild.nodeValue = "R$ "+valor;
}


function sumResults()
{
	if( document.getElementById('componentes') )
	{
		var allTableCells = document.getElementById('componentes').getElementsByTagName('TBODY')[0].getElementsByTagName('TD');
		var totalTD = document.getElementById('totalResult');
		var precoComponivel = new Array();
		// pega preos selecionados
		for(var i=0;i<allTableCells.length;i++)
		{
			var valortemp;
			if(allTableCells[i].className.indexOf('right') != -1)
			{
				valortemp = allTableCells[i].firstChild.nodeValue.replace('R$ ','');
				if(valortemp == '')
				{
					valortemp = 0;
				}
				precoComponivel.push(valortemp);
			}
		}
		// calcula preo final
		var valorComponivel = 0;
		var valortemp;
		for(var i=0;i<precoComponivel.length;i++)
		{
			
			precoComponivel[i] = precoComponivel[i].toString().replace('.','');
			precoComponivel[i] = precoComponivel[i].replace(',','.');
			valorComponivel += parseFloat(precoComponivel[i]);
		};
		valorComponivel = number_format(valorComponivel,'.') + ',00';
		setResults(totalTD, valorComponivel);
	}
}


function number_format(n,ch) {
  var arr=new Array('0'), i=0;
/*  if(n.toString().indexOf('.') != -1)
  {
	  	ns = n.toString();
		console.info('ponto: ', ns.substring( ns.indexOf('.')));
		arr[i] = ns.substring( ns.indexOf('.'));
		
		i++;
  }*/
  while (n>0) 
    {arr[i]=''+n%1000; n=Math.floor(n/1000); i++;}
  arr=arr.reverse();
  for (var i in arr) if (i>0) //padding zeros
    while (arr[i].length<3) arr[i]='0'+arr[i];
  return arr.join(ch);
}


// PRODUTOS

function rewriteOutrasImagensLinks()
{
	var allLinks =  document.getElementById('outrasImagens').getElementsByTagName('A');
	var littlePicSrc;
	var littlePicUrl;
	var bigPic;
	var linkImage;
	for(i=0;i<allLinks.length;i++)
	{
		if(allLinks[i].rel.indexOf('lightbox') != -1)
		{
			allLinks[i].onclick = function()
			{
				bigPic = document.getElementById('productPic');
				linkImage = this.getElementsByTagName('IMG')[0];

				littlePicSrc = bigPic.src.replace('grande','pequena');
				littlePicUrl = bigPic.src;

				bigPic.src = this.href;
				linkImage.src = littlePicSrc;
				this.href = littlePicUrl;
				return false;
			}
		}
	}
}



function getSrcEvent(e)
{
	var node = (e.target) ? e.target : e.srcElement;
	return node.id;
}


// MENU COLAPSAVEL



function openMenu(obj){
	parentMenu = obj.parentNode.parentNode;
	closeAllItems(parentMenu,1);
	childMenu = obj.parentNode.getElementsByTagName('UL')[0];
	childMenu.style.display = 'block';
}

function rewriteLinksMenu(obj){
	var menuLinks = obj.getElementsByTagName('A');
	var temSub;
	for(var i=0; i < menuLinks.length; i++)
	{
		temSub = menuLinks[i].parentNode.getElementsByTagName('UL');
		if(temSub.length > 0 )
		{
			menuLinks[i].onclick=function(){openMenu(this);return false;};
		}
	}

}

function closeAllItems(obj,opc){
	var mmenu = obj.getElementsByTagName('UL');
	var checkSelected;
	for(var i=0; i< mmenu.length; i++)
	{
		if(opc!=1) {
			checkSelected = mmenu[i].getElementsByTagName('STRONG');
			if(checkSelected.length <= 0 )
			{
				mmenu[i].style.display = 'none';
			}
		} else {
			mmenu[i].style.display = 'none';
		}
	}
}

function initmenu()
{
	var treemenu = document.getElementById('tree');
	if(treemenu)
	{
		closeAllItems(treemenu,0);
		rewriteLinksMenu(treemenu);
	}
}



checkFormNewsletter = function()
{

 	var VALID_NOT_EMPTY = /.+/;
	var VALID_EMAIL = /^([A-Z0-9\_\.\-\+])+@(([A-Z0-9\-])+.)+([A-Z0-9]{2,4})+$/i;
	var VALID_NUMBER = /^[\d]+$/;
	var VALID_CEP = /^\d{2}[\-\.\s]?\d{3}[\-\.\s]?\d{3}$/;
	var VALID_DDD = /^([0]?)([1-9]){2}$/;
	var VALID_TEL = /[\d]{2,5}[\-\.\+]?[\d]{4,6}?/;
	var VALID_YEAR =/^[12][\d]{3}$/;

	var vFunctions = {
		trim: function(str){
			str = str.replace(/^\s+|\s+$/g, '');
			return str.replace(/^\t+|\t+$/g, '');
		},
		checkValue: function(val, vArray){
			var isValid = vArray[0].exec(val);
			var sizeIsRight = (val.length <= vArray[1])? true:false;
			return (isValid && sizeIsRight);
		}

	};
	var fieldsType = {
		fidseunome:[VALID_NOT_EMPTY,100,true,'Este campo não pode ficar vazio'],
		fidseuemail:[VALID_EMAIL,100,true,'Email inválido. Digite novamente, por favor.'],
		nascimentod:[VALID_NUMBER,2,false,'Este campo pode conter apenas (2) números.'],
		nascimentom:[VALID_NUMBER,2,false,'Este campo pode conter apenas (2) números.'],
		nascimentoa:[VALID_YEAR,4,false,'Digite o ano com 4 dígitos.'],
		fidcep:[VALID_CEP,10,false,'CEP Inválido. Use o formato 00000-000.'],
		fiddddresidencial:[VALID_DDD,3,false,'DDD inválido. Use o formato 000. '],
		fiddddcomercial:[VALID_DDD,3,false,'DDD inválido. Use o formato 000.'],
		fiddddcelular:[VALID_DDD,3,false,'DDD inválido. Use o formato 000.'],
		fidtelresidencial:[VALID_TEL,11,false,'Número inválido. Mínimo de 5 dígitos e máximo de 10.'],
		fidtelcomercial:[VALID_TEL,11,false,'Número inválido. Mínimo de 5 dígitos e máximo de 10.'],
		fidtelcelular:[VALID_TEL,11,false,'Número inválido. Mínimo de 5 dígitos e máximo de 10.']
	};
	var aprovado = true;
	for (var x in fieldsType)
	{
		var validationArray = fieldsType[x];
		var mfield = $("#"+x);
		resultadoTeste = true;
		if(mfield && mfield.value)
		{
			mfield.value = vFunctions.trim(mfield.value);
			var resultadoTeste = vFunctions.checkValue(mfield.value, validationArray);
		}
		else
		{
			if(validationArray[2])
			{
				var resultadoTeste = false;
			}
		}
		if(!resultadoTeste)
		{
			// Mostrar alerta
			var alerta = document.createElement('SPAN');
			var alertaErro = document.createElement('B');
			var alertaErroTxt = document.createTextNode('ERRO: ');
			alertaErro.appendChild(alertaErroTxt);
			alerta.appendChild(alertaErro);
			alerta.className = 'msgErro';
			var contAlerta = document.createTextNode( validationArray[3] );
			alerta.appendChild(contAlerta);
			var jaTemErro = (mfield.nextSibling.className == 'msgErro')? true:false;
			if(jaTemErro)
			{
				//mfield.nextSibling.innerHTML = '2';
			}
			else
			{
				insertAfter(alerta, mfield);
			}

			aprovado = false ;
		}
		else
		{
			// PASSOU NO TESTE
			var jaTemErro = (mfield.nextSibling.className == 'msgErro')? true:false;
			if(jaTemErro)
			{
				mfield.parentNode.removeChild(mfield.nextSibling);
			}
			aprovado = (!aprovado)? false:true; // nao muda condi??o se aprovado == false

		}
	}

	return aprovado;

}