var OLDHIT=0;
var AKTHIT=0;
var map = null;
var geocoder = null;
var meinPunkt;
var overlay;
var gmarkers = [];
var aktzindex=0;
var OLDLNR='';
var GmapPosX=0;
var GmapPosY=0;


window.onError = function ReportJSError(Msg,Url,Line) {
	var OrigUrl='';
	if (typeof(document.location.href)!=='undefined') {
		OrigUrl=document.location.href;
	}
	myServerCall('$$ReportJSError^Fxcall1(P1,P2,P3,P4)',$g(Msg),$g(Url),$g(Line),$g(OrigUrl));
	return true;
};

function PageVars() {
	var pagevar,feldname,myType,feldinhalt,chk;
	var LineCount,AktLineContent,myContent,MaxLineLength,ed;
	AktLineContent="";
	MaxLineLength=1000;
	pagevar = "";
	for (var i=0; i < document.forms[0].elements.length; i++)  {
		feldname = "";
		if (document.forms[0].elements[i].name) {
			feldname = document.forms[0].elements[i].name;
		}
		if (feldname.indexOf("_NoVar")>0) {
			feldname="";
		}
		if (feldname.indexOf("_NewTA")>0) {
			myServerCall('$$mySaveTA^fcsp(P1,P2,P3)',feldname,0,'');
			ed = tinyMCE.get(feldname);
			myContent = ed.getContent();
			LineCount = myContent.length / MaxLineLength;
			LineCount = Math.ceil(LineCount);
			for (var j = 1; j <= LineCount; j++) {
				AktLineContent = myContent.substring((j-1)*MaxLineLength, (j-1)*MaxLineLength+MaxLineLength);
				myServerCall('$$mySaveTA^fcsp(P1,P2,P3)',feldname,j,AktLineContent);
			}
			feldname="";
		}
		myType = "";
		if (document.forms[0].elements[i].type !== "undefined") {
			myType = document.forms[0].elements[i].type;
		}
		if (myType == "checkbox") {
			feldinhalt = "0";
			if (document.forms[0].elements[i].checked == true) {
				feldinhalt = "1";
			}
		}
		else if (myType == "radio") {
			if (document.forms[0].elements[i].checked == true) {
				feldinhalt = document.forms[0].elements[i].value;
			}
			else {
				feldname = "";
			}
		}
		else if (myType == "select-multiple") {
			feldinhalt = "";
			chk = "_NoSel";
			for (var l=0; l < document.forms[0].elements[i].length; l++) {
				if (document.forms[0].elements[i].options[l].selected) {
					feldinhalt = feldinhalt + document.forms[0].elements[i].options[l].value + "\b";
				}
				else if (feldname.indexOf(chk) !=-1) {
					feldinhalt = feldinhalt + document.forms[0].elements[i].options[l].value + "\b";
				}
			}
		}
		else if (myType == "textarea") {
			feldinhalt = document.forms[0].elements[i].value;
		}
		else {
			feldinhalt = document.forms[0].elements[i].value;
		}
		if (feldname !== "") {
			pagevar = pagevar + feldname.replace("_NoSel","") + "=" + feldinhalt + "\t";
		}
	}
	return pagevar;
}

function AddToFavorites(MYTEXT,SPR) {
	if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
		window.external.AddFavorite("http://www.zimmer-suche.at/zimmersuche/index.csp?SPR="+SPR,"zimmer-suche.at - " + MYTEXT);
	}
}

function ZSBLMouseOver(BLID) {
	if (document.forms[0].BLID.value==BLID) { return; }
	if (parseInt(BLID)>0) {
		eval("document.forms[0].BLIDMap.src='/zimmersuche/img/oesterreich"+BLID+".gif';");
	}
	else {
		document.forms[0].BLIDMap.src='/zimmersuche/img/oesterreich.gif';
	}
}

function ZSBLMouseOut(BLID) {
	AKTBLID=document.forms[0].BLID.value;
	if (AKTBLID==BLID) { return; }
	if (parseInt(AKTBLID)>0) {
		eval("document.forms[0].BLIDMap.src='/zimmersuche/img/oesterreich"+AKTBLID+".gif';");
	}
	else {
		document.forms[0].BLIDMap.src='/zimmersuche/img/oesterreich.gif';
	}
	return;
}

function ZSREGMouseOver(REGID,REGBEZ) {
	if (document.forms[0].REGID.value==REGID) { return;	}
	document.forms[0].REGIDMap.src='/zimmersuche/img/bl'+document.forms[0].BLID.value+'_'+REGID+'.gif';
}

function ZSREGMouseOut(REGID) {
	if (document.forms[0].REGID.value=='') {
		document.forms[0].REGIDMap.src='/zimmersuche/img/bl'+document.forms[0].BLID.value+'_0.gif';
	}
	else {
		document.forms[0].REGIDMap.src='/zimmersuche/img/bl'+document.forms[0].BLID.value+'_'+document.forms[0].REGID.value+'.gif';
	}
}

