

// Sind Cookies im Browser aktiviert?
$(document).ready(function() {
  var testcookie=null;
  var exdate=new Date();
  exdate.setDate(exdate.getDate()+1);
  document.cookie="test=1;expires="+exdate.toUTCString();
  if (document.cookie.length>0){
    c_start=document.cookie.indexOf("test=");
    if (c_start!=-1){
      c_start=c_start+5;
      c_end=document.cookie.indexOf(";",c_start);
      if (c_end==-1) {c_end=document.cookie.length;}
      testcookie=unescape(document.cookie.substring(c_start,c_end));
    }
  }
  if (testcookie===null){
    var cwb=document.getElementById("cookiewarnblock");
    if (cwb!==null) {cwb.style.display="block";}
  }
});

// Check Gaestebuch Formular
function checkGbForm(){
  var r=true;
  if (document.gbform.name.value==''){
    document.gbform.name.style.backgroundColor="#FF8785";
    r=false;
  }
  else
    document.gbform.name.style.backgroundColor="white";
  if (document.gbform.text.value==''){
    document.gbform.text.style.backgroundColor="#FF8785";
    r=false;
  }
  else
    document.gbform.text.style.backgroundColor="white";
  return r;
}

// ScrollDetector für Floatmenu
function scrollingDetector(){
  var pos;
  if (navigator.appName == "Microsoft Internet Explorer")
    pos=document.body.scrollTop
  else
    pos=window.pageYOffset;
  var fm=document.getElementById('floatmenu');
  if (pos>180)
    fm.style.visibility="visible"
  else
    fm.style.visibility="hidden";
}
$(document).ready(function() {
  setInterval("scrollingDetector()", 100);
});

//Lightbox
$(function(){
  $(".preview").lightBox();
});

//speichert die value eines fields in den cookies.
//field: das formular-feld um das es geht.
//name (optional): name des cookies; sonst name=field.id
//seconds (optional): lebenszeit des cookie in sekunden; sonst unendlich
function saveFieldValue(field,name,seconds){
  if (!field) return;
  if (!name) name=field.id;
  if (!seconds) seconds=0;
  createCookie(name,field.value,seconds);
}
//laed die value eines fields aus den cookies.
//field: das formular-feld um das es geht.
//name (optional): name des cookies; sonst name=field.id
function loadFieldValue(field,name){
  if (field===null) return;
  if (!field) return;
  if (!name) name=field.id;
  var x=readCookie(name);
  if(x!==null) field.value=x;
  try{
    field.onchange();
  }
  catch(error){
  }
}
//laed fields mit gewissen standard id's
function loadStandardFieldValues(){
	var standardFields=Array(
		'bau_motiv',
		'bau_farbe',
		'bau_bandtyp',
		'bau_bandfarbe',
		'bau_schildfarbe',
		'bau_schildgroesse',
		'bau_gravurtyp',
		'bau_schildhoehe',
		'bau_schildbreite',
		'gravur_1',
		'gravur_2',
		'gravur_3',
		'gravur_4',
		'gravur_5'
	);
	for (field in standardFields){
    loadFieldValue(document.getElementById(standardFields[field]));
	}
}
//prueft Verfuegbarkeit
function pruefeVerfuegbarkeit(produktid){
  if(typeof(verfuegbar)=='undefined') return;
  e1=document.getElementById('verfuegbar');
  e2=document.getElementById('verfuegbar_num');
  if(typeof(verfuegbar[produktid])=='undefined'){
    e1.style.display='none';
    return;
  }
  e2.innerHTML=verfuegbar[produktid];
  e1.style.display='block';
}
//erzeugt Eingabemaske fuer Gravur
function erzeugeGravurButtons(zeilenanzahl){
  var html='';
  for(var i=0; i<zeilenanzahl; i++){
    html=html
      +'<button type="button" '
      +'class="ui-widget ui-state-default ui-corner-all" '
      +'onClick="javascript:grav_zn('+i+');">'+i+'</button>';
  }
  return html;
}
function erzeugeGravurZeile(nummer,zeichenanzahl,breite){
  var html=
     '<input '
    +'type="text" '
    +'maxlength="' + zeichenanzahl + '" '
    +'id="gravur_' + nummer + '" '
    +'class="gt" '
    +'name="gravur_' + nummer + '" '
    +'value="" '
    +'onkeyup="saveFieldValue(this);" '
    +'/>'
    +'<br />';
  return html;
}
function ermittleZeilenBreite(zeichen,zeichen_i){
  var maxBreite=200;
  if(zeichen==zeichen_i) return maxBreite;
  var pixelProZeichen=maxBreite/zeichen;
  var diff=zeichen_i-zeichen;
  return maxBreite-(diff*pixelProZeichen);
}
function erzeugeGravurMaske(produktid){
  var e=document.getElementById('gravur');
  var zeilen=gravurschilder[produktid]['maxzeilen'];
  var zeile_1=gravurschilder[produktid]['maxzeichen_1'];
  var zeile_i=gravurschilder[produktid]['maxzeichen_i'];
  var zeile_n=gravurschilder[produktid]['maxzeichen_n'];
  var zeichen;
  var html='';
  html+=erzeugeGravurButtons(zeilen);
  for(var i=1; i<=zeilen; i++){
    if(i==1){
      zeichen=zeile_1;
    }
    else if (i==zeilen) {
      zeichen=zeile_n;
    }
    else{
      zeichen=zeile_i;
    }
    html+=erzeugeGravurZeile(i,zeichen,ermittleZeilenBreite(zeichen,zeile_i));
  }
  e.innerHTML=html;
}

