var proxy = "proxy.php";
var mapLoaded = false;
var numeroImagenes = 3;
var defaultDay = "<b>Oficinas y Dep Técnico:<b><br/>De Lunes a Jueves: Mañana de 8:00 a 13:00h y tarde de 14:30 a 18:00<br />Viernes: de 8:00 a 14:00h<br /><b>Taller:</b><br />Consiste en dos turnos de 6:30 a 14:30 y de 14:00 a 22:00 de lunes a viernes todo el año.";

window.onresize = function()
	{
	resizeContenidor();
	}
function resizeContenidor()
	{
	var wW = document.documentElement.clientWidth;
	var hW = document.documentElement.clientHeight;
	var wC = document.getElementById("contenidor").offsetWidth;
	var hC = document.getElementById("contenidor").offsetHeight;
	
	if(wW < wC)
		{
		document.getElementById("contenidor").style.left = "0px";
		document.getElementById("contenidor").style.marginLeft = "0px";
		document.getElementById("contenidor").style.top = "0px";
		document.getElementById("contenidor").style.marginTop = "0px";
		}
	else
		{
		document.getElementById("contenidor").style.left = "50%";
		document.getElementById("contenidor").style.marginLeft = "-492.5px";
		document.getElementById("contenidor").style.top = "50%";
		document.getElementById("contenidor").style.marginTop = "-295px";
		}
	}

function showPage(idp, idm)
	{
	reloadEnquesta();
	var vApartats = document.getElementById("contenidor").getElementsByTagName("div");
	
	for(var i=0; i<vApartats.length; i++)
		{
		if(vApartats[i].className == 'categoriaSelected')
			{
			vApartats[i].className = 'categoria';
			}
		if(vApartats[i].className == 'central')
			{
			vApartats[i].style.display = 'none';
			}
		}
	if(idp == 0)	
		{
		document.getElementById("botonera1").style.display = 'block';
		document.getElementById("path").style.display = 'block';
		}
	else
		{
		document.getElementById("botonera1").style.display = 'block';
		document.getElementById("path").style.display = 'block';
		}

	document.getElementById("ctl_"+idp).style.display='block';
	if(idm == 'x')
		{
		document.getElementById("botonera2").innerHTML = '';
		document.getElementById("miniuparrow").style.display = 'none';
		}
	else
		{
		document.getElementById("cat_"+idm).className = 'categoriaSelected';
		document.getElementById("miniuparrow").style.display = 'block';
		}
	}
	
function finestra (url,nomfinestra,parametres) 
	{
	w=window.open(url,nomfinestra,parametres);
	}

function setSelectedIMG(obj, src, nom, descripcio)
	{
	if(obj.offsetLeft > 0){ document.getElementById('uparrow').style.left = (obj.offsetLeft + 329) + "px"; }
	else {document.getElementById('uparrow').style.left = "365px";}
	src = src.replace("&w=95&h=62", "&w=320&h=238");
	var vAux = document.getElementById('modulX').getElementsByTagName("div");
	
	for(var i=0; i<vAux.length; i++)
		{
		if(vAux[i].className == 'miniIMGselected')
			{
			vAux[i].className = 'miniIMG';
			}
		}
	obj.className = 'miniIMGselected';
	document.getElementById('bigIMG').style.display = "none";
	document.getElementById('bigIMG').src = src;
	document.getElementById('bigIMG').onload = function()
		{
		this.style.display = 'block';
		}
	document.getElementById('prdImgNom').innerHTML = nom;
	document.getElementById('prdImgDes').innerHTML = descripcio;
	}

function zoomer()
	{
/*	
		var urlIMG = document.getElementById('bigIMG').style.backgroundImage.replace("url(", "").replace(")", "").replace("aspectratio.php?p=", "").replace("&w=320&h=238", "");
*/
		var urlIMG = document.getElementById('bigIMG').src.replace("url(", "").replace(")", "").replace("aspectratio.php?p=", "").replace("&w=320&h=238", "");
		alertIMG(urlIMG, document.getElementById('prdImgNom').innerHTML);
	}

