// JavaScript Document
function setSWF(height, width, filename) {
    document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="' + width + '"  height="' + height + '" id="banner" align="middle">');
	document.write('<param name="allowScriptAccess" value="sameDomain" />');
	document.write('<param name="movie" value="banners_images/' + filename + '" />');
	document.write('<param name="quality" value="high" />');
	document.write('<param name="bgcolor" value="#E8E8E8" />');
	document.write('<embed src="banners_images/' + filename + '"  quality="high" bgcolor="#E8E8E8" width="' + width + '"  height="' + height + '"  name="banner" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	document.write('</object>');

}

var divVisible = 0;
var divTimeout = 0;
var divSubTimeout = 0;
var divStockTimeout = 0;
var menuHeight = 3;
var menuWidth = 4;
var divCatVisible = 0;
var divCatVisible2 = 0;
var lastmenu;
var lastSubMenu;
var lastDivMenuVisible = 0;
var selectedCat;
var lastcont;
var divContVisible = 0;
var divContTimeout = 0;

function MM_jumpMenu2(targ,selObj,restore)
{ 
    selectedCat = selObj.options[selObj.selectedIndex].value;
    
    if (selectedCat == "#")
        hideDiv('jumpMenu');
    else   
        showDiv('jumpMenu');
}

function stripSpecialChars(string) {
	marks = "/:?'<>|\\";
	str = string;

	for (i = 0; i < marks.length; i++) {

		mark = marks.charAt(i);

		while (str.indexOf(mark) != -1) {
			point = str.indexOf(mark);
			first_part = str.substring(0, point);
			second_part = str.substring(point + 1, str.length);
			str = first_part + second_part;
		}
	}
	return str;
}

function redirectPDF(targ, url) {
    url = selectedCat+url+".pdf";
    url = stripSpecialChars(url);
    window.open("products_pdfs/"+url);
}

function showHideDiv2(div,div2)
{
   		
	if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		var style = document.getElementById(div2).style;
		
		if (style2.display == "none" || style2.display == "")
		{
			style2.display = "block";			
		    style.backgroundColor = ""; //Change background color
		}
		else
		{
			style2.display = "none";
			style.backgroundColor = "";
		}
	
	}
}

function showHideDiv(div)
{
	if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		if (style2.display == "none" || style2.display == "")
		{
			style2.display = "block";
		}
		else
		{
			style2.display = "none";
		}
	}
}


function showDivSubMenu(obj, div) {       	
    hideDivNow(lastSubMenu);
    clearTimeout(divSubTimeout);
    if (document.getElementById && document.getElementById(div)!= null)
	{   
		var style2 = document.getElementById(div).style;
		var rightMargin = 0;
		var topMargin =14;
	    var width = 20;
	    
			
	    if (style2.display == "none" || style2.display == "")
		{
			style2.display = "block";
		}
		else
		{
			style2.display = "none";
		}
		
		

		lastSubMenu = div;
		menuPos =  findPos (obj); // (mouseX(event) - rightMargin);
		style2.right = (menuPos[0] + rightMargin) + "px";
		style2.top = (menuPos[1] + topMargin) + "px";
		
		
	}
}

function hideDivSubMenu(div) {
  divSubTimeout = setTimeout('hideDivNow("'+div+'")',3000);
  
}

function showDivSubMenu2(obj, div) {       	
    hideDivNow(lastSubMenu);
    clearTimeout(divSubTimeout);
    if (document.getElementById && document.getElementById(div)!= null)
	{   
		var style2 = document.getElementById(div).style;
		var rightMargin = 0;
		var topMargin =19;
	    var width = 20;
	    
			
	    if (style2.visibility == "hidden")
		{
		alert('visible');
			style2.visibility = "visible";
		}
		else
		{
			style2.visibility = "hidden";
		}
		
		

		lastSubMenu = div;
		menuPos =  findPos (obj); // (mouseX(event) - rightMargin);
		style2.right = (menuPos[0] + rightMargin) + "px";
		style2.top = (menuPos[1] + topMargin) + "px";
		
		
	}
}

