/**
 * @author	Jean-Pierre Praz <jean-pierre.praz@crealogix.com>
 * 
 * 18.09.2006 - 07.2010
 *
 */
 
		var doCheck = 1;
		
			// if we want to delete stored values we do not need to check them so we set doCheck = 0
		function submitDelete( formName ) {
			
			doCheck = 0;
			return true;
			
		}
		
		
			// check values before submit, if there are data errors prevent submitting
		function checkInput( formName ) {
			
			var returnVal = true;
			var jgOK = false;
			var franchOK = false;
			
			if( doCheck ) {
				
					// check franchise
				if( document.forms[formName] && document.forms[formName].elements['kkv-franch'] ) {
					if( !(document.forms[formName].elements['kkv-franch'].value.match(/^[e,k]{1}[0-9]/) && document.forms[formName].elements['kkv-franch'].value.length < 7) ) {
			  		changeState("kkv-franch", 1);
			  		returnVal = false;
				  }
					else {
						franchOK = true;
						changeState("kkv-franch");
					}
				}
					
					// check jahrgang
				if( document.forms[formName] && document.forms[formName].elements['kkv-jg'] ) {
					if( !document.forms[formName].elements['kkv-jg'].value.match(/^[1-9]\d{3}$/) ) {
			  		changeState("kkv-jg", 1);
			  		returnVal = false;
				  }
					else {
						jgOK = true;
						changeState("kkv-jg");
					}
				}
					
					// check postleitzahl
				if( document.forms[formName] && document.forms[formName].elements['kkv-plz'] ) {
					if( !document.forms[formName].elements['kkv-plz'].value.match(/^[1-9]\d{3}$/) ) {
				  	changeState("kkv-plz", 1);
				  	returnVal = false;
				  }
					else {
						changeState("kkv-plz");
					}
				}
				
					// check jahrgang franchise conflict
				if( window.aktionsjahr && jgOK && franchOK ) {
					if( ( aktionsjahr - document.forms[formName].elements['kkv-jg'].value ) > 18 && document.forms[formName].elements['kkv-franch'].value.indexOf("k") == 0 ) {
			  		changeState("kkv-franch", 1);
			  		returnVal = false;							
					}
					else if( ( aktionsjahr - document.forms[formName].elements['kkv-jg'].value ) <= 18 && document.forms[formName].elements['kkv-franch'].value.indexOf("e") == 0 ) {
			  		changeState("kkv-franch", 1);
			  		returnVal = false;
					}
				}
				
					// check postleitzahl fine selection
				if( document.forms[formName] && document.forms[formName].elements['kkv-fine-plz'] ) {
					if( !document.forms[formName].elements['kkv-fine-plz'].value.match(/^[1-9]\d{5}$/) ) {
				  	changeState("kkv-fine-plz", 1);
				  	returnVal = false;
				  }
					else {
						changeState("kkv-fine-plz");
					}
				}
				
				
					// check zusatzversicherung
				if( document.forms[formName] && document.forms[formName].elements['kkv-zus'] ) {
					if( !document.forms[formName].elements['kkv-zus'].value.match(/^[1-9]{1}$/) ) {
				  	changeState("kkv-zus", 1);
				  	returnVal = false;
				  }
					else {
						changeState("kkv-zus");
					}
				}
				
					// check birth
				if( document.forms[formName] && document.forms[formName].elements['kkv-geb'] ) {
					if( !document.forms[formName].elements['kkv-geb'][0].checked &&
							!document.forms[formName].elements['kkv-geb'][1].checked &&
							document.getElementById( 'kkv-geb-1' ).parentNode.className.match( /female/ ) ) {
				  	changeState("kkv-geb-1", 1);
				  	changeState("kkv-geb-2", 1);
				  	returnVal = false;
				  }
					else {
				  	changeState("kkv-geb-1");
				  	changeState("kkv-geb-2");
					}
				}
				
					// check current kk
				if($("form#" + formName + " select[name=kkv-currentkk] option:selected").val()) {
					if($("form#" + formName + " select[name=kkv-currentkk-mod] option:selected").val()) {
				  	changeState("kkv-currentkk-mod");
					}
					else {
				  	changeState("kkv-currentkk-mod", 1);
				  	returnVal = false;
					}
				}
				

					// check models
				if($("form#" + formName + " input[name*=kkv-mod-]:checkbox").length > 0 && $("form#" + formName + " input[name*=kkv-mod-]:checked").length === 0) {												
			  	changeState("kkv-mod-1", 1);
			  	changeState("kkv-mod-2", 1);
			  	changeState("kkv-mod-3", 1);
			  	changeState("kkv-mod-4", 1);
			  	returnVal = false;
			  }
				else {
			  	changeState("kkv-mod-1");
			  	changeState("kkv-mod-2");
			  	changeState("kkv-mod-3");
			  	changeState("kkv-mod-4");
				}						
				
				
		  } // if ( doCheck )
		  
		  	// show or hide errormessage
		  if(!returnVal) {
		  	changeState("error-message-first-child", 1);
		  }
		  else {
		  	changeState("error-message-first-child");
		  }
		  
		  doCheck = 1;
		  
		  return returnVal;
		}
		
		
		var doFormMailCheck = 1;
		
			// check values of formmail before submit, if there are data errors prevent submitting
		function checkMailFormInput(formName, requiredFields ) {
			if( doFormMailCheck ) {
				var returnVal = true;
				if(document.forms[formName]) {
					for(var i = 0; i < requiredFields.length; i++ ) {
						if( requiredFields[i] ) {
							
							var radiobutton = null;
							if( document.forms[formName].elements[requiredFields[i]][0] && document.forms[formName].elements[requiredFields[i]][0].type && document.forms[formName].elements[requiredFields[i]][0].type == "radio" ) {
								radiobutton = document.forms[formName].elements[requiredFields[i]][0];
							}
							
							var cbox = null;
							if( document.forms[formName].elements[requiredFields[i]][0] && document.forms[formName].elements[requiredFields[i]][0].type && document.forms[formName].elements[requiredFields[i]][0].type == "checkbox" ) {
								cbox = document.forms[formName].elements[requiredFields[i]][0];
							}
							
							var select = null;
							if( document.getElementById(requiredFields[i]).nodeName == "SELECT"  ) {
								select = document.getElementById(requiredFields[i]);
							}
														
							if( radiobutton ) {
								var opt = -1;
								for (var k = document.forms[formName].elements[requiredFields[i]].length - 1; k > -1; k--) {
									if ( document.forms[formName].elements[requiredFields[i]][k].checked ) {
										opt = i;
									}
								}
								if ( opt == -1) {
									changeState( requiredFields[i] , 1 );
									for (var k = document.forms[formName].elements[requiredFields[i]].length - 1; k > 0; k-- ) {
										changeState( (requiredFields[i] + "_" + k) , 1 );
									}
									returnVal = false;
								}
								else {
									changeState( requiredFields[i] );
									for (var k = document.forms[formName].elements[requiredFields[i]].length - 1; k > 0; k-- ) {
										changeState( (requiredFields[i] + "_" + k) );
									}
								}								
							}
							else if( cbox ) {
								var opt = -1;
								for (var k = document.forms[formName].elements[requiredFields[i]].length - 1; k > -1; k--) {
									if ( document.forms[formName].elements[requiredFields[i]][k].checked ) {
										opt = i;
									}
								}
								if ( opt == -1) {
									changeState( requiredFields[i] , 1 );
									for (var k = document.forms[formName].elements[requiredFields[i]].length - 1; k > 0; k-- ) {
										changeState( (requiredFields[i] + "_" + k) , 1 );
									}
									returnVal = false;
								}
								else {
									changeState( requiredFields[i] );
									for (var k = document.forms[formName].elements[requiredFields[i]].length - 1; k > 0; k-- ) {
										changeState( (requiredFields[i] + "_" + k) );
									}
								}
							}
							
							else if( select ) {
								var isOk = true;
								var index = document.forms[formName].elements[requiredFields[i]].selectedIndex;
								if( index ) {
									if( select.getElementsByTagName( "option" )[index].value == "" ) {
										isOk = false;
									}
								}
								else {
									isOk = false;
								}
								
								if( isOk ) {
									changeState( requiredFields[i] );
								}
								else {
									changeState( requiredFields[i] , 1 );
									returnVal = false;
								}
							}
							
							else if( !document.forms[formName].elements[requiredFields[i]].value ) {
								changeState( requiredFields[i] , 1 );
								returnVal = false;
							}
							else {
								changeState( requiredFields[i] );
							}
						}
					}
				}
				
			  	// show or hide errormessage
			  if(!returnVal) {
			  	changeState("error-message-first-child", 1);
			  }
			  else {
			  	changeState("error-message-first-child");
			  }

				return returnVal;
				
			}
			else {
				
				doFormMailCheck = 1;
				
				return false;
				
			}
			
		}
		
			// deletes entries in formmail, reset error-style
		function submitMailFormDelete(formName, requiredFields ) {
			
			doFormMailCheck = 0;
			
		  changeState("error-message-first-child");
			
			if(document.forms[formName]) {
				
				document.forms[formName].reset();

				for(var i = 0; i < requiredFields.length; i++ ) {
					if( requiredFields[i] ) {
						
						var radiobutton = null;
						if( document.forms[formName].elements[requiredFields[i]][0] && document.forms[formName].elements[requiredFields[i]][0].type && document.forms[formName].elements[requiredFields[i]][0].type == "radio" ) {
							radiobutton = document.forms[formName].elements[requiredFields[i]][0];
						}
						if( radiobutton ) {
							changeState( requiredFields[i] );
							for (var k = document.forms[formName].elements[requiredFields[i]].length - 1; k > 0; k-- ) {
								changeState( (requiredFields[i] + "_" + k) );
							}						
						}
						else {
							changeState( requiredFields[i] );
						}
					}
				}				
			}
		}
		

			// show a different state of an input element to show users whether their input is ok or not
		function changeState(itemId, state ) {
			try {
				var item = document.getElementById( itemId );
				if( state ) {
					//item.parentNode.className = "data-error";
					if( !item.parentNode.className.match(/data\-error/) ) {
						item.parentNode.className = item.parentNode.className + " data-error";
					}
				}
				else {
					//item.parentNode.className = "";
					item.parentNode.className = item.parentNode.className.replace(/data\-error/, "" );
				}
			}
			catch( e ) {
				//alert(itemId + ": " + e.message);
			}
		}
		
		
			// show or hide a specific help message
		var activeHelpMessage = null;		
		function showHelpMessage( nodeClick, layerId ) {
			try {
					var nodeLayer = document.getElementById( layerId );
					if( nodeLayer.className == "help-message-on") {
						nodeLayer.className = "help-message-off";
						activeHelpMessage = null;
						addIframe( nodeLayer );
					}
					else {
						if( activeHelpMessage ) {
							activeHelpMessage.className = "help-message-off";
							activeHelpMessage = null;
						}					
						positionMsgLayer( nodeClick, nodeLayer );						
						nodeLayer.className = "help-message-on";
						activeHelpMessage = nodeLayer;
						addIframe( nodeLayer, 1 );						
					}
			}
			catch(e) {
				//alert(e.message);
			}
			finally {
				return false;
			}
		}
		
		function hideHelpMessage() {
			if(activeHelpMessage) {
				activeHelpMessage.className = "help-message-off";
				addIframe(activeHelpMessage);
				activeHelpMessage = null;
			}
		}
		
			// calculate offset of a specific button which was clicked
		function getCoords( src ) {
			var posx = 0;
			var posy = 0;
			while(src.offsetParent && src.id != "center") {
				if(!isNaN(src.offsetLeft) && !isNaN(src.offsetTop)) {
					posx += src.offsetLeft;
					posy += src.offsetTop;
				}
				src = src.offsetParent;
			}
			return new Array(posx,posy);
		}
		
		
			// position the help layer
		function positionMsgLayer( nodeClick, nodeLayer ) {
				var xy = getCoords( nodeClick );
				
				var heightCor = 0;
				if( navigator.userAgent.match(/opera/gi) ) {
					heightCor = -150;
				}
				
				if((xy[0] + 12 + 250) > $("body").width()) {
					xy[0] = xy[0] - 255;
				}
				
				nodeLayer.style.left = ( xy[0] + 12 * (document.getElementById("logoPic").width / 144) ) / (document.getElementById("logoPic").width / 144) / 12 + "em";
				nodeLayer.style.top = ( (xy[1] + heightCor ) + 11 * (document.getElementById("logoPic").width / 144) ) / (document.getElementById("logoPic").width / 144) / 12 + "em";
		}
		
		
			// solution for ie z-index bug
		function addIframe( nodeLayer, showIt ) {
			if(navigator.userAgent.match(/msie/gi) && !navigator.userAgent.match(/opera/gi)) {
				if( showIt ) {
					var iframeNode = document.getElementById("ifrm");
					if( !iframeNode ) {
						var iframe = "<iframe scrolling=\"no\" id=\"ifrm\" frameborder=\"0\" src=\"javascript:false;\" style=\"display:none; position:absolute; top:0px; left:0px;\"></iframe>";
						nodeLayer.insertAdjacentHTML('afterEnd', iframe);
						iframeNode = document.getElementById("ifrm");
					}
					with( iframeNode.style ) {
						left = nodeLayer.style.left;
						top = nodeLayer.style.top;
						width = "20.83333333em";
						height = nodeLayer.offsetHeight / (document.getElementById("logoPic").width / 144) / 12 + "em";
						display = "block";
					}
					if( !navigator.appVersion.match(/MSIE 5/gi) ) {
						nodeLayer.style.height = ( nodeLayer.offsetHeight - 30 * (document.getElementById("logoPic").width / 144) ) / (document.getElementById("logoPic").width / 144) / 12 + "em";
					}	
				}
				else {
					var iframeNode = document.getElementById("ifrm");
					iframeNode.style.display = "none";
				}
			}
		}
		
			// show or hide the input field for including/excluding birth
		function displayBirth( formName, sex ) {
			var form = document.getElementById( formName );
			if( form ) {
				var dts = form.getElementsByTagName("dt");
				for( var dt = 0; dt < dts.length; dt++ ) {
					toggleBirth( dts[dt], sex );
				}
				var dds = form.getElementsByTagName("dd");
				for( var dd = 0; dd < dds.length; dd++ ) {
					toggleBirth( dds[dd], sex );
				}				
			}
		}
		
		
			// toggle visibility of the input field for including/excluding birth
		function toggleBirth( node, sex ) {
			var actClass = null;
			var newClass = null;
			if( node && node.className ) {
				if( node.className.indexOf("male") == 0 ) {
					actClass = "male";
				}
				else if( node.className.indexOf("female") == 0 ) {
					actClass = "female";
				}
				if( actClass ) {
					if( sex == 1) {
						newClass = "male";
					}
					else if( sex == 0 ) {
						newClass = "female";
					}
					var re = new RegExp( actClass );
					node.className = node.className.replace( re, newClass );
				}
			}
		}
		
		
			// add an EventListener in each browsers specific way
		function addEvt( node, listener, evtType ) {
			if(node.addEventListener) {
				node.addEventListener(evtType, listener, false);
			}
			else if(node.attachEvent) {
				node.attachEvent("on" + evtType, listener);
			}
			else {
				node["on" + evtType] = listener;
			}
		}
		
		
			// call the right EventHandler on the right node
		function EventDispatcher(e) {
			var node = null;
			if(e.srcElement) {
				node = e.srcElement;
			}
			else if(e.target) {
				node = e.target;
			}
			while(node && !node.callback) {
				node = node.parentNode;
			}
			node.callback[e.type](e);
		}
		
		
			// add EventListeners for rollover to the nodes of a nodeSet
		function addEventListeners( nodeSet ) {
			for(var node = 0; node < nodeSet.length; node++ ) {
				if( nodeSet[node] && nodeSet[node].nodeType && nodeSet[node].nodeType == 1 ) {
					if( ( nodeSet[node].className && nodeSet[node].className.match(/image-button/) ) || nodeSet[node].nodeName.toLowerCase() == "img" ) {
						nodeSet[node].callback = nodeSet[node];
						nodeSet[node].mouseover = function() {
							this.src = this.src.replace(/\.gif/, "_over.gif" );
						}
						nodeSet[node].mouseout = function() {
							this.src = this.src.replace(/_over\.gif/, ".gif" );
						}
						addEvt( nodeSet[node], EventDispatcher, "mouseover" );
						addEvt( nodeSet[node], EventDispatcher, "mouseout" );
					}
				}
			}
		}
			
		
			// add behavior to image-buttons
		function initImageButtons() {
			var inputs = document.getElementsByTagName("input");
			var crossNavi = document.getElementById("kkv-crossnavi");
			var crossNaviImgs = Array();
			if( crossNavi ) {
				crossNaviImgs = crossNavi.getElementsByTagName("img");
			}
			addEventListeners( inputs );
			addEventListeners( crossNaviImgs );
		}
		
		
			// list all properties of an object and alert them
		function showProperties( obj ) {
			var str = "";		
			for(var prop in obj) {
				str += prop + " :" + obj[prop] + "\n";
			}
			alert(str);				
		}
		
		
			// adjust some layout issues which ie does not get right by css
		function adjustLayout() {
			if(!currentMandant) {
				var tables = document.getElementsByTagName("table");
				for(var t = 0; t < tables.length; t++ ) {
					if( (tables[t] && tables[t].nodeType && tables[t].nodeType == 1) && tables[t].className && tables[t].className == "wide" ) {
						var headerTds = tables[t].getElementsByTagName("thead")[0].getElementsByTagName("td");
						if( headerTds ) {
							var headerFirstCellStyle = headerTds[0].style;
							with( headerFirstCellStyle ) {
								borderLeft = 0;
								padding = ".25em .5em .25em 0";
								backgroundImage = "none";
								backgroundColor = "#fff";
							}
						}
						var trs = tables[t].getElementsByTagName("tbody")[0].getElementsByTagName("tr");
						if( trs ) {
							for(var tr = 0; tr < trs.length; tr++ ) {
								if( trs[tr] && trs[tr].nodeType && trs[tr].nodeType == 1 ) {
									var bodyRowsFirstCellStyle = trs[tr].getElementsByTagName("td")[0].style;
									with( bodyRowsFirstCellStyle ) {
										borderLeft = 0;
										textAlign = "left";
										padding = ".083333333em .5em .083333333em 0";
									}
								}
							}
						}
					}
				}
			}
			
			var dls = document.getElementsByTagName("dl");
			for( var dl = 0; dl < dls.length; dl++ ) {
				if( (dls[dl] && dls[dl].nodeType && dls[dl].nodeType == 1) && dls[dl].className && dls[dl].className.indexOf("kk-form") != -1) {
				
					var dtFirst = dls[dl].getElementsByTagName("dt")[0];

					with ( dtFirst.style ) {
						borderTop = 0;
						height = "1.83333333em";
					}
					if( dtFirst.className && dtFirst.className == "user-data" ) {
						dtFirst.style.height = "3em";
					}

				}				
			}
			
		}
		
		function getScaleFactor() {
		
			var scaleFactor = 1;
			try {
				scaleFactor = document.getElementById("logoPic").width / 144;
			}
			catch(e) {
				scaleFactor = 1;
			}
			return scaleFactor;
			
		}									
		
		// register window.onload eventhandler
		window.onload = function() {
			
				// ie only
			if(navigator.userAgent.match(/msie/gi) && !navigator.userAgent.match(/opera/gi) && window.attachEvent != null) {
				adjustLayout();
			}
			
			try {
				initImageButtons();
			}
			catch(e) {
				//alert(e.message);
			}
			
		}
		
		var mandanten = {
			kti : {
				URL : "http://www.ktipp.ch/"
			},
			bas : {
				URL : "http://www.bonasavoir.ch/"
			},
			spm : {
				URL : "http://www.spenderemeglio.ch/"
			},
			tel : {
				URL : "http://www.crealogix.com/"
			}
		}, currentMandant;
		
		for(var mandant in mandanten) {
			var re = new RegExp("/" + mandant + "/");
			if(window.location.href.match(re)) {
				currentMandant = mandant;
				break;
			}
		}
		
		
		var readCookie = function(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;
		};
			
		
		$(document).ready(function() {
			
			(function(){
					
					// create a select for the models if it is missing
				if($("select[name=kkv-currentkk-mod]").length === 0) {
					var curKKModStr  = '<dt id="curKKModDt" class="empty hidden">&nbsp;</dt>';
							curKKModStr += '<dd id="curKKModDd" class="hidden">';
							curKKModStr += '<select tabindex="10" name="kkv-currentkk-mod" id="kkv-currentkk-mod" size="1">';
							curKKModStr += '</select>';
							curKKModStr += '</dd>';
					$(curKKModStr).insertAfter($("select[name=kkv-currentkk]").parent());
				}
					
					// add a change handler to kk-select
				$("select[name=kkv-currentkk]").change(function(){
					var me = $(this), val = 0, sel = document.forms["kkv-gv"].elements["kkv-currentkk"], curKKMod = $("select[name=kkv-currentkk-mod]");
					   
          if(sel.selectedIndex) {
              val = sel.options[sel.selectedIndex].value;
          }
					if(val && parseInt(val) > 0) {
						var options = '<option value="">' + plsSelect + '</option>';
						var models = currentKKArray[val];
						if(models) {
							for(var modelId in models) {
								if(typeof models[modelId] === "string") {
									options += '<option value="' + modelId + '">' + models[modelId] + '</option>';
								}
							}
						}
						$("option", curKKMod).remove();
						curKKMod.append(options);
						$("dt#curKKModDt, dd#curKKModDd").removeClass("hidden");
						curKKMod.focus();
					}
					else {
						$("dt#curKKModDt, dd#curKKModDd").addClass("hidden");
						$("select[name=kkv-currentkk-mod] option:nth-child(1)").attr("selected", "selected");
					}
				});			
								
			})();
			
			
				// set url on home-link
			if(currentMandant) {
				$("input.image-button, div#kkv-crossnavi img").each(function(){
					var button = $(this);
					button.attr("src", button.attr("src").replace(/\/img\//, "/img/" + currentMandant + "/"));
				});
					// the universal-mandant has no "home" link and no logo in the header
				if(currentMandant !== "tel") {
					$("ul#navTrailRoot a:first, a#logoLink").attr("href", mandanten[currentMandant].URL);
				}
			}
			
				// hide or show Email-Alert box and "Hinweis" box
			if($("div#emailAlert").length) {
				if(currentMandant) {
					var jServiceContainers = $("div.serviceContainer-1");
					if(jServiceContainers[1]) {
						$(jServiceContainers[1]).hide();
					}
				}
				else {
					$("div#emailAlert").hide();
				}
			}
			
				// hide column-label for "Selbstbehalt" if it is not a "Flexversicherung"
			var flex = $("select#kkv-zus option:selected").attr("value");
			if(flex && flex < 7) {
				$("table.wide thead td span.flex").hide();
			}
			
			$("div#navLefthand ul li").each(function(){
				if($("span:first", this).height() < $("a:first", this).height()) {
					$("span:first", this).height($("a:first", this).height())
				}
			});
			

			// ie 6 fixes
			$("div#navLefthand ul.level1 > li.act, div#navLefthand ul.level1 > li.cur").each(function(){
				$(this).addClass("ie6-fix1");
			});
			
			$("div#navLefthand ul.level1 > li.act > ul, div#navLefthand ul.level1 > li.cur > ul").each(function(){
				$(this).addClass("ie6-fix2");
			});
			
			$("dl.kk-form dt:first-child + dd").each(function(){
				$(this).addClass("ie6-fix3");
			});
			
			$("dl.kk-form dt.empty + dd").each(function(){
				$(this).addClass("ie6-fix4");
			});
			
			$("div#navLefthand ul.level2 > li.act > a.act > span, div#navLefthand ul.level2 > li.cur > a.cur > span, div#navLefthand ul.level2 > li.act > a.act:hover > span, div#navLefthand ul.level2 > li.cur > a.cur:hover > span").each(function(){
				$(this).addClass("ie6-fix5");
			});
			
			$("div#navLefthand ul.level2 > li.act > a.act, div#navLefthand ul.level2 > li.cur > a.cur, div#navLefthand ul.level2 > li.act > a.act:hover, div#navLefthand ul.level2 > li.cur > a.cur:hover").each(function(){
				$(this).addClass("ie6-fix6");
			});
			
			$("div#mainArea.contentWide dl.kk-form dt.user-data + dd + dd").each(function(){
				$(this).addClass("ie6-fix7");
			});
			
			$("div#mainArea.contentWide dl.kk-form dt.user-data + dd").each(function(){
				$(this).addClass("ie6-fix8");
			});
			
				// add close button to help-messages
			$("div.help-message-off h2 a.close").click(function(){
				hideHelpMessage();
			});
			
				// fix for safari not accepting third party cookies
			if($.browser.safari) {
				if(!readCookie("fe_typo_user")) {
					if(currentMandant) {
						$("form#kkv-gv, form#thmailformplus").submit();
					}
				}
			}
						
		});