/*
	XXXXXXXXXX012345678901234567890123
	ISO 8601: 1999-07-03T00:00:00+0100
	JavaScript's Date.parse(): 1999/07/03 00:00:00 UTC+0100
	
	XXXXXXXXXXX01234567890123456789012
	ISO 8601m: 20100409T20:00:00+03:00
*/

function ISO8601_to_JSTime(d,z){
	var y=d.substr(0,4)
	var m=d.substr(5,2)
	var _d=d.substr(8,2)
	var h=d.substr(11,2)
	var i=d.substr(14,2)
	var s;
	if(z)
		s=d.substr(16,3).toString()+d.substr(20,2)//gmt
	else
		s="+0000";//utc
	var sf=y+"/"+m+"/"+_d+" "+h+":"+i+":00 UTC"+s;
	return new Date(sf);
}

function FillZero(integer){
	string="";
	try{
		integer=parseInt(integer,10);
		if(integer<0)
			string=integer;
		else if(integer<10)
			string="0"+integer.toString();
		else
			string=integer.toString();
	} catch (error) {
		// ignore it
	}
	return string;
}

function ConvertTimes(a,b){
	var s=a.id.toString().toLowerCase();
	var is_local;
	switch (s) {
		case "user":
			is_local=false;
			a.value="Convertir a hora local";
			a.id="local";
			break;
		default:
			is_local=true;
			a.value="Convertir a hora carrera";
			a.id="user";
  }
  b=b?b:false;
  if(b==false){
  	var e=1;
  	var tt=0;
  	var ma=3;
	  var d=document.getElementById('c'+e+'_'+tt);
	  while(d!=null){
	  	t2 = ISO8601_to_JSTime(d.className,is_local);
	  	if(is_local)
	  		d.innerHTML=FillZero(t2.getHours())+":"+FillZero(t2.getMinutes())+" "+FillZero(t2.getDate())+"/"+FillZero(t2.getMonth()+1)
	  	else
	  		d.innerHTML=FillZero(t2.getUTCHours())+":"+FillZero(t2.getUTCMinutes())+" "+FillZero(t2.getUTCDate())+"/"+FillZero(t2.getUTCMonth()+1)
	  	tt++;
	  	if(tt>ma+1){
	  		e++;
	  		tt=0;
	  	}
	  	d=document.getElementById('c'+e+'_'+tt);
	  }
  } else{
  	var e=0;
  	var tt=0;
  	var ma=4;
  	var bb=0;
  	var mb=3;
  	var d=document.getElementById('c'+e+'_'+tt+'_'+bb);
  	while(e<21){
	  	if(d!=null&&d.className!==''){
	  		t2 = ISO8601_to_JSTime(d.className,is_local);
		  	if(is_local)
		  		d.innerHTML=FillZero(t2.getHours())+":"+FillZero(t2.getMinutes())+" "+FillZero(t2.getDate())+"/"+FillZero(t2.getMonth()+1)
		  	else
		  		d.innerHTML=FillZero(t2.getUTCHours())+":"+FillZero(t2.getUTCMinutes())+" "+FillZero(t2.getUTCDate())+"/"+FillZero(t2.getUTCMonth()+1)
	  	}
		  bb++;
		  if(bb>mb+1){
		  	tt++;
		  	bb=0;
		  }
		  
		  if(tt>ma+1){
		  	e++;
		  	tt=0;
		  }
	  	d=document.getElementById('c'+e+'_'+tt+'_'+bb);
	  }
  }
  return false;
}
