//****************************
//* Variablen Initialisieren *
//****************************

counter = 0;
Store_ID = '00000000';
Status='start';
Days_qty = 0;

//**************************************************
//* Kunden zur Eingabe des Starttermins auffordern *
//**************************************************

if(Status=='start')
  {
  Message='Bitte wählen Sie einen Starttermin im Kalender aus.';
  document.getElementById("Text").childNodes[0].nodeValue = Message;
  document.getElementById("price").childNodes[0].nodeValue = 'Starttermin?';	

  }

//******************************************************
//* Kalendertag beim überfahren mit der Maus einfärben *
//******************************************************

function MouseoverCal(objekt,cursor,color)
  {
  for(var i = 0; i < DateID.length; i++)
     {
     if(objekt.id == DateID[i][0]) break;
     }
  if(Store_ID != objekt.id && DateID[i][3] != 1)
    {
    objekt.bgColor=color;
    }
  document.body.style.cursor=cursor;
  if(document.body.style.cursor!=cursor)
    {
    document.body.style.cursor='pointer';
    }
  }

//**************************************************
//* Kalendertag beim verlassen der Maus entfärben *
//**************************************************

function MouseoutCal(objekt,color)
  {
  for(var i = 0; i < DateID.length; i++)
     {
     if(objekt.id == DateID[i][0]) break;
     }
  if(Store_ID != objekt.id && DateID[i][3] != 1)
    {
    objekt.bgColor=color;
    }
  document.body.style.cursor='auto';
  }

//*****************************************************
//* Kunden zur Eingabe des Start- und Rückgabetermins *
//* auffordern Auswahl Funktion                       *
//*****************************************************

function Rent(Object)
  {
    jahr=Object.id.substring(0,4);
    monat=Object.id.substring(4,6);
    tag=Object.id.substring(6,8);
    tag=parseInt(tag,10);

    Flag= 0;
    Days_qty= 0;
    background = 1;
    bg = 1;

	
    if(parseInt(Store_ID.substring(0,8)) > parseInt(Object.id.substring(0,8)))
      {
      Status='start';
      }
	
    if(monat.substring(0,1)=='0')
      {
      monat=monat.substring(1,2);
      }


    if(Status=='start' || Status=='neu')
      {
      Status='ende';
      Message='Bitte wählen Sie Ihren Rückgabetermin aus.'; 
      document.getElementById("Text").childNodes[0].nodeValue = Message;
      document.getElementById("from_Date").childNodes[0].nodeValue = tag+'.'+monat+'.'+jahr;	
      document.getElementById("fromDate").childNodes[0].nodeValue = tag+'.'+monat+'.'+jahr;	
      document.getElementById("from-Date").value = tag+'_'+monat+'_'+jahr;
      document.getElementById("until_Date").childNodes[0].nodeValue = '--. --. ----';	
      document.getElementById("until-Date").value = '';
      document.getElementById("fromDrop").childNodes[0].nodeValue = ' '+document.getElementById("from_Drop").value+':00 Uhr';
      document.getElementById("untilDrop").childNodes[0].nodeValue = ' '+document.getElementById("until_Drop").value+':00 Uhr';
      document.getElementById("Calculate").childNodes[0].nodeValue = '';
      document.getElementById("price").childNodes[0].nodeValue = 'Rückgabetermin?';	

      for(var i=0; i<DateID.length; i++)
         {
         if(i>=Yesterday)
           {
           document.getElementById(DateID[i][0]).bgColor=DateID[i][1];
           DateID[i][3] = 0;
           }
         }
      }
    else
      {
      //endtermin übernehmen
      Status='neu';
	
      if(parseInt(Store_ID.substring(0,8)) != parseInt(Object.id.substring(0,8)))
        {   
        for(var i = 0; i < DateID.length; i++)
           {
  
           if(DateID[i][2] == 1 && Flag == 1)
             {
             background = 0;
             Days_qty--;
	     Rent(document.getElementById(DateID[i-1][0]));
             return 0;
	     break;
	     }
   
           if(DateID[i][0] == Object.id)
             {
             document.getElementById(DateID[i][0]).bgColor='#00AA00';
	     DateID[i][3] = 1;
	     Flag = 0;
             }	  
   
           if(DateID[i][0] == Store_ID || Flag == 1)
             { 
	     Days_qty++;
             document.getElementById(DateID[i][0]).bgColor='#00AA00';
   	     DateID[i][3] = 1;		
	     Flag = 1;
             }
           }
        }
  	
        document.getElementById("until_Date").childNodes[0].nodeValue = tag+'.'+monat+'.'+jahr;
        document.getElementById("untilDate").childNodes[0].nodeValue = tag+'.'+monat+'.'+jahr;
        document.getElementById("until-Date").value = tag+'_'+monat+'_'+jahr;

        if(Days_qty==0)Days_qty=1;   
        CalcRent();


        Status='neu';
        Message='Auswahl abgeschlossen. Klicken Sie auf Artikel mieten oder Wählen Sie einen neuen Termin.';
        document.getElementById("Text").childNodes[0].nodeValue = Message;
    }

    if(background == 1)
      {
      Object.bgColor='#00AA00';
      Store_ID = Object.id;
      }
  }

