// Global Variables

var bBrowserIE = false;
var iSlideShowImage = 1, SlideShowTimer, SlideImageCache = new Array();

function initSlideShow() {
	for (var i = 1; i < 13; i++){
	   SlideImageCache[i] = new Image();
	   SlideImageCache[i].src = '/images/?path=/images/video/slide/' + i + '.jpg&width=169';
	}
}

if (navigator.userAgent.indexOf('MSIE') != -1) { bBrowserIE = true }

// MediaPlayer SlideShow

function runSlideShow(iShowImage){
   document.getElementById('NavVideoSlide').src = SlideImageCache[iSlideShowImage].src;
   iSlideShowImage++;
   if (iSlideShowImage > 12) iSlideShowImage=1;
   SlideShowTimer = setTimeout('runSlideShow()', 3000);
}

// String and Timefunctions

function ZeroFill(sValue, iLength) {
	var sZero = '';
	for (i=0; i < iLength-sValue.toString().length; i++) {
		sZero = sZero + '0';
	}
	return sZero + sValue.toString();
}

// Display HTML Data

function DisplayHTML(sString) {
	var aData = sString.split('|');
	var oHTML;
	var sText;
	var sTyp;
	for (var i=0; i < aData.length; i = i + 3) {
		oHTML = document.getElementById(aData[i+1]);
		if (oHTML) {
			sTyp = aData[i];
			sTEXT = aData[i+2];
			switch (sTyp) {
				case 'txt':
					oHTML.innerHTML = sTEXT;
				break;
				case 'img':
					var oImage = new Image
					oImage.src = sTEXT
					oHTML.src = oImage.src;
				break;
			}
		}
	}
}

// Logging

function WriteLog(sTyp, sContent) {
	var CID = readCookie('CID');
	if (CID != null) {
		SendData('/ajax/log.asp','LogType=' + sTyp + '&Data=' + CID + '|' + sContent, false,'txt');
	}
}

// AJAX - Data Transfer

function SendData(sUrl, sData, bShow, sMimeType) {
	var http_request = false;
	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		return false;
	}
	if (http_request.overrideMimeType) {
		if (sMimeType == 'xml') {
			http_request.overrideMimeType('text/xml');
		}
		else {
			http_request.overrideMimeType('text/html');
		}
	}
	if (bShow == true) {
		http_request.open('GET', sUrl + '?' + sData, false);
		http_request.send(null);
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				return http_request.responseText;
			}
		}
  }
	else {
		http_request.open('GET', sUrl + '?' + sData, true);
		http_request.send(null);
	}
}

// Cookies

function createCookie(name,value,days) {
	if (days) {
		var sDate = new Date();
		sDate.setTime(sDate.getTime()+(days*24*60*60*1000));
		var expires = '; expires=' + sDate.toGMTString();
	}
	else {
		var expires = '';
	}
	document.cookie = name + '=' + value+expires + '; path=/';
}