function showMap()
	{
	if(mapLoaded == false)
		{
		sma_maps_showMAP(idioma, true);
		mapLoaded = true;
		}
	}

/* GESTIÓ DE PRODUCTES */

function myObj(){}
myObj.prototype = new sma_oCategoria();
centre = new myObj();
calendari = new myObj();

function inicia()
	{
	//[ Posem les dades de la enquesta ]//
	centre.setCategoria(catInicial);
	centre.setDomini(domini);
	centre.setProxy(proxy);
	centre.setIdioma(idioma);
	centre.setProcessador("endLoading");
	centre.init();
	}

function iniciaCalendari()
	{
	calendari.setCategoria("420");
	calendari.setDomini(domini);
	calendari.setProxy(proxy);
	calendari.setIdioma(idioma);
	calendari.setProcessador("setCalendari");
	calendari.init();
	}

function endLoading(data)
	{
	var conexions = 0;
	centre = data;
	if(conexions == 0)
		{
		iniciaCalendari();
		setNode(centre);
		}
	}

function goFirst()
	{
	document.getElementById("path").innerHTML = '';
	setNode(centre)
	}
	
function setNode(node, oLeft, idCat)
	{
	//document.getElementById("botonera2").innerHTML = '';
	setPath(node);

	if(node.vCategories.length > 0)	
		{
		new Effect.Morph('botonera1', {
		  style: {width: '690px', left: '290px'},
		  duration: 0.8
			});		
		setCategories(node); 
		}
	if(node.vProductes.length > 0){ setProductes(node, oLeft, idCat);}
	}

function setCategories(node)
	{
	var vBot = document.getElementById("contenidor").getElementsByTagName("div");
	var sw = 0;
	for(var i=0;i<vBot.length; i++)
		{
		if(vBot[i].className == 'menu' || vBot[i].className == 'menuSelected' && vBot[i].innerHTML == '')
			{
			sw++;
			}
		}
	sw++;

	var vCAT = node.vCategories;
	var container = document.getElementById("botonera1");
	
	for(var i=0;i<vCAT.length; i++)
		{
		var obj = document.createElement("div");
		obj.className = 'categoria'
		obj.id = 'cat_'+i;
		obj.innerHTML = vCAT[i].nom;
		obj.node = vCAT[i];
		obj.onclick = function()
			{
			loadProducte(this.node.vProductes[0]);
			setNode(this.node, this.offsetLeft, this.id.replace("cat_", ""));
			showPage(0, this.id.replace("cat_", ""));
			setSelectedMenu('menu_0');
			}
		if(i == 0)
			{
			//setNode(obj.node, obj.offsetLeft);
			obj.className = 'categoriaSelected'
			setProductes(obj.node, 0, 0);
			loadProducte(obj.node.vProductes[0]);
			setSelectedMenu('menu_0');
			}
		container.appendChild(obj);
		}
	i++;
/*


	var obj = document.createElement("div");
	obj.className = 'categoria'
	obj.id = 'cat_'+i;
	obj.innerHTML = "CONTACTAR";
	obj.onclick = function()
		{
		showPage(1, this.id.replace("cat_", ""));
		}
	container.appendChild(obj);
	i++;
	var obj = document.createElement("div");
	obj.className = 'categoria'
	obj.id = 'cat_'+i;
	obj.innerHTML = "COMO LLEGAR";
	obj.onclick = function()
		{
		showPage(2, this.id.replace("cat_", ""));showMap();
		}
	container.appendChild(obj);
*/	
	
	}



