var DD = new Object();
DD.magna = new Object();



DD.magna.reposFooterImpressum=function(callObj){
	var SYS_winHeight=document.documentElement.clientHeight;
	if(parseInt(DD.findPosY(callObj) + callObj.offsetHeight)<SYS_winHeight){
		callObj.style.marginTop=(SYS_winHeight - (DD.findPosY(callObj) + callObj.offsetHeight)) + "px";
	}
}

DD.PopUpWindow=new Object();
DD.PopUpWindow.Open=function(winUrl,winName,winFeatures){
	try{
		var oWindow = window.open( '',winName, winFeatures, true ) ;
		if ( !oWindow ){
			alert('Bitte schalten Sie den Popupblocker aus, um fortzufahren!');
			return ;
		}
		oWindow.focus() ;
		oWindow.location.href = winUrl ;
		oWindow.opener=self;
		oWindow.creator=self;		
	}catch(ex){
		alert('Bitte schalten Sie den Popupblocker aus, um fortzufahren!');
	}
}

DD.findPosX = function(obj){
	var curleft = 0;
	if (obj.offsetParent){while (obj.offsetParent){curleft += obj.offsetLeft;obj = obj.offsetParent;};}else if (obj.x){curleft += obj.x;}
	return curleft;
}
DD.findPosY = function(obj){
	var curtop = 0;
	if (obj.offsetParent){while (obj.offsetParent){curtop += obj.offsetTop;obj = obj.offsetParent;};}else if (obj.y){curtop += obj.y;}
	return curtop;
}

DD.magna.loadElements=Array();
DD.magna.addLoadElement=function(strLoad){
	DD.magna.loadElements[DD.magna.loadElements.length]=strLoad;
}

DD.magna.loadInit=function(){
	for(var l=0;l<DD.magna.loadElements.length;l++){
		eval(DD.magna.loadElements[l]);
	}
}

DD.magna.clearValue = function(callObj,defValue,isFocus){
	if(isFocus){
		if(callObj.value==defValue){callObj.value="";}
	}else{
		if(callObj.value==""){callObj.value=defValue;}
	}
}

DD.magna.validateNewsletterRegistration = function( callObj ){
	if(chkList(callObj.usr_salutation, "die Anrede")==false)return false;
	if(chkText(callObj.usr_firstname, "Vornamen", "den ")==false)return false;
	if(chkText(callObj.usr_lastname, "Nachnamen", "den ")==false)return false;
	if(chkEmail(callObj.usr_email, "E-Mail-Adresse", "die ")==false)return false;
	if(!callObj.usr_acceptRules.checked){
		alert("Sie müssen unsere Datenschutzerklärung lesen und bestätigen!");
		callObj.usr_acceptRules.focus();
		return false;
	}
}

DD.magna.validateShopRegistration=function(callObj){
	if(chkList(callObj.ra_anrede, "die Anrede")==false)return false;
	if(chkText(callObj.ra_vorname, "Vornamen", "den ")==false)return false;
	if(chkText(callObj.ra_nachname, "Nachnamen", "den ")==false)return false;
	if(chkText(callObj.ra_strasse, "Straße", "die ")==false)return false;
	if(chkNumber(callObj.ra_plz, "Postleitzahl", "die ")==false)return false;
	if(chkText(callObj.ra_ort, "Ort", "den ")==false)return false;
	if(chkEmail(callObj.ra_email, "E-Mail-Adresse", "die ")==false)return false;
	if(!callObj.agb.checked){
		alert("Bitte akzeptieren Sie unsere AGBs!");
		callObj.agb.focus();
		return false;
	}
}

