// JavaScript Document

window.onload = function(){
	if(butPrint = document.getElementById("drucken")){
		butPrint.onclick = function(){
			window.print();
		}
	}
	var e = document.getElementById("pagecenter");
	var pageSize = WindowUtilities.getPageSize();
	e.style.height = (pageSize.pageHeight + 'px');
	
	var n = document.getElementById("mainnav");
	var navSize = pageSize.pageHeight-110;
	n.style.height = (navSize + 'px');
	
	var b = document.getElementsByTagName("body")[0];
	b.style.backgroundImage = "url(img/bgbody.gif)";
	b.style.backgroundRepeat ="repeat-y";
	
	if(u = document.getElementById("nowordonly")){
		
		if( document.getElementById("wordonly").checked == true ){
			u.style.display = 'none';
			document.getElementById("nocharacters").style.display = '';
		}
		else if( document.getElementById("imageonly").checked == true ){
			u.style.display = '';
			document.getElementById("nocharacters").style.display = 'none';
		}
		else if( document.getElementById("wordimage").checked == true ){
			u.style.display = '';
			document.getElementById("nocharacters").style.display = '';
		} 
		
		document.getElementById("imageonly").onclick = function(){
			u.style.display = '';
			document.getElementById("nocharacters").style.display = 'none';
			if(imgvorhanden = document.getElementById("nowordonlyimg")){
				imgvorhanden.style.display = '';
			}
		}
		document.getElementById("wordimage").onclick = function(){
			u.style.display = '';
			document.getElementById("nocharacters").style.display = '';
			if(imgvorhanden = document.getElementById("nowordonlyimg")){
				imgvorhanden.style.display = '';
			}
		}
		document.getElementById("wordonly").onclick = function(){
			u.style.display = 'none';
			document.getElementById("nocharacters").style.display = '';
			if(imgvorhanden = document.getElementById("nowordonlyimg")){
				imgvorhanden.style.display = 'none';
			}
		}
		
		document.getElementById("orderform").onsubmit = function(){

			if( !leerfield("firstname",'Please enter your First Name!') ) return false;
			if( !leerfield("lastname",'Please enter your Family Name!') ) return false;
			if( !leerfield("address1",'Please enter your Address!') ) return false;
			if( !leerfield("Postal",'Please enter your Postal Code!') ) return false;
			if( !leerfield("City",'Please enter your City!') ) return false;
			if( !selectfield("Country",'Please select a Country!') ) return false;
			if( !leerfield("Phone",'Please enter your Phone number!') ) return false;
			if( !emailfield("Email",'Please confirm your Email address!') ) return false;
			if( !emailfield("Email2",'Please confirm your Email address!') ) return false;
			if( !identfield("Email","Email2",'Email has to be identical!') ) return false;
			
			if( !radiofield('wordonly','imageonly','wordimage','Please select word only or image only or word + image!','characters','Please enter the Sequence of characters!','Upload','Please upload a Image!','Only image of type .gif or .jpg is allowed!') ) return false;
			if( !arrcheck("c",'Please select at least one of the Nice Classes!') ) return false;
			if( !checkbox("agb",'Please agree to the Terms and Conditions!') ) return false;
			
		}
		
	}
	
}

function leerfield(feld,meldung){
	if( document.getElementById( feld ).value == "" ){
		alert( meldung );
		document.getElementById( feld ).focus();
		return false;
	}
	else
		return true;
}

function arrcheck(feld,meldung){
	for(i=1; i<46; i++){
		$idname = feld + i;
		if( document.getElementById( $idname ).checked == true )
			return true;
	}
		alert( meldung );
		document.getElementById( feld + 1 ).focus();
		return false;
}

function identfield(feld,feld2,meldung){
	if( document.getElementById( feld ).value != document.getElementById( feld2 ).value ){
		alert( meldung );
		document.getElementById( feld ).focus();
		return false;
	}
	else
		return true;
}

function checkbox(feld,meldung){
	if( !document.getElementById( feld ).checked ){
		alert( meldung );
		document.getElementById( feld ).focus();
		return false;
	}
	else
		return true;
}