function setProductes(node, oLeft, idCat)
	{
	var vBot = document.getElementById("contenidor").getElementsByTagName("div");
	var sw = 0;
	for(var i=0;i<vBot.length; i++)
		{
		if(vBot[i].className == 'menu' || vBot[i].className == 'menuSelected' && vBot[i].innerHTML == '')
			{
			sw++;
			}
		}
	sw++;

	var vAux = Array();
	var container = document.getElementById("botonera2");

	container.innerHTML = '';
	var vPRD = node.vProductes;

	for(var i=0;i<vPRD.length; i++)
		{
		var obj = document.createElement("div");
		obj.className = 'menu'
		obj.id = 'menu_'+i;
		obj.innerHTML = vPRD[i].nom;
		obj.node = vPRD[i];
		obj.onclick = function()
			{
			showPage(0, idCat);
			loadProducte(this.node);
			setSelectedMenu(this.id);
			}
		container.appendChild(obj);
		sw++;
		}
	if(node.idCategoria == 396)
		{
		var obj = document.createElement("div");
		obj.className = 'menu'
		obj.id = 'menu_'+i;
		obj.innerHTML = "Atención al Cliente";
		obj.onclick = function()
			{
			showPage(3, 0);

			setSelectedMenu(this.id);
			}
		container.appendChild(obj);
		sw++;
		}	
	}

function loadProducte(producte)
	{
	document.getElementById("prdNom").innerHTML = producte.nom;
	if(producte.idProducte == 1108)
		{
		document.getElementById("prdDes").innerHTML = producte.descripcio.replace("SERVICIO 24 H", "<span onclick='showPage(1, \"x\");' style='cursor:pointer'>SERVICIO 24 H</span>");
		}
	else
		{
		document.getElementById("prdDes").innerHTML = producte.descripcio;
		}

	if(producte.vIMG.length >0)
		{
		document.getElementById("prdDes").style.width = "280px";
		document.getElementById('modulD').style.display = "block";
		document.getElementById('uparrow').style.display = "block";
		document.getElementById('bigIMG').src = 'http://shared.smawebsite.net/aspectratio.php?p=gestioclients/'+producte.url+'&w=320&h=238';
		document.getElementById('modulX').style.display = "block";
		loadImages(producte.vIMG, 0);
		}
	else
		{
		document.getElementById("prdDes").style.width = "650px";
		document.getElementById("prdNom").innerHTML = producte.nom;
		document.getElementById('uparrow').style.display = "none";
		document.getElementById('modulD').style.display = "none";
		document.getElementById('modulX').style.display = "none";
		}
	document.getElementById('pdfs').innerHTML = '';
	if(producte.vDOC.length > 0)
		{
		for(var i=0;i<producte.vDOC.length;i++)
			{
			document.getElementById('pdfs').innerHTML += '<div class="pdf"><table cellpadding=0 cellspacing=0><tr valign="middle"><td><img src="images/pdficon.jpg" /></td><td><a href="http://extranet.smawebsite.net/'+producte.vDOC[i].url+'" target="_new">'+producte.vDOC[i].nom+'</a></td></tr></table></div>';
			}
		}
	}

function loadImages(vIMG, from)
	{
	var contenidor = document.getElementById('modulX');
	contenidor.innerHTML = '';

	document.getElementById('plusButton').style.display = 'none';

	for(var i=from; i<vIMG.length && i<(from + numeroImagenes); i++)
		{
		var div = document.createElement("div");
		div.className = "miniIMG"
		
		var img = document.createElement("img");
		img.src = "http://shared.smawebsite.net/aspectratio.php?p=gestioclients/"+vIMG[i].url+"&w=95&h=62";
		img.node = vIMG[i];
		img.onclick = function()
			{
			setSelectedIMG(this.parentNode, this.src, this.node.nom, this.node.descripcio);
			}
		if(i == from)
			{
			setSelectedIMG(div, img.src, vIMG[i].nom, vIMG[i].descripcio);
			}
		if(vIMG.length > numeroImagenes)
			{
			document.getElementById('plusButton').style.display = 'block';
			document.getElementById('plusButton').node = vIMG;
			if(vIMG.length > (from + numeroImagenes))
				{
				document.getElementById('plusButton').next = (from + numeroImagenes);
				}
			else
				{
				document.getElementById('plusButton').next = 0;
				}
			document.getElementById('plusButton').onclick = function()
				{
				loadImages(this.node, this.next);
				}
			}
		div.appendChild(img);
		contenidor.appendChild(div);
		}
	}

