//--------- cookies ----------------//
function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}

function setCookie(c_name,value,expiredays,expireminutes)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
if(expireminutes != null)	exdate.setTime(exdate.getTime()+expireminutes*60*1000);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function checkCookie()
{
	vars = getCookie('vars');
 	var sp = vars.split("|");
	var val = [];
	var form = {};
	
	for(var z=0; z<5; z++){
		val = sp[z].split("=");
		form[val[0]] = val[1];		
	}
	
	if(form.kr){
		document.getElementById('country').value = form.kr;
			PopulateTown('search');
			KrajTyp('search');
		if (form.ms){
			document.getElementById('town').value = form.ms;
			if(form.typ){
				document.getElementById('type').value = form.typ;
			}else{
				MsTyp('search');
			}
		}else{
			InitTown('search');
		}
	}else{
		if (form.ms){
			document.getElementById('town').value = form.ms;
			MsTyp('search');
		}else{
			KrajTyp('search');
		}
	}
	if(form.data){
		document.getElementById('date1').value = form.data;
	}
	if(form.dl){
		document.getElementById('length').value = form.dl;
	}
}
//------------ cookies -------------------//

if (!Array.prototype.indexOf){
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length;

    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;

    for (; from < len; from++)
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}

function PopulateTown(formularz){
	removeAllOptions(document.getElementById('town'));
	addOption(document.getElementById('town'),"dowolny","",false);
	var country  = document.getElementById('country').value;
	if (country == "0"){
		InitTown(formularz);
	}
	else{
	for (x in dane[country]){
		if (dane[country].hasOwnProperty(x)){
			addOption(document.getElementById('town'), x, "!"+x, false);
		}
		for (y in dane[country][x]){
			addOption(document.getElementById('town'), "    "+y, y, false);
			var ost = document.getElementById('town').options.length - 1 ;
			document.getElementById('town').options[ost].className="ms";
		}
	}
	}
}

function InitTown(formularz){
	removeAllOptions(document.getElementById('town'));
	addOption(document.getElementById('town'),"dowolny","",false);
	var y=0;
	var country=[];
	for(x in dane){
		if (dane.hasOwnProperty(x)){
			country[y]=x;
		}
		y ++;
	}
		for (v in country){
			for (z in dane[country[v]]){
				if (dane[country[v]].hasOwnProperty(z)){
					addOption(document.getElementById('town'), z, "!"+z, false);
				}
				for (w in dane[country[v]][z]){
					if (dane[country[v]][z].hasOwnProperty(w)){
						addOption(document.getElementById('town'), "     "+w, w, false);
						var ost = document.getElementById('town').options.length - 1 ;
						document.getElementById('town').options[ost].className="ms";
					}
				}
				
		}
	}
}

function PopulateMs(formularz){
	removeAllOptions(document.getElementById('ms'));
	removeAllOptions(document.getElementById('end'));
	var town = []
	  for (k in dane){
		if(dane.hasOwnProperty(k)){
			for (r in dane[k]){
				if(dane[k].hasOwnProperty(r)){
				  for(m in dane[k][r]){
					if(dane[k][r].hasOwnProperty(m))
					  town.push(m+", "+k+"");
				  }
				}
			}
		}
	  }
	town.sort();
	for (var y = 0; y < town.length; y++){
		var klength = town[y].length - 4;
		var kraj = kr2kraj[town[y].substr(klength+2)];
		addOption(document.getElementById('ms'), town[y], town[y], false);
		addOption(document.getElementById('end'), town[y], town[y].substr(0,town[y].length-2) + kraj, false);
	}
	
}

function KrajTyp(formularz){
	removeAllOptions(document.getElementById('type'));
	addOption(document.getElementById('type'),"dowolny","",false);
	var country  = document.getElementById('country').value;
	var typ = [];
	for(r in dane[country]){
		for (m in dane[country][r]){
			for(var t = 0; t < dane[country][r][m].length; t++){
				if (typ.indexOf(dane[country][r][m][t]) == -1){
					typ.push(dane[country][r][m][t]);
				};
			}
		}
	}
	typ.sort();
	for (var g = 0; g < typ.length; g++){
		addOption(document.getElementById('type'),typ[g],typ[g],false);
	}
	
	removeAllOptions(document.getElementById('transportType'));
	addOption(document.getElementById('transportType'),"dowolny","",false);
//	addOption(document.getElementById('transportType'),"własny","-1",false);
	
	var country  = document.getElementById('country').value;
	
	for(var x=0;x<dane_trp[country].length;x++){
		t = dane_trp[country][x];
		if(t.typeId)
			addOption(document.getElementById('transportType'),(t.typeName+"").toLowerCase(),t.typeId,false);
		else
			addOption(document.getElementById('transportType'),"własny","-1",false);
	}
}

function MsTyp(formularz){
	removeAllOptions(document.getElementById('type'));
	addOption(document.getElementById('type'),"dowolny","",false);
	var ms  = document.getElementById('town').value;
	if(ms.substr(0,1) == "!"){
	  ms = ms.substr(1);
	  var is_r = ms;
	}else{
	  var is_m = ms;
	}
	var typ = [];
	var c =0;
	tukej:
	for (c in dane){
		if (dane.hasOwnProperty(c)){
			for (var r in dane[c]){
				if (is_r){
					if(dane[c].hasOwnProperty(is_r)){
						for(var m in dane[c][is_r]){
							for (var t =0; t < dane[c][is_r][m].length; t ++){
								if (typ.indexOf(dane[c][is_r][m][t]) == -1){
									typ.push(dane[c][is_r][m][t]);
								};
							}
						}
					}
				}else if(is_m){
					if(dane[c][r].hasOwnProperty(is_m)){
						for(var t=0; t < dane[c][r][is_m].length; t++){
							if(typ.indexOf(dane[c][r][is_m][t]) == -1){
							typ.push(dane[c][r][is_m][t]);
							}
						}
						break tukej;
					}
					
			}
		}
		}
	}
	
	typ.sort();
	for (var g = 0; g < typ.length; g++){
		addOption(document.getElementById('type'),typ[g],typ[g],false);
	}
}

function CountryChange(formularz){
	PopulateTown(formularz);
	KrajTyp(formularz);
}
