var agt         = navigator.userAgent.toLowerCase();
var is_major    = parseInt( navigator.appVersion );
var is_minor    = parseFloat( navigator.appVersion );
var is_nav      = ( ( agt.indexOf( 'mozilla' ) != -1 ) && ( agt.indexOf( 'spoofer' ) == -1 ) && ( agt.indexOf( 'compatible' ) == -1 ) && ( agt.indexOf( 'opera' ) == -1 ) && ( agt.indexOf( 'webtv' ) == -1 ) && ( agt.indexOf( 'hotjava' ) == -1 ) && ( is_major < 5 ) );
var is_nav6up   = ( ( is_nav && ( is_major >= 5 ) ) || ( agt.indexOf( 'gecko' ) != -1 ) );
var is_moz      = ( agt.indexOf( "gecko" ) != -1 );
var is_opera    = ( agt.indexOf( "opera" ) != -1 );
var is_ie       = ( ( agt.indexOf( "msie" ) != -1 ) && ( agt.indexOf( "opera" ) == -1 ) );
var is_ie3      = ( is_ie && ( is_major  < 4 ) );
var is_ie4      = ( is_ie && ( is_major == 4 ) && ( agt.indexOf( "msie 5"   ) == -1 ) );
var is_ie5      = ( is_ie && ( is_major == 4 ) && ( agt.indexOf( "msie 5.0" ) != -1 ) );
var is_ie55up   = ( is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var MAC         = navigator.platform.indexOf( "Mac" ) != -1;
var isIE        = ( navigator.appVersion.indexOf( "MSIE"    ) != -1 )? true : false;
var isWin       = ( navigator.appVersion.indexOf( "Windows" ) != -1 )? true : false;

var fpi_reqVer  = 4;
var fpi_redir   = false;
var fpi_fla2    = false;
var fpi_fla3    = false;
var fpi_fla4    = false;
var fpi_fla5    = false;
var fpi_fla6    = false;
var fpi_maxVer  = 6;
var fpi_actVer  = 0;
var fpi_ok      = false;
var fpi_jsVer   = 1.1;


function findObj( n, d ) {
  	var p,i,x;
	
	if ( !d ) {
		d = document; 
    }
	
	if ( ( p = n.indexOf( "?" ) ) > 0 && parent.frames.length ) {
    	d = parent.frames[n.substring( p + 1 )].document; 
		n = n.substring( 0,p );
	}
  
  	if ( !( x = d[n] ) && d.all ) {
		x = d.all[n]; 
    }
	
	for ( i = 0; !x && i < d.forms.length; i++ ) {
		x = d.forms[i][n];
    }
  
  	for ( i = 0; !x && d.layers && i < d.layers.length; i++ ) {
		x = findObj( n, d.layers[i].document );
    }
  
  	if ( !x && d.getElementById ) {
		x = d.getElementById( n );
    }
	
	return x;
};

function getSel() {
    var txt = '';
    
    if ( window.getSelection ) {
        txt = window.getSelection();
    } else if ( document.getSelection ) {
        txt = document.getSelection();
    } else if ( document.selection ) {
        txt = document.selection.createRange().text;
    } else {
        txt = '';
    }
    
    // return trimmed selection
    txt = new String( txt );
    return txt.replace( /^[ \n\r\t]+|[ \n\r\t]+$/g, "" );
};

function swapImage() {
  	var i, j = 0, x, a = swapImage.arguments; 
	document.MM_sr = new Array; 
	
	for ( i = 0; i < ( a.length - 2 ); i += 3 ) {
   		if ( ( x = findObj( a[i] ) ) != null ) {
			document.MM_sr[j++] = x; 
			
			if ( !x.oSrc ) {
				x.oSrc = x.src; 
            }
			
			x.src = a[i + 2];
		}
	}
};

function getVariant( self, media ) {
	target = self;
	args   = getArgs();
	
	if ( media != null ) {
		target += "?mode=" + media;
    }
	
	if ( args.length > 0 ) {
		for ( var i in args ) {
			target += "&" + args[i].key + "=" + args[i].value;
        }
	}
	
	document.location.href = target;
};

function getArgs() {
	passedArgs = new Array();
	
	search = self.location.href;
	search = search.split( '?' );
	
	if ( search[1] ) {
		argList = search[1];
		argList = argList.split( '&' );
		
		for ( var i = 0; i < argList.length; i++ ) {
			newArg = argList[i];
			newArg = argList[i].split( '=' );
			
			passedArgs[i] = new Object;
			passedArgs[i].key   = unescape( newArg[0] );
			passedArgs[i].value = unescape( newArg[1] );
		}
		
		return passedArgs;
	}
	
	return false;
};

function swapImgRestore() {
  	var i, x, a = document.MM_sr; 
	
	for ( i = 0; a && i < a.length && ( x = a[i] ) && x.oSrc; i++ ) {
		x.src = x.oSrc;
    }
};

function bookmark( url, label ) {
	var lang;
	var name    = navigator.appName;
	var version = navigator.appVersion;
 
 	if ( is_ie ) {
  		// lang = navigator.browserLanguage;   
  
  		if ( document.all ) {
			window.external.AddFavorite( url, label );
        }
 	} else if ( is_nav || is_nav6up || is_moz ) {
  		// lang = navigator.language;
  		alert( 'Bookmark: Bitte Strg + D drücken!' );
	} else {
		alert( 'Dieses Feature wird von Ihrem Browser nicht unterstützt.' );
	}
};

function getNiceDate( lang ) {
	var today = new Date();
	var day   = today.getDay();
	var date  = today.getDate();
	var month = today.getMonth() + 1;
	var year  = today.getFullYear();
	var out   = "";
	
	if ( day == 0 ) {
		dayName = "Sonntag";
	} else if ( day == 1 ) { 
		dayName = "Montag";
	} else if ( day == 2 ) { 
		dayName = "Dienstag";
	} else if ( day == 3 ) { 
		dayName = "Mittwoch";
	} else if ( day == 4 ) { 
		dayName = "Donnerstag";
	} else if ( day == 5 ) { 
		dayName = "Freitag";
	} else { 
		dayName = "Samstag";
    }
    
	if ( month == 1 ) {
		monthName = "Januar";
	} else if ( month == 2 ) { 
		monthName = "Februar";
	} else if ( month == 3 ) { 
		monthName = "M&auml;rz";
	} else if ( month == 4 ) { 
		monthName = "April";
	} else if ( month == 5 ) { 
		monthName = "Mai";
	} else if ( month == 6 ) { 
		monthName = "Juni";
	} else if ( month == 7 ) { 
		monthName = "Juli";
	} else if ( month == 8 ) { 
		monthName = "August";
	} else if ( month == 9 ) { 
		monthName = "September";
	} else if ( month == 10 ) { 
		monthName = "Oktober";
	} else if ( month == 11 ) { 
		monthName = "November";
	} else if ( month == 12 ) { 
		monthName = "Dezember";
    }

	year = year - 2000;

	if ( year < 10 ) {
		year = "0" + year;
    }

	if ( month < 10 ) {
		month = "0" + month;
    }

	switch ( lang ) {
		case "de":

		default:
			out = date + "." + month + "." + "20" + year;
	}
	
	return out;
};

function openWindow( file, popname, width, height, scroll, menu ) {
	pop = window.open( file, popname, 'toolbar=0,location=no,directories=0,status=yes,menubar=' + ( menu || 0 ) + ',scrollbars=' + ( scroll || 0 ) + ',resizable=0,width=' + width + ',height=' + height + ',left=' + ( screen.availWidth - width ) / 2 + ',top=' + ( screen.availHeight - height ) / 2 )
	pop.focus()
};

function encodeURL( sStr ) {
    return escape( sStr ).replace( /\+/g, '%2B' ).replace( /\"/g,'%22' ).replace( /\'/g, '%27' );
};

function checkForm() {
	var fv = new FormValidation( myform );
	return fv.validate();
};

function checkEmail( str ) {
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    
    if ( filter.test( str ) ) {
        return true;
    } else {
        return false;
    }
};

function isValid( form_ele ) {
    var name    = form_ele.name.value;
    var surname = form_ele.surname.value;
    var phone   = form_ele.phone.value;
    var email   = form_ele.email.value;
    var message = '';
    
    if ( name == '' ) {
        message += msg_no_name + "\n";
    }
    
    if ( surname == '' ) {
        message += msg_no_surname + "\n";
    }
    
    if ( phone == '' ) {
        message += msg_no_phone + "\n";
    }
    
    if ( email == '' ) {
        message += msg_no_email + "\n";
    }
    
    if ( email != '' && !checkEmail( email ) ) {
        message += msg_invalid_email + "\n";
    }
    
    if ( message ) {
        alert( message );
        return false;
    } else {
        return true;
    }
};

function detectFlash()  {
	if ( navigator.plugins ) {
		if ( navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"] ) {
			var isVersion2       = navigator.plugins["Shockwave Flash 2.0"]? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
			var flashVersion     = parseInt(flashDescription.charAt( flashDescription.indexOf( "." ) - 1 ) );

			fpi_fla2 = flashVersion == 2;
			fpi_fla3 = flashVersion == 3;
			fpi_fla4 = flashVersion == 4;
			fpi_fla5 = flashVersion == 5;
			fpi_fla6 = flashVersion >= 6;
		}
	}

	for ( var i = 2; i <= fpi_maxVer; i++ ) {
		if ( eval( "fpi_fla" + i ) == true ) { 
			fpi_actVer = i;
        }
	}
	
	if ( navigator.userAgent.indexOf( "WebTV" ) != -1 ) {
		fpi_actVer = 3;
    }
	
	if ( fpi_actVer >= fpi_reqVer ) {
		if ( fpi_redir ) {
			if ( fpi_jsVer > 1.0 ) {
				window.location.replace( flashPage );
			} else {
				window.location = flashPage;
            }
		}
		
		fpi_ok = true;
	} else {
		if ( fpi_redir ) {
			if ( fpi_jsVer > 1.0 ) {
				window.location.replace( ( fpi_actVer >= 2 )? upgradePage : noFlashPage );
			} else {
				window.location = ( fpi_actVer >= 2 )? upgradePage : noFlashPage;
            }
		}
	}
};


if ( isIE && isWin ) {
	document.write( '<SCR' + 'IPT LANGUAGE=VBScript\> \n' );
	document.write( 'on error resume next \n' );
	document.write( 'fpi_fla2 = ( IsObject( CreateObject( "ShockwaveFlash.ShockwaveFlash.2" ) ) ) \n' );
	document.write( 'fpi_fla3 = ( IsObject( CreateObject( "ShockwaveFlash.ShockwaveFlash.3" ) ) ) \n' );
	document.write( 'fpi_fla4 = ( IsObject( CreateObject( "ShockwaveFlash.ShockwaveFlash.4" ) ) ) \n' );
	document.write( 'fpi_fla5 = ( IsObject( CreateObject( "ShockwaveFlash.ShockwaveFlash.5" ) ) ) \n' );
	document.write( 'fpi_fla6 = ( IsObject( CreateObject( "ShockwaveFlash.ShockwaveFlash.6" ) ) ) \n' );
	document.write( '</SCR' + 'IPT\> \n' );
}

detectFlash();
