﻿//<![CDATA[

	var datas;
	var xml_produtos;
	var xml_tipo_produto;
	var xml_classe_produto;
	var xml_fabricantes;
	var xml_languages;
	var initializing;
	var xmlDoc;
	var saveFields=false;

	var timeInterval;
	var xmlQueued = false;
	var xmlUrl = '';
	var timeToEvent = 0;
	var IframePhoto;
	var IframePhoto_op ='';
	var zoom_ammount = 100;
	var fullScr;
	var stepNo=0;

	var map = null;
	var marker;
	var alreadyMarked = false;
	var geocoder = null;
	var ltd = 10.8333;
	var lng = -13.7109;
	var zoom = 1;

	var LOADING = 1;
	var LOADED  = 2;
	var photo   = LOADING;

	/***********************************************
         calendar variables
	 ***********************************************/
	var pathToFlags  = 'http://www.brmusic.com.br/images/flags/'
	var pathToImages = 'http://www.brmusic.com.br/images/calendar/'
	var pathToThemes = 'http://'+location.hostname+'/themes/images/'
	var MSIE = false;
	var Opera = false;
	var languageCode = 'pt-br';

	if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0)MSIE=true;
	if(navigator.userAgent.indexOf('Opera')>=0)Opera=true;

	/***********************************************
         Fields of produtos table
	 ***********************************************/
	var __id_produto=-1
	var __id_tipo_produto=-1;
	var __id_classe_produto=-1;
	var __id_fabricante=-1;
	var __id_usuario=-1;
	var __codigo;
	var __produto;
	var __info;
	var __background='';

	var __id_language='pt-br';
	var __lngName_info='Portuguese (Brazil)';

	/***********************************************
       * Fields of pontos_venda table
	 ***********************************************/

	var __id_local=-1;
	var __id_type=0;
	var __id_usuario=0;
	var __latitude=0.0;
	var __longitude=0.0;
	var __zoom=0;
	var __id_timezone='';
	var __gmtOffset=0;
	var __name='';
	var __country_code='';
	var __country_name='';
	var __state_code='';
	var __city_name='';
	var __neighborhood='';
	var __address='';
	var __zip='';
	var __contact='';
	var __phone='';
	var __site='';
	var __email='';
	var __logo='';
	var __mostrar=1;

	/***********************************************
         Auxiliar variables
	 ***********************************************/
	var __next_language='pt-br';

	/***********************************************
         Fields of agenda_info table
	 ***********************************************/

	if (!checkCookie('session_id_usuario')) {
		alert ('Tempo expirado!\nReconecte novamente');
		document.location='index.php';
	} else {
		__id_usuario=getCookie('session_id_usuario');
	}

	function initialize() {

		if (checkCookie('contatoInfo')) {
			document.getElementById('contato').innerHTML = unescape(getCookie('contatoInfo'));
		}

		IframePhoto = document.getElementById('imageIframe');

		initializing = true;

		document.body.style.cursor = 'wait';

		div_loading.style.visibility = 'visible';

		if (GBrowserIsCompatible()) {

			// define the crosshair tile layer and its required functions
			// ---------------------------------------------------------------------------------
			var crossLayer = new GTileLayer(new GCopyrightCollection(""), 0, 15);
			crossLayer.getTileUrl = function(tile, zoom) {return "./include/tile_crosshairs.png";}
			crossLayer.isPng = function() {return true;}

			// Create a new map type incorporating the tile layer
			// ---------------------------------------------------------------------------------
			var layerTerCross = [ G_PHYSICAL_MAP.getTileLayers()[0], crossLayer ];
			var mtTerCross = new GMapType(layerTerCross, G_PHYSICAL_MAP.getProjection(), "Ter+");
			map = new GMap2(document.getElementById("map_canvas"), { size: new GSize(640,340) } );
			geocoder = new GClientGeocoder();

			map.addMapType(G_PHYSICAL_MAP);
			map.addMapType(mtTerCross);
			map.setCenter(new GLatLng(ltd,lng), zoom);
			map.setMapType(G_NORMAL_MAP);
			map.addControl(new GLargeMapControl());
     
			// Set up map type menu relationships
			// ---------------------------------------------------------------------------------
			var mapControl = new GHierarchicalMapTypeControl();
			mapControl.clearRelationships();
			mapControl.addRelationship(G_SATELLITE_MAP, G_HYBRID_MAP, "Labels", false);
			mapControl.addRelationship(G_PHYSICAL_MAP, mtTerCross, "Crosshairs");
  
			// Add control after you've specified the relationships
			// ---------------------------------------------------------------------------------
			map.addControl(mapControl);

			// Zoom information listener
			// ---------------------------------------------------------------------------------
			GEvent.addListener(map, "zoomend", function(oldLevel, newLevel) {
					__zoom=newLevel;
					});

			// Check the start of map
			// ---------------------------------------------------------------------------------
			if (zoom>1) {
				var point = new GLatLng(ltd,lng);
				var marker = new GMarker(point, {draggable: true});
			        GEvent.addListener(marker, "dragstart", function() {map.closeInfoWindow();});
			        GEvent.addListener(marker, "dragend",   function() {
								var point = marker.getPoint(); 
								__latitude = fix6ToString(point.lat());
								__longitude = fix6ToString(point.lng()); 
								});
          			map.addOverlay(marker);
			}
		}

		loadXMLDoc('brmn_produtos_xml.php?command=ENTER');

	}

	function showAddress() {

		if (alreadyMarked==true) {
			alreadyMarked=false;
			map.clearOverlays();
			if (__id_local!=-1) {
				if (confirm(__name+'...\nDeseja também excluir este ponto de vendas do banco de dados?\nTodas as informações deste estabelecimento serão apagadas!')) {
					deleteThisPlace(__id_local);
					map.setCenter(new GLatLng(__latitude, __longitude), __zoom);
				}
			}
			__latitude = '';
			__longitude = '';

		} else if(checkIfFreeToMark()) {

			if (trim(completeAddress)=='') return;
			if (geocoder) {
				geocoder.getLatLng(
					completeAddress,
					function(point) {
						var msgPoint = '';
						if (!point) {
							msgPoint = "Endereço não encontrado...\n\n";
							point = map.getCenter();
        					} 
						map.setCenter(point, 16);
						var marker = new GMarker(point, {draggable: true});
						var point = marker.getPoint(); 
						__latitude = fix6ToString(point.lat());
						__longitude = fix6ToString(point.lng()); 
				      		GEvent.addListener(marker, "dragstart", function() {map.closeInfoWindow();});
						GEvent.addListener(marker, "dragend",   function() {
										//marker.openInfoWindowHtml(completeAddress);
										var point = marker.getPoint(); 
										__latitude = fix6ToString(point.lat());
										__longitude = fix6ToString(point.lng()); 
									});
						map.addOverlay(marker);
						alreadyMarked=true;
						msgPoint += "Use o zoom e ajuste\na marca manualmente em\nseu local correto!";
						alert(msgPoint);
						document.body.style.cursor = 'wait';
						div_loading.style.visibility = 'visible';
						loadXMLDoc('admin_utcgmt_xml.php?lat='+fix6ToString(point.lat())+'&lng='+fix6ToString(point.lng()));

						//marker.openInfoWindowHtml(completeAddress);
					}
				)
			}
		}
	}


	function goPlace(id) {

		document.location = "#top";
		document.body.style.cursor = 'wait';
		IframePhoto.style.visibility = 'hidden';
		div_loading.style.visibility = 'visible';
		loadXMLDoc('brmn_produtos_xml.php?command=QUERYPOINT&id='+id);
	}

	function showPlace() {

		document.getElementById('init-panel').style.display='none';
		document.getElementById('point-panel').style.display='inline';
		document.getElementById('product-panel').style.display='none';

		map.clearOverlays();
		initializing=true;
		alreadyMarked=false;
		msgInit='Carregando...';
		fillPlaceForm();
		msgInit='';
		initializing=false;

		if (__latitude==0.0||__longitude==0.0) {
			showAddress();
		} else {
			map.setCenter(new GLatLng(__latitude, __longitude), __zoom);
			var point = new GLatLng(__latitude, __longitude);
			var marker = new GMarker(point, {draggable: true});
	      		GEvent.addListener(marker, "dragstart", function() {map.closeInfoWindow();});
			GEvent.addListener(marker, "dragend",   function() {
						//marker.openInfoWindowHtml(completeAddress);
						var point = marker.getPoint(); 
						__latitude = fix6ToString(point.lat());
						__longitude = fix6ToString(point.lng()); 
					});
			map.addOverlay(marker);
			alreadyMarked=true;
			document.getElementById("localTime").innerText = '';
			//loadXMLDoc('admin_utcgmt_xml.php?lat='+fix6ToString(point.lat())+'&lng='+fix6ToString(point.lng()));
		}

	}

	function fillPlaceForm() {

		document.getElementById("pointflag").src=pathToFlags+__country_code+'.png';
		document.getElementById("localName").innerHTML = (__site!='') ? "<a href='http://"+__site+"' target=_blanK>"+__name+"</a>" : __name;

		var displayAddress = '';
		displayAddress  = __address;
		displayAddress += (__neighborhood!='') ? ' - '+__neighborhood : '';
		displayAddress += '<br>';
		displayAddress += __city_name;
		displayAddress += (__state_code!='') ? ' - '+__state_code : '';
		displayAddress += '<br>';
		displayAddress += __zip+' '+__country_name;

		document.getElementById("localaddr").innerHTML = displayAddress;
		document.getElementById("localcontact").innerHTML= (__email!='') ? "<a href='mailto:"+__email+"'>"+__contact+"</a>" : __contact;
		document.getElementById("localphone").innerText= (__phone!='') ? "Tel: "+__phone : '';
		document.getElementById("localtype").innerText= "";

	}

	function zoomPlace(level) {

		if (geocoder) {

			if (level=='country') {
				geocoder.setBaseCountryCode(__country_code); 
				var zoomLevel = 3;
			} 
			else if (level=='state') zoomLevel = 6;
			else if (level=='city')  zoomLevel = 10;
			else if (level=='neighborhood') zoomLevel = 13;
			else if (level=='place') zoomLevel = 16;
			else if (level=='zip') zoomLevel = 17;

			if (checkAddress!=completeAddress) {

				checkAddress=completeAddress;

				if (level!='zip') {
					geocoder.getLatLng(
						completeAddress,
						function(point) {
							if (point) {
								map.setCenter(point, zoomLevel);
							}
						}
					)
				}
			}
		}
	}


	/***********************************************
       * Other auxiliary functions
	 ***********************************************/
	function xmlFileType() {

		x=req.responseXML.childNodes;
		for (i=0;i<x.length;i++) {
			if (x[i].nodeType==1) return x[i].nodeName;
		}
		alert('Erro carregando informações. Contacte o suporte');
		return null;

	} 

	// Load XML list of states or cities on select object if country code is BR
	function loadXMLData() {


		var xmlFile = xmlFileType();


		if (xmlFile=='produtos') {

			/*****************************
			 * Load product type list ...
			 *****************************/
			 if (req.responseXML.getElementsByTagName("tipo_produto").length>0) {
				 xml_tipo_produto = req.responseXML.getElementsByTagName("tipo_produto");
			 }

			/*****************************
			 * Load product class list ...
			 *****************************/
			 if (req.responseXML.getElementsByTagName("classe_produto").length>0) {
				 xml_classe_produto = req.responseXML.getElementsByTagName("classe_produto");
			 }


			/*****************************
			 * populate id_fabricante list 
			 *****************************/
			 if (req.responseXML.getElementsByTagName("fabricante").length>0) {
				 xml_fabricantes = req.responseXML.getElementsByTagName("fabricante");
			 }

			/*************************************
			 * Load id_language list 
			 *************************************/
			 if (req.responseXML.getElementsByTagName("idioma").length>0) {
				xml_languages = req.responseXML.getElementsByTagName("idioma");
			 }

			/*************************************************
			 * Load description of the product (1 entry only)
			 *************************************************/
			 if (req.responseXML.getElementsByTagName("info").length>0) {
				var xml_info = req.responseXML.getElementsByTagName("info");
				__id_language = xml_info[0].getAttribute("id_language");
				__info = xml_info[0].firstChild.nodeValue;
				setLanguage(__id_language, 'info');
				loadPreviewHTML('info');
			 }

 			/*****************************
			 * Load product list ...
			 *****************************/
			 if (req.responseXML.getElementsByTagName("produto").length>0) {
				 xml_produtos = req.responseXML.getElementsByTagName("produto");
				 mountProductBlock();

			 }

 			/*****************************
			 * Load States ...
			 *****************************/
			 if (req.responseXML.getElementsByTagName("state").length>0) {
				var oSelState = document.getElementById('id_state_select');
				//addOption(oSelState, 'Selecione o Estado', '');
				var states = req.responseXML.getElementsByTagName("state");
				for (var i = 0; i < states.length; i++) {
					var stateCode = states[i].getAttribute("id_state");
					var stateName = states[i].getAttribute("name");
					addOption(oSelState, stateName, stateCode);
				}
			 }

 			/*****************************
			 * Load Cities ...
			 *****************************/
			 if (req.responseXML.getElementsByTagName("city").length>0) {
				var oSelCity  = document.getElementById('city_select');
				//addOption(oSelCity, 'Selecione a Cidade', '');
				var cities = req.responseXML.getElementsByTagName("city");
				for (var i = 0; i < cities.length; i++) {
					var cityName = cities[i].getAttribute("name");
					addOption(oSelCity, cityName, '');
				}
			 }

 			/*****************************
			 * Load Points ...
			 *****************************/
			 if (req.responseXML.getElementsByTagName('table').length>0) {
				var items  = req.responseXML.getElementsByTagName('table');
	   			document.getElementById('placeList').innerHTML=items[0].firstChild.nodeValue;
				resizeContainer();
			 }

		} else if (xmlFile=='tblojas') {
				var items  = req.responseXML.getElementsByTagName('tblojas');
	   			document.getElementById('placeList').innerHTML=getNodeValue('', 'table', items[0], 0);
				resizeContainer();

 				/*****************************
				 * Load Cities ...
				 *****************************/
				if (req.responseXML.getElementsByTagName("city").length>0) {
					var oSelCity  = document.getElementById('city_select');
					removeOption(oSelCity);
					var cities = req.responseXML.getElementsByTagName("city");
					for (var i = 0; i < cities.length; i++) {
						var cityName = cities[i].getAttribute("name");
						addOption(oSelCity, cityName, '');
					}
				}


		} else if (xmlFile=='query') {

				var items = req.responseXML.getElementsByTagName('query');

				__id_local     = getNodeValue('', 'id_local', items[0], 0);
				__id_type      = getNodeValue('', 'id_tipo', items[0], 0);
				__latitude     = parseFloat(getNodeValue('', 'lat', items[0], 0));
				__longitude    = parseFloat(getNodeValue('', 'lng', items[0], 0));
				__zoom         = parseInt(getNodeValue('', 'zoom', items[0], 0));
				__id_timezone  = getNodeValue('', 'id_timezone', items[0], 0);
				__gmtOffset    = getNodeValue('', 'gmtOffset', items[0], 0);
				__name         = getNodeValue('', 'nome', items[0], 0);
				__country_code = getNodeValue('', 'id_pais', items[0], 0);
				__country_name = getNodeValue('', 'pais', items[0], 0);
				__state_code   = getNodeValue('', 'estado', items[0], 0);
				__city_name    = getNodeValue('', 'cidade', items[0], 0);
				__neighborhood = getNodeValue('', 'bairro', items[0], 0);
				__address      = getNodeValue('', 'endereco', items[0], 0);
				__zip          = getNodeValue('', 'cep', items[0], 0);
				__contact      = getNodeValue('', 'contato', items[0], 0);
				__phone        = getNodeValue('', 'telefone', items[0], 0);
				__site         = getNodeValue('', 'site', items[0], 0);
				__email        = getNodeValue('', 'email', items[0], 0);
				__mostrar      = getNodeValue('', 'mostrar', items[0], 0);

				showPlace();

		} else if (xmlFile=='sqlResult') {

			var items = req.responseXML.getElementsByTagName('sqlResult');
			var command = getNodeValue('', 'command', items[0], 0);
			var result  = getNodeValue('', 'result', items[0], 0);

			if (result=='true') { 

				if (command=='insert') {
					__id_produto = getNodeValue('', 'id_produto', items[0], 0);
					photo = LOADING;
					IframePhoto_op='List All Photos'
					IframePhoto.src = 'brmn_imgprod_upload.php?task=listAll&id_produto='+__id_produto;
					show_photo_map.style.backgroundImage='url('+pathToThemes+'photos-black-64.png)';
					show_photo_map.title = 'Produto sem foto selecionada';
					show_Photo_iframe.style.backgroundImage = 'url('+pathToThemes+'photos-color-64.png)';
					div_loading.style.visibility = 'visible';

				} else if (command=='update') {
						
				}
			}

			alert(getNodeValue('', 'message', items[0], 0));
			alert(getNodeValue('', 'SQL', items[0], 0));

			// verify if ohter xml is waiting to load... 

			if (xmlQueued) {
				loadQueued();
				return;
			}

		}

		document.body.style.cursor = 'default';
		if (photo!= LOADING) div_loading.style.visibility = 'hidden';

		initializing = false;

	}

	function resizeContainer() {

		var newHeight = document.getElementById('placeList').offsetHeight+120;
		document.getElementById('sidebar-btm').style.height=newHeight+'px';

	}

	// Populate content e content_subnav DIV'S
	function mountProductBlock() {

		var tpProdAt = -1;
		var tpProdSelected = -1;
		var clProdAt = '';
		var productBlock = '';
		var tipo_produto_at = -1;
		var content_subnavDIV = document.getElementById('content_subnav');
		var contentDIV = document.getElementById('content');

		// Remove any internal objecjs of content_subnav DIV
		if (content_subnavDIV.hasChildNodes()) {
			var tags = content_subnavDIV.childNodes;
			for (var t=tags.length-1; t>=0; t--) {
				if (MSIE) {
					tags[t].removeNode(true);
				} else {
					tags[t].parentNode.removeChild(tags[t]); 
				}
			}
		}

		// Remove any internal objecjs of content DIV
		if (contentDIV.hasChildNodes()) {
			var tags = contentDIV.childNodes;
			for (var t=tags.length-1; t>=0; t--) {
				if (MSIE) {
					tags[t].removeNode(true);
				} else {
					tags[t].parentNode.removeChild(tags[t]); 
				}
			}
		}


		for (var i = 0; i < xml_produtos.length; i++) {

			var idProduto    = xml_produtos[i].getAttribute("id_produto");
			var tpProduto    = xml_produtos[i].getAttribute("id_tipo_produto");
			var clProduto    = xml_produtos[i].getAttribute("id_classe_produto");
			var idfabricante = xml_produtos[i].getAttribute("id_fabricante");
			var idpais       = xml_produtos[i].getAttribute("id_pais");
			var flagUrl      = pathToFlags+xml_produtos[i].getAttribute("flag");
			var selected     = xml_produtos[i].getAttribute("selected");

			if (selected=='true') {
				__id_produto = idProduto;
				tpProdSelected = tpProduto;
			}

			// New product type group
			if (tipo_produto_at != tpProduto) {

				/*********************************************
				 * Create content_subnav buttons
				 *********************************************/
				// First Entry. 
				if (tipo_produto_at==-1) {

					// Header of content_subnav
					var head = document.createElement('h4');
					head.innerText = 'Produtos';
					content_subnavDIV.appendChild(head);

					// Buttons of content_subnav
					var btList = document.createElement('UL');

					// Add Button head to content_subnav
					content_subnavDIV.appendChild(btList);


				// Include other entry
				} else {

					// Insert previous buttom on content_subnav
					content_subnavDIV.appendChild(btList);

					// Insert previous list on content
					if (DiVList) contentDIV.appendChild(DiVList);

				}

				// Identify type of product
				var tipoProd = '';
				var descProd = '';
				for (var t = 0; t < xml_tipo_produto.length; t++) {
					if (xml_tipo_produto[t].getAttribute("id_tipo_produto")==tpProduto) {
						tipoProd = xml_tipo_produto[t].getAttribute("nome");
						descProd = xml_tipo_produto[t].firstChild.nodeValue;
						break;
					}
				}

				// Insert new Buttom
				var btItem = document.createElement('LI');
				btItem.title = tipoProd;
				btItem.innerText = tipoProd;
				btItem.className = 'content_subnav_off';

				if (MSIE) {
					btItem.attachEvent('onclick', show_content);
					btItem.attachEvent('onmouseover', subnavMouseEvent);
					btItem.attachEvent('onmouseout', subnavMouseEvent);
				} else {
					btItem.addEventListener('click',show_content,false);
					btItem.addEventListener('mouseover', subnavMouseEvent, false);
					btItem.addEventListener('mouseout', subnavMouseEvent, false);
				}

				btList.appendChild(btItem);

				/*********************************************
				 * Create content DIV list
				 *********************************************/

				var DiVList = document.createElement('DIV');
				DiVList.id  = tipoProd;
				DiVList.style.height='300px';
				DiVList.style.display= (tipo_produto_at==tpProdSelected) ? 'inline' : 'none';

				var DivIcon = document.createElement('IMG');
				DivIcon.src = pathToThemes+'icon_a_author.png';
				DivIcon.alt = tipoProd;
				DivIcon.className = "icon_floatleft";

				DiVList.appendChild(DivIcon);

				var DivTitle = document.createElement('H2');
				DivTitle.className = "title";
				DivTitle.innerText = tipoProd;

				DiVList.appendChild(DivTitle);

				var DivTitle = document.createElement('DIV');
				DivTitle.className = "subtitle";
				DivTitle.innerText = descProd;

				DiVList.appendChild(DivTitle);

				//contentDIV.appendChild(DiVList);

				//var DivContent = document.createElement('DIV');
				//DivContent.id = tipoEv; //'list-'+tipoEv;

				tipo_produto_at = tpProduto;
			}

			var tipo       = getNodeValue('', 'tx_tipo_produto', xml_produtos[i], 0);
			var classe     = getNodeValue('', 'tx_classe_produto', xml_produtos[i], 0);
			var fabricante = getNodeValue('', 'tx_fabricante', xml_produtos[i], 0);
			var codigo     = getNodeValue('', 'tx_codigo', xml_produtos[i], 0);
			var produto    = getNodeValue('', 'tx_produto', xml_produtos[i], 0);
			var contato    = getNodeValue('', 'tx_contato', xml_produtos[i], 0);
			var email      = getNodeValue('', 'tx_email', xml_produtos[i], 0);
			var tels       = getNodeValue('', 'tx_telefone', xml_produtos[i], 0);
			var info       = getNodeValue('', 'tx_info', xml_produtos[i], 0);
			var foto       = getNodeValue('', 'background', xml_produtos[i], 0);

			/*----------------------------------*/
			/* Pontos de venda deste produto    */
			/*----------------------------------*/

			/*
			var datas = xml_produtos[i].getElementsByTagName("data");
			for (d=0; d<datas.length; d++) {
				var idAgenda = datas[d].getAttribute("id_agenda");
				var idLocal  = datas[d].getAttribute("id_local");
				var flgAgenda = pathToFlags+datas[d].getAttribute("flag");
				var local = getNodeValue('', 'tx_local', datas[d], 0);
				var diaSm = getNodeValue('', 'tx_dSemana', datas[d], 0);
				var data  = getNodeValue('', 'tx_data', datas[d], 0);
				var hora  = getNodeValue('', 'tx_hora', datas[d], 0);
				var ender = getNodeValue('', 'tx_endereco', datas[d], 0);
				var pais  = getNodeValue('', 'tx_pais', datas[d], 0);
			}
			*/

			/*********************************************
			 * ONE BLOCK PER ENTRY
			 *********************************************/
			var DivContentEntry = document.createElement('TABLE');
			DivContentEntry.className='product-panel';

			var DCETBody = document.createElement('TBODY');
			DivContentEntry.appendChild(DCETBody);
			var row = DCETBody.insertRow(-1);

			// fabricante Info ------------------------------------
			var pNome    = '';
			var pContato = '';
			var pEmail   = '';
			var pTels    = '';
			var pSite    = '';
			var pLogo    = pathToThemes+'logo.png';

			if (xml_fabricantes) {
				for (var p=0; p<xml_fabricantes.length; p++) {
					if (xml_fabricantes[p].getAttribute("id_fabricante")==idfabricante) {
						pNome    = getNodeValue('', 'nome', xml_fabricantes[p], 0);
						pContato = getNodeValue('', 'contato', xml_fabricantes[p], 0);
						pEmail   = getNodeValue('', 'email', xml_fabricantes[p], 0);
						pTels    = getNodeValue('', 'telefone', xml_fabricantes[p], 0);
						pSite    = getNodeValue('', 'site', xml_fabricantes[p], 0);
						pLogo    = getNodeValue('', 'logo', xml_fabricantes[p], 0);
						break;
					}
				}
			}

			// Left Column ---------------------------------------
			var cell       = row.insertCell(-1);
			cell.id        = 'pr_'+idProduto;
			cell.className = 'event-td1';
			cell.style.background = '#000'; 
			if (MSIE) cell.attachEvent('onclick', selectProduct)
			else cell.addEventListener('click', selectProduct, false);

			// Foto do produto
			var img       = new Image(135, 90);
			img.src       = foto;
			cell.appendChild(img);

			// Right Column ---------------------------------------
			var cell       = row.insertCell(-1);
			cell.className = 'event-td2';
			cell.vAlign    = 'top';

			var div       = document.createElement('DIV');
			div.className = 'event-name';
			div.innerText = produto;
			cell.appendChild(div);

			var div       = document.createElement('DIV');
			div.className = 'event-place';
			div.innerText = codigo;
			cell.appendChild(div);

			var div       = document.createElement('DIV');
			div.className = 'event-addrs';
			div.innerHTML = '<b>'+fabricante+'</b>';
			cell.appendChild(div);

			var div       = document.createElement('DIV');
			div.className = 'event-addrs';
			div.innerHTML = '<a href="mailto:'+email+'?subject=Solicitar informações sobre '+produto+'">'+email+'</a>';
			cell.appendChild(div);

			var div       = document.createElement('DIV');
			div.className = 'event-city';
			div.innerText = 'Tel:'+tels;
			cell.appendChild(div);

			DiVList.appendChild(DivContentEntry);

		}

		if (btList)  content_subnavDIV.appendChild(btList);
		if (DiVList) contentDIV.appendChild(DiVList);

	}

	function fitImage(oImg, max_width, max_height) {

		if (oImg.width > max_width) {

			pct = max_width/oImg.width;
			oImg.width = max_width;
			oImg.height = oImg.height * pct;

			if (oImg.height > max_height) {
				pct = max_height/oImg.height;
				oImg.height = max_height;
				oImg.width = oImg.width * pct;
			}

		} else if (oImg.height > max_height) {

			pct = max_height/oImg.height;
			oImg.height = max_height;
			oImg.width = oImg.width * pct;

			if (oImg.width > max_width) { 
				pct = max_width/oImg.width;
				oImg.width = max_width;
				oImg.height = oImg.height * pct;
			}
		}

	}


	function fabricante() {

		if (xml_fabricantes) {
			for (var p=0; p<xml_fabricantes.length; p++) {
				if (xml_fabricantes[p].getAttribute("id_fabricante")==__id_fabricante) {
					pNome    = getNodeValue('', 'nome', xml_fabricantes[p], 0);
					pContato = getNodeValue('', 'contato', xml_fabricantes[p], 0);
					pEmail   = getNodeValue('', 'email', xml_fabricantes[p], 0);
					pTels    = getNodeValue('', 'telefone', xml_fabricantes[p], 0);
					pSite    = getNodeValue('', 'site', xml_fabricantes[p], 0);
					pLogo    = getNodeValue('', 'logo', xml_fabricantes[p], 0);
					break;
				}
			}
		}


		divFabricante = document.getElementById("bookingInfo");

		// Remove any internal objecjs of content_subnav DIV
		if (divFabricante.hasChildNodes()) {
			var tags = divFabricante.childNodes;
			for (var t=tags.length-1; t>=0; t--) {
				if (MSIE) {
					tags[t].removeNode(true);
				} else {
					tags[t].parentNode.removeChild(tags[t]); 
				}
			}
		}


		var tableFabric = document.createElement('TABLE');
		tableFabric.style.layout='fixed';

		var DCETBody = document.createElement('TBODY');
		tableFabric.appendChild(DCETBody);

		var row  = DCETBody.insertRow(-1);

		var cell = row.insertCell(-1);
		cell.style.background = '#000';
		cell.style.textAlign = 'center';
		cell.style.vAlign = 'middle';
		cell.style.width = '90px';

		// Logo do fabricante
		var img = new Image(60, 60);
		img.src = pLogo;
		cell.appendChild(img);

		var cell    = row.insertCell(-1);
		cell.vAlign = 'top';
		cell.textAlign = 'left';
		cell.innerHTML =  '<a href="http://'+pSite+'" target="_blank">'+pNome+'</a><br>'
				+ '<a href=mailto:'+pEmail+'>'+pContato+'</a><br>'
				+ 'Tel: '+pTels;

		divFabricante.appendChild(tableFabric);

	}

	function show_content(e) {
		var targ;
		if (!e) var e = window.event;
		if (e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		if (targ.nodeType == 3) targ = targ.parentNode;  // defeat Safari bug

		var contentDIV = document.getElementById('content');
		for (var i=0; i<contentDIV.childNodes.length; i++) {
			if (contentDIV.childNodes[i].id) {
				if (contentDIV.childNodes[i].id!='') {
					contentDIV.childNodes[i].style.display = (targ.innerText==contentDIV.childNodes[i].id) ? 'inline' : 'none';
				}
			}
		}
	}


	function subnavMouseEvent(e) {
		var targ;
		if (!e) var e = window.event;
		if (e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		if (targ.nodeType == 3) targ = targ.parentNode;  // defeat Safari bug
		targ.className = (targ.className=='content_subnav_off') ? 'content_subnav_on' : 'content_subnav_off';

	}


	function selectProduct(e) {

		IframePhoto.style.visibility = 'visible';
		document.getElementById('init-panel').style.display='none';
		document.getElementById('point-panel').style.display='none';
		document.getElementById('product-panel').style.display='inline';

		var targ;
		if (!e) var e = window.event;
		if (e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		if (targ.nodeType == 3) targ = targ.parentNode;  // defeat Safari bug

		var targId = (targ.id=='') ? targ.parentElement.id : targ.id;
		var idProduto = targId.slice(3);

		document.location="#top";

		for (var i = 0; i < xml_produtos.length; i++) {

			if (idProduto==xml_produtos[i].getAttribute("id_produto")) {

				__mostrar   = 1;

				// CAMPOS DA TABELA EVENTOS  
				__id_produto = xml_produtos[i].getAttribute("id_produto");
				__id_fabricante = xml_produtos[i].getAttribute("id_fabricante");
				__id_tipo_produto = xml_produtos[i].getAttribute("id_tipo_produto");
				__id_classe_produto = xml_produtos[i].getAttribute("id_classe_produto");
				__codigo = getNodeValue('', 'tx_codigo', xml_produtos[i], 0);
				__produto = getNodeValue('', 'tx_produto', xml_produtos[i], 0);
				__info = getNodeValue('', 'tx_info', xml_produtos[i], 0);	
				__id_language = xml_produtos[i].getAttribute("id_language");
				__background = getNodeValue('', 'background', xml_produtos[i], 0);

				// <!-- BANDEIRA DO PAÍS DE ORIGEM DO EVENTO -->
				document.getElementById('flag').tag = xml_produtos[i].getAttribute("id_pais");
				document.getElementById('flag').src = pathToFlags+xml_produtos[i].getAttribute("flag");
				document.getElementById('flag').title = xml_produtos[i].getAttribute("pais");

				var tipoProd = '';
				var descProd = '';
				for (var t = 0; t < xml_tipo_produto.length; t++) {
					if (xml_tipo_produto[t].getAttribute("id_tipo_produto")==__id_tipo_produto) {
						tipoProd = xml_tipo_produto[t].getAttribute("nome");
						descProd = xml_tipo_produto[t].firstChild.nodeValue;
						break;
					}
				}

				document.getElementById('producttype').innerText = tipoProd;
				document.getElementById('productname').innerHTML = __produto;


				// fabricante Info ------------------------------------

				document.getElementById("strContact").innerHTML = 'Contato:'

				var pNome    = '';
				var pContato = '';
				var pEmail   = '';
				var pTels    = '';
				var pSite    = '';
				var pLogo    = pathToFlags+'null.png';

				fabricante();

				// <!-- CARREGA AS CLASSES CORRESPONDENTES -->
				 for (var c = 0; c < xml_classe_produto.length; c++) {
					if (xml_classe_produto[c].getAttribute("id_tipo_produto")==__id_tipo_produto) {
						var clProdID   = xml_classe_produto[c].getAttribute("id_classe_produto");
						var clProdNome = xml_classe_produto[c].getAttribute("nome_classe");
						var clProdDesc = xml_classe_produto[c].firstChild.nodeValue;
						break;
					}
					
				 }


				// <!-- ESTILO, GENERO / TIPO DE PRODUTO -->
				document.getElementById("productstyle").innerText = clProdNome;

				// <!-- DESCRIÇÃO DO PRODUTO -->
				document.getElementById("productinfo").innerHTML = __info;

				// <!-- EXIBE IMAGEM DO PRODUTO -->
				IframePhoto.src = 'brmn_imgprod_upload.php?task=loadpanel&id_produto='+__id_produto;


			}
		}
	}


/*************************************
 * EXIBIÇÃO DE LOCAIS                *
 *************************************/

	function listPoints(selId) {
		oSelState = document.getElementById('id_state_select');
		oSelCity  = document.getElementById('city_select');
		if (selId=='id_state_select') {
			selectedState = oSelState.options[oSelState.selectedIndex].value;
			selectedCity  = '';
		} else {
			selectedState = oSelState.options[oSelState.selectedIndex].value;
			selectedCity  = oSelCity.options[oSelCity.selectedIndex].text;
		}
		loadXMLDoc('brmn_produtos_xml.php?command=SELECTPOINTS&state='+selectedState+'&city='+selectedCity);
	}

	// Insert options on "selectbox"
	function addOption(selectbox,text,value) {
		var optn = document.createElement("OPTION");
		optn.text = text;
		optn.value = value;
		selectbox.options.add(optn);
	}

	// Remove options on "selectbox"
	function removeOption(selectbox) {
		for(i=selectbox.options.length-1;i>=0;i--) {
			selectbox.remove(i);
		}
	}

	// Select one option on "selectbox"
	function selectOption(oSel, val) {
		for (var i=0; i<oSel.options.length; i++) {
			if ((oSel.options[i].value=='') && (oSel.options[i].text==val) 
			|| (oSel.options[i].value==val)) {
				oSel.options[i].selected=true;
				break;
			}
		}
	}

/*************************************
 * DESCRICAO DO PRODUTO              *
 *************************************/

	function newLanguage(op, flag, fld) {

		if (stepNo==4 && __id_participacao==-1) {
			alert('Selecione um componente da lista');
			return;
		};

		var divLangList = document.getElementById('languageList');
		var newState = (divLangList.style.display=='inline') ? 'none' : 'inline';
		divLangList.style.display = newState;
		divLangList.innerHTML = '';

		if (op=='open') {

			if (newState=='inline') {

				var oTable = document.createElement("TABLE");
				var oTBody = document.createElement("TBODY");

				oTable.appendChild(oTBody);

				// Insert the table into the document tree.
				divLangList.appendChild(oTable);
  
				// Set the table's border width and colors.
				oTable.cellPadding=0;
				oTable.cellSpacing=0;
				oTable.border=0;
				oTable.style.width='150px';

				for (var i=0; i<xml_languages.length; i++) {

					// Flag and Language name
					var idLng    = xml_languages[i].firstChild.nodeValue;
					if (idLng!=__id_language)  {
						var flagUrl  = pathToFlags+xml_languages[i].getAttribute("flag");
						var country  = xml_languages[i].getAttribute("country");
						var language = xml_languages[i].getAttribute("language");

						var ln = "<a href=\"Javascript:newLanguage('"+idLng+"','"+flagUrl+"','"+fld+"')\"><img src='"+flagUrl+"' align='absmiddle' border='0' style='PADDING:3px' alt='"+country+"'>"+language+"</a>";
						var row = oTBody.insertRow(-1);
						var cell = row.insertCell(-1);
						cell.innerHTML = ln;
						cell.valign = 'middle';
						cell.noWrap = true;
					}
			    	}
			}

			var pTop  = parseInt(flag.style.top)+20;
			var pLeft = parseInt(flag.style.left)-130;

			divLangList.style.top  = pTop+'px';
			divLangList.style.left = pLeft+'px';
			divLangList.style.zIndex = 100;

		} else {


			document.body.style.cursor = 'wait';
			div_loading.style.visibility = 'visible';

			if (fld=='info') {

				var loadNewResume = true;

				if (loadNewResume) {
					loadXMLDoc('brmn_produtos_xml.php?command=LOAD_RESUME&id_produto='+__id_produto+'&next_language='+op);
	
				}

			} else {

				loadParticipacao(op);

			}
			setLanguage(op, fld);
		}
	}

	function setLanguage(lng, fld) {

		__id_language=lng;

		for (var i=0; i<xml_languages.length; i++) {
			if (xml_languages[i].firstChild.nodeValue==__id_language) {
				document.getElementById('lngFlag_'+fld).src = pathToFlags+xml_languages[i].getAttribute("flag");
				__lngName_info = xml_languages[i].getAttribute("language")+' ('+xml_languages[i].getAttribute("country")+')';
				document.getElementById('lngName_'+fld).innerText = __lngName_info;
				break;
			}
		}

	}

	function loadPreviewHTML(preview) {

		IframePhoto_op = 'Preview HTML';

		if (preview=='info')  {
			IframePhoto.src = 'brmn_brmn_preview.php?command=PREVIEW_RESUME&id_produto='+__id_produto+'&id_language='+__id_language;

		}

	}

	function openPopUp(url) {
		var height = screen.availHeight - 30;
		var width  = screen.availWidth - 10;
		var str  = "height=" + height + ",innerHeight=" + height;
		    str += ",width=" + width + ",innerWidth=" + width;

		if (window.screen) {

			var ah = screen.availHeight - 30;
			var aw = screen.availWidth - 10;
	
			var xc = (aw - width) / 2;
			var yc = (ah - height) / 2;

			str += ",left=" + xc + ",screenX=" + xc;
			str += ",top=" + yc + ",screenY=" + yc;
		}
	 
		if (fullScr != null) {
			fullScr.close();
			fullScr = null;
		}

		var mod = 'directories=0, location=0, menubar=0, resizable=0, scrollbars=1, status=0, titlebar=0, dependent=0, z-lock=1, '+str;
		fullScr = window.open(url, 'Content', mod);
	}

	function IframeContentLoaded(panel) {

		photo = LOADED;
		div_loading.style.visibility='hidden';
		document.body.style.cursor = 'default';

	}


	function clearFields() {

		__id_produto=-1
		__id_fabricante=-1;
		__id_tipo_produto=-1;
		__id_classe_produto=-1;
		__codigo='';
		__produto='';
		__info='';
		__mostrar=1;
		__id_language='pt-br'
		__lngName_info='Portuguese (Brazil)';

		document.getElementById('productname').innerHTML = '&nbsp;';
		document.getElementById('producttype').innerHTML = '&nbsp;';
		document.getElementById('strContact').innerHTML = '&nbsp;';
		document.getElementById('productstyle').innerHTML = '&nbsp;';
		document.getElementById('lngName_info').innerHTML = __lngName_info;
		document.getElementById('flag').src=pathToFlags+'null.png';
		document.getElementById('info-buttom').style.display='none';

		// document.getElementById('show_photo_map').style.display = 'none';
		// show_photo_map.style.backgroundImage='url('+pathToThemes+'photos-black-64.png)';
		// show_Photo_iframe.style.backgroundImage='url('+pathToThemes+'photos-black-64.png)';

		photo = LOADING;
		IframePhoto.src = 'brmn_imgprod_upload.php';

	}


	// Queue XML while wait another be loaded
	function queueRequest(url) {
		xmlQueued = true;
		document.body.style.cursor = 'wait';
		// Next url to load on loadQueued
		xmlUrl = url;
	}

	function loadQueued() {
		xmlQueued = false;
		loadXMLDoc(xmlUrl);
		xmlUrl = '';

	}

	function isAlpha(v){return /^[A-Z]+$/.test(v);};


	function trim(v){
		var s=0,e=v.length;
		while(s<e&&v.charAt(s)==' ')s++;
		while(e>0&&v.charAt(e-1)==' ')e--;
		return v.slice(s,e);
	};

	function SoNumeros (keypress) {
		var strCheck = '0123456789,';
		if (keypress == 13) return true; // Enter
		key = String.fromCharCode(keypress); // Get key value from key code
		if (strCheck.indexOf(key) == -1) {
			event.returnValue = false;
		}
	}

	function formatVal(fld) {

		fld.value = trim(fld.value);
		if (fld.value.length==0) {
			fld.value = "0,00";
			return;
		}
		if (fld.value.indexOf(',')==-1) {
			fld.value += ",00";
			return;
		}
		var strCheck = '0123456789';
		var n        = '';
		for (var i=0; i<fld.value.length; i++) {
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) n+=fld.value.charAt(i);
		}
		var dec   = n.substr(n.length-2,2);
		var int   = n.substr(0, n.length-2);
		fld.value = int+','+dec;
	}

//]]>