//________________ Mouse Position initialisiert _________________
var mouseX = 0;
var mouseY = 0;

var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
//________________ Mouse Position initialisiert ENDE _________________



//________________ PopUp Texte _________________
var divname;
var city;
var oldPic;
var oldCity;

var muenchenText = '<div class="popUpHotel"><a href="/de/munich-north/" onmouseover="changePic(\'munich-north_fade.png\',2);"> STAR INN HOTEL M&Uuml;NCHEN NORD</a><br>' +
				 '<a href="/de/munich-schwabing/" onmouseover="changePic(\'munich-schwabing_fade.png\',3);"> STAR INN HOTEL M&Uuml;NCHEN SCHWABING</a></div>';				 
var salzburgText = '<div class="popUpHotel"><a href="/de/salzburg-airport/" class="popUpHotel" onmouseover="changePic(\'salzburg-airport_fade.png\',5);"> STAR INN HOTEL SALZBURG AIRPORT</a><br>' +
				 '<a href="/de/salzburg-center/" class="popUpHotel" onmouseover="changePic(\'salzburg-center_fade.png\',6);"> STAR INN HOTEL SALZBURG ZENTRUM</a></div>';				 
var berlinText = '<div class="popUpHotel">STAR INN HOTEL BERLIN L&Uuml;TZOWPLATZ</div><br>' +
				 '<div class="popUpText">Er&ouml;ffnung Anfang 2012</div>';				 
var ulmText = '<div class="popUpHotel">STAR INN HOTEL ULM ZENTRUM</div><br>' +
				 '<div class="popUpText">Er&ouml;ffnung Anfang 2011</div>';				 
var wienText = '<div class="popUpHotel">STAR INN HOTEL WIEN</div><br>' +
				 '<div class="popUpText">Er&ouml;ffnung M&auml;rz 2012</div>';				 
var budapestText = '<div class="popUpHotel">STAR INN HOTEL BUDAPEST CENTRUM</div>';
var regensburgText = '<div class="popUpHotel">STAR INN HOTEL REGENSBURG ZENTRUM</div>';
var karlsruheText = '<div class="popUpHotel">STAR INN HOTEL KARLSRUHE SIEMENSALLEE</div>';
var frankfurtText = '<div class="popUpHotel">STAR INN HOTEL FRANKFURT CENTRUM</div>';
var bremenText = '<div class="popUpHotel">STAR INN HOTEL BREMEN COLUMBUS</div>';

//________________ PopUp Texte ENDE _________________

var hotelLinksArray = new Array ("frankfurt-center","karlsruhe-siemensallee","munich-north","munich-schwabing","regensburg-center","salzburg-airport","salzburg-center","budapest-center","bremen-columbus");

function myinit(){
	
	//ALLE LINKS DEAKTIVIEREN
	//main menu hidden

	document.onmousemove = getMouseXY;
	
	citynames();
	preloadImages();
	
	var fadePicDiv = document.getElementById("fadePicContainer");
	fadePicDiv.style.left = document.getElementById("content").offsetWidth - fadePicDiv.offsetWidth + "px";
	fadePicDiv.style.top = "57px";
	fadePicDiv.style.visibility = 'visible';

}
		

//_________________________________________________________________________________________

function roll(img_name, operation){
	
	var fadePic = img_name + "_fade";	
	
	if( operation == "normal" ){
	   document[img_name].src = "/images/startseite/logo_thumb.gif";
	   
	} if( operation == "hover" ){
	   document[img_name].src = "/images/startseite/logo_thumb_hover.gif";
	}
   
}