function hideDivSubMenu2(div) {
  divSubTimeout = setTimeout('hideDivNow2("'+div+'")',2500);
}

function hideDivNow2(div) 
{    
	if (document.getElementById && document.getElementById(div)!= null)
	{
	    alert('hide');
	    divVisible = 0;
		var style2 = document.getElementById(div).style;
		style2.visibility = "hidden";	
	}
}


function showDivStockDescription(obj, div) {              
    obj = document.getElementById(obj);
    
    if (document.getElementById && document.getElementById(div)!= null)
	{   
		var style2 = document.getElementById(div).style;
		var rightMargin = 100;
		var topMargin = -10;
		style2.display = "block";	
		menuPos =  findPos (obj); // (mouseX(event) - rightMargin);
		style2.right = (menuPos[0] + rightMargin) + "px";
		style2.top = (menuPos[1] + topMargin) + "px";
	}
}

function hideDivStockDescription(div) {
    clearTimeout(divStockTimeout);
    if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		style2.display = "none";
	}
}

function showMainDiv(div, catId)
{
    hideMainDiv(lastDivMenuVisible);
    if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		style2.display = "block";
		style2.width = (155 * menuWidth)-35+"px";
		style2.height = (90 * menuHeight)-40+"px";
		divCatVisible = catId;
		lastDivMenuVisible = div;
		showCat(catId);
	} 
}

function showSubMainDiv(div, mainCat)
{
    hideDivNow(divCatVisible2);
    if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		style2.display = "block";				
		
		subHeight = document.getElementById(div).offsetHeight;
		mainHeight = document.getElementById(mainCat).offsetHeight;
		
	    topMargin = Math.abs(((mainHeight-40) - subHeight) /2);	
		style2.width = (155 * (menuWidth-1))+"px";
		
		style2.marginTop = topMargin;	
		divCatVisible2 = div;
		showCat(div);
	} 
}

function showCat(div)
{
    if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		style2.display = "block";
	}
}

function hideMainDiv(div)
{
    hideDivNow(div); // main 
	hideDivNow(divCatVisible); // categories
	hideDivNow(divCatVisible2); // subcategories
}

function hideSubMainDiv(div)
{
    hideDivNow(div); // main 
	hideDivNow(divCatVisible2); // categories
}


function hideDivNow(div) 
{    
	if (document.getElementById && document.getElementById(div)!= null)
	{		 	
	    if (div == lastmenu) {
	        var style3 = document.getElementById('back'+lastmenu).style;
           style3.backgroundColor = "";
        }

	    divVisible = 0;
	    divContVisible = 0;
		var style2 = document.getElementById(div).style;
		style2.display = "none";	
	}
}


function showMenuDiv(div)
{
 clearTimeout(divTimeout);
 if (!divVisible) // only if div is not visible
 {
    divVisible = 1;  
        
	if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		style2.display = "block";
	}
 }
}

function showMenu(obj, div)
{          
    obj = obj.offsetParent;
	    
    if (lastmenu == div)
       clearTimeout(divTimeout); 
    else 
       hideDivNow(lastmenu);
   
	if (!divVisible) // only if div is not visible
    {      
        divVisible = 1; // flags div as visible
        lastmenu = div; // stores last menu visited (this one)
        
	    if (document.getElementById)
	    {
		    var rightMargin = 7;
		    var topMargin = 25;
		    var style2 = document.getElementById(div).style;
		    var style3 = document.getElementById('back'+div).style;
		   
		    style3.backgroundColor = "";
		    
		    style2.display = style2.display ? "" : "block";
	        menuPos =  findPos (obj); // (mouseX(event) - rightMargin);
    	    

		    menuPos =  findPos (obj); // (mouseX(event) - rightMargin);
		    //style2.right = (menuPos[0] + rightMargin) + "px";
		    //style2.top = (menuPos[1] + topMargin) + "px";
	    }
	}
}
function showCont(obj, div)
{           
    cancelContTimeout();
    
    if (lastcont == div)
       clearTimeout(divContTimeout); 
    else 
       hideDivNow(lastcont);
   
	    divContVisible = 1; // flags div as visible
        lastcont = div; // stores last menu visited (this one)
  
        if (document.getElementById(div))
        {
	        var rightMargin = 156;
	        var topMargin = -164;
	        var style2 = document.getElementById(div).style;
	        
	        var style3 = document.getElementById('back'+lastmenu).style;
		   
		    style3.backgroundColor = "";
    	    
	        style2.display = style2.display ? "" : "block";
	        menuPos =  findPos (obj); // (mouseX(event) - rightMargin);
	       // menuPos2 =  findPos(document.getElementById(div))
	        //style2.right = (rightMargin) + "px";
	        //style2.top = (topMargin+menuPos[1]) + "px";
        }
    
}

