var offerId;
var requestInUse = false;

function xmlRequestSend(url) {
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = xmlRequestProcessReqChange;
		req.open("GET", url, true);
		req.send(null);
		
		// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		isIE = true;
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = xmlRequestProcessReqChange;
			req.open("GET", url, true);
			req.send();
		}
	}
}


function xmlRequestProcessReqChange() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {	
			var index = getElement(offerId).rowIndex;
			document.getElementById( 'ibeTblOffers' ).deleteRow( index );
			var row = document.getElementById( 'ibeTblOffers' ).insertRow( index );
			var td = document.createElement( 'td' );
			td.setAttribute('colSpan', '6' );
			td.innerHTML = req.responseText;
			row.appendChild( td );
			requestInUse = false;
		}
		
		requestInUse = false;
	}
}

function bookingQuestionReq ( host, id ) {
	if ( requestInUse == true ) return;
	requestInUse = true;
	offerId = id;
		
	
	
	var html = '<div>'; 
	html += '		<b>Bitte warten! Es werden freie Pl\xE4tze direkt beim Veranstalter gepr\xFCft.</b>';
	html += '	</div>';
	html += '	<div style="text-align:center; width:100%; padding: 5px 0px;">';
	html += '		<img src="http://buchung.ab-in-den-urlaub.de/kunden_parameter/aidu2/ibe_v2/images/flieger.gif" align=absmiddle>';
	html += '	</div>';

	var index = getElement(offerId).rowIndex;
	document.getElementById( 'ibeTblOffers' ).deleteRow( index );
	var row = document.getElementById( 'ibeTblOffers' ).insertRow( index );
	var td = document.createElement( 'td' );
	row.id = offerId;
	td.setAttribute('colSpan', '6' );
	td.setAttribute('style', "background-color:#E0D4F7;");
	td.innerHTML = html;
	row.appendChild( td );
	
	xmlRequestSend ( host+'hotel/ttbookingquestion/offerId/'+offerId );
}



function resizeIframe(id , height){
	document.getElementById(id).height = height; // required for Moz bug, value can be "", null, or integer
	document.getElementById(id).height = window.frames[id].document.body.scrollHeight ;
}

function getElement(obj)
{
	if(document.getElementById)
		return document.getElementById(obj);
	else if(document.all)
		return document.all[obj];
	else if(document.layers)
		return document.obj;
}
	
function switchDisplay (id, mode) {
	if( mode == true )
		displayType = "block";
	else
		displayType = "none";
		
	element = getElement(id);	
	element.style.display = displayType;
}
	
function setFormText (id, value) {
	self.document.getElementById (id).value = value;
	return;
}

function getFormText (id) {
	return self.document.getElementById (id).value;
}

function setFormField (key, value) {
	var formObj = self.document.getElementById (ibeFormId);
	if (!formObj)
		return false;
		
	alert(key);
	formObj.elements[key].value = value;
}

function setFormFieldParent (key, value) {
	var formObj = parent.top.document.getElementById (ibeFormId);
	if (!formObj) return false;
	formObj.elements[key].value = value;
}

function popup(url, media, name) {
	var width = 0;
	var height = 0;
	var left = 0;
	var top = 0;
	
	switch(media) {
		case "print": {
			width = 700;
			height = 480;
			left = (screen.availWidth - width) / 2;
			top = (screen.availHeight - height) / 2;
			options = "left="+String(left)+", screenX="+String(left)+", top="+String(top)+", screenY="+String(top)+", height="+String(height)+", location=no, menubar=no, resizable=yes, status=no, scrollbars=yes, toolbar=no, width="+String(width)+"";
			break;
		}
		case "info": {
			width = 360;
			height = 480;
			left = (screen.availWidth - width) / 2;
			top = (screen.availHeight - height) / 2;
			options = "left="+String(left)+", screenX="+String(left)+", top="+String(top)+", screenY="+String(top)+", height="+String(height)+", location=no, menubar=no, resizable=yes, status=no, scrollbars=yes, toolbar=no, width="+String(width)+"";
			break;
		}
		case "screen": {
			width = 800;
			height = 600;
			left = (screen.availWidth - width) / 2;
			top = (screen.availHeight - height) / 2;
			options = "left="+String(left)+", screenX="+String(left)+", top="+String(top)+", screenY="+String(top)+", height="+String(height)+", location=yes, menubar=yes, resizable=yes, status=yes, scrollbars=yes, toolbar=yes, width="+String(width)+"";
			break;
		}
		default: {
			options = "";
			break;
		}
	}
	// set default name
	if (!name)
		name = "popup";
	// open popup
	var popupObj = window.open(url, name, options);
	// set into foreground
	popupObj.focus ();
}

function ervBookingTypeManualHandler () {
	switchDisplay('insuranceOffTeaser', false);
	self.setFormFieldParent ('ibeBookingInput[erv][offerId]', "");
	self.setFormFieldParent ('ibeBookingInput[erv][book]', "MANUAL");
	return;
}

function ervBookingTypeTrueHandler (offerId) {
	iframeSize = 198;
	self.setFormFieldParent ('ibeBookingInput[erv][offerId]', offerId);
	self.setFormFieldParent ('ibeBookingInput[erv][book]', "TRUE");
	switchDisplay('insuranceOffTeaser', false);
	
	if(currentIframeSize != iframeSize) {
		parent.resizeIframe('frmIbeErvOffers',iframeSize);
		currentIframeSize = iframeSize
	}
	/*
  	self.resizeIframe ("ervIframe", getBodyHeight(320));
	*/
	return;
}

function ervBookingTypeFalseHandler () {
	iframeSize = 165;
	self.setFormFieldParent ('ibeBookingInput[erv][offerId]', "");
	self.setFormFieldParent ('ibeBookingInput[erv][book]', "FALSE");
	
	switchDisplay('insuranceOffTeaser', true);
	
	if(currentIframeSize != iframeSize) {
		parent.resizeIframe('frmIbeErvOffers',iframeSize);
		currentIframeSize = iframeSize
	}
	/*
	self.resizeIframe ("ervIframe", getBodyHeight(320));
	*/
}