function createPopUp(mycity, mydivname, width, height) {
		
		//cleanUp(divname);
		hidePopUp(city, divname);
		
		divname = mydivname;
		city = mycity;
		var cityText;
		var fadePic = "";
		var mouseOverDiv = 'icon_'+city;
		var arrayNr;
		
		if (city == 'muenchen'){
			cityText = muenchenText;
			fadePic = "munich-schwabing_fade.png";
			arrayNr = 3;
		} else if (city == 'berlin'){
			cityText = berlinText;
			fadePic = "berlin_fade.png";
		} else if (city == 'salzburg'){
			cityText = salzburgText;
			fadePic = "salzburg-center_fade.png";;
			arrayNr = 6;
		} else if (city == 'ulm'){
			cityText = ulmText;
			fadePic = "ulm_fade.png";
		} else if (city == 'wien'){
			cityText = wienText;
			fadePic = "wien_fade.png";
		} else if (city == 'budapest'){
			cityText = budapestText;
			fadePic = "budapest_fade.png";
			arrayNr = 7;
		} else if (city == 'regensburg'){
			cityText = regensburgText;
			fadePic = "regensburg_fade.png";
			arrayNr = 4;
		} else if (city == 'karlsruhe'){
			cityText = karlsruheText;
			fadePic = "karlsruhe_fade.png";
			arrayNr = 1;
		} else if (city == 'frankfurt'){
			cityText = frankfurtText;
			fadePic = "frankfurt_fade.png";
			arrayNr = 0;
		} else if (city == 'bremen'){
			cityText = bremenText;
			fadePic = "bremen_fade.png";
			arrayNr = 8;
		}
		
		else if (city == 'm1li'){
			cityText = muenchenText;
			fadePic = "munich-north_fade.png";
			mouseOverDiv = city;
			city = 'muenchen';
			arrayNr = 2;
		}else if (city == 'm2li'){
			cityText = muenchenText;
			fadePic = "munich-schwabing_fade.png";
			mouseOverDiv = city;
			city = 'muenchen';
			arrayNr = 3;
		} else if (city == 'bli'){
			cityText = berlinText;
			fadePic = "berlin_fade.png";
			mouseOverDiv = city;
			city = 'berlin';
		} else if (city == 's1li'){
			cityText = salzburgText;
			fadePic = "salzburg-airport_fade.png";
			mouseOverDiv = city;
			city = 'salzburg';
			arrayNr = 5;
		}else if (city == 's2li'){
			cityText = salzburgText;
			fadePic = "salzburg-center_fade.png";
			mouseOverDiv = city;
			city = 'salzburg';
			arrayNr = 6;
		} else if (city == 'uli'){
			cityText = ulmText;
			fadePic = "ulm_fade.png";
			mouseOverDiv = city;
			city = 'ulm';
		} else if (city == 'wli'){
			cityText = wienText;
			fadePic = "wien_fade.png";
			mouseOverDiv = city;
			city = 'wien';
		} else if (city == 'buli'){
			cityText = budapestText;
			fadePic = "budapest_fade.png";
			mouseOverDiv = city;
			city = 'budapest';
			arrayNr = 7;
		} else if (city == 'rli'){
			cityText = regensburgText;
			fadePic = "regensburg_fade.png";
			mouseOverDiv = city;
			city = 'regensburg';
			arrayNr = 4;
		} else if (city == 'kli'){
			cityText = karlsruheText;
			fadePic = "karlsruhe_fade.png";
			mouseOverDiv = city;
			city = 'karlsruhe';
			arrayNr = 1;
		} else if (city == 'fli'){
			cityText = frankfurtText;
			fadePic = "frankfurt_fade.png";
			mouseOverDiv = city;
			city = 'frankfurt';
			arrayNr = 0;
		} else if (city == 'brli'){
			cityText = bremenText;
			fadePic = "bremen_fade.png";
			mouseOverDiv = city;
			city = 'bremen';
			arrayNr = 8;
		}
	
		var topPos = 0;
		var leftPos = 0;
		elementId=document.getElementsByName(city)[0];
		while( elementId != document.getElementById("content")){
			topPos += elementId.offsetTop;
			leftPos += elementId.offsetLeft;
			elementId = elementId.offsetParent;
		}
		
		if (document.createElement) {
		   newdiv=document.createElement("div");
		   newdiv.style.position="absolute";
		   newdiv.style.left = 35 + leftPos+"px";	// Icon width: 35px; Offset Icon --> Rectangle: 10px
		   newdiv.style.top  = -10 + topPos+"px";	// 10: sieht besser aus
		   newdiv.style.width = width+"px";
		   newdiv.style.height = height+"px";
		   newdiv.style.backgroundColor = '#ffffff';
		   newdiv.style.border = "2px solid #81827b";
		   //newdiv.style.borderColor = 'red';
		   newdiv.style.visibility = 'visible';
		   newdiv.id = divname;
		   newdiv.innerHTML = cityText;
		   newdiv.style.padding = '10px';
		   newdiv.style.fontFamily = 'Verdana, Arial, Helvetica, sans-serif';
		   newdiv.style.fontColor ='#81827b';
		   newdiv.style.fontSize = '9pt';
		   document.getElementById('content').appendChild(newdiv);
		   
		   //document.getElementById("mPopUpDiv").isMouseOver = true;
		}
		
		changePic(fadePic,arrayNr);
		oldPic = fadePic;
		oldCity = city;
		
			
		var saveref = document.getElementById(divname);
		document.getElementById(mouseOverDiv).onmouseout = function (){
			addListener (document, "mousemove", checkMouse, true);
		}
	  		
}