function hideMenuDiv(div)
{
   divTimeout=setTimeout('hideDivNow("'+div+'")',2000); 
   
}

function hideContDiv(div)
{
if (lastmenu == div){
}else{
   hideMenuDiv(lastmenu);   
   divContTimeout=setTimeout('hideDivNow("'+div+'")',2000);   
   }
}

function hideTwoDiv(div1, div2)
{
   hideMenuDiv(div1);
   hideContDiv(div2);   
}


function cancelDivTimeout()
{
  clearTimeout(divTimeout);  
}
function cancelContTimeout()
{
  cancelDivTimeout();
  clearTimeout(divContTimeout);
}

function hideDiv(div)
{
	if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		style2.display = "none";
	}
}

function showDiv(div)
{
	if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		style2.display = "block";
	}
}

function hideElement(elem)
{
	if (document.getElementById && document.getElementById(elem)!= null)
	{
		document.getElementById(elem).style.display = "none";
	}
}

function showElement(elem, display)
{
    if (typeof(display) == "undefined")
    {
        display = "block";
    }

	if (document.getElementById && document.getElementById(elem)!= null)
	{
		var style2 = document.getElementById(elem).style.display = display;
	}
}

function MM_jumpMenu(targ,selObj,restore)
{ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function showShippingMode(targ,selObj,restore)
{
	var sId = selObj.options[selObj.selectedIndex].value;
	for (i=0; i< selObj.options.length; i++)
	{
		var id = selObj.options[i].value;
		hideDiv("shippingDiv_" + id);	
		hideDiv("paymentDiv_" + id);	
	}
	if (sId != null && sId != "0")
	{
		showHideDiv("shippingDiv_" + sId);
		showHideDiv("paymentDiv_" + sId);
	}
	if (sId == "0")
	{
		showHideDiv("shippingDiv_0");
		showHideDiv("paymentDiv_0");
	}
}

function findPos(obj) {
	var posright = postop = 0;
	if (obj.offsetParent)
	{
		posright = obj.offsetright
		postop = obj.offsetTop
		while (obj = obj.offsetParent)
		{
			posright += obj.offsetright
			postop += obj.offsetTop
		}
	}
	return [posright,postop];
}

function validateOrder()
{	
	if (document.getElementById)
	{
		var shipping = document.getElementById("shipping");
		if(shipping == null || shipping.value == "0")
		{
			showHideDivRedBorder("orderStep_2")
			showHideDiv("orderStep_2_error");
			return false;
		}
		else
		{
			var shipping = document.getElementById("shipping");
			var destination = document.getElementById("destination_" + shipping.value);
			if(destination == null || destination.value == "-1")
			{
				showHideDivRedBorder("orderStep_3")
				showHideDiv("orderStep_3_error");
				return false;
			}	
			
			var radioPayment = document.forms["orderForm"].elements["payment_" + shipping.value];
			var flagClear = false;
			if (radioPayment.length == null)
			{
				if (radioPayment.checked == true)
				{
					flagClear = true;
				}
			}
			else
			{
				for(var i = 0; i < radioPayment.length; i++) 
				{
					var	payment = radioPayment[i];
					if (payment.checked == true)
					{
						flagClear = true;
					}
				}
			}
			
			if (flagClear == false)
			{
				showHideDivRedBorder("orderStep_4");
				showHideDiv("orderStep_4_error");
				return false;
			}
			
			var termsAndConditions = document.forms["orderForm"].elements["termsAndConditions"];
			if (termsAndConditions.checked != true)
			{
				showHideDivRedBorder("orderStep_5");
				showHideDiv("orderStep_5_error");
				return false;
			}
		}
	}
	return true;
}

function showHideDivRedBorder(div)
{
	if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		if (style2.border == null || style2.border == "")
		{
			style2.border = "solid 2px #FF0000";
		}
		else
		{
			style2.border = "";
		}
	}
}

