var file_names	= new Array();

sM = {
  init: function() {
    var uls = document.getElementsByTagName('ul');
    for (var u = 0; u < uls.length; u++) {
      if (uls[u].className.search(/\bslidingmenu\b/) == -1) continue;
      var lis = uls[u].getElementsByTagName('li');
      for (var i = 0; i < lis.length; i++) {
        var node = lis[i];
        if (node.nodeName.toLowerCase() == 'li'){
		  //sM.addEvent(node, 'mouseover', sM.makeRollover, false);
		  //sM.addEvent(node, 'mouseout', sM.makeRollout, false);
          if(node.getElementsByTagName('ul').length > 0) {
			  sM.addEvent(node, 'mouseover', sM.getMoverFor(node), false);
			  sM.addEvent(node, 'mouseout', sM.getMoutFor(node), false);
			  node.getElementsByTagName('a')[0].className += ' subheader';
			  node.isIn = false;
		  }
        }
      }
    }
  },
  
  getMoverFor: function(node) {
    return function(e) { sM.mover(e, node); };
  },
  
  getMoutFor: function(node) {
    return function(e) { sM.mout(e, node); };
  },
  
  makeRollover: function(e) {
	var elem = window.event ? targetElement : e ? e.currentTarget : null;
	var color = elem.style.backgroundColor;
	//alert(RGBToHex(color));
  },
  
  makeRollout: function(e) {
	var elem = window.event ? targetElement : e ? e.currentTarget : null;
    //alert(elem.style.backgroundColor);
  },

  mover: function(e, targetElement) {
    var el = window.event ? targetElement : e ? e.currentTarget : null;
    if (!el) return;
    clearTimeout(el.outTimeout);
    if (!el.isIn) {
      for (var i = 0; i < el.childNodes.length; i++) {
        var node = el.childNodes[i];
        if (node.nodeName.toLowerCase() == 'ul') {
          // Stop current animation
          clearInterval(node.intervalID);
          // Assign initial visible area
          node.clippingRectangle = [0, 0, 4, 0];
          // Save full width and height
          node.style.display = 'block';
          node.savedOW = node.offsetWidth;
          node.savedOH = node.offsetHeight;
          node.style.display = 'none';
          // Start animation
          node.intervalID = setInterval(function() { sM.showMenu(node); }, 2);
          break;
        }
      }
    }
    el.isIn = true;
    el.className += '';   // Force IE to recompute styles
  },

  mout: function(e, targetElement) {
    var el = window.event ? targetElement : e ? e.currentTarget : null;
    if (!el) return;
    el.outTimeout = setTimeout(function() { sM.mout2(el); }, 300);
  },

  mout2: function(el) {
    for (var i = 0; i < el.childNodes.length; i++) {
      var node = el.childNodes[i];
      if (node.nodeName.toLowerCase() == 'ul') {
        // Stop current animation
        clearInterval(node.intervalID);
        // Start animation
        node.intervalID = setInterval(function() { sM.hideMenu(node); }, 2);
        break;
      }
    }
    el.isIn = false;
  },
  
  showMenu: function(el) {
    el.clippingRectangle[1] += 20;
    if (el.clippingRectangle[1] >= el.savedOW) {
      el.clippingRectangle[1] = el.savedOW;
      el.clippingRectangle[2] += 20;
      if (el.clippingRectangle[2] >= el.savedOH) {
        el.clippingRectangle[2] = el.savedOH;
        clearInterval(el.intervalID);
        // reset the clip: browser-specific
        if (document.all && !window.opera) {
          el.style.clip = 'rect(auto)';
        } else {
          el.style.clip = '';
        }
        return;
      }
    }
    el.style.clip = 'rect(' + el.clippingRectangle.join('px ') + 'px)';
    el.style.display = 'block';
  },

  hideMenu: function(el) {
    el.clippingRectangle[2] -= 20;
    if (el.clippingRectangle[2] <= 0) {
      el.clippingRectangle[2] = 0;
      el.clippingRectangle[1] -= 20;
      if (el.clippingRectangle[1] <= 0) {
        clearInterval(el.intervalID);
        // reset the clip: browser-specific
        if (document.all && !window.opera) {
          el.style.clip = 'rect(auto)';
        } else {
          el.style.clip = '';
        }
        el.style.display = 'none';
        return;
      }
    }
    el.style.clip = 'rect(' + el.clippingRectangle.join('px ') + 'px)';
  },

  addEvent: function(elm, evType, fn, useCapture) {
    // cross-browser event handling for IE5+, NS6 and Mozilla
    // By Scott Andrew
    if (elm.addEventListener) {
      elm.addEventListener(evType, fn, useCapture);
      return true;
    } else if (elm.attachEvent) {
      var r = elm.attachEvent('on' + evType, fn);
      EventCache.add(elm, evType, fn);
      return r;
    } else {
      elm['on' + evType] = fn;
    }
  } 
};

