// JavaScript Document
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2]; 
	//VDM --->	Change caption according to alt tag of function calling element ("th1" e.g.)
	if(MM_findObj('caption') && MM_findObj('th1')) MM_findObj('caption').innerHTML = MM_findObj('th'+a[2].slice(-5,-4)).alt;
	//<--- VDM
   }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


//Ajax
function update_element(div_to_update, parameters, execute_on_success, execute_on_error)
	{
	//define div to update
	parameters += "element=" + div_to_update;

	//collect form values
	form_fields = new Array("destination_airport_id", "start_airport_id", "start_date_month_id", "start_date_day_id", "end_date_month_id", "end_date_day_id", "adults_id", "children_id", "infants_id", "luggage_id", "bungalows_id", "specials_id", "quote_button_id", "quote_id");
	for(i=0; i<form_fields.length; i++)
		if(MM_findObj(form_fields[i])) 
			parameters += "&" + form_fields[i] + "=" + MM_findObj(form_fields[i]).value;
		
	//always hide certain content; otherwise we might have still an old result
	MM_findObj('quote').innerHTML = '';
	MM_findObj('error_wrapper').innerHTML = '';
	MM_findObj('error_wrapper').style.display = "none";

	//hide others on condition
	if(div_to_update != 'specials' 
	&& div_to_update != 'quote_button'	
	&& div_to_update != 'quote')
		{
		MM_findObj('specials').innerHTML = '';
		MM_findObj('quote_button').innerHTML = '';
		MM_findObj('line_5').style.display = "none";
		MM_findObj('line_6').style.display = "none";
		}
	
	//now display the line if it is not visible already
	switch(div_to_update)
		{
		case 'destination_airport':
			MM_findObj('line_1').style.display = "block";
			break;		
		case 'start_date_month':
			MM_findObj('line_2').style.display = "block";
			break;		
		case 'occupants_and_luggage':
			MM_findObj('line_3').style.display = "block";
			break;		
		case 'bungalows':
			MM_findObj('line_4').style.display = "block";
			break;		
		case 'quote_button':
			MM_findObj('line_5').style.display = "block";
			break;		
		case 'quote':
			MM_findObj('line_6').style.display = "block";
			break;		
		}
		
	//insert loading gif in div to update
	MM_findObj(div_to_update).innerHTML = '<img id="loading_indicator" src="bilder/loading.gif" alt="Loading..." style="margin-top: 10px" />';

	//now get the url
	jx.bind({
		"url":'vdm_php_classes/price_calculator.class.php?' + parameters,	//URL to be loaded
		"onSuccess":function(data){eval(execute_on_success)},	//Function that should be called at success
		"onError":function(status){eval(execute_on_error)},		//Function that should be called at error
		"format":"text",										//Return type - could be 'xml','json' or 'text'
		"method":"get",											//GET or POST
		"update":div_to_update									//The id of the element where the resulting data should be shown. 
		});



	}




