var dur = 0.2;
var opacity = 0.5;
var iCatPath = '';
var body = null;
//content = '<div id="iCatWrapper"><div id="iCatMenu"><a href="javascript:;" onClick="iCat_hide()">Katalog schließen&nbsp;<img src="/img/close.gif" alt="Katalog schlie&szlig;en" border="0" align="absbottom"></a></div><div id="iCatLayer"><div id="iCatHolder">&nbsp;</div></div><div id="iCatBG" class="alpha0" onClick="hide_iCat()">&nbsp;</div></div>';
//new Insertion.Top('body', content);

function getScroll(){
	var ScrollTop = document.body.scrollTop;
	if (ScrollTop == 0){
		if (window.pageYOffset)
        	ScrollTop = window.pageYOffset;
   		else
	        ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
		}
	return ScrollTop
	}


function iCat_show(path) {
	iCatPath = path;
	
	// Place the iCat Layers if they do not exist already
	if(!$('iCatWrapper')) {
		content = '<div id="iCatWrapper"><div id="iCatMenu"><div id="iCatCloseLink"><a href="javascript:;" onClick="iCat_hide()" onmouseover="window.status=\'Katalog schließen\'; return true;" onmouseout="window.status=\'\'; return true;">Katalog schlie&szlig;en&nbsp;<img src="/icat/fe/img/close.gif" alt="Katalog schließen" border="0" align="absbottom" width="13" height="13"></a></div></div><div id="iCatLayer"><div id="iCatHolder" align="center" style="display:none;"><br><br><br><br>Die Onlinekataloge zum bl&auml;ttern ben&ouml;tigen den <b>Adobe Flash Player</b>!<br>Bitte klicken Sie auf den Button weiter unten um Adobe Flash zu installieren.<br><br><a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BIOW" target="_blank"><img src="/icat/fe/img/get_flash_player.gif" alt="Flash Player herunterladen" width="88" height="31" border="0"></a><br></div></div><div id="iCatBG">&nbsp;</div></div>';
		body = document.getElementsByTagName('body')[0];
		new Insertion.Top(body, content);
		}
	
	$('iCatBG').setStyle({opacity:'0'});

	// Disable Scrolling
	body.setStyle({overflow:'hidden'});

	$top = getScroll();
	$('iCatWrapper').setStyle({top:getScroll(),left:0});
	$('iCatWrapper').show();
	iCatBG_show();
		
	document.onscroll = function() {
		// Scrolling-Fix for Safari
		$('iCatWrapper').setStyle({top:getScroll(),left:0});
		}
	}

function iCat_hide() {
	$('iCatHolder').innerHTML = ''
	$('iCatCloseLink').hide();
	new Effect.Fade('iCatLayer',{duration: dur,fps:100,afterFinish: iCatBG_hide})
	// Enable Scrolling
	body.setStyle({overflow:'scroll'});
	// Remove Scrolling-Fix for Safari
	// alert(document.onscroll);
	if(typeof(document.onscroll) == 'function') {
		document.onscroll = null;
		}
	}
	
function hide_iCatLayer() {
	new Effect.Fade('iCatLayer',{duration: dur,fps:100})
	}
	
function show_iCatLayer() {
	new Effect.Appear('iCatLayer',{duration: dur,fps:100,afterFinish: placeSWF})
	}
	
function iCatBG_show() {
	new Effect.Appear('iCatBG',{from: 0,to: opacity,duration: dur,fps:100, afterFinish: show_iCatLayer})
	}

function iCatBG_hide() {
	new Effect.Fade('iCatBG',{from: opacity,to:0,duration: dur,fps:100, afterFinish: iCatWrapper_hide})
	}
	
function iCatWrapper_hide() {
	$('iCatWrapper').remove();
	}

function placeSWF() {
	var so = new SWFObject(iCatPath + '/blaetterkatalog/blaetterkatalog/swf/blaetterkatalog.swf', "bkflash", "100%", "100%", "6", "#FFFFFF");
	so.addParam("quality", "low");
	so.addParam("quality","HIGH");
	so.addParam("allowScriptAccess","sameDomain");
	so.addParam("salign", "t");
	so.addParam("scale", "noborder");
	so.addVariable("catalog_config", iCatPath + "/blaetterkatalog/blaetterkatalog/xml/");
	so.addVariable("pagenr", "0");
	so.addVariable("sid","0");
	so.write("iCatHolder");
	$('iCatHolder').show();
	new Effect.Appear('iCatCloseLink',{duration: dur,fps:100})
	}

var errorRemover = {
	removeErrorClassOnKeypress: function (e) {
		this.previous().removeClassName('error');
		$(this).stopObserving('keypress',errorRemover.removeErrorClassOnKeypress.bindAsEventListener());
	}
}