function hidePopUp(city, divId){
		var elToDel = document.getElementById(divId);
		if (elToDel != null){
			//document.getElementById('content').removeChild(elToDel);
			elToDel.parentNode.removeChild(elToDel);
			//roll(city,'normal');
		}
		removeListener(document, "mousemove", checkMouse, true);
}

function checkMouse(e){

	var topAbsPos = 0;
	var leftAbsPos = 0;
	
	
	//var saveref = document.getElementById("mPopUpDiv");
	var saveref = document.getElementById(divname);
	if (saveref != null){
		var width = saveref.offsetWidth;
		var height = saveref.offsetHeight;
	}

	
	elementIdAbs=saveref;
	while( elementIdAbs != null){
		topAbsPos += elementIdAbs.offsetTop;
		leftAbsPos += elementIdAbs.offsetLeft;
		elementIdAbs = elementIdAbs.offsetParent;
	}
	
	//alert (leftAbsPos);
	//alert(leftAbsPos + "     " + mouseX);
	if(mouseX <= (leftAbsPos-35) || mouseX > (leftAbsPos+width) || mouseY <= (topAbsPos) || mouseY > (topAbsPos+height)){
		removeListener(document, "mousemove", checkMouse, true);
		if (saveref){
			//document.getElementById("content").removeChild(saveref);
			saveref.parentNode.removeChild(saveref);
		}
		//roll(city,'normal');
	}
	
}

function cleanUp(lastPopUp){

	tmp = document.getElementById(lastPopUp);
	alert(tmp);

}

function changePic(fadePic,linkArrayNr){
	
	var el = $('fadePicContainer');
	var hotelURL = "de/"+hotelLinksArray[linkArrayNr]+"/";
	
	//nur ausblenden, wenn: 1.) nicht "" (Wien/Ulm/Berlin) und 2.) old nicht aktuell	
	if (oldPic != fadePic) {
		//fade out bild
		//document.getElementById("preview").style.visibility = 'hidden';
		el.fade(0);
			if (oldCity != null && oldCity!=city) {
				roll(oldCity, 'normal');
			}
	}else if (oldPic = fadePic && fadePic == ""){
		el.fade(0);
		if (oldCity != null && oldCity!=city) {
			roll(oldCity, 'normal');
		}
	}
	
	//nur einblenden, wenn neues Bild und nicht "" (Wien/Ulm/Berlin)
	if (oldPic !== "" && fadePic !== "" && oldPic != fadePic) {
		changer = window.setTimeout(function(e){
			//fade in bild
	    	document.getElementById("preview").src = "/images/startseite/"+fadePic;
	    	//document.getElementById("preview").style.visibility = 'visible';
	    	el.fade(1);
		},500);
		document.getElementById("hotelLink").href = hotelURL;
	}
	//wenn "" (Wien/Ulm/Berlin), einblenden ohne Timeout
	else if (oldPic == "" && oldPic != fadePic){
		document.getElementById("preview").src = "/images/startseite/"+fadePic;
		document.getElementById("hotelLink").href = hotelURL;
	    el.fade(1);
	}
}

function getMouseXY(e) {
	
	if (!e) e = window.event; // works on IE, but not NS (we rely on NS passing us the event)

	if (e){
		
		if (e.clientX || e.clientY) { // grab the x-y pos.s if browser is IE
			mouseX = e.clientX + document.body.scrollLeft
			mouseY = e.clientY + document.body.scrollTop
		} else if (e.pageX || e.pageY){  // grab the x-y pos.s if browser is NS
			mouseX = e.pageX
			mouseY = e.pageY
		}  
		// catch possible negative values in NS4
		if (mouseX < 0){mouseX = 0}
		if (mouseY < 0){mouseY = 0}  
		
		//alert ("X: " + tempX + "      Y :" +tempY);
		//var mouseXY = (tempX, tempY);
		
		//return true;
	}
}

