$.fn.clearfocus = function() {
	return this.focus(function() {
		if( this.value == this.defaultValue ) {
			this.value = "";
		}
	}).blur(function() {
		if( !this.value.length ) {
			this.value = this.defaultValue;
		}
	});
};

/**
 * File Input Fix
 *
 * @author Jann Glasmachers  <glasmachers@gimmixx.de>
 * @copyright 2007 Jann Glasmachers
 */
fixFileInputSize = function (element, reachableWidth){
	if(element.style.width != 'auto'){
		element.style.width = 'auto';
	}

	while (element.offsetWidth < reachableWidth){
		element.size += 1;
	}

	element.size -= 1;
};

$(document).ready(function(){
	$("a").focus(function() {
		$(this).blur();
	});

	$('a.printbutton').click( function() {
        window.open( $(this).attr('href'),this,'width=655,height=700,scrollbars=yes' );
        return false;
    });

    jQuery('a.youtube').youtubin();

    jQuery('a.youtubesmall').youtubin({
        swfWidth : 330,
        swfHeight : 250
    });

	$("form.callbackform input#lastname").clearfocus();
	$("form.callbackform input#email").clearfocus();
	$("form.callbackform input#phone").clearfocus();
	$("form.callbackform input#message").clearfocus();

	// Fix File Upload Length except safari
	if($.browser.safari == false){
		for (var x = 0; x < document.forms.length; ++x){
			/*
			document.forms[x].onsubmit = function (){
				showLoading();
			}
			*/
			// Alle Form-Elemente des jeweiligen Form-Tags
			for (var y = 0; y < document.forms[x].elements.length; ++y) {
			// Nur Form-Elemente mit dem Type="file"
				if (document.forms[x].elements[y].type == 'file'){
					// Fix
					fixFileInputSize(document.forms[x].elements[y], 490);
				}
			}
		}
	}

});

if( document.addEventListener ) document.addEventListener( 'DOMContentLoaded', contactform, false );

function contactform(){

  // Hide forms
  $( 'form.contactform' ).hide().end();

  // Processing
  $( 'form.contactform' ).find( 'ol.blockstyle>li>label' ).not( '.nogx' ).each( function( i ){
    var labelContent = this.innerHTML;


    var labelWidth = document.defaultView.getComputedStyle( this, '' ).getPropertyValue( 'width' );

    var labelSpan = document.createElement( 'span' );
        labelSpan.style.display = 'block';
        labelSpan.style.width = labelWidth;
        labelSpan.innerHTML = labelContent;
    this.style.display = '-moz-inline-box';
    this.innerHTML = "";
    this.appendChild( labelSpan );
  } ).end();

  // Show forms
  $( 'form.contactform' ).show().end();
}

if( document.addEventListener ) document.addEventListener( 'DOMContentLoaded', callbackform, false );

function callbackform(){

  // Hide forms
  $( 'form.callbackform' ).hide().end();

  // Processing
  $( 'form.callbackform' ).find( 'ol.blockstyle>li>label' ).not( '.nogx' ).each( function( i ){
    var labelContent = this.innerHTML;


    var labelWidth = document.defaultView.getComputedStyle( this, '' ).getPropertyValue( 'width' );

    var labelSpan = document.createElement( 'span' );
        labelSpan.style.display = 'block';
        labelSpan.style.width = labelWidth;
        labelSpan.innerHTML = labelContent;
    this.style.display = '-moz-inline-box';
    this.innerHTML = "";
    this.appendChild( labelSpan );
  } ).end();

  // Show forms
  $( 'form.callbackform' ).show().end();
}