function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function $(id) {
  return document.getElementById(id);
}

function checkMail(s)
{
 var a = false;
 var res = false;
 if(typeof(RegExp) == 'function')
 {
  var b = new RegExp('abc');
  if(b.test('abc') == true){a = true;}
  }

 if(a == true)
 {
  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
  res = (reg.test(s));
 }
 else
 {
  res = (s.search('@') >= 1 &&
         s.lastIndexOf('.') > s.search('@') &&
         s.lastIndexOf('.') >= s.length-5)
 }
 return(res);
}


function updatePrice() {
 if (prices.length>0) {
    for(i = 0; i<prices.length; i++) {
      prices[i] = parseFloat(prices[i]);
    }
    
    // Anzahl der Tage bestimmen //
    var tage = 0;
   
    /*if($('vollcamp').checked) {
      tage = maxTage;
    } else if ($('tagescamp').checked) {
      if ($('tag_1').checked) tage++;
      if ($('tag_2').checked) tage++;
      if ($('tag_3').checked) tage++;
      if ($('tag_4').checked) tage++;
      if ($('tag_5').checked) tage++;
      if ($('tag_6').checked) tage++;
    }*/
	tage = maxTage;
    
    
    
    if (tage>0) {
      // Preis für Tage ermitteln //
      var price = prices[(tage-1)]; 
      
      // 2. Teilnehmer hinzufügen und Rabatt vom Preis abziehen //
      if ($('rabatt').checked) {
				price+=(price-(price/100)*10);
				// price-=(price/100)*10;
			}
      
      // Foto-CD //
      // if ($('foto_cd').checked) price+=12;
      
      // Gesamtpreis auf 2 Kommastellen runden //
      price = Math.round(price,2);
      if (price>0)price = price.toFixed(2).replace(".",",")+" &euro;"; else price="--";
    } else var price = "--";    
  } else {
    var price = "--";
  }
  $('price').innerHTML = price;
  $('price_input').value = price;
  $('campprice').innerHTML = prices[(tage-1)]+"&nbsp;&euro;";
}

function disableInputs(inputs) {
  var input;
  for(i = 0; i < inputs.length; i++) {
    input = $(inputs[i]);
    input.disabled = true;
  }
}

function enableInputs(inputs) {
  var input;
  for(i = 0; i < inputs.length; i++) {
    input = $(inputs[i]);
    input.disabled = false;
  }
}

function setInputsChecked(els,value) {
  var el;
  for(i = 0; i < els.length; i++) {
    el = $(els[i]);
    el.checked = value;
  }
}

function toggleInputsState(inputs) {
  var input;
  for(i = 0; i < inputs.length; i++) {
    input = $(inputs[i]);
    if (input.disabled) {
      input.disabled = false;
    } else input.disabled = true;
  }
}

var maxTage = 0;
var minTage = 0;
var prices = new Array();
var camptitle = "";

function updateCamptermin() {
  var select = $('termin');
  camptitle = select.options[select.selectedIndex].text;
  if (select.options[select.selectedIndex].value=="na") {
    $('camptermin').value = "";
  } else {
    $('camptermin').value = camptitle;
  }
  
  // Anzahl Campttage ermitteln //
	var values = $('termin').value.split("_");
  if (values.length>1) {
    prices = values[1].split("|");
  } else prices = new Array();
  
  //setInputsChecked(['tag_1','tag_2','tag_3','tag_4','tag_5','tag_6'],false);
}

function initDaysInputs() {
	if (prices.length>0) {
    // Vollcamp //
    /*if (camptitle.search(/Ü\/VP/)!=-1) {
	  	enableInputs(['vollcamp']);
	  	disableInputs(['tagescamp','tag_1','tag_2','tag_3','tag_4','tag_5','tag_6']);
	  	$('vollcamp').checked = true;
		}
		// Tagescamp //
		if (camptitle.search(/Tagescamp/)!=-1) {
			disableInputs(['vollcamp']);
			enableInputs(['tagescamp','tag_1','tag_2','tag_3','tag_4','tag_5','tag_6']);
	  	$('tagescamp').checked = true;
		}
		
		var tagescamp = false;
		if ($('tagescamp').checked) tagescamp = true;*/
		
		maxTage = 0;
		minTage = 0; 
		// Vorhandene Tage markieren, maxTage und minTage ermitteln //
		for (j = 0; j<prices.length; j++) {
			if (prices[j]!="0") {
				//setInputsChecked(['tag_'+(j+1)],true);
				maxTage = j+1;
				if (minTage==0) {
					minTage = j+1;
				}
			}
		}
		
		// alle Checkboxen deaktivieren // 
		/*for (j = 0; j<6; j++) {
			disableInputs(['tag_'+(j+1)]);
		}*/
		
		// Checkboxen markieren bzw. aktivieren //
		/*for (j = 0; j<minTage; j++) {
			setInputsChecked(['tag_'+(j+1)],true);
		}*/
				
		//$('minTage').innerHTML = "mindestens "+minTage+" Tag";
		//if (minTage>1) $('minTage').innerHTML+="e";
	} else {
		// disable and uncheck all //
		//disableInputs(['vollcamp','tagescamp','tag_1','tag_2','tag_3','tag_4','tag_5','tag_6']);
		//setInputsChecked(['vollcamp','tagescamp','tag_1','tag_2','tag_3','tag_4','tag_5','tag_6'],false);
		//$('minTage').innerHTML = "";
	}
	
	//updateDaysInputs();
}

