/*<![CDATA[*/
/**
 * functions.js
 *
 * Copyright (c) 2008    die.interaktiven GmbH & Co. KG
 *                       Agentur für digitale Medien
 *                       Eisenmarkt 1
 *                       35578 Wetzlar
 *                       Germany
 *
 *                       Fon: +49 (0)64 41 / 39 86 19 - 0
 *                       Fax: +49 (0)64 41 / 39 86 19 - 9
 *                       Web: www.die-interaktiven.de
 *
 * Alle Rechte vorbehalten. Unberechtigte Kopie und Weiter-
 * verwendung nicht gestattet.
 *
 */

function setModelleStart(sType)
{
	try
	{
		

if(sType == 'car')
{
var sMarke = $('auswahlMarkenCar').options[$('auswahlMarkenCar').selectedIndex].value;



		
		if(sMarke != '')
		{
			new Ajax.Request('/autoarena/scripts/service/getmodell.php?marke=' + encodeURIComponent(sMarke) +'&type=' + encodeURIComponent(sType),
				{
					method:'get',
					onSuccess: function(transport)
					{
						var jsonMarke = transport.responseText.evalJSON(true);
						
						var sListElement = '<option value="">Beliebig</option>';
						
						for(var i = 0; i < jsonMarke.length; i++)
						{
							sListElement += '<option value="' + jsonMarke[i] + '">' + jsonMarke[i] + '</option>' + "\n";
						}
						
						$('auswahlModelleCar').update(sListElement);
						$('auswahlModelleCar').disabled = '';
					}
				}
			);
		}
		else
		{
			$('auswahlModelleCar').update('<option value="">Beliebig</option>');
			$('auswahlModelleCar').disabled = 'disabled';
		}
}


if(sType == 'truck')
{
var sMarke = $('auswahlMarkenTruck').options[$('auswahlMarkenTruck').selectedIndex].value;



		
		if(sMarke != '')
		{
			new Ajax.Request('/autoarena/scripts/service/getmodell.php?marke=' + encodeURIComponent(sMarke) +'&type=' + encodeURIComponent(sType),
				{
					method:'get',
					onSuccess: function(transport)
					{
						var jsonMarke = transport.responseText.evalJSON(true);
						
						var sListElement = '<option value="">Beliebig</option>';
						
						for(var i = 0; i < jsonMarke.length; i++)
						{
							sListElement += '<option value="' + jsonMarke[i] + '">' + jsonMarke[i] + '</option>' + "\n";
						}
						
						$('auswahlModelleTruck').update(sListElement);
						$('auswahlModelleTruck').disabled = '';
					}
				}
			);
		}
		else
		{
			$('auswahlModelleTruck').update('<option value="">Beliebig</option>');
			$('auswahlModelleTruck').disabled = 'disabled';
		}
}



	}
	catch(e)
	{
		void(0);
	}
}