//****************************************************
//*   Uhrzeit und Datum verknüpfen Preis berechnen   *
//****************************************************

function CalcRent()
  {
  document.getElementById("fromDrop").childNodes[0].nodeValue = ' '+document.getElementById("from_Drop").value+':00 Uhr';
  document.getElementById("untilDrop").childNodes[0].nodeValue = ' '+document.getElementById("until_Drop").value+':00 Uhr';

  if(document.getElementById("from_Date").childNodes[0].nodeValue == document.getElementById("until_Date").childNodes[0].nodeValue && parseInt(document.getElementById("from_Drop").value) >= parseInt(document.getElementById("until_Drop").value))
    {
    if(parseInt(document.getElementById("from_Drop").value) == 23)
      {
      document.getElementById("from_Drop").value = 22;
      document.getElementById("until_Drop").value = 23;
      }
    else
      {
      document.getElementById("until_Drop").value = parseInt(document.getElementById("from_Drop").value) + 1;
      }
    }

  if(Days_qty != 0)
    {
    Days_Copy = Days_qty;
    if(parseInt(document.getElementById("from_Drop").value)-1 < parseInt(document.getElementById("until_Drop").value) && document.getElementById("from_Date").childNodes[0].nodeValue != document.getElementById("until_Date").childNodes[0].nodeValue) Days_Copy = Days_qty + 1;

    for(var i = 0; i < Factor.length; i++) 
       {
       if(Days_Copy <= Factor[i][0] || i+1 == Factor.length )
         {
         FactorCopy     = Factor[i][1];
         CalcDay = Factor[i][0];
         break;
         }
       }
   
    if(Days_Copy>CalcDay)
      {
      Calc_Factor = FactorCopy+(Days_Copy-CalcDay)*0.1;
      }
    else
      {
      Calc_Factor = FactorCopy;
      } 
    GPreis = (Math.round(((document.getElementById("quantity").value*Calc_Factor*EPreis)*100)/5)/100)*5;
    GPreis = GPreis.toFixed(2);
		  
    if(Days_Copy == 1)
      {
      document.getElementById("Calculate").childNodes[0].nodeValue = ' (' + document.getElementById("quantity").value + ' Stk. x ' + Days_Copy + ' Tag=Mietfaktor ' + (Math.round(Calc_Factor*1000)/1000) + ' x ' + EPreis.toFixed(2) +' Euro)';
      }
    else
      {
      document.getElementById("Calculate").childNodes[0].nodeValue = ' (' + document.getElementById("quantity").value + ' Stk. x ' + Days_Copy + ' Tage=Mietfaktor ' + (Math.round(Calc_Factor*1000)/1000) + ' x ' + EPreis.toFixed(2) +' Euro)';
      }
    document.getElementById("price").childNodes[0].nodeValue = '    Preis: '+GPreis+' Euro';
    document.getElementById("price2").childNodes[0].nodeValue = GPreis+' Euro';
    document.getElementById("Faktor").value = Math.round(Calc_Factor*1000)/1000;
    document.getElementById("Days").value = Days_Copy;
    }
  }

//****************************
//* Aktualisierung der Seite *
//****************************

function reload()
  {
  set_str = URL_JS + "?products_id=" + products_id + "&quantity=" +document.getElementById("quantity").value;
  location.href=set_str;
  }

//******************************************************
//* Termin überprüfen auf Korrekte Eingabe beim Mieten *
//******************************************************

function check()
  {
  if(document.getElementById("until-Date").value != '')
    {
    return true;
    }
  else
    {
    alert('      Bitte Termin Korrekt auswählen!\n\n    Ein konkreter Start- und Endtermin\nsind nötig für eine Mietpreisberechnung.\n\n Ihren Start- und Endtermin können Sie\n weiter unten auswählen.');
    return false;
    }
  }