function hideDivRedBorder(div)
{
	if (document.getElementById && document.getElementById(div)!= null)
	{
		var style2 = document.getElementById(div).style;
		style2.border = "";
	}
}

function cleanStepAllStepsErrors()
{
	hideDivRedBorder("orderStep_2");
	hideDiv("orderStep_2_error");
	hideDivRedBorder("orderStep_3");
	hideDiv("orderStep_3_error");
	hideDivRedBorder("orderStep_4");
	hideDiv("orderStep_4_error");
	hideDivRedBorder("orderStep_5");
	hideDiv("orderStep_5_error");
}


function initializec(latitud,longitud,zoom) 
{
      // Inicializa el mapa de los contactos	 		
      if (GBrowserIsCompatible()) {	     	 
		
        var map = new GMap2(document.getElementById("map_canvasc"));  
        map.setCenter(new GLatLng(latitud, longitud), zoom); // Centro y zoom
    
		// Marcadores de zoom y movimiento
        map.addControl(new GMapTypeControl());
		map.addControl(new GLargeMapControl());
						
		// Toma los datos de las coordenadas del xml para generar los puntos
            GDownloadUrl("index.aspx?p=GeneratorXmlContact", function(data) {
          	var xml = GXml.parse(data);
          	var markersc = xml.documentElement.getElementsByTagName("marker");
		 	 //Toma las coord del punto
         	 for (var i = 0; i < markersc.length; i++) {
         	    var point = new GLatLng(parseFloat(markersc[i].getAttribute("lat")),
                                    parseFloat(markersc[i].getAttribute("lng")));
                var icono = markersc[i].getAttribute("icono");
				var name = markersc[i].getAttribute("name");			
				var morada = markersc[i].getAttribute("morada");	
				var phone = markersc[i].getAttribute("phone");			
				var email = markersc[i].getAttribute("email");				

		 	 	map.addOverlay(createMarkerContacts(point,icono,name,morada,phone,email));		  				
         	 }
          });
      }//end if
	  }//end initialize	  
	 
function createMarkerContacts(point,icono,name,morada,phone,email) 
{		
		  		  
    	  /* Crear un nuevo icono	            
	  	      var icon = new GIcon();
	          icon.image = icono;
    	      //icon.shadow = "http://www.google.com/mapfiles/turkeyshadow.png";
      	      icon.iconSize = new GSize(25, 25);
              //icon.shadowSize = new GSize(91, 62);
              icon.iconAnchor = new GPoint(17, 39);
              icon.infoWindowAnchor = new GPoint(15, 5);
              var marker = new GMarker(point,icono);*/
          
              var marker = new GMarker(point);
          
    	  GEvent.addListener(marker,"click", function() {
	        //Formato de la tabla en HTML
		    var myHtml = '<div style="padding-right:12px; width:200px;"><table><tr><td valign=top;><span class="Titulo">' + name + '</span><br/><td></tr><tr><td><span class="Complementos">'+ morada +'</span></td></tr><tr><td><span class="Complementos">'+ phone +'</span></td></tr><tr><td><span class="Complementos">'+ email +'</span></td></tr></table></div>';        
			marker.openInfoWindowHtml(myHtml);
    	  });
		  return marker;
}	          	
        