function setModelle(sType)
{
	if ( sType === undefined ) {
      sType = 'car';
   }
	try
	{
		//var sMarke = document.getElementById("auswahlMarken").options[document.getElementById("auswahlMarken").selectedIndex].value;
		var sMarke = $('auswahlMarken').options[$('auswahlMarken').selectedIndex].value;
		
		if(sMarke != '')
		{
			new Ajax.Request('/autoarena/scripts/service/getmodell.php?marke=' + encodeURIComponent(sMarke) +'&type='+ encodeURIComponent(sType),
				{
					method:'get',
					onSuccess: function(transport)
					{
						var sFirstLetterCache = '';
						var sFirstLetterMarke = '';
						var sModelLetters = '';
						var sLabel = '';
						var bOptgroupOpen = false;
						var sGroupLabel = '';
						var sMarke = $('auswahlMarken').options[$('auswahlMarken').selectedIndex].value;
						
						var jsonMarke = transport.responseText.evalJSON(true);
						
						var sListElement = '';
						
						var sTest = '';
						
						for(var i = 0; i < jsonMarke.length; i++)
						{
							if(jsonMarke[i] == null)
							{
								continue;
							}							

							sFirstLetterMarke = jsonMarke[i].slice(0, 1).toUpperCase();
							if (jsonMarke[i].indexOf(' ')==-1){
								sModelLetters = jsonMarke[i].toUpperCase();
							} else {							
								sModelLetters = jsonMarke[i].slice(0, jsonMarke[i].indexOf(' ')).toUpperCase();
							}
							
							
							if(sMarke.toUpperCase() == 'MERCEDES-BENZ')
							{
								switch(sModelLetters)
								{
									case 'A':
									case 'B':
									case 'C':
									case 'CL':
									case 'CLC':
									case 'CLK':
									case 'CLS':
									case 'E':
									case 'G':
									case 'GLK':
									case 'M':
									case 'ML':
									case 'R':
									case 'S': 
									case 'SL': 
									case 'SLK': sGroupLabel = sModelLetters; sLabel = '-Klasse'; break;
									case 'V': sGroupLabel = 'Weitere'; sLabel = ''; break;
									case 'ATEGO':
									case 'ACTROS':
									case 'SPRINTER': 
									case 'VARIO': 
									case 'VIANO': 
									case 'VITO': sGroupLabel = sModelLetters; sLabel = ''; break;
									default: sGroupLabel = '';
								}
								
								sTest += sModelLetters + "|\n";
								
								if(sGroupLabel != '' && sGroupLabel != sFirstLetterCache)
								{
									sListElement += '<option value="' + sGroupLabel + '" style="font-weight: bold;">' + sGroupLabel + sLabel + '</option>';
									
									sFirstLetterCache = sGroupLabel;
								}
								
								if(sGroupLabel == sModelLetters)
								{
									sListElement += '<option value="' + jsonMarke[i] + '">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + jsonMarke[i] + '</option>' + "\n";
								}
								else
								{
									sListElement += '<option value="' + jsonMarke[i] + '">' + jsonMarke[i] + '</option>' + "\n";
								}
							}
							else
							{
								sListElement += '<option value="' + jsonMarke[i] + '">' + jsonMarke[i] + '</option>' + "\n";
							}
						}
						
						if(bOptgroupOpen)
						{
							sListElement += '</optgroup>';
						}
						
//alert(sTest);
						sListElement = '<option value="">Beliebig</option>' + sListElement;
						
						
						//document.getElementById("auswahlModelle").update(sListElement);
						//document.getElementById("auswahlModelle").disabled = '';
						$('auswahlModelle').update(sListElement);
						$('auswahlModelle').disabled = '';
					}
				}
			);
		}
		else
		{
			//document.getElementById("auswahlModelle").update('<option value="">Alle</option>');
			//document.getElementById("auswahlModelle").disabled = 'disabled';
			$('auswahlModelle').update('<option value="">Beliebig</option>');
			$('auswahlModelle').disabled = 'disabled';
		}
	}
	catch(e)
	{
		alert(e);
		void(0);
	}
}


function showPopup(sUrl, sName, iBreite, iHoehe, sFeatures, iPosx, iPosy)
{
	var oWin = window.open(sUrl, sName,"width=" + iBreite + ",height=" + iHoehe + "," + sFeatures + "");
	
	if(oWin)
	{
		if(!iPosx)
		{
			x = (screen.width-iBreite)/2;
		}
		else
		{
			x = iPosx;
		}
		
		if(!iPosy)
		{
			y=(screen.height-iHoehe)/2;
		}
		else
		{
			y = iPosy;
		}
		
		oWin.moveTo(x,y);
		
		oWin.focus();
	}
}