/*function updateDaysInputs() {
	if ($('tagescamp').checked) {
		for (j = 0; j<maxTage; j++) {
			enableInputs(['tag_'+(j+1)]);
		}
	} else {
		for (j = 0; j<6; j++) {
			disableInputs(['tag_'+(j+1)]);
		}
	}
}*/

function checkForm() {
  var valid = true;
  var message = "<hr />Bitte ergänzen bzw. kontrollieren Sie folgende Angaben:<br><br>\n";
  if ($('name1').value=="") {
    valid = false;
    message+="Name, Vorname Erziehungsberechtigter<br>\n";
  }
  if ($('name2').value=="") {
    valid = false;
    message+="Name, Vorname Teilnehmer<br>\n";
  }
  if ($('birthdate').value=="") {
    valid = false;
    message+="Geburtsdatum Teilnehmer<br>\n";
  }
  if ($('street').value=="") {
    valid = false;
    message+="Straße, Hausnummer<br>\n";
  }
  if ($('city').value=="") {
    valid = false;
    message+="PLZ, Ort<br>\n";
  }
  if ($('phone1').value=="" && $('phone2').value=="" && $('phone3').value=="") {
    valid = false;
    message+="Tel. privat / Tel. dienstlich / Tel. mobil<br>\n";
  }
  if (!checkMail($('email').value)) {
    valid = false;
    message+="E-Mail-Adresse<br>\n";
  }
  
  if ($('position').value=="") {
    valid = false;
    message+="Position<br>\n";
  }
  if ($('termin').value=="na") {
    valid = false;
    message+="Camptermin<br>\n";
  }
  /*if ($('tagescamp').checked) {
		var daysChecked = 0;
		if($('tag_1').checked) daysChecked++;
		if($('tag_2').checked) daysChecked++;
		if($('tag_3').checked) daysChecked++;
		if($('tag_4').checked) daysChecked++;
		if($('tag_5').checked) daysChecked++;
		if($('tag_6').checked) daysChecked++;
		if (daysChecked<minTage || daysChecked>maxTage) {
    	valid = false;
    	message+="Tagescamp<br>\n";
    }
  }*/
  
  if ($('kg_1').value=="") message+="Konfektionsgr&ouml;&szlig;e 1. Teilnehmer(in)<br>";
  
  if ($('rabatt').checked) {
		if ($('rabatt_name').value=="") message+="Name 2. Teilnehmer(in)<br>";
		if ($('rabatt_birthdate').value=="") message+="Geburtsdatum 2. Teilnehmer(in)<br>";
		if ($('kg_2').value=="") message+="Konfektionsgr&ouml;&szlig;e 2. Teilnehmer(in)<br>";
	} 
    
  if (!$('agb').checked) {
    valid = false;
    message+="AGB<br>\n";
  }
  
  if (!valid) {
    $('message').innerHTML = message;
  } else {
    $('buchung').submit();
  }
}

updateCamptermin();
initDaysInputs();
updatePrice();






var oc = 1.1;
var ocIE = 1.1;
var timer;
var lastImg = "";

var ocOld = 1.1;
var ocIEOld = 1.1;

function showNext(divID)
{
  clearTimeout(timer);  
  
  if(oc < 1.1)
	{
	  oc = oc + 0.1;
		ocIE = ocIE + 10;
		
		ocOld = ocOld - 0.3;
		ocIEOld = ocIEOld - 30;
	
		document.getElementById(divID).style.MozOpacity = oc;
		document.getElementById(divID).style.opacity = oc;
		document.getElementById(divID).style.filter="alpha(opacity="+ocIE+")";
		
		document.getElementById("lastImage").style.MozOpacity = ocOld;
		document.getElementById("lastImage").style.opacity = ocOld;
		document.getElementById("lastImage").style.filter="alpha(opacity="+ocIEOld+")";
		
		if(oc < 1.1)
    {
      timer = setTimeout("showNext('"+divID+"')",80);
    }
    else
    {
      timer = setTimeout("showNext('"+divID+"')",3000);
    }		
	}
	else
	{
	
	  var ocOld = 1.1;
    var ocIEOld = 1.1;
	
	  lastImage = images[counter];
	  document.getElementById("lastImage").src = "";	 
	  document.getElementById("lastImage").style.MozOpacity = 1;
		document.getElementById("lastImage").style.opacity = 1;
		document.getElementById("lastImage").style.filter="alpha(opacity=100)";
	  document.getElementById("lastImage").src = lastImage;	  
	
	  counter++;
	  if(counter >= images.length) { counter = 0; }
	  oc = 0;
	  ocIE = 0;
	  
	  document.getElementById(divID).style.MozOpacity = 0;
		document.getElementById(divID).style.opacity = 0;
		document.getElementById(divID).style.filter="alpha(opacity=0)";
		
		document.getElementById("imageContainer").src = images[counter];
    timer = setTimeout("showNext('"+divID+"')",80);
  }
}
