 var openPopupId='';
 var transBgId='trans_background';
 var popupContainerId='se_cal';
 var popupContentId='se_content';
 var jsonData=Array(); 
 var htmlTemplate=Array();
 var constVars=Array();
 var preloadConstants=Array('transBgZindex');
			
 var movePicGal=false;
 var picGalStep=5;
 var picGalWidth=-1;
 var picgalObjects=Array();
 var picgalObjectCnt=0;
 var picgalContainerId=popupContainerId;
 var picgalContentId=popupContentId;
 var picMemo=Array();

window.addEvent('domready', function(){
	$$('.hide').fade('hide').removeClass('hide');
	
	getConstants(preloadConstants);
	setFormFunctions();
	loadHtmlTemplates();
});
 
function loadHtmlTemplates(){
	var a=new Request({ method: 'post',url: '/scripts/ajax.php', onComplete: function(response){
		var jsonResponse=JSON.decode(response);
		if(jsonResponse.status!='OK'){
			alert(jsonResponse.status);
		}else{
			jsonResponse.data.each(function(item){
				htmlTemplate[item.id]=item.value.substitute(langTexts);
			});
			
		}
	}});
	a.send('fn=getHtmlTemplate&htmlTemplate=*');	
}

function showMedia(media,opts){
	if(document.id('trans_background').style.visibility=='hidden'){
		document.id('trans_background').fade(0,0.6);
	}
	if(media=='search'){
		document.id(popupContentId).innerHTML=htmlTemplate['search'];
		document.id(popupContainerId).position({
			position: 'centerTop',
			offset: {x:-200,y: 150}
		});
		document.id(popupContainerId).fade(0,1);				
		setTimeout("document.id('pattern').focus()",500);
	}else if(media=='googleMapAnreise'){
		openPopupId=popupContainerId;
		document.id(popupContainerId).position({
			position: 'centerTop',
			offset: {x:(600/2*-1),y: 150}
		});		
		document.id(popupContentId).innerHTML=htmlTemplate['googleMapAnreise'];
		
		showAddress('googlemapanreise','Coburgstrasse 51, 8970 Schladming, AT');
		
		document.id(popupContainerId).fade(0,1);
		document.getElementById(popupContainerId).style.visibility='visible';	

		if(document.id(popupContainerId).style.visibility=='hidden'){
			document.id(popupContainerId).fade(0,1);
		}	
	}
}

function showAddress(linkId,address) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById(linkId));
		var geocoder = new GClientGeocoder();
  		geocoder.getLatLng(
    		address,
    		function(point) {
      			if (!point) {
        			alert(address + " leider nicht gefunden");
      			} else {
        			map.setCenter(point, 13);
        			var marker = new GMarker(point);
        			map.addOverlay(marker);
					map.addControl(new GLargeMapControl());
			        //marker.openInfoWindowHtml(address);
			        GEvent.addListener(marker,"click", function() {
			        	var number=1;
        				var myHtml = "<br/><b>" + address + "</b><br/><br/><div class=\"textbox\"><b>Route berechnen</b><br/><span style=\"white-space:nowrap\"><small>Startadresse:</small> <input type=\"text\" style=\"width:130px\" id=\"fromroute\" name=\"fromroute\"/></span><br/><a href=\"javascript:void(0)\" onclick=\"openRoute('" + address + "'); return false;\">Los!</a></div>";
        				map.openInfoWindowHtml(point, myHtml);
      				});
			        
      			}
    		}
  		);
  	}
}
function openRoute(to){
	var route='http://maps.google.at/maps?lsm=1&daddr=' + to + '&geocode=&dirflg=&saddr='+document.getElementById('fromroute').value + '&f=li&hl=de';
	window.open(route);
}
function doSearch(page){
	document.id('search_content').set('morph', {duration: 500 });
	document.id('search_content').morph({height: 50});
	document.id('search_content').set('html',langTexts.doSearch+'...');
	var a = new Request({ url: '/scripts/ajax.php', method: 'post', data: 'fn=doSearch&pattern='+document.id('pattern').value + '&page='+page});
	a.addEvent('success', function(response) {
	    var searchResponse=JSON.decode(response);
		document.id('search_content').morph({height: 350});
		document.id('search_browse').innerHTML=searchResponse.browse;
	    document.id('search_content').innerHTML='<div>';
	    var searchObj=searchResponse.data;
		var space='';
		for(var i=0;i < searchObj.length; i++){
			if(searchObj[i][6]!=''){
				searchObj[i][6]='<a class="pink_foColor" href="' + searchObj[i][6] + '">&nbsp;&raquo;&raquo;&nbsp;' + langTexts.Details + '</a>';
			}
			/*
				searchObj[i][0]=ID
				searchObj[i][1]=Titel
				searchObj[i][2]=Kurztext
				searchObj[i][3]=Bild
				searchObj[i][4]=KatID
				searchObj[i][5]=Rank (derzeit in %, könnte aber auch als Zahl repräsentiert werden)
				searchObj[i][6]=Link
				
			*/
			document.id('search_content').innerHTML+=  '<div class="content" style="width:380px"><h1>' + searchObj[i][1] + '</h1>'
													 + '<div class="contenttext">' + searchObj[i][3] + '' 
													 + searchObj[i][2] + '<br/>' 
													 + ''+searchObj[i][6] + ''
													 + '<div class="relevanz">' + langTexts.Relevanz + ': '+searchObj[i][5] + '</div></div>'													 
													 + '</div><div class="clear"></div>';													 
		}
		if(searchObj.length==0){
			document.id('search_content').innerHTML+=langTexts.SearchNotFound;
		}		
		document.id('search_content').innerHTML+='</div>';
	});
	a.send();	
}
function closePopup(){	
	if(document.id('search_content')){ document.id('search_content').morph({height: 0}); }
	document.id('trans_background').fade('out');
	document.id(popupContainerId).fade('out');
	document.id(transBgId).setStyle('z-Index',getConstant('transBgZindex'));
	document.id(popupContentId).set('html','');
}
function getConstants(arrConst){
	var a=new Request.JSON({url: '/scripts/ajax.php',async:false,onSuccess: function(response){
		if(response.status=='OK'){
			arrConst.each(function(item){
				constVars[item]=response.constNames[item];
			});
		}
	}}).send('fn=getConstant&constNames='+JSON.encode(arrConst));
}
function getConstant(constName,asyncReq){
	if(asyncReq==undefined){ asyncReq=false; }
	if(constVars[constName]==undefined){		
		var a=new Request.JSON({url: '/scripts/ajax.php',async:asyncReq,onSuccess: function(response){
			if(response.status=='OK'){
				constVars[constName]=response.constName;
			}else{
				constVars[constName]='';
				alert('Constante ' + constName + ' nicht gefunden!');
			}
		}}).send('fn=getConstant&constName='+constName);
	}
	return constVars[constName];
}