function isValid( element ) {
	var returnValue = true;
	if ( (!$(element).present)||($(element).value.length < 3) || ($(element).value == "test") || ($(element).value == "asdf") )  {
			returnValue = false;
	} else if ( $(element).name == "tx_mlicat_orders[name]" ) {
	} else if ( $(element).name == "tx_mlicat_orders[street]" ) {
	} else if ( $(element).name == "tx_mlicat_orders[plz]" ) {
		if ( $F(element).gsub('D-','') != $F(element) ) {
			$(element).value = $(element).value.gsub('D-','');	
			$('tx_mlicat_orders[country]').value = 54;
		} else if ( $F(element).gsub('A-','')  != $F(element) ) {
			$F(element)= $F(element).gsub('A-','');
			$('tx_mlicat_orders[country]').value = 13;
		}
		
		if ( $('tx_mlicat_orders[country]').value == 13) {
			if ( ( $(element).value.length != 4 ) || ( isNaN($(element).value) ) ) {
				returnValue = false;
			}
		} else if ( $('tx_mlicat_orders[country]').value == 54 ) { /* deutsche PLZ */
			if ( ( $(element).value.length != 5 ) || ( isNaN($(element).value) ) ) { 
				returnValue = false;
			}
		} // sonst ist's ein anderes land, und die postleitzahl ist nicht korrigierbar...

	} else if ( $(element).name == "tx_mlicat_orders[city]" ) {
	} else if ( !$(element).present() ) {
		returnValue = false;
	}
	return returnValue;
}

function checkInput( formName ) {
	var checkboxes = Form.getInputs( formName, 'checkbox' );
	var inputStrings = Form.getInputs( formName, 'text');
	var catOK = false;
	if ( Form.serializeElements( checkboxes ) == '' ) {
		if ( $('pleaseSelectCatalogue') ) {
			Effect.Pulsate($('pleaseSelectCatalogue'),{duration: 0.7,pulses: 2});	
		} else {
			if ( !$('pleaseFillOut') ) {
					//create new div and text
				var divEl = document.createElement('div');
				Element.addClassName( divEl, 'error' );
				var divID = document.createAttribute("id");
				divID.nodeValue = "pleaseSelectCatalogue";
				divEl.setAttributeNode(divID);
				$(divEl).appendChild(document.createTextNode('Bitte w\u00e4hlen Sie mindestens einen Katalog aus!'));
				$($('submitRow').parentNode).insertBefore( divEl, $('submitRow') );
			}
		}
	} else {
		if ( $('pleaseSelectCatalogue') ) {
			$('pleaseSelectCatalogue').remove();
		}
		catOK = true;
	}
	var firstInvalid=-1;
	var lastInvalid=-1;
	var errorString = "";
	var i = 0;
	for ( i=0; i< 4; i++ ) {
		if ( !isValid(inputStrings[i]) ) {
			if ( firstInvalid == -1 ) {
				firstInvalid = i;
			}
			lastInvalid = i;
			$($(inputStrings[i]).previous()).addClassName('error');
			$(inputStrings[i]).observe('keypress', errorRemover.removeErrorClassOnKeypress.bindAsEventListener($(inputStrings[i])));
		}
	}

	if ( firstInvalid != -1 ) {
		if ( lastInvalid != firstInvalid ) {
				errorString = 'Bitte die rot markierten Felder korrekt angeben!';
		} else {
			switch (firstInvalid) {
				case 0:
					errorString = 'Bitte geben Sie einen Namen an!';	
					break;
				case 1:
					errorString = 'Bitte geben Sie eine Stra\u00DFe an!';	
					break;
				case 2:
					errorString = 'Bitte geben Sie eine Postleitzahl an!';	
					break;
				case 3:
					errorString = 'Bitte geben Sie einen Wohnort an!';	
					break;
			}
		}
		
		$(inputStrings[firstInvalid]).focus();

		if ( $('pleaseFillOut') ) {
			$('pleaseFillOut').replaceChild(document.createTextNode( errorString ),$('pleaseFillOut').firstChild);
			Effect.Pulsate($('pleaseFillOut'),{duration: 0.7,pulses: 2});	
		} else { 
			if ( !$('pleaseSelectCatalogue') ) {
				var divEl = document.createElement('div');
				Element.addClassName( divEl, 'error' );
				var divID = document.createAttribute("id");
				divID.nodeValue = "pleaseFillOut";
				divEl.setAttributeNode(divID);
				$(divEl).appendChild(document.createTextNode( errorString ));
				$($('submitRow').parentNode).insertBefore( divEl, $('submitRow') );
			}
		}
	} else { 
		if ($('pleaseFillOut')) {
			$('pleaseFillOut').remove();
		}
		if ( catOK ) {
			formName.submit();
		}
	}
}