function preloadImages (){
	
	document.getElementById("preLoaderText").innerHTML =  "Vorschaubilder werden geladen";

	progressBar  = new dwProgressBar({
		container: $('progress-bar'),
		startPercentage: 0,
		speed:100,
		boxID: 'box',
		percentageID: 'perc'
	});


	var images  = ['/images/startseite/budapest_fade.png','/images/startseite/frankfurt_fade.png','/images/startseite/karlsruhe_fade.png','/images/startseite/munich-north_fade.png','/images/startseite/munich-schwabing_fade.png','/images/startseite/regensburg_fade.png','/images/startseite/salzburg-airport_fade.png','/images/startseite/salzburg-center_fade.png','/images/startseite/bremen_fade.png'];
	
	var loader = new Asset.images(images, {
		onProgress: function(counter,index) {
            progressBar.set((counter + 1) * (100 / images.length));
        },
		onComplete: function() {
			//hide preLoader div
			document.getElementById('preLoader').style.visibility = 'hidden';
			//show main menu
			document.getElementById("menuid").style.visibility = "visible";
			images.each(function(im) {
				new Element('img',{ src:im, style:'position:absolute;left:0px;top:0px;width:10px;height:10px;visibility:hidden'}).inject($('imagePreviewLoader'));
			});
		}
	});
}

function citynames(){
	
	createTextDiv("t_Berlin", "BERLIN", "icon_berlin");
	createTextDiv("t_Frankfurt", "FRANKFURT", "icon_frankfurt");
	createTextDiv("t_Regensburg", "REGENSBURG", "icon_regensburg");
	//createTextDiv("t_Ulm", "ULM", "icon_ulm");
	createTextDiv("t_Karlsruhe", "KARLSRUHE", "icon_karlsruhe");
	createTextDiv("t_Muenchen", "M&Uuml;NCHEN", "icon_muenchen");
	createTextDiv("t_Salzburg", "SALZBURG", "icon_salzburg");
	createTextDiv("t_Wien", "WIEN", "icon_wien");
	createTextDiv("t_Budapest", "BUDAPEST", "icon_budapest");
	createTextDiv("t_Bremen", "BREMEN", "icon_bremen");

	
}

// Cross-browser implementation of element.addEventListener()
function addListener(element, type, expression, bubbling)
{
	bubbling = bubbling || false;
	
	if(element.addEventListener)	{ // Standard
		element.addEventListener(type, expression, bubbling);
		return true;
	} else if(element.attachEvent) { // IE
		element.attachEvent('on' + type, expression);
		return true;
	} else return false;
}


function removeListener(element, type, expression, bubbling)
{
	bubbling = bubbling || false;
	
	if(element.removeEventListener)	{ // Standard
		element.removeEventListener(type, expression, bubbling);
		return true;
	} else if(element.detachEvent) { // IE
		element.detachEvent('on' + type, expression);
		return true;
	} else return false;
}

function createTextDiv(divTextId, text, parentObj){
	    var divTag = document.createElement("div");
        divTag.id = divTextId;
		divTag.style.position="absolute";
		divTag.style.width = '100px';
		divTag.style.left = document.getElementById(parentObj).offsetLeft + (document.getElementById(parentObj).offsetWidth/2) - 50 +'px';			//50 = width:100 / 2
		divTag.style.top  = document.getElementById(parentObj).offsetTop  + document.getElementById(parentObj).offsetHeight +'px';
        divTag.setAttribute('align','center');
        divTag.style.margin = '0px auto';
        divTag.innerHTML = text;
		divTag.style.fontFamily = 'Verdana, Arial, Helvetica, sans-serif';
		divTag.style.color = '#404040';
		divTag.style.fontSize = '8pt';
		divTag.style.fontWeight = 'bold';
		//divTag.style.zIndex = '10';
        document.getElementById('content').appendChild(divTag);
}