function init_gravur( )      // Überarbeiten!!!!
{
	// schauen wir mal, ob wir die Daten zwischengespeichert haben.
  
	var gravtextsize = readCookie('pokaldiscounter_gravtextsize');
	if( null === gravtextsize )
	{
		gravtextsize = 3;
		createCookie('pokaldiscounter_gravtextsize', 3, 0);
	}

	var gravlinecount = readCookie('pokaldiscounter_gravlinecount');
	if( null === gravlinecount )
	{
		gravlinecount = 4;
		createCookie('pokaldiscounter_gravlinecount', 4, 0);
	}

	grav_zn( gravlinecount );

	// positioniere unsere Gravurzeilen ordentlich
	if( null !== document.getElementById('gravimg'))
	{
		var gravtextheight = document.getElementById('gravimg').height;
	}
	else
	{
		var gravtextheight = 10;
	}

	if( null !== document.getElementById('gravtext'))
	{
		document.getElementById('gravtext').style.height = gravtextheight + 'px';
	}
}
$(document).ready( init_gravur );


var gravmaxlen = Array(
	Array( '29', '33', '33', '33', '33' ),
	Array( '26', '31', '31', '31', '31' ),
	Array( '24', '28', '28', '28', '28' ),
	Array( '22', '26', '26', '26', '26' ),
	Array( '20', '24', '24', '24', '24' ),
	Array( '18', '22', '22', '22', '22' )
);

var set_figur = function( schild )
{
  if ( 58 == schild )
  {
    gravmaxlen = Array(
      Array( '29', '33', '33', '33', '33' ),
      Array( '26', '31', '31', '31', '31' ),
      Array( '24', '28', '28', '28', '28' ),
      Array( '22', '26', '26', '26', '26' ),
      Array( '20', '24', '24', '24', '24' ),
      Array( '18', '22', '22', '22', '22' )
        );
  }
  else
  {
    gravmaxlen = Array(
      Array( '27', '27', '27', '27', '27' ),
      Array( '25', '25', '25', '25', '25' ),
      Array( '22', '22', '22', '22', '22' ),
      Array( '20', '20', '20', '20', '20' ),
      Array( '18', '18', '18', '18', '18' ),
      Array( '16', '16', '16', '16', '16' )
        );
  }
};
    
function set_medaille( )
{
  var produkt = decodeURI( window.location.search.substring( window.location.search.indexOf( "=" ) +1 ).replace( "%E4", "%C3%A4" ) );

  if ( -1 != produkt.search( /MD29/ ) )
  {
    gravmaxlen = Array(
      Array( '17', '25', '30' ),
      Array( '15', '22', '27' ),
      Array( '13', '20', '24' ),
      Array( '12', '18', '22' ),
      Array( '10', '16', '19' ),
      Array( '8', '13', '16' )
        );
  }
  else
  {
    gravmaxlen = Array(
      Array( '10', '15', '20' ),
      Array( '9', '13', '19' ),
      Array( '7', '12', '18' ),
      Array( '6', '10', '16' ),
      Array( '4', '8', '15' ),
      Array( '3', '7', '13' )
        );
  }
  
  //alert( gravmaxlen[0][0] + '!' );
}  




// sonderbehandlung von Elementen, die kleine Gravurfelderchen haben und denen wir nicht so viel zumuten können.

//$(document).ready( function( ) { grav_checkmaxlines( '' ); } );


function grav_checkmaxlines( value )
{
  //var variante = value.substring( 0, value.indexOf( '|' ) );
  var auswahl = document.getElementById('bau_groesse').selectedIndex;   
  var gravurSchildNummer = 0;
  
  if (document.getElementById("bau_groesse").options[0].value == "not_sel") {
    auswahl = auswahl - 1;
  }
  
  if (document.getElementById('gravurschildnummer_'+auswahl) !== null){
    var gravurSchildNummer = document.getElementById('gravurschildnummer_'+auswahl).value;
  }
    
  var grav_maxlines = 5;
                          
  if (gravurSchildNummer == 2 || gravurSchildNummer == 8) {grav_maxlines = 3;}    
  set_maxlines( grav_maxlines );   
}

// Die Anzahl der Knöpfe für die Auswahl der Zeilenanzahl wird (neu) bestimmt und die grade ausgewählte Zeilenanzahl wird korrigiert, falls diese höher ist, als die "neue" maximale Zeilenanzahl erlaubt.
function set_maxlines( grav_maxlines )
{
  if ( null !== document.getElementById( 'grav_zn_links' )) {
    if ( 3 == grav_maxlines )
    {
      document.getElementById( 'grav_zn_links' ).innerHTML =
		'<button class="ui-widget ui-state-default ui-corner-all" onClick="javascript:grav_zn( 1 ); return false;">1</button>' +
		'<button class="ui-widget ui-state-default ui-corner-all" onClick="javascript:grav_zn( 2 ); return false;">2</button>' +
		'<button class="ui-widget ui-state-default ui-corner-all" onClick="javascript:grav_zn( 3 ); return false;">3</button>';

      if ( gravlinecount > 3 ) {
        grav_zn( 3 );
      }
      else {
        grav_zn( gravlinecount );
      }

      set_figur( 48 ); // schildgroesse ist 48cm
    }
    else
    {
      document.getElementById( 'grav_zn_links' ).innerHTML =
		'<button class="ui-widget ui-state-default ui-corner-all" onClick="javascript:grav_zn( 1 ); return false;">1</button>' +
		'<button class="ui-widget ui-state-default ui-corner-all" onClick="javascript:grav_zn( 2 ); return false;">2</button>' +
		'<button class="ui-widget ui-state-default ui-corner-all" onClick="javascript:grav_zn( 3 ); return false;">3</button>' +
		'<button class="ui-widget ui-state-default ui-corner-all" onClick="javascript:grav_zn( 4 ); return false;">4</button>' +
		'<button class="ui-widget ui-state-default ui-corner-all" onClick="javascript:grav_zn( 5 ); return false;">5</button>';

      if ( gravlinecount > 5 ) {
        grav_zn( 5 );
      }
      else {
        grav_zn( gravlinecount );
      }
      set_figur( 58 ); // schildgroesse ist 58cm, also bitte mehr Zeichen zulassen
    }
  }
  
}