DD.magna.validateAppointmentRequest=function(callObj){
	//if(chkNumber(callObj.app_qry_duration,"Dauer","die ")==false)return false;
	if(chkText(callObj.app_qry_name,"Namen","den ")==false)return false;
	if(chkEmail(callObj.app_qry_email,"E-Mail-Adresse","die ")==false)return false;
	if(chkPhone(callObj.app_qry_phone,"Telefonnummer")==false)return false;
	if(!callObj.app_qry_acceptRules.checked){
		alert("Sie müssen unsere Datenschutzerklärung lesen und bestätigen!");
		callObj.app_qry_acceptRules.focus();
		return false;
	}
}
DD.magna.validateMECStarRequest=function(callObj){
	if(chkList(callObj.mstar_qry_salutation,"Anrede","die ")==false)return false;
	if(chkText(callObj.mstar_qry_firstname,"Vornamen","den ")==false)return false;
	if(chkText(callObj.mstar_qry_lastname,"Nachnamen","den ")==false)return false;
	if(chkText(callObj.mstar_qry_street,"Straße","die ")==false)return false;
	if(chkNumber(callObj.mstar_qry_zip,"Postleitzahl","die ")==false)return false;
	if(chkText(callObj.mstar_qry_city,"Ort","den ")==false)return false;
	if(chkEmail(callObj.mstar_qry_email,"E-Mail-Adresse","die ")==false)return false;
	if(!callObj.mstar_qry_requirement.checked){
		alert("Sie müssen die Magna Racino STAR - Vorteile bestätigen!");
		callObj.mstar_qry_requirement.focus();
		return false;
	}
	if(!callObj.mstar_qry_acceptRules.checked){
		alert("Sie müssen unsere Datenschutzerklärung lesen und bestätigen!");
		callObj.mstar_qry_acceptRules.focus();
		return false;
	}
}
DD.magna.validateReservationRequest=function(callObj){
	if(chkText(callObj.res_qry_company,"Firmennamen","den ")==false)return false;
	if(chkText(callObj.res_qry_contact_name,"Ansprechpartners","den Namen des ")==false)return false;
	if(chkEmail(callObj.res_qry_contact_email,"E-Mail-Adresse","die ")==false)return false;
	if(chkPhone(callObj.res_qry_contact_phone,"Telefonnummer")==false)return false;
	if(chkNumber(callObj.res_qry_participants,"Anzahl der Personen","die ")==false)return false;
	if(isNaN(Number(callObj.res_qry_time_hour.value))){
		alert("Der Wert der Uhrzeit-Stunde hat einen ungültigen/nicht numerischen Wert!");
		callObj.res_qry_time_hour.focus();
		callObj.res_qry_time_hour.select();
		return false;
	}
	if(isNaN(Number(callObj.res_qry_time_minute.value))){
		alert("Der Wert der Uhrzeit-Minute hat einen ungültigen/nicht numerischen Wert!");
		callObj.res_qry_time_minute.focus();
		callObj.res_qry_time_minute.select();
		return false;
	}
	if(chkText(callObj.res_qry_billing_street,"Straße","die ")==false)return false;
	if(chkText(callObj.res_qry_billing_streetnumber,"Straßennummer","die ")==false)return false;
	if(chkNumber(callObj.res_qry_billing_zip,"Postleitzahl","die ")==false)return false;
	if(chkText(callObj.res_qry_billing_city,"Ort","den ")==false)return false;
	if(chkRadio(callObj.res_qry_payment_option)==false){
		alert("Bitte wählen Sie die Zahlungsform aus!")
		callObj.res_qry_payment_option[0].focus();
		return false;
	}
	if(!callObj.res_qry_acceptRules.checked){
		alert("Sie müssen unsere Datenschutzerklärung lesen und bestätigen!");
		callObj.res_qry_acceptRules.focus();
		return false;
	}
}