function myTAFocus(myElement) {
	var i;
	i = eval("document.forms[0]."+myElement+".createTextRange();");
	i.move("character",eval("document.forms[0]."+myElement+".value.length"));
	i.select();
}

function getAbsX(myElement) {
	if ((typeof(myElement) == "undefined") || (myElement == "")) {
		return 0;
	}
	if (document.getElementById(myElement)) {
		var myObject = document.getElementById(myElement);
	}
	else if (document.forms[0][myElement]) {
		var myObject = document.forms[0][myElement];
	}
	else {
		return 0;
	}
	var X=0;
	if (typeof(myObject.offsetTop) !== "undefined") {
		while (myObject && myObject.tagName.toLowerCase() !== 'body') {
			X += parseInt(myObject.offsetLeft); 
			myObject = myObject.offsetParent;
		} 
	} 
    return X;
} 

function getAbsY(myElement) {
	if ((typeof(myElement) == "undefined") || (myElement == "")) {
		return 0;
	}
	if (document.getElementById(myElement)) {
		var myObject = document.getElementById(myElement);
	}
	else if (document.forms[0][myElement]) {
		var myObject = document.forms[0][myElement];
	}
	else {
		return 0;
	}
	var Y=0;
	if (typeof(myObject.offsetTop) !== "undefined") {
		while (myObject && myObject.tagName.toLowerCase() !== 'body') {
			Y += parseInt(myObject.offsetTop); 
			myObject = myObject.offsetParent;
		} 
	} 
    return Y;
} 

function getY(theElement) {
	var yPos = 0;
	try {
		while (theElement != null) {
			yPos += theElement.offsetTop;
			theElement = theElement.offsetParent;
		}
	}
	catch(e) {
	}
	return yPos;
}

function $g(VAR) {
	if (typeof(VAR)=="undefined") {return "";}
	return VAR;
}

function GoogleInfo(HIDE,LNR,myMarker) {
	if ($g(HIDE)>0) {
		if (document.getElementById('myGoogleInfo')) {document.getElementById('myGoogleInfo').className='HideLayer';}
		return;
	}
	if (document.getElementById('LAKTTABSUMENU') && document.getElementById('myGoogleMap')) {
		var SATZ=eval("document.forms[0].LNR_"+LNR+".value");
		var TMP=SATZ.split("`");
		if (document.getElementById('myGoogleInfoTxt')) {document.getElementById('myGoogleInfoTxt').innerHTML=TMP[2];}
		if (document.getElementById('myGoogleInfo')) {document.getElementById('myGoogleInfo').className='gmapinfo ShowLayer';}
	}
}

function RemoveMarker() {
 	for(var i =0; i < gmarkers.length; i++) {
   		if(gmarkers[i].id == 'myMARKER') {
			google.maps.event.clearInstanceListeners(gmarkers[i]); 
			gmarkers[i].setMap(null); 
   		}
	}
	OLDLNR='';
	GoogleInfo(1);
	return;
}

function CreateMarker(meinPunkt,LNR,FN,myHref,myType) {
	if (myType==0) {
		var image = new google.maps.MarkerImage("/zimmersuche/img/marker/"+FN+".gif",new google.maps.Size(55,19),new google.maps.Point(0,0),new google.maps.Point(8,19));
	}
	else {
		var image = new google.maps.MarkerImage("/zimmersuche/img/marker/"+FN+".gif",new google.maps.Size(25,25),new google.maps.Point(0,0),new google.maps.Point(12,25));
	}
	var marker = new google.maps.Marker({
		map: map,
		icon: image,
		zIndex: GetOnTop(),
		position: meinPunkt
	});
	marker.id=LNR;
	marker.name=LNR;
	gmarkers.push(marker);
	if (LNR!=='myMARKER') {
		google.maps.event.addListener(marker, "mouseover", function() {
			mySetPoint(LNR,'',1);
		});
	}
	else {
		google.maps.event.addListener(marker, "mouseout", function() {
			RemoveMarker();
		});
	}
	google.maps.event.addListener(marker, "click", function() {
		document.location.href=myHref;
	});
	return marker;
} 

function GetOnTop() {
	aktzindex=aktzindex+1
	return aktzindex;
}

function mySetPoint(LNR,NOINFO,NoPanTo) {
	RemoveMarker();
	try {
		if (OLDLNR!==LNR) {
			OLDLNR=LNR;
			var SATZ=eval("document.forms[0].LNR_"+LNR+".value");
			var TMP=SATZ.split("`");
			var myLAT=TMP[0];
			var myLONG=TMP[1];
			meinPunkt = new google.maps.LatLng(myLAT,myLONG);
			var marker=CreateMarker(meinPunkt,'myMARKER',TMP[4]+"mo",TMP[3],TMP[5]);
			if ($g(NoPanTo)=='') {map.panTo(meinPunkt);};
			if ($g(NOINFO)=='') {GoogleInfo(0,LNR,marker)};
		}
	}
	catch(e) {}
}

function ShowGoogleAdWords() {
	return;
	try {
		if ((document.getElementById("myGoogleAdWords")) && (document.getElementById('myAdWordsCode'))) {
			document.getElementById("myGoogleAdWords").innerHTML=document.getElementById('myAdWordsCode').innerHTML;
		}
	}
	catch(e) {}
}

