var http_request = false;
var http_request = false;
var warp_element = false;
var ttl = false;
var doNext = false;

function get(url, output, handler) {

	hidePage();

	if(handler)
	{
		handleOuput = handler;
	}
	else
	{
		handleOuput = showContent;
	}

    http_request = false;

    if (window.XMLHttpRequest)
    { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType)
        {
            http_request.overrideMimeType('text/html');
            // zu dieser Zeile siehe weiter unten
        }
    }
    else if (window.ActiveXObject)
    { // IE
        try
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {

            try
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");

            }
            catch (e)
            {
            	alert("No Connection.");
            }
        }
    }


    if (!http_request)
    {
        alert('Kann keine XMLHTTP-Instanz erzeugen');
        return false;
    }
    warp_element = output;
    http_request.onreadystatechange = eval(handleOuput);
    http_request.open('GET', url, true);
    http_request.send(null);


}

	function toggleDisplayCB(id, target)
	{
		if(document.getElementById(id).checked)
		{
			document.getElementById(target).style.display = '';
		}
		else
		{
			document.getElementById(target).style.display = 'none';
		}

		correctSearchFormHeight();
	}

	function correctSearchFormHeight()
	{
		newHeight = document.getElementById("searchForm").offsetHeight + 110;
		document.getElementById("searchFormBackground1").style.height = newHeight;
		document.getElementById("searchFormBackground2").style.height = newHeight;
	}

function post(obj, url, output)
{
		http_request = false;
		if (window.XMLHttpRequest)
		{
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType)
			{
				http_request.overrideMimeType('text/html');
			}
		}
		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)
		{
			alert('Cannot create XMLHTTP instance');
			return false;
		}

		var len = obj.elements.length;

		var post = new Array();


		for (var i = 0; i < len; i++)
		{
			e = obj.elements[i];
			post.push(e.name+"="+e.value);
		}

		params = post.join("&");
		warp_element = output;
		http_request.onreadystatechange = handleExtSearch;
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", params.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(params);
}


function showWait(obj, type)
{
	return;
	if(type == 'select')
	{
		document.getElementById(obj).innerHTML = "<option><span style='color: #cdcdcd'>" + msg_loading + "...</span></option>";
	}
	else
	{
		dist = parseInt(document.getElementById(obj).offsetHeight)/2;
		//document.getElementById(obj).innerHTML = '<div style="width: 100%; height: 200px; background-color: #F00"> lade...</div>';
		document.getElementById(obj).innerHTML = '<div style="width: '+document.getElementById(obj).offsetWidth+'; height: '+document.getElementById(obj).offsetHeight+'; background-color: #FFF; text-align: center;"><img style="position: relative; top:'+dist+'px" src="/images/ajax.gif"/></div>';

	}
}

function showContent()
{
	if(http_request)
	{
	    if (http_request.readyState == 4)
	    {
	        if (http_request.status == 200)
	        {
	        	//alert(http_request.responseText);
	        	document.getElementById(warp_element).innerHTML = http_request.responseText;
	        	correctContainerHeight();
	        	http_request = false;
	        	if(doNext)
	        	{
	        		cmmd = doNext;
	        		doNext = false;
	        		eval(cmmd);
	        	}
	        	else
	        	{
	        		displayPage();
	        	}
	        }
	        else
	        {
	            alert('Der Inhalt konnte nicht geladen werden.');
	        }
	    }
	}

}


function appendContent()
{
	if(http_request)
	{
	    if (http_request.readyState == 4)
	    {
	        if (http_request.status == 200)
	        {
	        	newdiv = document.createElement("div");
				newdiv.innerHTML = http_request.responseText;
				container = document.getElementById(warp_element);
				container.appendChild(newdiv);
				correctContainerHeight();
				http_request = false;
				if(doNext)
	        	{
	        		cmmd = doNext;
	        		doNext = false;
	        		eval(cmmd);
	        	}
	        	else
	        	{
	        		displayPage();
	        	}
	        }
	        else
	        {
	            alert('Der Inhalt konnte nicht geladen werden.');
	        }
	    }
	}

}

function displayPage()
{

	return;
	if(http_request == false)
	{
		ttl = window.setTimeout("document.getElementById('rcPreload').style.display='none'", 333);
	}
}

function correctContainerHeight()
{
	return;

	if(BrowserDetect.browser == 'Explorer')
	{
		var height = document.getElementById("rcContent").offsetHeight;
		document.getElementById("rcPreload").style.height = height;
	}

	return;
}


function hidePage()
{

	return;

	if(ttl)	clearTimeout(ttl);

		document.getElementById('rcPreload').style.display='none'; // none
		correctContainerHeight();
}

function details(field)
{
    if(document.getElementsByName(field)[0].style.display == 'none')
    {
        document.getElementsByName(field)[0].style.display = 'inline';
    }
    else
    {
        document.getElementsByName(field)[0].style.display = 'none';
    }
}


function back()
{
	window.location.href = SYS_HOST + "allgemein/tools/back/index.htm";
	return false;
}


function getURL(url)
{
	self.location.href = url;
	return false;
}

function ask(text, url)
{
	ok = confirm(text);
	if(ok)
	{
		self.location.href=url
	}
}

function askFormal(text, obj)
{
	ok = confirm(text);
	if(ok)
	{
		obj.submit();
	}
}

function toggleDisabled(id)
{
	obj = document.getElementById(id);

	if(obj.disabled == true)
	{
		obj.disabled = false;
	}
	else
	{
		obj.disabled = true;
	}

	return;

}

function toggleDisplay(id)
{

	obj = document.getElementById(id);

	if(obj.style.display != 'none')
	{
		obj.style.display = 'none';
	}
	else
	{
		obj.style.display = '';
	}

	return;

}