//Generiert die Textfelder für das Gravurschild. Als Parameter wird die
//Anzahl der Zeilen übergeben. Ausserdem wird die eingestellte Schriftgröße
//berücksichtigt und die maximale Textlänge der Zeile(n) entsprechend angepasst

function grav_zn( num )
{
  var gravtext = document.getElementById( 'gravtext' );

  if ( null === gravtext ) {
    return;
  }


  var oldnum = gravtext.getElementsByTagName( 'input' ).length;
  var fields = gravtext.getElementsByTagName( 'input' );

  var saved_linenum = readCookie( 'pokaldiscounter_gravlinecount' );
  var saved_size    = readCookie( 'pokaldiscounter_gravtextsize' );
  var gravtextsize  = saved_size;

  // die Zeilenanzahl ganz oben abspeichern!
  createCookie( 'pokaldiscounter_gravlinecount', num, 0 );
  gravlinecount = num;

  if ( 5 == num && gravtextsize > 1 )
  {
    gravtextsize = 2;
    createCookie( 'pokaldiscounter_gravtextsize', gravtextsize, 0 );
    grav_fs( -1 );
  }
  
  if ( 4 == num && gravtextsize > 4 )
  {
    gravtextsize = 5;
    createCookie( 'pokaldiscounter_gravtextsize', gravtextsize, 0 );
    grav_fs( -1 );
  }
  
  // breite der Felder angeben
  if ( 'undefined' != typeof medaillen )
  {
  //darstellungsbreite
    switch (parseInt(num,10))
    {
      case 1:
        var width = Array( '180' );
        break;
      case 2:
        var width = Array( '160', '160' );
        break;
      case 3:
        var width = Array( '160', '180', '160' );
        break;
      case 4:
        var width = Array( '120', '160', '160', '120' );
        break;
      case 5:
        //???????? 0_o
      default:
        var width = Array( '120', '160', '180', '160', '120' );
    }
  }
  else
  {
    var width = Array( '260', '260', '260', '260', '260' );
  
    if ( num > 2 ){
      width = Array( '260', '260', '260', '260', '260' );
      width[0] = 220;
      width[num-1] = 220;
    }
    else{
      width = Array( '260', '260', '260', '260', '260' );
    }
  }


  // Maximallängen der Zeilen bestimmen
  var maxlen = Array( '18', '18', '18', '18', '18' );
  //zeichenbreite
  switch( parseInt(gravtextsize,10) )
  {
    case 1:
      maxlen = Array( '29', '33', '33', '33', '33' );
      maxlen[num-1] = 29;
      break;
    case 2:
      maxlen = Array( '26', '31', '31', '31', '31' );
      maxlen[num-1] = 26;
      break;
    case 3:
      maxlen = Array( '24', '28', '28', '28', '28' );
      maxlen[num-1] = 28;
      break;
    case 4:
      maxlen = Array( '22', '26', '26', '26', '26' );
      maxlen[num-1] = 22;
      break;
    case 5:
      maxlen = Array( '20', '24', '24', '24', '24' );
      maxlen[num-1] = 20;
      break;
    default:
    case 6:
      maxlen = Array( '18', '22', '22', '22', '22' );
      maxlen[num-1] = 18;
      break;
  }
  

    
  // dann num neue Zeilen erstellen
  var inputs = '';
  var values = Array( );
  for ( i = 0; i < num; i++ )
  {
    var v = '';


    if ( null !== document.getElementById( 'gravur_' + (i+1) ) ) {
      v = document.getElementById( 'gravur_' + (i+1) ).value;
    }

    if ( '' == v ) {
      v = readCookie( 'pokaldiscounter_gravur_' + (i+1) );

      if ( null === v ) {
        v = '';
      }
      else {
        v = decodeURIComponent( v );
      }
    }

    values[i] = v;

  
    inputs += '<input type="text" maxlength="' + (maxlen[i]+1) + '" id="gravur_' + (i+1) + '" class="gt" name="gravur_' + (i+1) + '" style="font-size: ' + ( 9 + ( gravtextsize * 2 ) ) + 'px;" value="" onkeyup="gravurtexttest( this );saveFieldValue(this);" /><br />';
  }

 

  /* ------------------------------------------------------- edit: frank --------------------------------- */
  if ( null !== gravtext ) {
    /*gravtext.innerHTML = inputs;*/
    $("#gravtext").html( inputs );
  }

  for ( i = 0; i < num; i++ ) {
    gravtext.getElementsByTagName( 'input' )[i].style.width = width[i] + "px";
    document.getElementById( 'gravur_' + (i+1) ).value = values[i];
  }

  gravcenter( );
}

