function getElement(id)
{
	if (document.all)
		return document.all[id];
	else if (document.getElementById)
		return document.getElementById(id);
	else
		return false;
}

function DodajDoDatyDni(_date, _LiczbaDni)
{
	var nowad = new Date(_date.getFullYear(), _date.getMonth(), _date.getDate()+_LiczbaDni);
	return nowad;
}

function dekodujDate(dateString)
{
	var strData = dateString;
	var arrayData = strData.split("-");
    if (arrayData.length==3)
    {	
	
      var rok     = arrayData[2];
	  var dzien   = arrayData[0].charAt(0)=='0' ? parseInt(arrayData[0].substr(1, 1)) : parseInt(arrayData[0]);
	  var miesiac = arrayData[1].charAt(0)=='0' ? parseInt(arrayData[1].substr(1, 1)) : parseInt(arrayData[1]);
	  var DataPoFormacie = new Date(rok, miesiac-1, dzien);
	  
	  if (isNaN(DataPoFormacie))
		return null;
	  DataPoFormacie.setHours(0);
	  DataPoFormacie.setMinutes(0);
	  DataPoFormacie.setSeconds(0);
	  DataPoFormacie.setMilliseconds(0);
	 
	  return DataPoFormacie;
  }	
  else
	{
	   return null;
	}
}

function formatujDate(data)
{
	return DodajZeroPrzedData(data.getDate()) + "-" + DodajZeroPrzedData(data.getMonth()+1) + "-" + data.getFullYear();
}
function DodajZeroPrzedData(txt)
{
	var str = String(txt);
	if (str.length==1)
	  return "0"+str;
	else
	  return str;
}
function fnDataChange(_forma, _value,_krotaData)
{
   var dp;
   var dw;
   
  
   var liczbaDni = parseInt(document.getElementById('liczbaDni').value);

   if (_krotaData==1)
   {
      dp = dekodujDate(document.getElementById('dataPrzyjazdu').value);
	  if (dp==null)
	  {
	     alert('Błędna data przyjazdu!');
	     //dp.Focus();
		 return;
	  }
	  else
	  {
  	    document.getElementById('dataPrzyjazdu').value = formatujDate(dp);
		var nowa = DodajDoDatyDni(dp,liczbaDni);
  	    document.getElementById('dataWyjazdu').value = formatujDate(nowa);
	  }
   }
   else
   {
      dw = dekodujDate(document.getElementById('dataWyjazdu').value);
	  if (dw==null)
	  {
	     alert('Błędna data wyjazdu!');
	     return;
	  }
	  else
	  {
  	    document.getElementById('dataWyjazdu').value = formatujDate(dw);
		var dprzyj = dekodujDate(document.getElementById('dataPrzyjazdu').value);
  	    if (dprzyj==null)
	    {
	       alert('Błędna data przyjazdu!');
	       return;
	    }
		//var nowa_dw = DodajDoDatyDni(dw,liczbaDni*-1);
		var roznica =  (dw.getTime() - dprzyj.getTime())/(24*60*60*1000);
		if (roznica==0)
		{
		  alert('Data wyjazdu nie moża być taka sama jak data przyjazdu!');
		  return;
		}
		if (roznica<0)
		{
		  alert('Data wyjazdu nie moża być wcześniejsza niż data przyjazdu!');
		  return;
		}
		if (roznica>60)
		{
		  alert('Data wyjazdu nie moża być poźniejsza niż 60 dni od data przyjazdu!');
   	      var nowa = DodajDoDatyDni(dprzyj,liczbaDni);
  	      document.getElementById('dataWyjazdu').value = formatujDate(nowa);
		  return;
		}
		document.getElementById('liczbaDni').value = roznica;
		//alert(roznica);
  	    //document.getElementById('dataPrzyjazdu').value = formatujDate(nowa_dw);
	  }

   }
   
}

function fnLiczbaDniChange(_forma, _value)
{
	var nieliczbowa = isNaN(_value);
	var LiczbaDni = parseInt(_value);

	if (nieliczbowa)
	   LiczbaDni =2;
	else
	{
	   if (LiczbaDni<=0 || LiczbaDni>60)
	   {
          LiczbaDni	=2;
		  alert('Liczba dni musi być w przedziale [od 1 do 60]!');
	   }
	}
    document.getElementById('liczbaDni').value = LiczbaDni;

	var d = dekodujDate(document.getElementById('dataPrzyjazdu').value);
	
	if (d==null)
	{
	   alert('Błędna data przyjazdu!');
	   return;
	}
	
	var nowa = DodajDoDatyDni(d,LiczbaDni);
	//alert('nowa data: ' + nowa);
	document.getElementById('dataWyjazdu').value = formatujDate(nowa);

}

function setzindex(element, effect)
{
	if (effect.direction == Spry.forwards)
	{
	element.style.zIndex=zindexStart;
	
		//seems that IE needs a seperate solution
		if(/MSIE/.test(navigator.userAgent) && /Windows NT/.test(navigator.userAgent))
		{
				Spry.Effect.setStyleProp(	element.parentNode, 'zIndex', zindexStart);
				//element.parentNode.style.zIndex = zindexStart;
		}
	}
	zindexStart++;
}

function resetzindex(element, effect)
{
	if (effect.direction == Spry.backwards)
	{
 		 element.style.zIndex=1;
 		element.style.left =0;

		if(/MSIE/.test(navigator.userAgent) && /Windows NT/.test(navigator.userAgent))
		 {
			Spry.Effect.setStyleProp(	element.parentNode, 'zIndex', 1);
		 }
	}
}
var effects = [];
function toggleThumb(targetElement)
{
	if (typeof effects[targetElement.id] == 'undefined')
	{
		targetElement.style.left = -300;
		effects[targetElement.id] = new Spry.Effect.Grow(targetElement, {duration: 400, from: '100%', to: '200%',toggle: true, setup:setzindex, finish:resetzindex});
	}
	
	effects[targetElement.id].start();
}