function showItem(id)
{

	obj = document.getElementById(id);
	obj.style.display = '';

	return;

}

function hideItem(id)
{

	obj = document.getElementById(id);
	obj.style.display = 'none';

	return;

}

function changeText(id, text1, text2)
{
	obj = document.getElementById(id);
	if(obj.text == text1)
	{
		obj.innerHTML = text2;
	}
	else
	{
		obj.innerHTML = text1;
	}

	return;

}

function checkAll(caller,arr, text)
{
	if(caller.checked == false)
		ok = confirm(text);
	else
		ok = true;

	if(ok)
   	{
	    var len = arr.length;
	    for (var i = 0; i < len; i++)
	    {
	    	e = document.getElementById(arr[i]);
	    	if(caller.checked == true)
	    	{
	    		e.checked = true;
	    	}

		    else
		    {
		    	e.checked = false;
		    }
	    }
	    return true;
	}
	else
	{
		return false;
	}
}

function batchToggleDisplay(arr)
{

    var len = arr.length;
    for (var i = 0; i < len; i++)
    {
    	toggleDisplay(arr[i], 'table');
    }
    return true;

}

function batchChangeText(arr, text1, text2)
{

    var len = arr.length;
    for (var i = 0; i < len; i++)
    {
    	changeText(arr[i], text1, text2);
    }
    return true;

}

function deleteElement(id)
{
	var Knoten = document.getElementById(id);
	Knoten.parentNode.removeChild(Knoten);
}

function confirmRemoveSearchRow(text, id)
{
	ok = confirm(text);
	if(ok)
	{
		deleteElement(id);
		d = document.forms.rcSuperSearch;
		d.submit();
	}
	return;
}

function confirmRemovePriceRow(text, id)
{
	ok = confirm(text);
	if(ok)
	{
		deleteElement(id);
	}
	return;
}

function orderBy(cat)
{
	d = document.forms.rcSuperSearch;
	d.newsearch.value = 0;
	d.sort.value = cat;
	d.submit();
	d.sort.value = '';
}

function resetSearchForm()
{
	d = document.forms.rcSuperSearch;
	d.action = "";
	d.resetSearch.value = '1';
	d.submit();
}

function showItemsPerPage(n)
{
	d = document.forms.rcSuperSearch;
	d.itemsPerPage.value = n;
	d.submit();
}

function sendMessage()
{
	d = document.forms.rcMessage;
	document.getElementById("datafield").value = document.getElementById("autocomplete").value
	d.submit();
}

function orderOffers(column)
{
	d = document.forms.orderform;
	d.sort.value = column;
	d.submit();
}





function selectContingent(route,ctg_id, row)
{
	clearCtgSelection(route);
	flightRow = row+"_row";
	document.getElementById(flightRow).style.fontWeight = 'bold';
	document.getElementById(row).checked = 'true';
	d = document.forms.rcPricing;
	if(route == 1)d.ctg_id1.value = ctg_id;
	if(route == 2)d.ctg_id2.value = ctg_id;
	d.submit();
}

function clearCtgSelection(pos)
{
	if(pos == 1)
	{
		if(document.getElementById("rb_1_0_row"))document.getElementById("rb_1_0_row").style.fontWeight = '';
		if(document.getElementById("rb_1_1_row"))document.getElementById("rb_1_1_row").style.fontWeight = '';
		if(document.getElementById("rb_1_2_row"))document.getElementById("rb_1_2_row").style.fontWeight = '';
	}
	else
	{
		if(document.getElementById("rb_2_0_row"))document.getElementById("rb_2_0_row").style.fontWeight = '';
		if(document.getElementById("rb_2_1_row"))document.getElementById("rb_2_1_row").style.fontWeight = '';
		if(document.getElementById("rb_2_2_row"))document.getElementById("rb_2_2_row").style.fontWeight = '';
	}

}

function addSurcharge(amount)
{
	d = document.forms.rcPricing;
	d.agn_surcharge.value = amount;
	d.submit();
}

function addDonation(amount)
{
	d = document.forms.rcPricing;
	if(document.forms.booking.cst_donation_box.checked)
	{
		d.cst_donation.value = amount;
		d.submit();
	}
	else
	{
		d.cst_donation.value = 0;
		d.submit();
	}
}

function addBustransfer(swtch)
{
	d = document.forms.rcPricing;
	if(swtch == true)
	{
		d.bus_checkbox.value = 1;
	}
	else
	{
		d.bus_checkbox.value = 0;
	}
	d.submit();
}

function populatePrices(price,route,a,b)
{
	//price = '';

	d = document.forms.booking;
	if(document.getElementById("adults"+route))document.getElementById("adults"+route).value = price;
	if(document.getElementById("kids"+route))document.getElementById("kids"+route).value = price;
	if(document.getElementById("babies"+route))document.getElementById("babies"+route).value = 20;
	if(document.getElementById("rb_"+route+"_"+a))document.getElementById("rb_"+route+"_"+a).checked = true;
	if(document.getElementById("ctg"+route))document.getElementById("ctg"+route).value = b;

	//alert(document.getElementById("rb_"+route+"_"+a).value);

	//d.submit();
}

function oneWay()
{
	obj = document.getElementById('return_date');
	if(obj.style.display != 'none')
	{
		obj.style.display = 'none';
	}
}

function twoWay()
{
	obj = document.getElementById('return_date');
	if(obj.style.display != '')
	{
		obj.style.display = '';
	}
}


function hideObj(id)
{
	obj = document.getElementById(id);
	obj.style.display = 'none';
}

function showObj(id)
{
	obj = document.getElementById(id);
	obj.style.display = '';
}