function zaehleGravurZeichen(){
  var count=0;
  for (var i=1; i<=5; i++){
    var e=document.getElementById("gravur_"+i);
    if (e !== null) {
      count = count + e.value.length;
    }
  }
  return count;
}
var maxGZAngezeigt = false;
function pruefeGravurZeichenAnzahl(){
  var e=document.getElementById("gravzeichenanz");
  if (e !== null && typeof(maxGravurZeichen) != "undefined") {
    e.innerHTML = "Gravurzeichen: "+zaehleGravurZeichen()
                + " (im Preis enthalten sind "+maxGravurZeichen+")";
  }
  if (typeof(maxGravurZeichen) != "undefined" && !maxGZAngezeigt) {
    if (zaehleGravurZeichen() > maxGravurZeichen) {
      maxGZAngezeigt = true;
      alert("Bei diesem Artikel sind maximal "+maxGravurZeichen+" Gravurzeichen im Preis enthalten. "
           +"Weitere Gravurzeichen werden extra berechnet.");
    }
  }
}
//Wird bei Eingaben in das Textfeld für das Gravurschild aufgerufen und überprüft, ob die Eingabe die maximal erlaubte Länge überschreitet.
function gravurtexttest( element )
{
  pruefeGravurZeichenAnzahl();

  var gravacceptcookie = readCookie( 'pokaldiscounter_gravaccept' );
  if ( null === gravacceptcookie ) {
    gravaccept( );
  }

  // Bestimme, welche Position diese Zeile hat.
  var pos = parseInt( element.name.substr( 7, 1 ),10 );

  var lineindex = Array(
    Array( 2 ),
    Array( 2, 2 ),
    Array( 1, 2, 1 ),
    Array( 1, 2, 2, 1),
    Array( 0, 1, 2, 1, 0 )
  );

  var gravtextsize = readCookie( 'pokaldiscounter_gravtextsize' );
  
  var maxlen = gravmaxlen[(gravtextsize-1)][lineindex[gravlinecount-1][(pos-1)]];

  if ( element.value.length > maxlen )
  {
    if ( gravtextsize > 1 )
      fehlermeldung = 'Wenn Sie mehr Zeichen benötigen, verändern Sie mit "kleiner" die Schriftgröße.';
    else
      fehlermeldung = 'Mehr Zeichen sind leider technisch nicht möglich.';
    
    element.value = element.value.substr( 0, maxlen );
    alert( 'In dieser Gravurzeile sind nur ' + maxlen + ' Zeichen erlaubt.\n' + fehlermeldung );
    
  }
}



//Wird ausgelöst beim Klicken des "größer"- oder "kleiner"-Knopfes und erhöht bzw. verringert die Variable "gravtextsize" um der Wert "1".
function grav_fs( manip )
{
  var gravtext = document.getElementById( 'gravtext' );
  var oldnum = 0;
  var fields = Array( );

  if ( null !== gravtext ) {
    oldnum = gravtext.getElementsByTagName( 'input' ).length;
    fields = gravtext.getElementsByTagName( 'input' );
  }
  
  
  var gravtextsize = readCookie( 'pokaldiscounter_gravtextsize' );

  gravtextsize = Number(gravtextsize) + Number(manip);

  if ( gravtextsize > 6 ) gravtextsize = 6;
  if ( gravtextsize < 1 ) gravtextsize = 1;

  if ( oldnum == 5 && gravtextsize > 1 ) gravtextsize = 1;
  if ( oldnum == 4 && gravtextsize > 4 ) gravtextsize = 4;
  

  createCookie( 'pokaldiscounter_gravtextsize', gravtextsize, 0 );
  for( var i = 0; i < fields.length; i++ )
  {
   fields[i].style["fontSize"] = ( 9 + ( gravtextsize * 2 ) ) + "px";
  }

  //$("#gravtext input").css("font-size", (9+(gravtextsize*2)) + "px");
  
  grav_zn( oldnum );
  gravcenter( );
}


//Sorgt dafür, dass die Textfelder richtig positioniert werden und es werden unterschiedliche Darstellungsweisen von verschiedenen Browsern ausgeglichen.
function gravcenter( )
{
  var gravtext = document.getElementById( 'gravtext' );
  var oldnum = gravtext.getElementsByTagName( 'input' ).length;
  var fields = gravtext.getElementsByTagName( 'input' );

  var height = 100;
  if ( 'undefined' != typeof medaillen )
  {
    height = 200 + ( ( oldnum - 1 ) * 9 );
  }

  var browserdiff = 2;
  if ( navigator.appName.indexOf("Explorer") == -1 )
    browserdiff = 2;
 
  var gravtextsize = readCookie( 'pokaldiscounter_gravtextsize' );
 
  var fieldheight = ( ( oldnum * 2 ) - 1 ) + ( oldnum * ( 9 + (gravtextsize * 2)) ) - browserdiff;
  var restheight = (height - fieldheight) / 2;
  
  /* ----------- edit: frank ---------- */
  var offset = 97;
  
  gravtext.style.marginTop = offset + ( -6 - height + restheight ) + "px";
  gravtext.style.height    = ( 10 + height - restheight ) + "px";
  
}