function initialize() 
{
		
   if (GBrowserIsCompatible()) {	  	 
		
        var map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(39.68551, -8.085938), 6); // Centro y zoom. Fijo en el inicio        

		// Marcadores de zoom y movimiento
        map.addControl(new GMapTypeControl());
		//map.addControl(new GOverviewMapControl());
		map.addControl(new GLargeMapControl());
						
		// Toma los datos de las coordenadas del xml para generar los puntos
          GDownloadUrl("index.aspx?p=GeneratorXml", function(data) { 
          	var xml = GXml.parse(data);
          	var markers = xml.documentElement.getElementsByTagName("marker");
		 	 //Toma las coord del punto
         	 for (var i = 0; i < markers.length; i++) {
         	   var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));

		 	 // Toma el resto de datos del Xml
  				var icono = markers[i].getAttribute("icono");
				var name = markers[i].getAttribute("name");
				var tlf = markers[i].getAttribute("tlf");	
				var morada = markers[i].getAttribute("morada");	
				var image = markers[i].getAttribute("image");			
				var email = markers[i].getAttribute("email");
						
				map.addOverlay(createMarker(point, name,morada,tlf,image,email,icono));//i + 1,		  				
         	 }
          });
      }//end if
}//end initialize
	  
function initialize2(latitud,longitud,zoom) 
{
	  // Creo inicializar 2 para generar el mismo mapa pero cambiando el centro!! 
	 		
      if (GBrowserIsCompatible()) {	  	 
		
        var map = new GMap2(document.getElementById("map_canvas"));        
        map.setCenter(new GLatLng(latitud,longitud), zoom); // Centro y zoom

		// Marcadores de zoom y movimiento
        map.addControl(new GMapTypeControl());
		//map.addControl(new GOverviewMapControl()); Map aux
		map.addControl(new GLargeMapControl());
						
		// Toma los datos de las coordenadas del xml para generar los puntos
          GDownloadUrl("index.aspx?p=GeneratorXml", function(data) {
          	var xml = GXml.parse(data);
          	var markers = xml.documentElement.getElementsByTagName("marker");
		 	 //Toma las coord del punto
         	 for (var i = 0; i < markers.length; i++) {
         	   var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));

		 	 // Toma el resto de datos del Xml
  				var icono = markers[i].getAttribute("icono");
				var name = markers[i].getAttribute("name");
				var tlf = markers[i].getAttribute("tlf");	
				var morada = markers[i].getAttribute("morada");	
				var image = markers[i].getAttribute("image");			
				var email = markers[i].getAttribute("email");
						
				map.addOverlay(createMarker(point, name,morada,tlf,image,email,icono));//i + 1,		  				
         	 }
          });
      }//end if
}//end initialize

	// Crea las  marcas con un texto determinado  
function createMarker(point,name,morada,tlf,image,email,icono) 
{
	  // Crear un nuevo icono
	  	  var icon = new GIcon();
	      icon.image = icono;
    	  //icon.shadow = "http://www.google.com/mapfiles/turkeyshadow.png";
      	  icon.iconSize = new GSize(25, 25);
          //icon.shadowSize = new GSize(91, 62);
          icon.iconAnchor = new GPoint(17, 39);
          icon.infoWindowAnchor = new GPoint(15, 5);
		  
    	  var marker = new GMarker(point,icon);
	     
    	  GEvent.addListener(marker,"click", function() {
	        //Formato de la tabla en HTML
		var myHtml = '<table><tr><td><img src='+ image +'>'+'</td><td><div ><table><tr><td valign=top;>'+'<span class="Titulo">' + name + '</span><br/><td></tr><tr><td><span class="Complementos">'+ morada +'</span></td></tr><tr><td><span class="Complementos">'+ tlf + '</span></td></tr><tr><td><span class="Complementos">'+ email +'</span></td></tr></table></div></td></tr></table>'
        
			marker.openInfoWindowHtml(myHtml);
    	  });
		  return marker;
}	        
    

function swapBackground1(div)
{
   		var style2 = document.getElementById(div).style;
		style2.backgroundColor = "";
	
}        
    
function swapBackground2(div)
{
   		var style2 = document.getElementById(div).style;
		style2.backgroundColor = "";
	
}