function inicializar(){

	sM.init();
	var imgs = document.getElementsByTagName('img');
	var source		= '';
	var parts		= new Array();
	var path		= new Array();
	
	
	for (var i = 0; i < imgs.length; i++){
	
		source = imgs[i].getAttribute('src');
		parts  = source.split('/');
		path   = parts[1].split('.');
		
		imgs[i].filename = path[0];
			
		if(parts[0] == 'menu_img'){
			imgs[i].onmouseover = function(){
				//alert(parts[0] + '/' + file_names[this.num] + '-B.gif');
				this.setAttribute('src', 'menu_img/' + this.filename + '-B.gif');
			}
			imgs[i].onmouseout = function(){
				//alert(parts[0] + '/' + file_names[this.num] + '.gif');
				this.setAttribute('src', 'menu_img/' + this.filename + '.gif');
			}
		}
	}
	
	if(document.getElementById('btn_enviar')){
		var btn_enviar = document.getElementById('btn_enviar');
		sM.addEvent(btn_enviar, 'click', enviarFormulario, false);
	}
}

function RGBToHex()
{
    var colors = (arguments.length == 1) ? arguments[0].replace(/rgb\(/, '').replace(/\)/, '').split(",") : arguments;
    return (colorToHex(colors[0]) + colorToHex(colors[1]) + colorToHex(colors[2]));
}

function colorToHex(N)
{
    N = parseInt(N); 
    if (N == 0 || isNaN(N)) return "00";
    N = Math.round(Math.min(Math.max(0,N),255));
    return "0123456789ABCDEF".charAt((N - N % 16)/16) + "0123456789ABCDEF".charAt(N % 16);  // Rather clever, by Peter Bromberg
}

function enviarFormulario(){
	
	var valido		= true;
	var mensaje		= '';
	var datos		= document.getElementById('form1');
	var nombre		= document.getElementById('nombre');
	var apellidos	= document.getElementById('apellidos');
	var email		= document.getElementById('e-mail');
	var telefono	= document.getElementById('telefono');
	var consulta	= document.getElementById('consulta');
	var acepta		= document.getElementById('acepta');
	
	if(acepta.checked === false){
		valido = false;
		mensaje	+= 'Debe confirmar su conocimiento y aceptación de las\ncondiciones reflejadas en Política de Privacidad\n\n';
	}
	
	if(		nombre.value.length		=== 0	||
		   	apellidos.value.length 	=== 0	||
		   (email.value.length 		=== 0 	&& 
			telefono.value.length 	=== 0)	||
		   	consulta.value.length 	=== 0
	   ){
			valido = false;
			mensaje	+= 'Debe proporcionar los datos necesarios';
	}
	
	if(valido){
		datos.submit();
	}else{
		alert(mensaje);
	}
}



sM.addEvent(window, 'load', inicializar, false);
sM.addEvent(window, 'unload', EventCache.flush, false);



