      var timer = new StopWatch();
      timer.time_segments = new Array();
      timer.timer_id = 0;
      time_list = new Array();
      inspection_running = false;
      params = new ParamString('');tipoCubo;
      var largo= new Array(10,25,40,60,80,100);

      function initialize() {
        reset_timer();

        //session_restore(); cookie
        //load_puzzle(); scramble
        //generate_scramble();
      }



      function show_time() {
          document.getElementById('elapsed_time').innerHTML = format_time(timer.elapsed());
          if(timer.running()) { timer.timer_id = setTimeout('show_time()', 15); }
      }


      function reset_timer() {
        if(!timer.running()) {
          for(var i = 0; i < timer.time_segments.length; i++) timer.time_segments[i] = "00";
          timer.reset();
          show_time();
        }
      }
      
      function format_time(time) {
        time *= 1;
        timer.time_segments[0] = lpad(Math.floor(time / 60000), 2, "0"); time %= 60000;
        timer.time_segments[1] = lpad(Math.floor(time / 1000), 2, "0"); time %= 1000;
        timer.time_segments[2] = lpad(Math.floor(time / 10), 2, "0", true);

        return timer.time_segments[0] + ":" + timer.time_segments[1] + "." + timer.time_segments[2];
      }

      function session_get(key) {
        return params[key];
      }
      
      function pushbutton(pen) {
				document.getElementById("time_start").style.background="transparent";
        if(timer.running()) {
          stop_timer();
        }
        else {
				if (pen){
					timer.set("stored_elapsed",pen*1000);
	        timer.start();
  	      show_time();
        }else
          start_timer()
        }
      }
      
      function start_timer() {
        reset_timer();
        timer.start();
        show_time();
      }

      function stop_timer() {
        timer.stop();
        clearTimeout(timer.timer_id);
        show_time();
/*		if (document.getElementById("time_attack").innerHTML=='')
			document.getElementById("time_attack").innerHTML="&nbsp;&nbsp;"+format_time(timer.elapsed())+ '&nbsp;&nbsp;&nbsp;' + document.getElementById("tdScramble").innerHTML;
		else
			document.getElementById("time_attack").innerHTML+="<br>&nbsp;&nbsp;"+format_time(timer.elapsed())+ '&nbsp;&nbsp;&nbsp;' + document.getElementById("tdScramble").innerHTML;*/
			document.getElementById("calculo_attack").innerHTML=guardaTiempo(timer.elapsed());
			document.getElementById("time_attack").innerHTML=guardaScram(document.getElementById("tdScramble").innerHTML);
			startScramble();

      }
        	
      function lpad(s, l, c, t) {
        s += "";
        c = c || " ";
        while(s.length < l)
          s = c + s;
        return t && s.length > l ? s.substr(0, l) : s;
      }

			function timeAttack(event){
				if (timer.running()){
						start=false;
						stop_timer();
					return;
				}
				if (event.keyCode==32 && repeat) {
  				document.getElementById("time_start").style.background="red";
					dosmanos=true;
					start=false;
					reset_timer();
					stackmat();
				} else {
					if (codigo=event.keyCode) repeat = true;
  				document.getElementById("time_start").style.background="transparent";
					dosmanos=false;
					start=false;
				}
				codigo=event.keyCode;
			}
			
			function startTime(event){
   	    repeat = false;
   	    codigo = 0;
				if(event.keyCode == 32 && start) 
				{ pushbutton(); } 
				else if ( event.keyCode == 32 && dosmanos) {pushbutton(penalizacion);}
				document.getElementById("time_start").style.background="transparent";
				dosmanos=false;
	        timerstart.stop();
   	      timerstart.reset();
			}

          var dosmanos=false;
          var start=false;
          var repeat=false;
          var codigo=0;
            var count=0;
            var penalizacion=2;
      var timerstart = new StopWatch();
      timerstart.time_segments = new Array();
      timerstart.timer_id = 0;
			maxGreen=1;
			 
			function stackmat(){
				if (timer.running()) return;
        if(!timerstart.running()) {
	        timerstart.stop();
   	      timerstart.reset();
        }
				valor=timerstart.elapsed()*1;
				valor %= 60000;
				count=Math.floor(valor / 1000);
				if (count>=maxGreen){
					document.getElementById("time_start").style.background="#66FF00";
					start=true;
				}
				if (dosmanos){
	        if(!timerstart.running()) {
    	      timerstart.reset();
            timerstart.start();
					}
          if(timerstart.running()) { timerstart.timer_id = setTimeout('stackmat()', 15);}
				}else{
		        timerstart.stop();
    		    clearTimeout(timerstart.timer_id);
		    }
			}
			
		function startScramble(){
                        scramble();
			document.getElementById("divScramble").innerHTML='<table><tr><td id=tdScramble>'+scramblestring(0)+'</td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td></tr></table>';
                        document.getElementById("imagen").innerHTML= '<table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td>'+imagestring(0)+'</td></tr></table>';
		}	

		function setForm(){
		//alert('Timer Creado para www.cuberos.cl');
		initialize();
                tipoCubo = eval(document.getElementById("tipoPuzzle").value*1);
                seqlen=largo[document.getElementById("tipoPuzzle").selectedIndex];
		numcub=1;
		mult=false;
		cubeorient=false;
		colorString = "yobwrg";
		startScramble();
               	document.getElementById("botonOrden").estado=1;
		llenaBotonMultiple(document.getElementById("botonNum0"),1);
		llenaBotonMultiple(document.getElementById("botonNum1"),1);
		llenaBotonMultiple(document.getElementById("botonNum2"),0);
		}
		
                var scrams = new Array();
		function guardaScram(scr){
			scrams[scrams.length]= scr;
			return muestraAttack();
		}

		var ordenAttack = true;
		var cuantosAttack = 0;
		function muestraAttack(){
			src="";
			if (ordenAttack) 
				j=0;
			else 
				j=scrams.length-1;	
			inicial=0;
			if (cuantosAttack>0 && cuantosAttack<=tiempo.length) inicial=tiempo.length-cuantosAttack;
			if (inicial > 0 && ordenAttack) j=inicial;
			minSesion=calculaMin(cuantosAttack);
			maxSesion=calculaMax(cuantosAttack);
			for (i=inicial; i<scrams.length;i++ ){
				colorSesini="<div>";
				if (minSesion!=maxSesion){
					if (j==minSesion)
						colorSesini="<div class='mejorAttack'>";
					if (j==maxSesion)
						colorSesini="<div class='peorAttack'>";
				}
				src+=colorSesini+"&nbsp;&nbsp;" + (j+1) + ".&nbsp;&nbsp;"+format_time(tiempo[j])+ '&nbsp;&nbsp;&nbsp;' + scrams[j] + "</div>";
				
				if (ordenAttack) 
					j++;
				else 
					j--;
			}
			return src;
		}
		
		function actualizaEstadoBoton(obj,des0,des1){
			if (obj.estado==1){
				obj.style.borderStyle='inset';
				obj.innerHTML=des0;
				obj.estado=0;
			} else {
				obj.style.borderStyle='outset';
				obj.innerHTML=des1;
				obj.estado=1;
			}
		}

		function cambiaBoton(obj,des0,des1){
			actualizaEstadoBoton(obj,des0,des1);
			ordenAttack=obj.estado==1;
			document.getElementById("time_attack").innerHTML=muestraAttack();
		}
var botonMultiple = new Array();		
		function llenaBotonMultiple(obj,estado){
			botonMultiple[botonMultiple.length]=obj;
			obj.estado=estado;
		}
		
		function cambiaBotonMultiple(obj){
			if (obj.estado==0) return;
			for (i=0;i < botonMultiple.length;i++){
				if (botonMultiple[i].estado==0)
					actualizaEstadoBoton(botonMultiple[i],botonMultiple[i].innerHTML,botonMultiple[i].innerHTML);
			}
			actualizaEstadoBoton(obj,obj.innerHTML,obj.innerHTML);
			if (obj.innerHTML=="Todos")
				cuantosAttack=0;
			else
				cuantosAttack=obj.innerHTML*1;
			document.getElementById("time_attack").innerHTML=muestraAttack();
		}
function LimpiaResultados(){
    timer = new StopWatch();
    timer.time_segments = new Array();
    timer.timer_id = 0;
    time_list = new Array();
    inspection_running = false;
    params = new ParamString('');
    scrams.length = 0;
    tiempo.length = 0;
    initialize();
    document.getElementById('time_attack').innerHTML='';
    document.getElementById('calculo_attack').innerHTML='';
}