var arr = ["spear","sword","axe","arch","spy","light","march","heavy","ram","cata","knight","snob"];
var numStart=0;

var _S = 1000;
var _M = _S * 60;
var _H = _M * 60;
var _D = _H * 24;
var _Y = _D * 365;

initCal();


function initCal(){

	Calendar.setup({
	    inputField     :    "time0",
	    ifFormat       :    "%d-%m-%Y %H:%M:%S",
	    showsTime      :    true,
	    button         :    "cal0",
	    step           :    1
	});
}

function setTime(v,i){
	var n = document.getElementById("off_"+i);
	n.value = v;
}

function calc(){

	var parent = document.getElementById('res_tbl');
	var list = parent.getElementsByTagName('tr');
	for(var i=list.length-1;i>=0;i--){
		if(list[i].className=="result"){
			parent.removeChild(list[i])
		}
	}

	var v_end = document.getElementById('end0').value;
	v_end = parseVillage(v_end,"Arrivo");
	for(var vl=0;vl<=numStart;vl++)
	{
	
		var v_start = document.getElementById('start'+vl).value;		
		v_start = parseVillage(v_start,"Partenza");		
		var trip = calcTrip(v_start,v_end);
	
		var tr = document.createElement('tr');
		tr.className="result";
		var th = document.createElement('th');
		th.innerHTML = "("+v_start+")";
		tr.appendChild(th);

		var hid = document.createElement('input');
		hid.type="hidden";
		hid.id="off_"+vl;
		
		
		for(var i=0;i<arr.length;i++)
		{
	
			var td = document.createElement('td');
			td.className="time ";
			if(vl%2==0) td.className +=" even";
			else td.className +=" odd";

			var seconds = 60000 * trip * document.getElementById(arr[i]+'_step').value
			seconds = Math.round(seconds);

			try{
				var rad = document.createElement('<input type="radio" name="rad_'+vl+'" />');
			}catch(err){
				var rad = document.createElement('input');
				rad.setAttribute('type','radio');
				rad.setAttribute('name','rad_'+vl);
			}			

			rad.setAttribute("onclick","setTime("+seconds+","+vl+")");
				
			//calcolo ore minuti secondi
			var seconds = 60000 * trip * document.getElementById(arr[i]+'_step').value
			seconds = Math.round(seconds);
			var hh =  Math.floor(seconds / _H);
			seconds -= hh * _H
			var mm = Math.floor(seconds / _M);
			seconds -= mm * _M;
			var ss = Math.floor(seconds / _S );
			seconds -= ss * _S 
			
			//Scrivo ore minuti secondi eventualmente aggiungendo lo 0
			var txt =  hh+":";
			if(mm<10) txt += "0";				
			txt += mm+":";	
			if(ss<10) txt += "0";
			txt += ss;
			txt += "."+seconds;
	
			td.appendChild(rad);
			td.innerHTML += txt;
			td.noWrap = true;
			td.style.fontSize = "x-small";
			tr.appendChild(td);
		}
		var td1 = document.createElement('td');
		td1.style.display="none";
		td1.appendChild(hid);
		tr.appendChild(td1);
		var td2 = document.createElement('td');
		td2.className="time ";
		if(vl%2==0) td2.className +=" even";
			else td2.className +=" odd";
		td2.id="triptime_"+vl;
		td2.noWrap = "nowrap";
		td2.style.fontSize="x-small";
		tr.appendChild(td2);
		
		parent.appendChild(tr);
	}
	document.getElementById('syncbt').disabled="";
}


function addVillage(){
	
	numStart++;
	var parent = document.getElementById('inputtbl');
	var tr = document.createElement('tr');
	tr.id = "village"+numStart;
	var td1 = document.createElement('th');
	td1.innerHTML = "Altra Provenienza"	
	var td2 = document.createElement('td');
	var inp = document.createElement('input');
	inp.type="text";
	inp.id="start"+numStart;

	var arem = document.createElement('a');
	arem.href="javascript:delVillage("+numStart+")";
	var rem = document.createElement('img');
	rem.src="../images/rem.gif";
	rem.alt="del";
	rem.title="remove this village from the list";
	rem.style.border=0;
	rem.style.cssFloat = "right";
	arem.appendChild(rem);

	var ddiv = document.createElement("div");
	ddiv.style.width="250px";
	ddiv.appendChild(inp)

	
	td2.appendChild(arem);
	td2.appendChild(ddiv);
	td2.setAttribute("nowrap","nowrap");
	tr.appendChild(td1);
	tr.appendChild(td2);
	parent.appendChild(tr);
	
	applyTo( document.getElementById("start"+numStart) );
}

function delVillage(ind){

	var parent = document.getElementById('inputtbl');
	var node = document.getElementById('village'+ind);
	if(ind==numStart){
		parent.removeChild( node )
	}
	else{
		var node2 = document.getElementById('village'+numStart);
		var input1 = document.getElementById('start'+ind);
		var input2 = document.getElementById('start'+numStart);
		input2.id=input1.id;
		input1.id="toTrash";		
		parent.replaceChild(node2, node);
	}
	numStart--;

}

function sync(){

	var time = document.getElementById('time0').value
	
	if(time==""){
		alert("Prima devi impostare un orario di arrivo o partenza.")
		return;
	}
		
	if(time.indexOf(" ")==-1 || time.indexOf("-")==-1 || time.indexOf(":")==-1){
		alert("formato data non valido, utilizza gg-mm-aaaa hh:mm:ss o calendario automatico");
		return;
	}
	

	var datetime = time.split(" ");
	var date = datetime[0].split("-");
	var hour = datetime[1].split(":");
	var d = new Date();
	d.setDate(date[0]);
	d.setMonth(date[1]-1);
	d.setFullYear(date[2]);
	d.setHours(hour[0]);
	d.setMinutes(hour[1]);
	d.setSeconds(hour[2]);

	var mod = document.getElementById('trip').value;
	if(mod<0)
		document.getElementById('tripname').innerHTML="Orario Partenza";
	else
		document.getElementById('tripname').innerHTML="Orario Arrivo";	

	for(var i=0;i<=numStart;i++){

		var time = document.getElementById("off_"+i).value;
		if(time==""){
			alert("Villaggio "+(1+i)+":non e' stato scelto il tipo di truppa impiegato per l'attaco");
			return;
		}
		
		time = d.getTime() + (mod * time);
		var d2 = new Date();
		d2.setTime(time);

		var txt = "";

		if(d2.getDate()<10) txt += "0";
		txt += d2.getDate() +"-";

		if((d2.getMonth(date[1])+1)<10) txt += "0";	
		txt += (d2.getMonth(date[1])+1) +"-" + d2.getFullYear()+" ";

		if(d2.getHours()<10) txt += "0";
		txt += d2.getHours() +":";

		if(d2.getMinutes()<10) txt += "0";
		txt += d2.getMinutes() +":" ;

		if(d2.getSeconds()<10) txt += "0";
		txt += d2.getSeconds();

		document.getElementById("triptime_"+i).innerHTML = txt;
	}


}