function ChkQuickFind(SUCHSTRING,KeyCode,FKT) {
	if ($g(KeyCode)=='') { var KeyCode='';};
	if ($g(FKT)=='') { var FKT='';};
	if ($g(SUCHSTRING)=='') {var SUCHSTRING='';};
	if ((KeyCode!==38) && (KeyCode!==40)) {
		if (SUCHSTRING.length<3) {
			document.getElementById('LVorschlag').className='HideLayer';
			if (FKT==2) {
				document.getElementById('LVorschlagSum').innerHTML=myServerCall("$$Text^Ftext(P1,P2,P3,P4)","min3","",2,"Bitte geben Sie mindestens 3 Zeichen ein");
			}
			return;
		}
		myCall('$$ChkQuickFind^Fxcall1(P1,P2)',SUCHSTRING,FKT);
		return;
	}
	if (document.getElementById('LVorschlag').className=='ShowLayer') {
		if ((KeyCode==38) && (document.getElementById('VORSCHLAG'+(AKTHIT-1)))) {
			AKTHIT=AKTHIT-1;
		}
		if ((KeyCode==40) && (document.getElementById('VORSCHLAG'+(AKTHIT+1)))) {
			AKTHIT=AKTHIT+1;
		}
		if (AKTHIT!==OLDHIT) {
			if (document.getElementById('VORSCHLAG'+AKTHIT)) {
				var cbTop = parseInt(getY(document.getElementById('VORSCHLAG'+AKTHIT).parentElement));
				document.getElementById('VORSCHLAG'+AKTHIT).focus();
				document.getElementById('LVorschlagContent').scrollTop=(parseInt(cbTop)-160);
				OLDHIT=AKTHIT;
			}
		}
	}
}

function ShowGoogleMap() {
	if (document.getElementById("myGoogleMap")) {
		var myLAT,meinLONG,icon,meinPunkt,marker,SATZ,TMP;
		var GESAMTLNRVON=0; if (document.forms[0].GESAMTLNRVON) {GESAMTLNRVON=parseInt(document.forms[0].GESAMTLNRVON.value);}
		var GESAMTLNRBIS=0; if (document.forms[0].GESAMTLNRBIS) {GESAMTLNRBIS=parseInt(document.forms[0].GESAMTLNRBIS.value);}
		if (document.forms[0].DefKoords) {
			var DefKoords=document.forms[0].DefKoords.value.split(",");
		}
		else {
			var DefKoords="47.739323,13.359375".split(",");
		}
    	var latlng = new google.maps.LatLng(DefKoords[0],DefKoords[1]);     
    	var myZoom=6; if (document.forms[0].DefZoom) {myZoom=document.forms[0].DefZoom.value;}
    	var myOptions = {       
    		zoom: parseInt(myZoom),
    		center: latlng,       
    		mapTypeId: google.maps.MapTypeId.TERRAIN   
    	}; 
    	map = new google.maps.Map(document.getElementById("myGoogleMap"), myOptions);   
		overlay = new google.maps.OverlayView();
		overlay.draw = function() {};
		overlay.setMap(map);
		if (GESAMTLNRBIS>0) {
			for (var i=GESAMTLNRBIS;i>(GESAMTLNRVON-1);i--) {
				if (typeof(eval("document.forms[0].LNR_"+i))!=="undefined") {
					SATZ=eval("document.forms[0].LNR_"+i+".value");
					TMP=SATZ.split("`");
					myLAT=TMP[0]; myLONG=TMP[1];
					if ((myLAT!=='') && (myLONG!=='')) {
						meinPunkt=new google.maps.LatLng(myLAT,myLONG);
						if (meinPunkt) {
							CreateMarker(meinPunkt,i,TMP[4],TMP[3],TMP[5]);
						}
					}
				}
			}
		}
		GmapPosX=getAbsX('myGoogleMap'); if (GmapPosX == '0') {GmapPosX=100};
		GmapPosY=getAbsY('myGoogleMap'); if (GmapPosY == '0') {GmapPosY=170};
	}
}

function GoQuickFind() {
	var QF=myServerCall('$$ParseURL^ftext(P1)',document.forms[0].QUICKFIND.value);
	document.location.href='/zimmersuche/ergliste.csp?q='+QF;
}

function KalenderGoToDatum(HOR,myElement,myDIV,FMT,UPDElement,UPDDIV,UPDUM,LASTDAT) {
	if ((typeof(myDIV)=='undefined') || (!document.getElementById(myDIV)) || (typeof(myElement)=='undefined') || (!eval("document.forms[0]."+myElement))) {
		return;
	}
	if (typeof(HOR)=='undefined') var HOR=0;
	myServerCall('$$KalenderGoToDatum^Fxcall1(P1,P2,P3,P4,P5,P6,P7,P8)',HOR,myElement,myDIV,$g(FMT),$g(UPDElement),$g(UPDDIV),$g(UPDUM),$g(LASTDAT));
	return;
}