function checkFormCallback(oForm)
{
	try
	{
		var sErrorMsg = '';
		
		if(trim(oForm.elements['i-vorname'].value).length < 3)
		{
			sErrorMsg += '- Vorname \n';
		}
		
		if(trim(oForm.elements['i-nachname'].value).length < 3)
		{
			sErrorMsg += '- Nachname \n';
		}
		
		if(!checkTelefon(oForm.elements['i-telefonnummer'].value))
		{
			sErrorMsg += '- Telefonnummer \n';
		}
		
		var day = oForm.elements['i-tag'].options[oForm.elements['i-tag'].selectedIndex].value;
		var month = oForm.elements['i-monat'].options[oForm.elements['i-monat'].selectedIndex].value;
		var year = oForm.elements['i-jahr'].options[oForm.elements['i-jahr'].selectedIndex].value;
		var hour = oForm.elements['i-stunde'].options[oForm.elements['i-stunde'].selectedIndex].value;
		var minute = oForm.elements['i-minuten'].options[oForm.elements['i-minuten'].selectedIndex].value;
		var d = new Date();
		var bDateOk = true;
		
		if(year < d.getFullYear())
		{
			sErrorMsg += '- Anruftermin (Datum liegt in der Vergangenheit)\n';
			bDateOk = false;
		}
		
		if(year >= d.getFullYear() && month < d.getMonth()+1)
		{
			sErrorMsg += '- Anruftermin (Datum liegt in der Vergangenheit)\n';
			bDateOk = false;
		}
		
		if(year >= d.getFullYear() && month >= d.getMonth()+1 && day < d.getDate())
		{
			sErrorMsg += '- Anruftermin (Datum liegt in der Vergangenheit)\n';
			bDateOk = false;
		}
		
		if(day > getDaysOfMonth(month , year))
		{
			sErrorMsg += '- Anruftermin (Datum existiert nicht)\n';
			bDateOk = false;
		}
		
		/*
		if(bDateOk)
		{
			if(hour < d.getHours())
			{
				sErrorMsg += '- Zeitpunkt (Uhrzeit liegt in der Vergangenheit)\n';
			}
			
			if(hour == d.getHours() && minute < d.getMinutes())
			{
				sErrorMsg += '- Zeitpunkt (Uhrzeit liegt in der Vergangenheit)\n';
			}
		}
		*/

		if(sErrorMsg != '')
		{
			alert('Bitte prüfen Sie folgende Eingaben\n\n' + sErrorMsg);
			
			return false;
		}
		else
		{
			return true;
		}
	}
	catch(e)
	{
		return false;
	}
}

function checkFormAngebotsanfrage(oForm)
{
	try
	{
		var sErrorMsg = '';
		
		if(oForm.elements['i-anrede'][0].checked == false && oForm.elements['i-anrede'][1].checked == false)
		{
			sErrorMsg += '- Anrede \n';
		}
		
		if(trim(oForm.elements['i-vorname'].value).length < 3)
		{
			sErrorMsg += '- Vorname \n';
		}
		
		if(trim(oForm.elements['i-nachname'].value).length < 3)
		{
			sErrorMsg += '- Nachname \n';
		}
		
		if(trim(oForm.elements['i-telefonnummer'].value) == '' &&
		   trim(oForm.elements['i-fax'].value) == '' &&
		   trim(oForm.elements['i-email'].value) == '')
		{
		    sErrorMsg += '- Antowrt/Angebot (min. ein Feld ausfüllen)\n';
		}
		
		if(!checkTelefon(oForm.elements['i-telefonnummer'].value) && trim(oForm.elements['i-telefonnummer'].value) != '')
		{
			sErrorMsg += '- per Telefon \n';
		}
		
		if(!checkTelefon(oForm.elements['i-fax'].value) && trim(oForm.elements['i-fax'].value))
		{
			sErrorMsg += '- per Fax \n';
		}

		if(trim(oForm.elements['i-email'].value) && !checkEmail(oForm.elements['i-email'].value))
		{
			sErrorMsg += '- per E-Mail \n';
		}
		
		if(oForm.elements['i-einwilligung'][0].checked == false && oForm.elements['i-einwilligung'][1].checked == false)
		{
			sErrorMsg += '- Datenspeicherung und Datennutzung \n';
		}
		
		if(sErrorMsg != '')
		{
			alert('Bitte prüfen Sie folgende Eingaben\n\n' + sErrorMsg);
			
			return false;
		}
		else
		{
			return true;
		}
	}
	catch(e)
	{
		return false;
	}
}