DD.magna.RaceDay_BookingChoice = function(strFirstLink,strSecondLink){
	if(!document.getElementById("dvRaceDayBookingChoice")){
		var vDiv=document.createElement("DIV");
		vDiv.id="dvRaceDayBookingChoice";
		document.getElementsByTagName("BODY")[0].appendChild(vDiv);
		document.getElementById("dvRaceDayBookingChoice").oncontextmenu=new Function("return false");
	}
	var divObj=document.getElementById("dvRaceDayBookingChoice");
	var strHtml =	"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">" +
									"<tr style=\"background-color:#293db6;font-weight:bold;color:#FFF;\">" +
										"<td><img src=\"\/images\/icons\/ico_modalconfig.gif\" width=\"16\" height=\"15\" alt=\"\" border=\"0\" align=\"absmiddle\" style=\"margin:1px 2px;\">&nbsp;Buchungsoptionen</td>" +
										"<td align=\"right\"><a href=\"#\" onclick=\"document.getElementById('dvRaceDayBookingChoice').style.display='none';return false;\" onfocus=\"blur();\"><img src=\"\/images\/icons\/ico_modwin_close.gif\" width=\"16\" height=\"14\" alt=\"\" border=\"0\" style=\"margin:2px;\"></a></td>" +
									"</tr>" +
									"<tr>" +
										"<td colspan=\"2\">" +
											"<a href=\"" + strFirstLink + "\" onclick=\"document.getElementById('dvRaceDayBookingChoice').style.display='none';\" onfocus=\"blur();\" target=\"_blank\" class=\"urlBookingChoice\">Renntag-Buchung einfach</a>" +
											"<a href=\"" + strSecondLink + "\" onclick=\"document.getElementById('dvRaceDayBookingChoice').style.display='none';\" onfocus=\"blur();\" target=\"_blank\" class=\"urlBookingChoice\">Renntag-Buchung mit Stallf&uuml;hrung</a>" +
										"</td>" +
									"</tr>" +
								"</table>";
	divObj.innerHTML=strHtml;
	divObj.style.display="block";
	divObj.style.top=parseInt( Math.round((document.documentElement.clientHeight/2) - (divObj.offsetHeight/2)) ) + "px";
	divObj.style.left=parseInt( Math.round((document.documentElement.clientWidth/2) - (divObj.offsetWidth/2)) ) + "px";
}

DD.magna.partner = new Object();
DD.magna.partner.added = Array();
DD.magna.partner.add = function(url,logo,altTxt,time){
	var currLng = DD.magna.partner.added.length;
	DD.magna.partner.added[currLng] = Array();
	DD.magna.partner.added[currLng]["url"] = url;
	DD.magna.partner.added[currLng]["logo"] = new Image();DD.magna.partner.added[currLng]["logo"].src=logo;
	DD.magna.partner.added[currLng]["title"] = altTxt;
	DD.magna.partner.added[currLng]["time"] = time;
}
DD.magna.partner.currentSlide=0;
DD.magna.partner.slideNumber=function(){
	var slideLength=DD.magna.partner.added.length;
	if(slideLength>1){
		var rndInt=Math.floor(Math.random()*slideLength);
		return ((typeof(DD.magna.partner.added[rndInt])!="undefined" && rndInt != DD.magna.partner.currentSlide) ? rndInt : DD.magna.partner.slideNumber());
	}else{
		return 0;
	}
}

DD.magna.partner.slide = function(){
	var slideLength=DD.magna.partner.added.length;
	if(slideLength>1){
		DD.magna.partner.currentSlide = DD.magna.partner.slideNumber();
		$("tdPartnerLogos").innerHTML = ((DD.magna.partner.added[DD.magna.partner.currentSlide]["url"]!="") ? "<a href=\"" + DD.magna.partner.added[DD.magna.partner.currentSlide]["url"] + "\" target=\"_blank\" onfocus=\"blur();\">" : "") + "<img src=\"" + DD.magna.partner.added[DD.magna.partner.currentSlide]["logo"].src + "\" alt=\"\" border=\"0\" title=\"" + DD.magna.partner.added[DD.magna.partner.currentSlide]["title"] + "\">" + ((DD.magna.partner.added[DD.magna.partner.currentSlide]["url"]!="") ? "</a>" : "");
		//alert($("tdPartnerLogos").innerHTML);
	}
	setTimeout("DD.magna.partner.slide()",DD.magna.partner.added[DD.magna.partner.currentSlide]["time"]);
}
window.onload=DD.magna.loadInit;

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

var keylist="abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
DD.giveMeTempName=function(intLen){
	var temp="";
	for (var i=0;i<intLen;i++){temp+=keylist.charAt(Math.floor(Math.random()*keylist.length));}
	return temp.toUpperCase();
}
DD.newGuid=function(){
	var arrGuidLength=Array(8,4,4,4,12);
	var strGuid="";
	for(var agc=0;agc<arrGuidLength.length;agc++){if(strGuid.length==0){strGuid=this.giveMeTempName(arrGuidLength[agc]);}else{strGuid+="-"+this.giveMeTempName(arrGuidLength[agc])}}
	return strGuid;
}