function chkValidate(){
	var myValidator = new FormValidator(document.id('form_validate'),{useTitles: true
							, onElementFail: function(element,errTests){
			if(!document.id('errmsg_' + element.name)){
				var fieldName='';
				if(element.title){				
					fieldName=element.title;
				}else if(element.name){
					fieldName=element.name.capitalize();
				}else if(element.id){
					fieldName=element.id.capitalize();
				}
				var errStr='<span id="errmsg_' + element.name +'">' + langTexts.errorAtField + ' ' + fieldName + '</span>: ';
				var errSpace='';
				errTests.each(function(item){
					if(item=='required'){				
						errStr+=errSpace + langTexts.Pflichtfeld;
					}else if(item=='validate-email'){
						errStr+=element.value + ' ' + langTexts.noValidEmail + '.';
					}else{
						errStr+=errSpace + item;
					}
					errSpace=', ';
				});
				var errHtml=document.id('error_validate').get('html');
				if(errHtml==''){
					errHtml='<b>' + langTexts.formNotSent + '</b><br/>';
				}else{
					errHtml+='<br/>';
				}
				document.id('error_validate').set('html',errHtml+errStr);
			}
		}});
	if (myValidator.validate()) {
		return true;
	}else{
		return false;
	}
}

function setFormFunctions(){
	if(document.id('form_contact')){
		document.id('form_contact').addEvent('submit', function(e){
			if(e){ e.stop(); }
			if(checkFormular('form_contact','error_contact')){
				this.submit();
			}else{
				return false;
			}			
		});
	}
}

function checkFormular(formId,errorId){
	document.id(errorId).set('html','');
	var myValidator = new FormValidator(document.id(formId),{useTitles: true
							, onElementFail: function(element,errTests){
			if(!document.id('errmsg_' + element.name)){
				var fieldName='';
				if(element.title){				
					fieldName=element.title;
				}else if(element.name){
					fieldName=element.name.capitalize();
				}else if(element.id){
					fieldName=element.id.capitalize();
				}
				var errStr='<span id="errmsg_' + element.name +'">' + langTexts.errorAtField + ' ' + fieldName + '</span>: ';
				var errSpace='';
				errTests.each(function(item){
					if(item=='required'){				
						errStr+=errSpace + langTexts.Pflichtfeld;
					}else if(item=='validate-email'){
						errStr+=element.value + ' ' + langTexts.noValidEmail + '.';
					}else if(item=='validate-reqchk-byname'){
						errStr+=errSpace + ' ' + langTexts.noRadioChecked + '.';
					}else if(item=='validate-digits'){
						errStr+=errSpace + ' ' + langTexts.noValidDigits + '.';
					}else{
						errStr+=errSpace + item;
					}
					errSpace=', ';
				});
				var errHtml=document.id(errorId).get('html');
				if(errHtml==''){
					errHtml='<b>' + langTexts.formNotSent + '</b><br/>';
				}else{
					errHtml+='<br/>';
				}
				document.id(errorId).set('html',errHtml+errStr);
			}
		}});
	if (myValidator.validate()) {
		return true;
	}else{
		return false;
	}
}