function readCookie(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;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function Querystring(qs) {
	this.params = new Object();
	this.get = Querystring_get;
	this.set = Querystring_set;
	this.build = Querystring_build;
	if (qs == null) { qs=location.search.substring(1,location.search.length); }
	if (qs.length == 0) { return; }

	qs = qs.replace(/\+/g, ' ');
	var args = qs.split('&');
	
	var value, pair, name;
	for (var i=0;i<args.length;i++) {
		pair = args[i].split('='); name = unescape(pair[0].toLowerCase());
		if (pair.length == 2) { value = unescape(pair[1]); } else {	value = name; }
		this.params[name] = value
	}
}

function Querystring_get(key) {
	var value = this.params[key.toLowerCase()];
	if (value == null) value = '';
	return value;
}

function Querystring_set(key,value) {
	this.params[key.toLowerCase()] = value;
}

function Querystring_build() {
	var value = '', key = '';
	for (key in this.params) {
		value += key + '=' + URLEncode(this.params[key]) + '&'
	}
	value = value.substring(0,value.length-1);
	return value;
}

function URLEncode(sText) {
	sText = escape(sText);
	sText = sText.replace(/\_/g,'%5F');
	sText = sText.replace(/\-/g,'%2D');
	return sText;
}

// Select Segments

function RemoveSegment(sValue,sRemove) {
	var sSegments = '';
	var aSegments = sValue.split('|');
	var iStart = 0 - 1;
	if (sRemove == 'last') {
		if ((aSegments[aSegments.length-2] != 'AB_SEL!') && (aSegments[aSegments.length-2].substr(0,2) != 'RA')) {
			sRemove = aSegments[aSegments.length-2].substr(0,2);
			iStart = 0;
		}
	}
	for (var i=0; i<aSegments.length-1; i++) {
		if (aSegments[i].substr(0,2) != sRemove || i == iStart) {
			sSegments = sSegments + aSegments[i] + '|';
		}
	}
	return sSegments;
}

function GetPosition(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function GetStyle(obj,val) {
	if (window.getComputedStyle) {
		switch (val) {
			case 'margin':
//				return window.getComputedStyle(obj,null).margin;
				return 5;
				break;
			case 'width':
				if (parseInt(obj.style.width) == 0 || obj.style.width == '') {
					return window.getComputedStyle(obj,"").width;

				} else {
					return obj.style.width;
				}
				break;
			case 'height':
				return window.getComputedStyle(obj,null).height;
				break;
			case 'display':
				if (obj.style.width == '') {
					return window.getComputedStyle(obj,"").display;
				} else {
					return obj.style.display;
				}
				break;
			case 'left':
				if (parseInt(obj.style.left) == 0) {
					return window.getComputedStyle(obj,"").left;
				} else {
					return obj.style.left;
				}
				break;
		}
	} else if (obj.currentStyle) {
		switch (val) {
			case 'margin':
				return obj.currentStyle.margin;
				break;
			case 'width':
				return obj.currentStyle.width;
				break;
			case 'height':
				return obj.currentStyle.height;
				break;
			case 'display':
				return obj.currentStyle.display;
				break;
			case 'left':
				return obj.currentStyle.left;
				break;
		}
	}
}

function Favoriten(sCID, sSelect) {
	if (sSelect == 'MAIL') {
		var iPosLeft = 100; var iPosTop = 200;
		if (window.screen.width <= 1100) iPosLeft = 50;
		window.open('/dialogs/favoriten_mail.asp', '','toolbar=no,location=0,directories=no,status=no,menubar=0,scrollbars=no,resizable=no,width=600,height=244,left=' + iPosLeft + ',top=' + iPosTop)
	} else {
		var aFav = SendData('/ajax/favoriten.asp','CID=' + sCID + '&Select=' + sSelect, true,'txt').split('|');
		var mystafa = document.getElementById('MYSTAFA_FAV_NAV');
		var sDateAdd = '';
		if (aFav[0] != 0)	{
			mystafa.innerHTML = 'MEINE FAVORITEN (' + aFav[0] + ')';
			mystafa.style.display = 'block';
		} else {
			mystafa.style.display = 'none';
		}
		if (sSelect == 'DELALL') {
			location.href = '/';
			return;
		}
		if (aFav[1] == 'A') {
			sDateAdd = aFav[2].replace(' ',' um ');
			document.getElementById('MYSTAFA_FAV_IMG').src = '/~global/images/buttons/fav_active.gif'
			document.getElementById('MYSTAFA_FAV_TXT').innerHTML = 'Dieses Angebot haben Sie am ' + sDateAdd + ' in Ihren Reise-Favoriten abgelegt';
		}
		if (aFav[1] == 'D') {
			document.getElementById('MYSTAFA_FAV_IMG').src = '/~global/images/buttons/fav_inactive.gif'
			document.getElementById('MYSTAFA_FAV_TXT').innerHTML = 'Dieses Angebot zu meinen Reise-Favoriten hinzufügen';
		}
	}
}

function CheckAcrobatReader() {
	var acrobat_version = '0.0';
	if (navigator.plugins && navigator.plugins.length) {
		for ( var x = 0, l = navigator.plugins.length; x < l; ++x ) {
			if (navigator.plugins[x].description.indexOf('Adobe Acrobat') != -1 || navigator.plugins[x].description.indexOf('Adobe PDF') != -1 ) {
				acrobat_version = parseFloat(navigator.plugins[x].description.split('Version ')[1]);
				if (acrobat_version.toString().length == 1) acrobat_version+='.0';
				break;
			}
		}
	} else if (window.ActiveXObject) {
		for (x=2; x<10; x++) { try {	oAcro=eval("new ActiveXObject('PDF.PdfCtrl."+x+"');"); if (oAcro) { acrobat_version=x+'.0'; } }	catch(e) {} }
		try { oAcro4=new ActiveXObject('PDF.PdfCtrl.1'); if (oAcro4) { acrobat_version='4.0'; } } catch(e) {}
		try { oAcro7=new ActiveXObject('AcroPDF.PDF.1'); if (oAcro7) { acrobat_version='7.0'; } }	catch(e) {}
	}
	return acrobat_version;
}

function LoadDetailProgramm(sSelect,sOrigin) {
	var sOutput = 'PDF';
	if (CheckAcrobatReader() == '0.0') sOutput = 'HTML'
	window.open('http://www.stafa.at/dialogs/detailprogramm.asp?Output=' + sOutput + '&Origin=' + sOrigin + '&Select=' + sSelect, 'Detailprogramm','toolbar=no,location=0,directories=no,status=yes,menubar=0,scrollbars=no,resizable=yes,width=800,height=800,left=100,top=100')	
}

function displayBig(oImage) {
	if ( document.getElementById('containerImageBig') ) {
		document.getElementById('ImageBig').src = oImage.src + '&original=yes';
		document.getElementById('containerImageBig').style.display = 'block';
	}
}

function removeBig(oImgage) {
	if ( document.getElementById('containerImageBig') ) {
		document.getElementById('ImageBig').src = '/~global/images/divers/blank.jpg';
		document.getElementById('containerImageBig').style.display = 'none';
	}
}

function HL(element, sBC, sFC, bInherit, bBorder) {
	if ( sBC ) element.style.backgroundColor = sBC;
	if ( sFC ) element.style.color = sFC;
	if ( bBorder == true ) {
		if ( sBC ) { 
			element.style.border = '1px solid ' + sBC;
		} else {
			if ( sFC ) element.style.border = '1px solid ' + sFC;
		}
	}
	if (bInherit == true) {
		var oChildElements = element.getElementsByTagName('*');
		for (var i=0; i < oChildElements.length; i++) {
			if ( sBC ) { oChildElements[i].style.backgroundColor = sBC; }
			if ( sFC ) { oChildElements[i].style.color = sFC; }
			if ( bBorder == true ) {
				if ( sBC ) { 
					element.style.border = '1px solid ' + sBC;
				} else {
					if ( sFC ) element.style.border = '1px solid ' + sFC;
				}
			}
		}
	}
}

function HL_Top(element,sAction) {
	var sBorderColor = 'white', sBackgroundColor = '#FFDFBF', oChildElements;
	if ( sAction == 'over' ) {	sBorderColor = '#FF9933'; sBackgroundColor = '#FF9933'; }
	element.style.border = '1px solid ' + sBorderColor;
	oChildElements = element.getElementsByTagName('TD')
	for (var i=0; i < oChildElements.length; i++) {
		if ( oChildElements[i].className == 'Text' ) oChildElements[i].style.backgroundColor = sBackgroundColor;
	}
}

function showMenu(oMenu,sAction) {
	var sDisplay = '', sColor = '';
	switch (sAction) {
		case 'show':
			sDisplay = 'block'; sColor = '#FF9933'; break;
		case 'hide':
			sDisplay = 'none'; sColor = 'black'; break;
	}
	if (!oMenu.id) {
		if ( oMenu.getElementsByTagName('a').length != 0 ) { oMenu.getElementsByTagName('a')[0].style.color = sColor; } else { oMenu.style.color = sColor; }
		return;
	}
	if (oMenu.id.indexOf('Sub') != -1) {
		oMenu.style.display = sDisplay;
		var oTopMenu = document.getElementById('menuTop_' + oMenu.id.split('_')[1]);
		if ( oTopMenu.getElementsByTagName('a').length != 0 ) { oTopMenu.getElementsByTagName('a')[0].style.color = sColor; } else { oTopMenu.style.color = sColor; }
		return;
	}
	if ( oMenu.getElementsByTagName('a').length != 0 ) { oMenu.getElementsByTagName('a')[0].style.color = sColor; } else { oMenu.style.color = sColor; }
	var oSubMenu = document.getElementById('menuSub_' + oMenu.id.split('_')[1]);
	if ( oSubMenu ) {
		oSubMenu.style.left = GetPosition(oMenu)[0] + 'px';
		oSubMenu.style.top = GetPosition(oMenu)[1] + parseInt(oMenu.style.height) + 'px';
		oSubMenu.style.display = sDisplay;
	}
}

// muss noch überarbeitet werden, ID auf this umstellen.
function ButtonOver(iID) {
	var oButton = document.getElementById('BUT_' + iID);
	var oButtonImageI = document.getElementById('BUT_IMG_I_' + iID);
	var oButtonImageA = document.getElementById('BUT_IMG_A_' + iID);
	if (oButtonImageI) oButtonImageI.style.display = 'none';
	if (oButtonImageA) oButtonImageA.style.display = 'block';
	oButton.style.color = '#FFFFFF'
	oButton.style.backgroundColor = oButton.getAttribute('CA');
}

function ButtonOut(iID) {
	var oButton = document.getElementById('BUT_' + iID);
	var oButtonImageI = document.getElementById('BUT_IMG_I_' + iID);
	var oButtonImageA = document.getElementById('BUT_IMG_A_' + iID);
	if (oButtonImageI) oButtonImageI.style.display = 'block';
	if (oButtonImageA) oButtonImageA.style.display = 'none';
	oButton.style.color = '#000000'
	oButton.style.backgroundColor = oButton.getAttribute('CI');
}

function setExternPosition() {
	if(document.getElementById('iframeExtern') && document.documentElement.scrollHeight) {
		var iframe = document.getElementById('iframeExtern');
		iframe.style.height = '0';
		iframe.style.height = (document.documentElement.scrollHeight + 10) + 'px';
	} else {
		if (document.getElementById('containerFTI')) {
			var oContainer = document.getElementById('containerFTI');
			var oFrame = document.getElementById('iframeFTI');
			oContainer.style.left = GetPosition(document.getElementById('containerTop'))[0] + 35 + 'px';
			if (window.screen.height < 900) {
				oContainer.style.height = '530px'; oFrame.style.height = '511px';
				oContainer.style.top = GetPosition(document.getElementById('containerTop'))[1] + 35 + 'px';
			} else {
				oContainer.style.top = GetPosition(document.getElementById('containerTop'))[1] + 100 + 'px';
			}
			oContainer.style.display = 'block';
		}
	}
}

function HL_TP(iAC){
	var iACTop = iAC; var iACBottom = iAC + 1;
	document.getElementById('sp_' + iACTop).style.borderBottom = '3px solid #FF9933';
	document.getElementById('sp_' + iACBottom).style.borderBottom = '3px solid #FF9933';
}
function UL_TP(iAC){
	var iACTop = iAC; var iACBottom = iAC + 1;
	document.getElementById('sp_' + iACTop).style.borderBottom = '3px solid white';
	document.getElementById('sp_' + iACBottom).style.borderBottom = '3px solid white';
}

function HL_A(iAnlage) {
	var sClass = '';
	if (document.getElementById('A_'+iAnlage+'_1').className == 'anlageText') { sClass = 'anlageTextOver'; } else { sClass = 'anlageText'; }
	document.getElementById('A_'+iAnlage+'_1').className = sClass;
	document.getElementById('A_'+iAnlage+'_2').className = sClass;
}

function Buchen(iArt,sSelect){
	if (iArt == 1 || iArt == 2) { window.location = "https://www.stafa.at/?pagetype=buchen&page=1&art=" + iArt + "&select=" + URLEncode(sSelect); }
	if (iArt == 3) { window.open('https://www.stafa.at/buchen/telefon.asp?select=' + URLEncode(sSelect), '','toolbar=no,location=0,directories=no,status=yes,menubar=0,scrollbars=no,resizable=yes,width=925,height=560,left=100,top=100'); }
}
