if(typeof(DD)=="undefined"){var DD = new Object();}
	
	DD.mashup=new Object();
	
	DD.mashup.appsPath="/ajax_apps/";
	DD.mashup.virtualContentFile="loadVirtualContent.php?seIDM=";
	DD.mashup.viewPhotoPath="loadVirtualPhotoView.php?seIDM=";
	DD.mashup.mainNavigationFile="loadMainNavigation.php?seIDM=";
	DD.mashup.getTour_file="getTour.php?";
	DD.mashup.getTourGAPath_file="getTourGAPath.php?";
		DD.mashup.getTourHeadline_file="getTourHeadline.php?";
			DD.mashup.getTourPointsMenu_file="getTourPointsMenu.php?";
	DD.mashup.getTourContent_file="getTourContent.php?";
		DD.mashup.getTourComments_file="getTourComments.php?";
	DD.mashup.getTourPhotos_file="getTourPhotos.php?";
		DD.mashup.getTourPhoto_file="getTourPhoto.php?";
	DD.mashup.getTourMap_file="getTourMap.php?";
	
	DD.mashup.navGroups=Array();
		DD.mashup.navGroups["main_navi"] = new Object();
			DD.mashup.navGroups["main_navi"].viewContainer="dvHdrNavi";
			DD.mashup.navGroups["main_navi"].cssClassName=Array();
			DD.mashup.navGroups["main_navi"].cssClassName["default"]="dvNaviItem";
			DD.mashup.navGroups["main_navi"].cssClassName["active"]="dvNaviItem_active";
			DD.mashup.navGroups["main_navi"].cssClassName["hover"]="dvNaviItem_hover";
			DD.mashup.navGroups["main_navi"].currentNode=false;
	
	DD.mashup.gaTrack = function(seIDM,seIDT,seIDA,seIDP,path){
		if(pageTracker){
			var gaGetPath=((path) ? path : this.appsPath + this.getTourGAPath_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA : '' ) + ((seIDP) ? "&seIDP=" + seIDP : '' ) + "&act=" + new Guid().Id());
			new Ajax.Request(gaGetPath,{method:'get',onComplete:function(req){
					try{
						pageTracker._trackPageview(req.responseText);
					}catch(ex){/*nothing*/}
				}
			});
		}
	}
	DD.mashup.ajaxRequest=function(appsPath,xmlNode){
		var ajaxConn = new DDxml.ParseXML( appsPath );
		var ajaxHTML = ajaxConn.parse();
		return eval("ajaxHTML." + xmlNode);
	}
	DD.mashup.checkAjax=function(seIDM){
		if(typeof(DDxml)=="undefined"){
			window.location.href="http://www.austriansights.at/" + seIDM;
			return false;
		}
	}
	DD.mashup.__createVirualContentMask=function(){
		var vDiv = document.createElement("DIV");
		vDiv.id="dvVirtualContentMask";
		var _win_availWidth=((!!window.opera) ? window.innerWidth : document.documentElement.clientWidth);
		var _win_availHeight=((!!window.opera) ? window.innerHeight : document.documentElement.clientHeight);
		var _contentWidth=parseInt(DD.findPosX($("dvMain")) + $("dvMain").offsetWidth);
		var _contentHeight=parseInt(DD.findPosY($("dvMain")) + $("dvMain").offsetHeight);
		vDiv.style.width=((_contentWidth > _win_availWidth) ? _contentWidth : _win_availWidth ) + "px";
		vDiv.style.height=((_contentHeight > _win_availHeight) ? _contentHeight : _win_availHeight )+ "px";
		__dom_body.appendChild(vDiv);
	}
	DD.mashup.__createVirualContentContainer=function(){
		var vDiv = document.createElement("DIV");
		vDiv.id="dvVirtualContentContainer";
		vDiv.style.left=parseInt(DD.findPosX($("dvTourRight")) + 35) + "px";
		vDiv.style.top=parseInt(DD.findPosY($("dvTourRight")) + 105) + "px";
		__dom_body.appendChild(vDiv);
	}
	
	DD.mashup.__createVirualWindowMask=function(){
		var vDiv = document.createElement("DIV");
		vDiv.id="dvVirtualWindowMask";
		var _win_availWidth=((!!window.opera) ? window.innerWidth : document.documentElement.clientWidth);
		var _win_availHeight=((!!window.opera) ? window.innerHeight : document.documentElement.clientHeight);
		var _contentWidth=parseInt(DD.findPosX($("dvMain")) + $("dvMain").offsetWidth);
		var _contentHeight=parseInt(DD.findPosY($("dvMain")) + $("dvMain").offsetHeight);
		vDiv.style.width=((_contentWidth > _win_availWidth) ? _contentWidth : _win_availWidth ) + "px";
		vDiv.style.height=((_contentHeight > _win_availHeight) ? _contentHeight : _win_availHeight )+ "px";
		__dom_body.appendChild(vDiv);
	}
	DD.mashup.__createVirualWindowContainer=function(){
		var vDiv = document.createElement("DIV");
		vDiv.id="dvVirtualWindowContainer";
		vDiv.style.left=parseInt(DD.findPosX($("dvMain")) + 305) + "px";
		vDiv.style.top=parseInt(DD.findPosY($("dvMain")) + 65) + "px";
		__dom_body.appendChild(vDiv);
	}
	
	DD.mashup.__fixVirualWindowTop=function(){
		if($('dvVirtualWindowContainer')){
			var mainObj=$("dvMain");
			var winObj=$('dvVirtualWindowContainer');
			var __top=(( ((mainObj.offsetHeight / 2 ) - (winObj.offsetHeight / 2)) > 20 ) ? ((mainObj.offsetHeight / 2 ) - (winObj.offsetHeight / 2)) : 20 );
			winObj.style.top = __top + "px";
		}
	}
	DD.mashup.getVirtualPage = function(pagePath,seIDM,seIDT,seIDA,seIDP){
		
		if($("dvVirtualContentContainer") || $("dvVirtualContentMask")){this.closeVirtualContent();}
		pagePath = ((pagePath.indexOf(".php",0)==-1) ? ((pagePath.indexOf("?",0)!=-1) ? pagePath.replace("?",".php?") : pagePath + ".php" ) : pagePath );
		var virtualUrl=this.appsPath + pagePath + ((pagePath.indexOf("?",0)!=-1) ? "&" : "?" ) + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + ((seIDP) ? "&seIDP=" + seIDP  : "" ) +  "&act=" + new Guid().Id();
		//window.open(virtualUrl);
		if(!$("dvVirtualContentMask")){	this.__createVirualContentMask();}
		if(!$('dvVirtualContentContainer')){this.__createVirualContentContainer()}
		new Ajax.Updater($('dvVirtualContentContainer'),virtualUrl);
	}
	
	DD.mashup.getVirtualContent = function (seIDM){
		if($("dvVirtualContentContainer") || $("dvVirtualContentMask")){this.closeVirtualContent();}
		
		var virtualUrl=this.appsPath + this.virtualContentFile + seIDM + "&act=" + new Guid().Id();
		if(!$("dvVirtualContentMask")){	this.__createVirualContentMask();}
		if(!$('dvVirtualContentContainer')){this.__createVirualContentContainer()}
		new Ajax.Updater($('dvVirtualContentContainer'),virtualUrl);
	}
	
	DD.mashup.getVirtualWindow = function (pagePath,seIDM,seIDT,seIDA,seIDP ){
		if($("dvVirtualWindowContainer") || $("dvVirtualWindowMask")){this.closeVirtualContent();}
		pagePath = ((pagePath.indexOf(".php",0)==-1) ? ((pagePath.indexOf("?",0)!=-1) ? pagePath.replace("?",".php?") : pagePath + ".php" ) : pagePath );
		var virtualUrl=this.appsPath + pagePath + ((pagePath.indexOf("?",0)!=-1) ? "&" : "?" ) + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + ((seIDP) ? "&seIDP=" + seIDP  : "" ) +  "&act=" + new Guid().Id();
		if(!$("dvVirtualWindowMask")){	this.__createVirualWindowMask();}
		if(!$('dvVirtualWindowContainer')){this.__createVirualWindowContainer()}
		new Ajax.Updater($('dvVirtualWindowContainer'),virtualUrl,{method:'get',onComplete:function(){DD.mashup.__fixVirualWindowTop();}});
		
	}
	DD.mashup.getMainNavigation = function(targetObj,seIDM){
		var virtualUrl=this.appsPath + this.mainNavigationFile + seIDM + "&act=" + new Guid().Id();
		new Ajax.Updater($(targetObj),virtualUrl);
	}
	DD.mashup.closeVirtualContent=function(){
		if($("dvVirtualContentContainer")){__dom_body.removeChild($("dvVirtualContentContainer"));}
		if($("dvVirtualContentMask")){__dom_body.removeChild($("dvVirtualContentMask"));}
		if($('dvAddPhotoPointsDropDown') && $('dvAddPhotoPointsDropDown').parentNode.tagName=="BODY"){
			$('dvAddPhotoPointsDropDown').parentNode.removeChild($('dvAddPhotoPointsDropDown'));
		}
	}
	DD.mashup.closeVirtualWindow=function(){
		if($("dvVirtualWindowContainer")){__dom_body.removeChild($("dvVirtualWindowContainer"));}
		if($("dvVirtualWindowMask")){__dom_body.removeChild($("dvVirtualWindowMask"));}
	}
	DD.mashup.checkVirtualMask=function(){
		if($("dvVirtualContentMask")){
			var vDiv = $("dvVirtualContentMask")
			var _win_availWidth=((!!window.opera) ? window.innerWidth : document.documentElement.clientWidth);
			var _win_availHeight=((!!window.opera) ? window.innerHeight : document.documentElement.clientHeight);
			var _contentWidth=parseInt(DD.findPosX($("dvMain")) + $("dvMain").offsetWidth);
			var _contentHeight=parseInt(DD.findPosY($("dvMain")) + $("dvMain").offsetHeight);
			vDiv.style.width=((_contentWidth > _win_availWidth) ? _contentWidth : _win_availWidth ) + "px";
			vDiv.style.height=((_contentHeight > _win_availHeight) ? _contentHeight : _win_availHeight )+ "px";
			
			var cDiv = $('dvVirtualContentContainer')
			cDiv.style.left=parseInt(DD.findPosX($("dvTourRight")) + 35) + "px";
			cDiv.style.top=parseInt(DD.findPosY($("dvTourRight")) + 105) + "px";
		}
		if($("dvVirtualWindowMask")){
			var vDiv = $("dvVirtualWindowMask")
			var _win_availWidth=((!!window.opera) ? window.innerWidth : document.documentElement.clientWidth);
			var _win_availHeight=((!!window.opera) ? window.innerHeight : document.documentElement.clientHeight);
			var _contentWidth=parseInt(DD.findPosX($("dvMain")) + $("dvMain").offsetWidth);
			var _contentHeight=parseInt(DD.findPosY($("dvMain")) + $("dvMain").offsetHeight);
			vDiv.style.width=((_contentWidth > _win_availWidth) ? _contentWidth : _win_availWidth ) + "px";
			vDiv.style.height=((_contentHeight > _win_availHeight) ? _contentHeight : _win_availHeight )+ "px";
			
			var cDiv = $('dvVirtualWindowContainer')
			cDiv.style.left=parseInt(DD.findPosX($("dvMain")) + 305) + "px";
			cDiv.style.top=parseInt(DD.findPosY($("dvMain")) + 65) + "px";
		}
	}
	
	
	DD.mashup.removeElement=function(objToRemove){
		if(objToRemove && objToRemove.parentNode){
			if(objToRemove.length>1){
				objToRemove[0].parentNode.removeChild(objToRemove[0]);
			}else{
				objToRemove.parentNode.removeChild(objToRemove);
			}
		}
	}
	
	DD.mashup.getTourHeadline=function(seIDM,seIDT,seIDA){
		var virtualUrl=this.appsPath + this.getTourHeadline_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&act=" + new Guid().Id();
		new Ajax.Updater($("dvTourHeadline"),virtualUrl);
	}
	
	DD.mashup.getTourPointsMenu=function(seIDM,seIDT,seIDA){
		var virtualUrl=this.appsPath + this.getTourPointsMenu_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&act=" + new Guid().Id();
		new Ajax.Updater($("dvTourPointMenu"),virtualUrl);
	}
	
	DD.mashup.getTour=function(seIDM,seIDT,seIDA){
		DD.mashup.removeSubNavi($('dvTourPointsListSubItems'));
		DD.mashup.getMainNavigation($('dvHdrNavi'),seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA : "" ));
		DD.mashup.getTourHeadline(seIDM,seIDT,seIDA);
		DD.mashup.getTourPointsMenu(seIDM,seIDT,seIDA);
		DD.mashup.getTourMap(seIDM,seIDT,seIDA);
		var virtualUrl=this.appsPath + this.getTour_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&act=" + new Guid().Id();
		new Ajax.Updater($("dvTourRight"),virtualUrl,{method:'get',onComplete:function(){DD.mashup.gaTrack(seIDM,seIDT,seIDA);}});
	}
		DD.mashup.getTourDownloads=function(seIDM,seIDT,seIDA){
			this.getVirtualWindow("getTourDownloads",seIDM,seIDT,seIDA);
		}
	DD.mashup.gotoTour=function(seIDM,seIDT){
		DD.mashup.getTourPointsMenu(seIDM,seIDT);
		DD.mashup.getTourContent(seIDM,seIDT);
	}
	DD.mashup.getElementsByClassName=function(strClassName,strTagName, oElm){
		if(!oElm || typeof oElm == "undefined"){oElm=document;}
		if(!strTagName || typeof strTagName == "undefined"){strTagName="*";}
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i=0; i<arrElements.length; i++){
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)){
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements)
	}
	DD.mashup.hidePointBoobleInfo=function(){
		var infoBoobles=document.getElementsByName("icoCloseBoobleInfoWin");
		for(var b=0;b < infoBoobles.length;b++){
			infoBoobles[b].parentNode.previousSibling.previousSibling.style.display="none";
			infoBoobles[b].parentNode.style.display="none";
		}
	}
	DD.mashup.gotoPoint=function(seIDM,seIDT,seIDA){
		//this.hidePointBoobleInfo();
		DD.mashup.GoogleMap.closeInfoWindow();
		DD.mashup.getTourPointsMenu(seIDM,seIDT,seIDA);
		DD.mashup.getTourContent(seIDM,seIDT,seIDA);
	}
	DD.mashup.removeSubNavi=function(callObj){
		if(callObj){callObj.parentNode.removeChild(callObj);}
	}
	DD.mashup.getTourContent=function(seIDM,seIDT,seIDA){
		var evt=getEvent;
		var virtualUrl=this.appsPath + this.getTourContent_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&act=" + new Guid().Id();
		new Ajax.Updater($("dvTourRight"),virtualUrl,{method:'get',onComplete:function(){DD.mashup.gaTrack(seIDM,seIDT,seIDA);}});
	}
		DD.mashup.getTourComments=function(seIDM,seIDT,seIDA){
			var virtualUrl=this.appsPath + this.getTourComments_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&act=" + new Guid().Id();
			new Ajax.Updater($("dvTourRight"),virtualUrl);
		}
			DD.mashup.setCommentPage=function(seIDM,seIDT,seIDA,seIDP,pageIndex){
				var virtualUrl=this.appsPath + this.getTourComments_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + ((seIDP) ? "&seIDP=" + seIDP  : "" ) + "&comments_page=" + pageIndex + "&act=" + new Guid().Id();
				new Ajax.Updater($("dvTourRight"),virtualUrl);
			}
	DD.mashup.getTourPhotos=function(seIDM,seIDT,seIDA){
		var evt=getEvent;
		var virtualUrl=this.appsPath + this.getTourPhotos_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&act=" + new Guid().Id();
		new Ajax.Updater($("dvTourRight"),virtualUrl,{method:'get',onComplete:function(){DD.mashup.gaTrack(seIDM,seIDT,seIDA);}});
	}
		DD.mashup.setThumbPage=function(seIDM,seIDT,seIDA,pageIndex){
			var virtualUrl=this.appsPath + this.getTourPhotos_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&thumb_page=" + pageIndex + "&act=" + new Guid().Id();
			new Ajax.Updater($("dvTourRight"),virtualUrl);
		}
		DD.mashup.setPhotoFilter=function(seIDM,seIDT,seIDA,photo_set_id){
			var virtualUrl=this.appsPath + this.getTourPhotos_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&thumb_filter=" + photo_set_id + "&act=" + new Guid().Id();
			new Ajax.Updater($("dvTourRight"),virtualUrl);
		}
		DD.mashup.setPhotoSorting=function(seIDM,seIDT,seIDA,thumb_sorting){
			var virtualUrl=this.appsPath + this.getTourPhotos_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&thumb_sorting=" + thumb_sorting + "&act=" + new Guid().Id();
			new Ajax.Updater($("dvTourRight"),virtualUrl);
		}
		DD.mashup.getPhoto=function(seIDM,seIDT,seIDA,seIDP){
			var evt=getEvent;
			var virtualUrl=this.appsPath + this.getTourPhoto_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&seIDP=" + seIDP + "&act=" + new Guid().Id();
			new Ajax.Updater($("dvTourRight"),virtualUrl,{method:'get',onComplete:function(){DD.mashup.gaTrack(seIDM,seIDT,seIDA);}});
		}
			DD.mashup.highlightRatingStars=function(callObj,callAct){
				callObj.src="/images/content/tours/ico_rating_star_detailed_" + ((callAct) ? "on" : "off" ) + ".gif";
				while(callObj.previousSibling && callObj.previousSibling.tagName=="IMG"){
					callObj.previousSibling.src="/images/content/tours/ico_rating_star_detailed_" + ((callAct) ? "on" : "off" ) + ".gif";
					callObj=callObj.previousSibling;
				}
			}
			DD.mashup.setPhotoRating=function(seIDM,seIDT,seIDA,seIDP,ratingIndex){
				var virtualUrl=this.appsPath + this.getTourPhoto_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&seIDP=" + seIDP + "&ratingIndex=" + ratingIndex + "&act=" + new Guid().Id();
				new Ajax.Updater($("dvTourRight"),virtualUrl);
				
			}
			DD.mashup.getPhotoInfo=function(seIDM,seIDT,seIDA,seIDP){
				this.getVirtualPage('getTourPhotoInfo',seIDM,seIDT,seIDA,seIDP);
			}
			
	DD.mashup.addComment=function(seIDM,seIDT,seIDA,seIDP){
		this.getVirtualPage('addComment',seIDM,seIDT,seIDA,seIDP);
	}
		DD.mashup.addComment.checkForm=function(callObj){
			if(callObj.usr_comment_name.value=="Name"){callObj.usr_comment_name.value="";}
			if(chkText(callObj.usr_comment_name,'Name','your')==false)return false;
			if(callObj.usr_comment_text.value=="Your Comment"){callObj.usr_comment_text.value="";}
			if(chkText(callObj.usr_comment_text,'Comment','your')==false)return false;
		}
	
	DD.mashup.addPhoto=function(seIDM,seIDT,seIDA){
		DD.mashup.getVirtualPage('addPhoto',seIDM,seIDT,seIDA);
	}
		DD.mashup.addPhoto.checkExtension = function(callObj,arrExt,outputId){
			if(chkFile(callObj,"Photo","the",arrExt)==false)return false;
			var fileNameArr=callObj.value.toString().split("\\");
			var ext1 = callObj.value;
			ext1 = ext1.substring(ext1.length-3,ext1.length);
		  ext1 = ext1.toLowerCase();
			$(outputId).innerHTML="<img src=\"/images/icons/data/img.gif\" border=\"0\" align=\"absmiddle\" style=\"margin-right:3px;\">" + fileNameArr[ (fileNameArr.length-1) ] ;
		}
		DD.mashup.addPhoto.selectPoint=function(callObj,callId){
			$("dvAddPhotoPointsDropDown").innerHTML=callObj.firstChild.nodeValue;
			document.FOphotoUpload.usr_photo_point_of_interest.value=callId;
			for(var a=0;a<callObj.parentNode.getElementsByTagName("A").length;a++){
				callObj.parentNode.getElementsByTagName("A")[a].className=null;
			}
			callObj.className="active";
		}
		DD.mashup.addPhoto.checkForm=function(callObj){
			if(chkFile(callObj.usr_photo_file,'Photo','the',Array('jpg','jpeg','png','gif'))==false)return false;
			if(chkText(callObj.usr_photo_title,'Title','the')==false)return false;
			if(!callObj.usr_photo_termsofuse.checked){
				alert("Please accept the Legal Notices!");
				return false;
			}
		}
	DD.mashup.addUser=function(seIDM,seIDT,seIDA,seIDP){
		this.getVirtualPage('addUser',seIDM,seIDT,seIDA,seIDP);
	}
		DD.mashup.addUser.checkForm=function(callObj){
			if(chkText(callObj.usr_country,'Country','the')==false)return false;
			if(chkEmail(callObj.usr_email,'E-Mail-Address','your')==false)return false;
			if(chkText(callObj.usr_nickname,'Nickname','the')==false)return false;
			if(chkText(callObj.usr_password,'Password','the')==false)return false;
			if(chkText(callObj.usr_password_confirm,'Password-Confirmation','the')==false)return false;
			if(callObj.usr_password.value!=callObj.usr_password_confirm.value){
				alert("The Password-Confirmation isn't ident with input password!");
				return false;
			}
			if(!callObj.usr_termsofuse.checked){
				alert("Please accept the Legal Notices!");
				return false;
			}
		}
		
	DD.mashup.getForgotPassword=function(seIDM,seIDT,seIDA){
		DD.mashup.getVirtualPage('getForgotPassword',seIDM,seIDT,seIDA);
	}
	DD.mashup.send2friend=function(seIDM,seIDT,seIDA,seIDP){
		DD.mashup.getVirtualPage("postSend2Friend",seIDM,seIDT,seIDA,seIDP);
	}
		DD.mashup.send2friend.checkForm=function(callObj){
			if(chkText(callObj.usr_send2friend_fromname,"Name","your")==false)return false;
			if(chkEmail(callObj.usr_send2friend_fromemail,"E-Mail-Address","your")==false)return false;
			if(chkText(callObj.usr_send2friend_toname,"recipient Name","the")==false)return false;
			if(chkEmail(callObj.usr_send2friend_toemail,"recipient E-Mail-Address","the")==false)return false;
			if(chkText(callObj.usr_send2friend_text,"Message","the")==false)return false;
		}
	DD.mashup.contact=function(seIDM,seIDT,seIDA,seIDP){
		DD.mashup.getVirtualPage("postContact",seIDM,seIDT,seIDA,seIDP);
	}
		DD.mashup.contact.checkForm=function(callObj){
			if(chkText(callObj.usr_contact_firstname,"Firstname","your")==false)return false;
			if(chkText(callObj.usr_contact_lastname,"Lastname","your")==false)return false;
			if(chkEmail(callObj.usr_contact_email,"E-Mail-Address","your")==false)return false;
			if(chkText(callObj.usr_contact_message,"Message","your")==false)return false;
		}
	
	DD.mashup.GoogleMap=false;
	function getEvent(e){
		if(!e) e=event;
		return e;
	}
	DD.mashup.setMapCenter=function(callObj,mapLat,mapLng){
		var evt=getEvent;
		if(DD.mashup.GoogleMap){
			DD.mashup.GoogleMap.panTo(new GLatLng(mapLat, mapLng));
		}
	}
	
	DD.mashup.createMapMarkerInfoHTML=function(pointObj,infoId){
		var infoHTML="<table cellpadding=\"0\" cellspacing=\"0\" id=\"" +  infoId + "\">"+
												"<tr valign=\"top\">" +
												((pointObj.firstImagePath && pointObj.firstImagePath.length) ? 
													"<td width=\"142\">" +
														"<div class=\"dvImgBorder\">" +
																"<a href=\"#\" " + 
																	"onclick=\"" +
																		"DD.mashup.getPhoto(false,'" + pointObj.CurrentNodeID + "&amp;photosViewMode=photo','" + pointObj.CurrentTourID + "','" + pointObj.id + "','" + pointObj.firstImageID + "');" +
																		"return false;" +
																	"\" onfocus=\"blur();\"" +
																">" +
																	"<img src=\""  + pointObj.firstImagePath + "\" alt=\"" + ((pointObj.firstImageTitle && pointObj.firstImageTitle.length) ? pointObj.firstImageTitle : "") + "\">" +
																"</a>" +
														"</div>" +
													"</td>"
													:
														""
												) +
													"<td>" +
														"<h1>" +  pointObj.title + "</h1>" +
														"<a href=\"#\" " +
															"onclick=\""+
																"DD.mashup.removeSubNavi($('dvTourPointsListSubItems'));" +
																"DD.mashup.setMapCenter(this,'" + pointObj.latitude + "','" + pointObj.longitude + "');" +
																"DD.mashup.gotoPoint('" + pointObj.CurrentNodeID + "','" + pointObj.CurrentTourID + "','" + pointObj.id + "');"+
																"return false;"+
															"\" " +
															"onfocus=\"blur();\" class=\"urlMapInfoLink\""+
														">" +
															"Info"+
														"</a>" +
														"<a href=\"#\" " +
															"onclick=\""+
																"DD.mashup.getTourPhotos('" + pointObj.CurrentNodeID + "','" + pointObj.CurrentTourID + "','" + pointObj.id + "');"+
																"return false;"+
															"\" " +
															"onfocus=\"blur();\" class=\"urlMapInfoLink\""+
														">" +
															"Photos" +
														"</a>" +
														"<a href=\"#\" " +
															"onclick=\""+
																"DD.mashup.getTourComments('" + pointObj.CurrentNodeID + "','" + pointObj.CurrentTourID + "','" + pointObj.id + "');"+
																"return false;"+
															"\" " +
															"onfocus=\"blur();\" class=\"urlMapInfoLink\""+
														">" +
															"Comments" +
														"</a>" +														
													"</td>" +
												"</tr>" +
											"</table>";
		return infoHTML;
	}
	DD.mashup.createMapMarker=function(mapPoint,mapIndex,infoHTML,infoId){
		var letteredIcon = new GIcon(baseIcon);
			letteredIcon.image = "/getMapMarker.php?letter=" + mapIndex + "&color=" + (( (mapIndex%2)==0) ? "red" : "yellow");
		markerOptions = { icon:letteredIcon };
		var marker = new GMarker(mapPoint, markerOptions);
		
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(infoHTML);
			if($(infoId) && $(infoId).parentNode && $(infoId).parentNode.parentNode){
				$(infoId).parentNode.parentNode.style.width=($(infoId).offsetWidth + 74) + "px";
				$(infoId).parentNode.parentNode.style.height=($(infoId).offsetHeight + 15) + "px";
			}
		});
		return marker;
	}
	var baseIcon = new GIcon();