// http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,seconds) {
  //geaendert: 'seconds' statt 'days'
  if (seconds) {
    var date = new Date();
    date.setTime(date.getTime()+(seconds*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else {
    var expires = "";
  }
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') {
      c = c.substring(1,c.length);
    }
    if (c.indexOf(nameEQ) == 0) {
      return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name,"",-1);
}


// http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
function addEvent(obj, type, fn) {
  if (obj.addEventListener) {
    obj.addEventListener(type, fn, false);
  }
  else if (obj.attachEvent) {
    obj['e' + type + fn] = fn;
    obj[type + fn] = function() { obj['e' + type + fn](window.event); }
    obj.attachEvent('on' + type, obj[type + fn]);
  }
}


// http://jehiah.cz/archive/firing-javascript-events-properly
function callEvent(element,event){
    if (document.createEventObject){
        // dispatch for IE
        var evt = document.createEventObject();
        return element.fireEvent('on'+event,evt)
    }
    else{
        // dispatch for firefox + others
        var evt = document.createEvent("HTMLEvents");
        evt.initEvent(event, true, true ); // event type,bubbling,cancelable
        return !element.dispatchEvent(evt);
    }
}


function check(mindestDatum)
{	if(document.getElementById( 'nachname' ).value == '')
	{	alert('Bitte geben sie einen Wert an für: Name');
		document.getElementById( 'nachname' ).focus();
		return false;
	}
	if(document.getElementById( 'vorname' ).value == '')
	{	alert('Bitte geben sie einen Wert an für: Vorname');
		document.getElementById( 'vorname' ).focus();
		return false;
	}
	if(document.getElementById( 'strasse' ).value == '')
	{	alert('Bitte geben sie einen Wert an für: Straße');
		document.getElementById( 'strasse' ).focus();
		return false;
	}

	document.getElementById( 'veranstaltungsdatum' ).value = document.getElementById( 'veranstaltungsdatum' ).value.replace(' ','');
	if(	document.getElementById( 'veranstaltungsdatum' ).value == '' ||
		document.getElementById( 'veranstaltungsdatum' ).value.length != 10 ||
		document.getElementById( 'veranstaltungsdatum' ).value.substr(4,1) != '-' ||
		document.getElementById( 'veranstaltungsdatum' ).value.substr(7,1) != '-' ||
		isNaN(document.getElementById( 'veranstaltungsdatum' ).value.substr(0,4)) ||
		document.getElementById( 'veranstaltungsdatum' ).value.substr(0,4) == '0000' ||
		document.getElementById( 'veranstaltungsdatum' ).value.substr(0,4) < 2008 ||
		document.getElementById( 'veranstaltungsdatum' ).value.substr(0,4) >= 2020 ||
		isNaN(document.getElementById( 'veranstaltungsdatum' ).value.substr(5,2)) ||
		document.getElementById( 'veranstaltungsdatum' ).value.substr(5,2) == '00' ||
		document.getElementById( 'veranstaltungsdatum' ).value.substr(5,2) > 12 ||
		isNaN(document.getElementById( 'veranstaltungsdatum' ).value.substr(8,2)) ||
		document.getElementById( 'veranstaltungsdatum' ).value.substr(8,2) == '00' ||
		document.getElementById( 'veranstaltungsdatum' ).value.substr(8,2) > 31 )
	{	alert('Bitte geben Sie ein gueltiges Datum ein!\nFormat: Jahr-Monat-Tag (JJJJ-MM-TT)');
		document.getElementById( 'veranstaltungsdatum' ).focus();
		return false;
	}
	
	var feld = document.getElementById('veranstaltungsdatum');
	var jahr = feld.value.substr(0,4);
	var monat = feld.value.substr(5,2);
  var tag = feld.value.substr(8,2);
  var datum = new Date(jahr,monat-1,tag);
  if (datum < mindestDatum) {
    alert("Bitte beachten Sie das früheste Lieferdatum.");
    feld.focus();
    return false;
  }
	
	
	/* ENDE Erweiterte Datumskontrolle */
	if(document.getElementById( 'plz' ).value == '')
	{	alert('Bitte geben sie einen Wert an für: PLZ');
		document.getElementById( 'plz' ).focus();
		return false;
	}
	if(document.getElementById( 'ort' ).value == '')
	{	alert('Bitte geben sie einen Wert an für: Ort');
		document.getElementById( 'ort' ).focus();
		return false;
	}
	if(document.getElementById( 'telefon' ).value == '')
	{	alert('Bitte geben sie einen Wert an für: Telefon');
		document.getElementById( 'telefon' ).focus();
		return false;
	}
	if(document.getElementById( 'email_a' ).value == '')
	{	alert('Bitte geben sie einen Wert an für: Email');
		document.getElementById( 'email_a' ).focus();
		return false;
	}

  if ( document.getElementById( 'email_a' ).value != document.getElementById( 'email_b' ).value ) {
    alert( 'Die angegebenen E-Mail-Adressen stimmen nicht überein!\nBitte überprüfen Sie die angegebenen E-Mail-Adressen.' );
    document.getElementById( 'email_a' ).focus( );
    return( false );
  }

	return true;
}


function checkb()
{
	if(document.getElementById( 'readpolicy' ).checked == false)
	{	alert('Sie müssen unsere AGB gelesen und akzeptiert haben.');
		document.getElementById( 'readpolicy' ).focus();
		return false;
	}
	return true;
}






var dogravur = true;

var add = function(i_id,i_name,i_no,i_price,i_weight,i_discount,gravurparam){
    // sonderparameter für die Behandlung der Gravurschilder
    if (true!=gravurparam) {gravurparam=false;}
    // Menge
    var i_amount = document.getElementById('bau_menge').value;
    if(i_amount <= '0'){
        alert("Die Artikelanzahl muß größer als 0 sein!");       
        return false;     
    }
    // Varianten ???
    var stop = 0;
    var temp = '';
    var tempvars = '';
    var tempvarsprice = 0.00;
    var tempvarsno = '';
    var tempvarsid = '';
    var fields = Array('bau_groesse','bau_motiv','bau_farbe','bau_bandtyp',
        'bau_bandfarbe','bau_schildfarbe','bau_schildgroesse','bau_gravurtyp');
    for(f in fields){
        if (null!==document.getElementById(fields[f])){
            if('not_sel'==document.getElementById(fields[f]).value){
                if (('bau_schildgroesse'==fields[f])&&(1203==document.getElementById('bau_groesse').value)){
                    continue;
                }
                if(document.getElementById('bau_motiv')!==null){
                  if((fields[f]=='bau_farbe')&&(document.getElementById('bau_motiv').value=='999')){
                    continue;
                  }
                }
                alert('Bitte wählen sie zuerst: '+document.getElementById(fields[f]).options[0].text);
                return(false);
            }
        }
    }

  // wird ein gravurschild aus wunschgroesse eingegeben, extrabehandlung.
  if ( 1203 == document.getElementById( 'bau_groesse' ).value ) {
    if ( '' == document.getElementById( 'bau_schildhoehe' ).value ) {
      alert( 'Bitte wählen sie zuerst : Höhe des Schildes' );
      return( false );
    }
    if ( '' == document.getElementById( 'bau_schildbreite' ).value ) {
      alert( 'Bitte wählen sie zuerst : Breite des Schildes' );
      return( false );
    }
  }

  if (tempvarsno != '')
    tempvarsno = tempvarsno.substring(0,tempvarsno.length - 1);
              
    // Text ???
  var linenum = readCookie( 'pokaldiscounter_gravlinecount' );
  var i_text = '';
  var hastext = false;
  for ( i = 0; i < linenum; i++ ) {
    var v = document.getElementById( 'gravur_' + (i+1) ).value;

    if ( '' != v ) {
      hastext = true;
    }

    i_text = i_text + v + "<br>";
  }

  var gf = document.getElementById( 'gravur_1' );
  
  if ( null !== gf && !hastext && stop == 0 && dogravur )
  {
    if ( !confirm( 'Wollen Sie wirklich keine Gravur angeben?\nWenn Sie eine Gravur haben wollen, waehlen Sie "abbrechen".' ) )
      return false;
  }
  
  return( true );
}


function gravaccept( )
{
  $("#gravurtext").dialog("open");
	createCookie( 'pokaldiscounter_gravaccept', true, 0 );
}


function checkgravur( element )
{
  var v = $('#bau_groesse').selectedTexts( );
  var v = v[0];

  if ( 'object' == typeof document.getElementById( 'gravurauswahl' ) ) {

    if( v.search( /ohne Gravur/ ) > -1 )
    {
      hide_gravur( );
      checkselectfields( true );
    }
    else
    {
      show_gravur( );
      checkselectfields( );
    }
  }
}


function hide_gravur( )
{
  dogravur = false;
  document.getElementById( 'gravurauswahl' ).style['display'] = 'none';
  try {
    document.getElementById( 'gravur_1').value = '';
    document.getElementById( 'gravur_2').value = '';
    document.getElementById( 'gravur_3').value = '';
    document.getElementById( 'gravur_4').value = '';
    document.getElementById( 'gravur_5').value = '';
  }
  catch( e ) { }
}

function show_gravur( )
{
  dogravur = true;
  document.getElementById( 'gravurauswahl' ).style['display'] = 'inline';
}


/* emblem-bild auf shop-detailseite darstellen */
var emblemcount = 0;
var sel=0;
function emblem(element){
	if (element.value=='not_sel'){
		$("#emblembild").fadeOut();
		return;
	}
    var bildnum=element.value;
    var bf=document.getElementById('bau_farbe');
    if (bildnum=='999'){
        bf.style.visibility='hidden';
        sel=bf.selectedIndex;
        bf.selectedIndex=1;
    }
    else if (bf.style.visibility=='hidden'){
        bf.style.visibility='visible';
        bf.selectedIndex=sel;
    }
	$("#emblembild").attr("src","/bilder/sportmotive/"+bildnum+".jpg");
	$("#emblembild").fadeIn();
    emblemcount++;
}

function emblemhide( )
{
  emblemcount--;
  
  if ( emblemcount == 0 )
    document.getElementById( 'emblembild' ).style.display = "none";
}

function logowarn( element )
{
  if( element.value == 'eigenes Logo|0.35||2812' )
    alert( 'Achtung!' + "\n" + 'Bedruckte farbige Logo im Durchmesser von 50 mm muessen in Stueckzahlen von 15, 30, 45, usw. zum Preis von 0,35 Euro pro Stueck abgenommen werden.' + "\n" + 'Zum Beispiel:' + "\n" + 'Sie bestellen 18 Pokale oder Medaillen dann muessen Sie 30 Logo abnehmen.' + "\n" + 
'Bedruckte farbige Logo im Durchmesser von 25 mm muessen in Stueckzahlen von 48, 96, 144, usw. zum Preis von 0,35 Euro pro Stueck abgenommen werden.' + "\n" +
'Zum Beispiel:' + "\n" + 'Sie bestellen 60 Pokale oder Medaillen dann muessen Sie 96 Logo abnehmen.' + "\n" + 'Bei gravierten Logo findet der obere Hinweis keine Anwendung' );
 }
  

// Funktion, die überpfüt, ob wir als Telefonnummer eine 01x haben
function check_telephon( telefonfeld )
{
	if ( "01" == telefonfeld.value.substring( 0, 2 ) )
		alert( "Sehr geehrte Kunde,\nich bitte Sie aus technischen Gruenden, wenn moeglich, eine Festnetznummer anzugeben. Vielen Dank!" );
}


var delete_article = false;

// Wird das Formular im Warenkorb benutzt, um einen Artikel zu loeschen, so
// frage vorher nach, ob der Artikel wirklich geloescht werden soll.
function checkdelete( )
{
  if ( delete_article ) {
    var t = confirm( 'Wollen Sie den Artikel wirklich entfernen?' );
    delete_article = false;

    return( t );
  }
  return( true );
}


function setdelete( )
{
  delete_article = true;
}


function erase_all_cookies( )
{
  var cookies = Array( 'bau_bandfarbe',
    'bau_bandtyp',
    'bau_farbe',
    'bau_gravurtyp',
    'bau_motiv',
    'bau_schildbreite',
    'bau_schildgroesse',
    'bau_schildhoehe',
    'gravaccept',
    'pokaldiscounter_gravlinecount',
    'pokaldiscounter_gravtextsize',
    'pokaldiscounter_gravur_1',
    'pokaldiscounter_gravur_2',
    'pokaldiscounter_gravur_3',
    'pokaldiscounter_gravur_4',
    'pokaldiscounter_gravur_5' );

  for( var i in cookies ) {
    eraseCookie( cookies[i] );
  }
}



function add_option( sel_elem, value, text, selected ) {
  var ne = new Option( text, value );
  sel_elem.options[sel_elem.length] = ne;

  if ( selected ) {
    sel_elem.options[sel_elem.length - 1].selected = true;
  }
}

function clear_options( sel_elem ) {
  while( 0 < sel_elem.length ) {
    sel_elem.options[0] = null;
  }
}

/* Funktionen speziell fuer Gravurschilder */

function variantenconf( )
{

  var schildtyp = document.getElementById( 'bau_groesse' ).value;
  var schildfarbe = document.getElementById( 'bau_farbe' ).value;
  var groesse = document.getElementById( 'bau_schildgroesse' ).value;
  var gravur = document.getElementById( 'bau_gravurtyp' ).value;

//  alert( schildtyp + " " + schildfarbe + " " + groesse + " " + gravur );

    var bf = document.getElementById( 'bau_farbe' );
    clear_options( bf );
    add_option( bf, 'not_sel', '» Schildfarbe' );

  // Erstens.
  // Korrigiere die Schildfarbe passlich, wenn ein Schildtyp ausgewaehlt ist.
    
    
    if ( (1198 == schildtyp) || (1199 == schildtyp) ||
       (1200 == schildtyp) || (1201 == schildtyp ) ) {
      // Metall.
      add_option( bf, 'goldfarben', 'goldfarben', true );
    }
    else if ( (1396 == schildtyp) || (1400 == schildtyp) || (1401 == schildtyp) ||
            (1202 == schildtyp) || (1203 == schildtyp) ) {
      // Flexicolor
      add_option( bf, 'goldfarben', 'goldfarben', ('goldfarben' == schildfarbe) );
      add_option( bf, 'silber', 'silberfarben', ('silber' == schildfarbe) );
      add_option( bf, 'bronze', 'bronzefarben', ('silber' == schildfarbe) );
    }
    else {
      // Unentschieden.
      add_option( bf, 'goldfarben', 'goldfarben für Metall/Kunsstoffschilder',
                ('goldfarben' == schildfarbe) );

      add_option( bf, 'silber', 'silberfarben nur für Kunststoffschild',
                ('silber' == schildfarbe) );
    }

      var sg = document.getElementById( 'bau_schildgroesse' );
      clear_options( sg );
      add_option( sg, 'not_sel', '» Schildgröße', false );

    // Zweitens. Korrigiere die angebotenen Schildgroessen.
    // Korrigiere die Schildgroesse passlich, wenn ein Schildtyp ausgewaehlt ist.
    if ( (1198 == schildtyp) || (1396 == schildtyp) ) {
      add_option( sg, '73x27', '73 mm × 27 mm', true );
    }
    else if ( (1199 == schildtyp) || (1400 == schildtyp) ) {
      add_option( sg, '63x24', '63 mm × 24 mm', true );
    }
    else if ( (1200 == schildtyp) || (1401 == schildtyp) ) {
      add_option( sg, '50x17', '50 mm × 17 mm', true );
    }
    else if ( (1201 == schildtyp) || (1202 == schildtyp) ) {
      // Ronden
      add_option( sg, '50', 'ø 50 mm', true );
    }
    else if ( 1203 == schildtyp ) {
    // Schild mit Wunschgroesse
      document.getElementById( 'bau_schildgroesse' ).style.display = 'none';
      document.getElementById( 'bau_wunschgroesse' ).style.display = 'inline';
    
      var hoehe = readCookie( 'bau_schildhoehe' );
      var breite = readCookie( 'bau_schildbreite' );

      if ( null === hoehe || ('null' == hoehe) ) {
        hoehe = '';
      }
      if ( null === breite || ('null' == breite) ) {
        breite = '';
      }

      document.getElementById( 'bau_schildbreite' ).value = breite;
      document.getElementById( 'bau_schildhoehe' ).value = hoehe;
    }
    else {
      add_option( sg, '73x27', '73 mm × 27 mm', ('73x27' == groesse) );
      add_option( sg, '63x24', '63 mm × 24 mm', ('63x24' == groesse) );
      add_option( sg, '50x17', '50 mm × 17 mm', ('50x17' == groesse) );
      add_option( sg, '50', 'ø 50 mm', ('50' == groesse) );
    }

    if ( 1203 != schildtyp ) {
      document.getElementById( 'bau_schildgroesse' ).style.display = 'inline';
      document.getElementById( 'bau_wunschgroesse' ).style.display = 'none';
    }

  // Drittens. Wenn keine Gravur ausgewaehlt ist, versteck das Eingabefeld.
  if ( 'keine' == gravur ) {
    hide_gravur( );
  }
  else {
    show_gravur( );
  }
}

function variantenconf2() {
  var gravur = document.getElementById( 'bau_gravurtyp' ).value;
  if ( 'keine' == gravur ) {
    hide_gravur( );
  }
  else {
    show_gravur( );
  }
}

$(document).ready(function() {
      
  /* jquery-ui resizable elements */
  $(".resizable").resizable({
    minWidth: 367,
    maxWidth: 367,
    minHeight: 50,
    maxHeight: 200
  });
     
});

$(document).ready(function() {
                      
    
 
	/* hinweis gravurtext modal dialog */
	$("#grav_link").click(function(){
    gravaccept( );
// 		$("#gravurtext").dialog("open");
		return false;
	});
	    

  $('#bau_motiv').change( function( ) {
    var option = $('#bau_motiv').selectedOptions( );

    if ( '000' == option[0].value || '999' == option[0].value ) {

      var eigeneslogocookie = readCookie( 'pokaldiscounter_eigeneslogo' );
      if ( null === eigeneslogocookie ) {
        $("#eigeneslogohinweis").dialog("open");
	      createCookie( 'pokaldiscounter_eigeneslogo', true, 0 );
      }
      
      $("#eigeneslogo_button").fadeIn( );
    }
    else {
      $("#eigeneslogo_button").fadeOut( );
    }
  });

  // Ist das eigene Logo bereits von anfang an ausgewaehlt, bitte einblenden!
  var o = readCookie( 'bau_motiv' );
  if ( '000' == o || '999'==o) {
    $('#eigeneslogo_button').fadeIn( );
  }


  $("#eigeneslogo_button").click(function(){
    $("#eigeneslogohinweis").dialog("open");
    return false;
  });


  // HTML-Texte hierzu in templates/parts/produktseiten.inc.html
	$("#gravurtext").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		width: 300,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});


  $("#eigeneslogohinweis").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		width: 800,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});
    

	$("#zugefuegttext").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		width: 300,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});


});
$(document).ready(function() {
    
    // --------------
	// Rabatt-Anfrage modal dialog
	
	$("#rabatt_link").click(function(){
		$("#rabatt").dialog("open");
		return false;
	});

	$("#rabatt").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		width: 500,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
				}
		}
	});
	         
  /* rabatten-anfrage modal dialog */
	$("#rabatten_link").click(function(){
		$("#rabatten").dialog("open");
		return false;
	});

	$("#rabatten").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		width: 500,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
				}
		}
	});
	
	/* zahlungsweise modal dialog */
	$("#zahlung_link").click(function(){
		$("#zahlung").dialog("open");
		return false;
	});

	$("#zahlung").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
				}
		}
	});
	
	/* paypal modal dialog */
	$("#paypal_link").click(function(){
		$("#paypal").dialog("open");
		return false;
	});

	$("#paypal").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		width: 500,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
				}
		}
	});

	/* widerruf/rueckgabe modal dialog */
	$("#widerruf_link").click(function(){
		$("#widerruf").dialog("open");
		return false;
	});

	$("#widerruf").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
    width: 600,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
				}
		}
	});
  
	

  

	
	/* optische hervorhebung von pokal-typen per klick */

	/* hilfsfunktion fuer: alles auf normal zurueck */
	function marker_reset( div_id, class_id_arr )
	{
		for( i = 0; i < class_id_arr.length; i++ )
		{
			$( div_id + " " + class_id_arr[i]).css({ "background-color" : "#fff" });
		}
		$( div_id + " .product" ).fadeTo( "fast", 1.0 );
	}
	
	/* hilfsfunktion fuer: alle produkte einer div_id ausblenden */
	function fade_out( div_id )
	{
		$( div_id + " .product").fadeTo( "slow", 0.33 );
	}
	/* hilfsfunktion fuer: entsprechend div_id und class_id markieren */
	function marker_set( div_id, class_id )
	{
	   
		marker_reset( "#Pokale",
				new Array( ".serie1",
							".serie3",
							".serie4",
							".serie5",
							".serie6",
							".serie7",
							".serie8",
							".serie9",
							".serie10"
		));
		
		fade_out( div_id ); /* pauschal alle produkte einer div ausfaden */    
		$( div_id + " " + class_id ).fadeTo( "fast", 1.0 );         
		$( div_id + " " + class_id ).css({ "background-color" : "red" }); 
	}
	
	/* Der Resetbutton */
    $("#pokale_reset").click(function(){
        marker_reset( "#Pokale", new Array(".serie1", ".serie3", ".serie4", ".serie5",
            ".serie6", ".serie7", ".serie8", ".serie9",	".serie10"));
    });
    
    /* Die Auswahl-Buttons */
    $("#pokale_serie1").click(function(){ marker_set( "#Pokale", ".serie1" ); });
    $("#pokale_serie3").click(function(){ marker_set( "#Pokale", ".serie3" ); });
    $("#pokale_serie4").click(function(){ marker_set( "#Pokale", ".serie4" ); });
    $("#pokale_serie5").click(function(){ marker_set( "#Pokale", ".serie5" ); });
    $("#pokale_serie6").click(function(){ marker_set( "#Pokale", ".serie6" ); });
    $("#pokale_serie7").click(function(){ marker_set( "#Pokale", ".serie7" ); });
    $("#pokale_serie8").click(function(){ marker_set( "#Pokale", ".serie8" ); });
    $("#pokale_serie9").click(function(){ marker_set( "#Pokale", ".serie9" ); });
    $("#pokale_serie10").click(function(){ marker_set( "#Pokale", ".serie10" ); });
 
});