function setPath(node)
	{
	var container = document.getElementById("path");
	container.innerHTML = '';
	var vObj = Array();
	var i=0;
	
	while(node.parentNode)
		{
		vObj[i] = document.createElement("div");
		vObj[i].className = 'path';
		vObj[i].innerHTML = node.nom+" >";
		vObj[i].node = node;
		vObj[i].onclick = function()
			{
			setNode(this.node);
			}
		node = node.parentNode;
		i++;
		}

	for(var j=(i-1); j>=0; j--)
		{
		container.appendChild(vObj[j]);
		}
	}

function showCalendar()
	{
	if($('calendar').style.left!='47px')
		{
		new Effect.Morph('calendar', {
		  style: {width: '221px', left: '47px'},
		  duration: 0.8
			});
		}
	else
		{
		new Effect.Morph('calendar', {
		  style: {width: '36px', left: '232px'},
		  duration: 0.8
			});
		}
	}



/************ CALENDARI ****************/


		function setCalendari(data)
			{
			var conexions = 0;
			calendari = data;
			
			if(conexions == 0)
				{
				calendar("", "");
				}
			}
		function montharr(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11)
			{
			this[0] = m0;
			this[1] = m1;
			this[2] = m2;
			this[3] = m3;
			this[4] = m4;
			this[5] = m5;
			this[6] = m6;
			this[7] = m7;
			this[8] = m8;
			this[9] = m9;
			this[10] = m10;
			this[11] = m11;
			}
		function daysInMonth(iMonth, iYear)
		 {
     return 32 - new Date(iYear, iMonth, 32).getDate();
		 }

		
		function calendar(month, year)
			{
			var vDies = calendari.vProductes;
			var strCal = "";
			var monthnames = "enefebmarabrmayjunjulagosepoctnovdic";
			var hoyExacto = new Date();
			if(month == '' || year == '')
				{
				var today = new Date();
				}
			else
				{
				var today = new Date(year, month, 1, 12, 0, 0);
				}
			var thisday;
			var monthdays = new montharr(31, daysInMonth(1, year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
			
			year = today.getYear();
			thisday = today.getDate();
			
			if (year.toString().length == 3)
				{
				year = year.toString().replace(year.toString()[0], "20");
				}
			
			if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
			monthdays[1] = 29;
			
			
			ndays = monthdays[today.getMonth()];
			
			
			firstday = today;
			firstday.setDate(1); // works fine for most systems
			testme = firstday.getDate();
			if (testme == 2)
			firstday.setdate(0);
			
			startday = firstday.getDay()-1;
			
			var nextMonth = today.getMonth()+1;
			var nextYear = year;
			var antMonth = today.getMonth()-1;
			var antYear = year;
			if(nextMonth == 12)
				{
				nextMonth = 0;
				nextYear++;
				}
			if(antMonth < 0)
				{
				antMonth = 11;
				antYear--;
				}
			
			strCal += "<table cellpadding=0 cellspacing=1 border=0><tr class='header' style='height:15px;'>";
			strCal += "<th style='cursor:pointer;' onClick='calendar(\""+antMonth+"\", \""+antYear+"\")'>&lt;</th>";
			strCal += "<th colspan=5>"+monthnames.substring(today.getMonth() * 3, (today.getMonth() + 1) * 3)+". "+year+"</th>"
			strCal += "<th style='cursor:pointer;' onClick='calendar(\""+nextMonth+"\", \""+nextYear+"\")'>&gt;</th></tr>";
			strCal += "<tr style='height:15px;'><th>lun</th><th>mar</th><th>mie</th><th>jue</th><th>vie</th><th>sab</th><th>dom</th></tr>";
			strCal += "<tr>";
		
			column = 0;
			for (i=0; i<startday; i++)
				{
				strCal += "<td>&nbsp;</td>";
				column++;
				}
		
			for (i=1; i<=ndays; i++)
				{
				var classe = '';
				var sHoy0 = '';
				var sHoy1 = ''; 
				if (i == hoyExacto.getDate() && hoyExacto.getMonth()==today.getMonth())
					{
					sHoy0 = '<span class="hoy">';
					sHoy1 = '</span>'; 
					}
				if(column>4)
					{
					classe = 'class="finde"';
					}
				var tmpDia = i.toString();
				if(tmpDia.length == 1){tmpDia = "0" + tmpDia;}
				
				var tmpMes = (today.getMonth()+1).toString();
				if(tmpMes.length == 1){tmpMes = "0" + tmpMes;}

				var tmpAny = today.getYear().toString();
				if(tmpAny.length == 3){tmpAny = "20"+tmpAny[1]+tmpAny[2];}

				var tmpDay = tmpDia + tmpMes + tmpAny;
				
				for(var j=0;j<vDies.length; j++)
					{
					if(vDies[j].nom == tmpDay)
						{
						classe = 'class="diaespecial_'+vDies[j].preu+'"';
						classe += "onClick=\"bocata(this, '"+vDies[j].descripcio+"', '"+tmpDay+"', 'a')\"";
						}
					else
						{
						classe += "onClick=\"bocata(this, '"+defaultDay+"', '"+tmpDay+"', 'b')\"";
						}
					}
				
				strCal += "<td "+classe+">"+sHoy0+""+i+""+sHoy1+"</td>";
				column++;
				if (column == 7)
					{
					strCal += "</tr><tr>";
					column = 0;
					}
				}
			for (i=column; i<7; i++)
				{
				strCal += "<td>&nbsp;</td>";
				column++;
				}
		
			strCal += "</tr></table>"
			document.getElementById("calendari").innerHTML = strCal;
			}
	
function bocata(obj, nom, fecha, tipo)
	{
	if(tipo == 'a')
		{
		document.getElementById("titolBocata").innerHTML = nom;
		var myData = fecha.toString();
		document.getElementById("dataBocata").innerHTML = myData.substr(0,2)+" - "+myData.substr(2,2)+" - "+myData.substr(4,4);
	
		var nextLeft = (obj.offsetLeft + 100 - 15);
		var nextTop = (obj.offsetTop + document.getElementById("calendar").offsetTop - 90);
		if(document.getElementById("bocataGran").style.display != 'none'){tancaBocata('b');}
		if(document.getElementById("bocata").style.display == 'none')
			{
			document.getElementById("bocata").style.left = nextLeft + "px";
			document.getElementById("bocata").style.top = nextTop + "px";
			Effect.Appear('bocata', { duration: 0.5 });
			}
		else
			{
			new Effect.Move(document.getElementById('bocata'), { x: nextLeft, y: nextTop, mode:'absolute' });
			}
		}
	else
		{
		document.getElementById("titolBocataGran").innerHTML = nom;
		var myData = fecha.toString();
		document.getElementById("dataBocataGran").innerHTML = myData.substr(0,2)+" - "+myData.substr(2,2)+" - "+myData.substr(4,4);
	
		var nextLeft = (obj.offsetLeft + 100 - 15);
		var nextTop = (obj.offsetTop + document.getElementById("calendar").offsetTop - 190);
		if(document.getElementById("bocata").style.display != 'none'){tancaBocata('a');}
		if(document.getElementById("bocataGran").style.display == 'none')
			{
			document.getElementById("bocataGran").style.left = nextLeft + "px";
			document.getElementById("bocataGran").style.top = nextTop + "px";
			Effect.Appear('bocataGran', { duration: 0.5 });
			}
		else
			{
			new Effect.Move(document.getElementById('bocataGran'), { x: nextLeft, y: nextTop, mode:'absolute' });
			}
		}
	}
function tancaBocata(tipo)
	{
	if(tipo=='a')
		{
		Effect.Fade('bocata', { duration: 0.5 });
		}
	else
		{
		Effect.Fade('bocataGran', { duration: 0.5 });
		}
	}
	
function setSelectedMenu(obj)
	{
	var v = document.getElementById("botonera2").getElementsByTagName("div");
	
	for(var i=0; i<v.length; i++)
		{
		if(v[i].className == 'menuSelected'){v[i].className = 'menu'}
		}
	$(obj).className = 'menuSelected';
	
	var nextLeft = (350 + $(obj).offsetLeft);
	var nextTop = document.getElementById('miniuparrow').offsetTop;
	new Effect.Move(document.getElementById('miniuparrow'), { x: nextLeft, y: nextTop, mode:'absolute' });
	}

function shakeIt(obj)
	{
	Effect.Pulsate(obj.id, { pulses: 3, duration: 1.5 });	
	}

/* ENQUESTES */

function changeStars(me)
	{
	var dad = me.parentNode;
	var v = dad.getElementsByTagName('div');
	var clase = "starYellow";
	for(var i=0; i<v.length; i++)
		{
		v[i].className = clase;
		if(v[i] == me)
			{
			clase = "starWhite";
			}
		}
	}
function setValue(me)
	{
	var dad = me.parentNode;
	var v = dad.getElementsByTagName('div');
	for(var i=0; i<v.length; i++)
		{
		if(v[i] == me)
			{
			dad.rating = i;
			}
		}
	}

function setDefaultValue(me)
	{
	var dad = me.parentNode;
	var v = dad.getElementsByTagName('div');
	var clase = "starYellow";

	if(!dad.rating && dad.rating!=0){clase = "starWhite";}

	for(var i=0; i<v.length; i++)
		{
		v[i].className = clase;
		if(i == dad.rating)
			{
			clase = "starWhite";
			}
		}
	}

function preProcessaEnquesta()
	{
	$("LBE_avis_legal").style.display = 'block';
	}


function processaEnquesta()
	{
	$("LBE_avis_legal").style.display = 'none';
	var params = '';
	var v = $('enquesta').getElementsByTagName('div');
	var j=0;
	
	for(var i=0; i<v.length; i++)
		{
		if(v[i].className == 'rating')
			{
			j++;
			var rating = v[i].rating;
			if(!rating && rating!=0){rating = "";}
			else {rating++;}
			params += '&enq_'+j+'='+rating;
			}
		}
	params += "&txtTxt="+urlencode($('comentaris_enquesta').value)+"&txtEma="+escape($('enquestaEmail').value)+"&txtNom="+urlencode($('enquestaNom').value)+"&txtEmp="+urlencode($('enquestaEmpresa').value);
	
	$("simplemente").style.display = "none";
	$("cosEnquesta").style.display = "none";
	new Ajax.Request( 
		"/processaEnquesta.php", 
			{
	  	method: 'post',
			parameters : params,
	  	onSuccess: function(transport) 
	  		{
				$("confirmation_enquesta").style.display = "block";
				$("confirmation_enquesta").innerHTML = "<div class='enquesta_gracias'>Gracias por hacernos llegar su opinión acerca de nuestra empresa.</div><br /><br /><br />Departamento de Calidad<br /><b>Laser Baix Ebre S.L.</b>";
	  		}
			}
		); 
	}

function reloadEnquesta()
	{
	var v = $('cosEnquesta').getElementsByTagName("div");
	
	for(var i=0;i<v.length;i++)
		{
		if(v[i].className == 'starYellow')
			{
			v[i].className = 'starWhite';
			}
		}
	$('enquestaNom').value = '';
	$('enquestaEmpresa').value = '';
	$('enquestaEmail').value = '';
	$('comentaris_enquesta').value = '';
		
	$("enquesta_0").style.display = "block";
	$("enquesta_1").style.display = "block";
	$("enquesta_2").style.display = "block";

	$("simplemente").style.display = "block";
	$("cosEnquesta").style.display = "block";
	$("confirmation_enquesta").style.display = "none";
	}
	

function gup(name)
	{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
	}
	
function urlencode( str ) {

    var histogram = {}, histogram_r = {}, code = 0, tmp_arr = [];
    var ret = str.toString();
    
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
    
    // The histogram is identical to the one in urldecode.
    histogram['!']   = '%21';
    histogram['%20'] = '+';
    
    // Begin with encodeURIComponent, which most resembles PHP's encoding functions
    ret = encodeURIComponent(ret);
    
    for (search in histogram) {
        replace = histogram[search];
        ret = replacer(search, replace, ret) // Custom replace. No regexing
    }
    
    // Uppercase for full PHP compatibility
    return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
        return "%"+m2.toUpperCase();
    });

    return ret;
}