//	baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	baseIcon.iconSize = new GSize(16, 19);
//	baseIcon.shadowSize = new GSize(37, 34);
	baseIcon.iconAnchor = new GPoint(12, 5);
	baseIcon.infoWindowAnchor = new GPoint(9, 2);
//	baseIcon.infoShadowAnchor = new GPoint(16, 45);
	DD.mashup.getTourMap=function(seIDM,seIDT,seIDA){
		var virtualUrl=this.appsPath + this.getTourMap_file + "seIDM=" + seIDM + "&seIDT=" + seIDT + ((seIDA) ? "&seIDA=" + seIDA  : "" ) + "&act=" + new Guid().Id();
		new Ajax.Request(virtualUrl,{onComplete:function(data){	
			var xmlDoc=data.responseXML.documentElement;
			var mapcenter=xmlDoc.getElementsByTagName("mapcenter");
				var MC_lat=mapcenter[0].getElementsByTagName('latitude')[0].textContent;
				var MC_lng=mapcenter[0].getElementsByTagName('longitude')[0].textContent;
			var elements = xmlDoc.getElementsByTagName("points");
			
			var points=elements[0].getElementsByTagName('point');
			var tour=xmlDoc.getElementsByTagName("tour");
			var polylines=tour[0].getElementsByTagName('polyline');
			var levels=tour[0].getElementsByTagName('levels');
		
			if (GBrowserIsCompatible()) {
				var map = new GMap2($("dvTours_GoogleMap"));
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				map.setCenter(new GLatLng(MC_lat,MC_lng), 13);
				var PolylineArray = Array();
				for(var p=0;p < points.length;p++){
					var Lat=points[p].getElementsByTagName('latitude')[0].textContent;
					var Lng=points[p].getElementsByTagName('longitude')[0].textContent;
					PolylineArray[PolylineArray.length] = new GLatLng(Lat,Lng);
					var point = new GLatLng(Lat,Lng);
					var infoGuid=new Guid().Id();
					var infoId="tbl_" + infoGuid.replace(/(-)/g,"_");
					map.addOverlay(DD.mashup.createMapMarker(point, (p+1),DD.mashup.createMapMarkerInfoHTML(points[p],infoId),infoId));
				}
				
				if(polylines.length && polylines[0].textContent.length && levels.length && levels[0].textContent.length){
					var encodedPolyline = new GPolyline.fromEncoded({
					color: "#0000FF",
					weight: 8,
					points: polylines[0].textContent,
					levels: levels[0].textContent,
					zoomFactor: 32,
					numLevels: 4
					});
					map.addOverlay(encodedPolyline);
				}else if(PolylineArray.length){
					var polyline = new GPolyline(PolylineArray, "#FF0000", 10);
					map.addOverlay(polyline);
				}
				DD.mashup.GoogleMap=map;
				GEvent.addListener(DD.mashup.GoogleMap, "infowindowopen", function() { 
					var imgs = map.getContainer().getElementsByTagName("IMG");
					for(var i = 0; i<imgs.length; i++){
						if(imgs[i].src=="http://maps.google.com/intl/en_ALL/mapfiles/iw_close.gif"){
							imgs[i].src = "/images/icons/ico_closeGoogleMap_infoWindow.gif";
							imgs[i].name = "icoCloseBoobleInfoWin";
							imgs[i].style.width="13px";
							imgs[i].style.height="13px";
						}
					}
				});
			}
		}});
	}
	
		

	DD.mashup.findPosX = function(obj){
		var curleft = 0;
		if (obj.offsetParent){while (obj.offsetParent){curleft += obj.offsetLeft;obj = obj.offsetParent;};}else if (obj.x){curleft += obj.x;}
		return curleft;
		
	}
	DD.mashup.findPosY = function(obj){
		var curtop = 0;
		if (obj.offsetParent){while (obj.offsetParent){curtop += obj.offsetTop;obj = obj.offsetParent;};}else if (obj.y){curtop += obj.y;}
		return curtop;
	}

	DD.mashup.tours=new Object();
	DD.mashup.tours.navi = new Object();
	DD.mashup.tours.navi.hideTimer=Array();
	DD.mashup.tours.navi.callerObj=Array();
	DD.mashup.tours.navi.dropDown=function(callObj,targetID,notParentNode){
		var rObj=$(targetID);
		if(!rObj){return false;}
		if(rObj.parentNode.tagName!="BODY"){
			var vDiv=document.createElement("DIV");
			vDiv.className=rObj.className;
			vDiv.innerHTML=rObj.innerHTML;
			rObj.parentNode.removeChild(rObj);
			vDiv.notParentObj=((notParentNode) ? true : false);
			vDiv.onmouseover=DD.mashup.tours.navi.showMe;
			vDiv.onmouseout=DD.mashup.tours.navi.hideMe;
			vDiv.id=targetID;
			document.getElementsByTagName("BODY")[0].appendChild(vDiv);
		}
		var tObj=$(targetID);
		if(tObj.style.display=="block"){
			tObj.style.display="none";
			return;
		}
		tObj.style.top=(DD.mashup.findPosY( ((notParentNode) ? callObj : callObj.parentNode ) ) + callObj.parentNode.offsetHeight )+ "px";
		tObj.style.left=(DD.mashup.findPosX( ((notParentNode) ? callObj : callObj.parentNode ) ) )+ "px";
		if(targetID=="dvAddPhotoPointsListSubItems" && !window.opera){
			tObj.style.left = parseInt(tObj.style.left) + ((DD.config.isIE) ? 1 : 2) + "px";
		}
		tObj.style.display="block";
	}
	DD.mashup.tours.navi.hideMe = function (e,callObj){
		if(!e) e=event;
		if(!callObj) callObj=this;
		if($(callObj.id)){
			DD.mashup.tours.navi.hideTimer[callObj.id]=setTimeout('$(\'' + callObj.id + '\').style.display=\'none\';' + ((DD.mashup.tours.navi.callerObj[callObj.id]) ? 'DD.mashup.tours.navi.callerObj[\'' + callObj.id + '\'].className=DD.mashup.tours.navi.callerObj[\'' + callObj.id + '\'].className.replace(/(_hover)/gi,\'\');' : '' ),500);
		}else{
			alert($(callObj.id).length);
		}
	}
	DD.mashup.tours.navi.showMe = function (e,callObj){
		if(!e) e=event;
		if(!callObj) callObj=this;
		if(DD.mashup.tours.navi.hideTimer[callObj.id]){clearTimeout(DD.mashup.tours.navi.hideTimer[callObj.id]);}
		callObj.style.display="block";
	}
	
	DD.mashup.tours.navi.hideDropDown=function(callObj,targetID){
		var rObj=$(targetID);
		if(!rObj){return false;}
		DD.mashup.tours.navi.hideTimer[targetID]=setTimeout('$(\'' + targetID + '\').style.display=\'none\';' + ((DD.mashup.tours.navi.callerObj[callObj.id]) ? 'DD.mashup.tours.navi.callerObj[\'' + targetID + '\'].className=DD.mashup.tours.navi.callerObj[\'' + targetID + '\'].className.replace(/(_hover)/gi,\'\');' : '' ),350);
	}
	DD.mashup.tours.navi.setActive = function(callObj,callAct,callClass,callActClass){
		callObj.className=callClass + ((callAct) ? callActClass : "");
	}
	
	