function radiofield(feld1,feld2,feld3,meldung,feldaus1,meldung1,feldaus2,meldung2,meldung3){
	if( document.getElementById( feld1 ).checked == true ){
		if( document.getElementById( feldaus1 ).value == "" ){
			alert( meldung1 );
			document.getElementById( feldaus1 ).focus();
			return false;
		}
		else
			return true;
	}
	else if( document.getElementById( feld2 ).checked == true ){
		if( uploadedimg = document.getElementById( "Uploaded" ) ) {
			var uploadedlaenge = uploadedimg.value.lastIndexOf('.');
			var uploadedTeil = uploadedimg.value.substr(uploadedlaenge).toLowerCase();
			if( uploadedTeil != '.gif' && uploadedTeil != '.jpg' && uploadedTeil != '.jpeg' ){
				uploadedimg = false;
			}
		}
		else uploadedimg = false;
		
		if( document.getElementById( feldaus2 ).value == "" && uploadedimg === false){
			alert( meldung2 );
			document.getElementById( feldaus2 ).focus();
			return false;
		}
		else if( document.getElementById( feldaus2 ).value != "" ){
			var Begriff = document.getElementById( feldaus2 ).value;
			var laenge = Begriff.lastIndexOf('.');
			var Teil = Begriff.substr(laenge).toLowerCase();
			if( Teil != '.gif' && Teil != '.jpg' && Teil != '.jpeg' ){
				alert( meldung3 );
				document.getElementById( feldaus2 ).focus();
				return false;
			}
			else
				return true;
		}
		else return true;
	}
	if( document.getElementById( feld3 ).checked == true ){
		if( uploadedimg = document.getElementById( "Uploaded" ) ) {
			var uploadedlaenge = uploadedimg.value.lastIndexOf('.');
			var uploadedTeil = uploadedimg.value.substr(uploadedlaenge).toLowerCase();
			if( uploadedTeil != '.gif' && uploadedTeil != '.jpg' && uploadedTeil != '.jpeg' ){
				uploadedimg = false;
			}
		}
		else uploadedimg = false;
		
		if( document.getElementById( feldaus1 ).value == "" ){
			alert( meldung1 );
			document.getElementById( feldaus1 ).focus();
			return false;
		}
		else if( document.getElementById( feldaus2 ).value == "" && uploadedimg === false ){
			alert( meldung2 );
			document.getElementById( feldaus2 ).focus();
			return false;
		}
		if( document.getElementById( feldaus2 ).value == "" && uploadedimg === false){
			alert( meldung2 );
			document.getElementById( feldaus2 ).focus();
			return false;
		}
		else if( document.getElementById( feldaus2 ).value != "" ){
			var Begriff = document.getElementById( feldaus2 ).value;
			var laenge = Begriff.lastIndexOf('.');
			var Teil = Begriff.substr(laenge).toLowerCase();
			if( Teil != '.gif' && Teil != '.jpg' && Teil != '.jpeg' ){
				alert( meldung3 );
				document.getElementById( feldaus2 ).focus();
				return false;
			}
			else
				return true;
		}
		else return true;
	}
	else{
		alert( meldung );
		document.getElementById( feld1 ).focus();
		return false;
	}
}

function selectfield(feld,meldung){
	
	if( document.getElementById( feld ).options[document.getElementById( feld ).selectedIndex].value == "" ){
		alert( meldung );
		document.getElementById( feld ).focus();
		return false;
	}
	else
		return true;
}

function emailfield(feld,meldung){
	if( document.getElementById( feld ).value == "" ){
		alert( meldung );
		document.getElementById( feld ).focus();
		return false;
	}
	else{
		var email = document.getElementById( feld ).value
		var datePat = /^[A-z0-9][\w.-]*@[A-z0-9-\.]+\.[A-z0-9]{2,6}$/;
		if(email.search(datePat)){
		   alert( meldung );
		   document.getElementById( feld ).focus();
		   return false;
		}
		else
  			return true;
  }
}



var WindowUtilities = {
  getWindowScroll: function() {
    var w = window;
      var T, L, W, H;
      with (w.document) {
        if (w.document.documentElement && documentElement.scrollTop) {
          T = documentElement.scrollTop;
          L = documentElement.scrollLeft;
        } else if (w.document.body) {
          T = body.scrollTop;
          L = body.scrollLeft;
        }
        if (w.innerWidth) {
          W = w.innerWidth;
          H = w.innerHeight;
        } else if (w.document.documentElement && documentElement.clientWidth) {
          W = documentElement.clientWidth;
          H = documentElement.clientHeight;
        } else {
          W = body.offsetWidth;
          H = body.offsetHeight
        }
      }
      return { top: T, left: L, width: W, height: H };
    
  }, 
  getPageSize: function(){
  	var xScroll, yScroll;

  	if (window.innerHeight && window.scrollMaxY) {	
  		xScroll = document.body.scrollWidth;
  		yScroll = window.innerHeight + window.scrollMaxY;
  	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
  		xScroll = document.body.scrollWidth;
  		yScroll = document.body.scrollHeight;
  	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
  		xScroll = document.body.offsetWidth;
  		yScroll = document.body.offsetHeight;
  	}

  	var windowWidth, windowHeight;

  	if (self.innerHeight) {	// all except Explorer
  		windowWidth = self.innerWidth;
  		windowHeight = self.innerHeight;
  	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
  		windowWidth = document.documentElement.clientWidth;
  		windowHeight = document.documentElement.clientHeight+105;
		windowHeight2 = document.documentElement.clientHeight;
		if (windowHeight2>windowHeight) windowHeight = windowHeight2;
		
  	} else if (document.body) { // other Explorers
  		windowWidth = document.body.clientWidth;
  		windowHeight = document.body.clientHeight;
  	}	
  	var pageHeight, pageWidth;

  	// for small pages with total height less then height of the viewport
  	if(yScroll < windowHeight){
  		pageHeight = windowHeight;
  	} else { 
  		pageHeight = yScroll;
  	}

  	// for small pages with total width less then width of the viewport
  	if(xScroll < windowWidth){	
  		pageWidth = windowWidth;
  	} else {
  		pageWidth = xScroll;
  	}
  	return {pageWidth: pageWidth ,pageHeight: pageHeight , windowWidth: windowWidth, windowHeight: windowHeight};
  } 
}