function checkFormContact(oForm)
{
	try
	{
	
		var sErrorMsg = '';
		
		if(trim(oForm.elements['i-vorname'].value).length < 3)
		{
			sErrorMsg += '- Vorname \n';
		}
		
		if(trim(oForm.elements['i-nachname'].value).length < 3)
		{
			sErrorMsg += '- Nachname \n';
		}
		
		if(trim(oForm.elements['i-strasse'].value).length < 3)
		{
			sErrorMsg += '- Strasse \n';
		}
		
		if(trim(oForm.elements['i-plz'].value).length < 4)
		{
			sErrorMsg += '- PLZ \n';
		}
		
		if(trim(oForm.elements['i-ort'].value).length < 3)
		{
			sErrorMsg += '- Ort \n';
		}
		
		if(trim(oForm.elements['i-telefonnummer'].value) && !checkTelefon(oForm.elements['i-telefonnummer'].value))
		{
			sErrorMsg += '- Telefonnummer \n';
		}

		if(trim(oForm.elements['i-email'].value) && !checkEmail(oForm.elements['i-email'].value))
		{
			sErrorMsg += '- E-Mail \n';
		}
		
		if(trim(oForm.elements['i-anfrage'].value).length < 15)
		{
			sErrorMsg += '- Anfrage \n';
		}
		
		if(sErrorMsg != '')
		{
			alert('Bitte prüfen Sie folgende Eingaben\n\n' + sErrorMsg);
			
			return false;
		}
		else
		{
			return true;
		}
	}
	catch(e)
	{
		return false;
	}
}

function checkTelefon(nummer)
{
	var zeichensatz="0123456789()-+ /";
	var nummerlaenge=nummer.length;
	var res = true;
	
	if(nummerlaenge > 0) {
		// gültigen Zeichensatz prüfen
		for (c=0; c<nummerlaenge; c++)
		{
			d=nummer.charAt(c);
			
			if (zeichensatz.indexOf(d)==-1)
			{
				res = false;
			}
		}
	}
	else
	{
		res = false;
	}
	
	return(res);
}

function checkEmail(email)
{
	var a = false;
	if(typeof(RegExp) == 'function')
	{
	 	var b = new RegExp('abc');
		 if(b.test('abc') == true) a = true;
	}
	if(a == true)
	{
		var res = false;
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$');
		res = (reg.test(email));
	}
	else
	{
		var zeichensatz="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-.0123456789@";
		var sonderzeichen="_-.@";
		var posat1=email.indexOf("@")+1;
		var posat2=email.lastIndexOf("@")+1;
		var posdot=email.lastIndexOf(".")+1;
		var	zeichenvordot=email.charAt(posdot-2);
		var	zeichenvorat=email.charAt(posat1-2);
		var emaillaenge=email.length;
		var difatdot=posdot-posat1-1;
		var difdotende=emaillaenge-posdot;
		var statusvordot=sonderzeichen.indexOf(zeichenvordot);
		var statusvorat=sonderzeichen.indexOf(zeichenvorat);
		var res = true;
	
		if(email.length > 0)
		{
			if(posat1!=posat2 || posat1<2 || posdot<6 || difatdot<2 || emaillaenge<8 || difdotende<2 || statusvordot!=-1 || statusvorat!=-1)
			{
				res = false;
			}
			else
			{
				// gültigen Zeichensatz prüfen
				for (c=0; c<emaillaenge; c++)
				{
					d=email.charAt(c);
					if (zeichensatz.indexOf(d)==-1)
					{
						res = false;
					}
				}
			}
		}
		else
		{
			res = false;
		}
	}
	return(res);
}

function getDaysOfMonth(month, year)
{
	var days = 31;
	
	if(month == 4 || month == 6 || month == 9 || month == 11)
	{
		--days;
	}
	
	if (month == 2)
	{
		days = days - 3;
		
		if (year % 4 == 0)
		{
			days++;
		}
		if (year % 100 == 0)
		{
			days--;
		}
		if (year % 400 == 0)
		{
			days++;
		}
	}
	
	return days;
}

function trim(sString)
{
	return sString.replace (/^\s+/, '').replace (/\s+$/, '');
}
/*]]>*/