﻿// JScript File

var xmlHttp = new Array(15);
var timing = new Array(15);
var processLoad = "Please wait";
var dot = "";
var processWait = "";
var any = "Any";
var xmlPriceTextBox;
var selectedDuration = "";
var selectedLesson = "";
var selectedAvailability = "";
var schools = "";
var categories = "";
var programmes = "";
var lessons = "";
var duration = "";
var readystate = false;
var accommodation= "";
var option = "";
var selected = "";
var selectedOption = "";
var weeks = "";
var transfer = "";

function storeValues()
{	
	var a = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddProgramme').selectedIndex;
	var b = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddLessons').selectedIndex;
	var c = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddDuration').selectedIndex;
	var d = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAvailability').selectedIndex;
	var e = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAccommodation').selectedIndex;
	var f = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddWeeks').selectedIndex;
	var g = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddTransfer').selectedIndex;
	var h = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddCategory').selectedIndex;
	var i = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddOptions').selectedIndex;		
	
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdCategory').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddCategory').options[h].text;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdCategoryValue').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddCategory').options[h].value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdProgramme').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddProgramme').options[a].text;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdProgrammeValue').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddProgramme').options[a].value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdLessons').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddLessons').options[b].text;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdLessonsValue').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddLessons').options[b].value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdDuration').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddDuration').options[c].text;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdDurationValue').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddDuration').options[c].value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdAvailability').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAvailability').options[d].text;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdAvailabilityValue').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAvailability').options[d].value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdProgrammePrice').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_txtProgrammePrice').value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdAccommodation').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAccommodation').options[e].text;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdAccommodationValue').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAccommodation').options[e].value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdOptions').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddOptions').options[i].text;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdOptionsValue').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddOptions').options[i].value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdWeeks').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddWeeks').options[f].text;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdWeeksValue').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddWeeks').options[f].value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdAdminFee').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_txtAdmin').value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdAccommodationFee').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_txtFees').value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdTransfer').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddTransfer').options[g].text;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdTransferValue').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddTransfer').options[g].value;
	document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdTransferFee').value = document.getElementById('ctl00_ContentPlaceHolder1_book_page_txtTransfer').value;
}

function findValue(dropdown, text)
{
	for (i=0; i <= dropdown.options.length - 1; i++)
	{
		//alert(dropdown.options[i].text + '-' + text);
		if(dropdown.options[i].text == text)
		{
			return dropdown.options[i].value;
		}
	}
	
	return 0;
}

function initAjax()
{
	schools = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddSchool')
	if(schools != null)
	{
		categories = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddCategory');
		programmes = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddProgramme');
		lessons = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddLessons');
		duration = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddDuration');	
		
		schools.onchange=function(){updateCategory();updateAccommodation();updateTransfer();}
		categories.onchange=function(){updateProgrammes();updateTransfer();};	
		programmes.onchange=function(){updateLessons();};	
		lessons.onchange=function(){updateDuration();};	
		duration.onchange=function(){updatePrice();};
		
		accommodation = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAccommodation');
		option = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddOptions');
		selected = accommodation.options[accommodation.selectedIndex].value;
		weeks = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddWeeks');
		
		accommodation.onchange=function(){updateAccommodationOption()};
		option.onchange=function(){updateAccommodationPrice()};
		weeks.onchange=function(){updateAccommodationPrice()};
		
		if(document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdCategoryValue').value.length > 0)
		{
			retrieveData(10, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddProgramme', new Array(''), document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdCategoryValue').value);
		}
		
		retrieveData(7, new Array(0), 'ctl00_ContentPlaceHolder1_book_page_ddOptions', new Array(''), selected, selectedOption);						
				
		if(document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdProgramme').value.length > 0)
		{
			programmes.selectedItem = findValue(programmes, document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdProgramme').value);
		}		
		updateLessons();
		//if(document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdLessons').value.length > 0)
		//{
			//lessons.selectedItem = findValue(lessons, document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdLessons').value);
		//}		
		//updateDuration();
		//if(document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdDuration').value.length > 0)
		//{
			//duration.selectedItem = findValue(duration, document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdDuration').value);
		//}
		//updatePrice();
		//updateAccommodation();
		//updateTransfer();
		
		transfer = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddTransfer');        
		transfer.onchange=function(){updateTransferPrice()};   
		
		updateTransferPrice();
			
		document.getElementById('ctl00_ContentPlaceHolder1_book_page_chkAccommodation').onclick = function(){show_hide('ctl00_ContentPlaceHolder1_book_page_chkAccommodation', 'accommodation_details')};
		document.getElementById('ctl00_ContentPlaceHolder1_book_page_chkArrival').onclick = function(){show_hide('ctl00_ContentPlaceHolder1_book_page_chkArrival', 'arrival_details')};
		
		//determine whether accommodation and transfer options should be shown
		if(document.getElementById('ctl00_ContentPlaceHolder1_book_page_chkAccommodation').checked)
		{
			document.getElementById('accommodation_details').style.display = 'block';      
		}
		else
		{
			document.getElementById('accommodation_details').style.display = 'none';
		}
		
		if(document.getElementById('ctl00_ContentPlaceHolder1_book_page_chkArrival').checked)
		{
			document.getElementById('arrival_details').style.display = 'block';      
		}
		else
		{
			document.getElementById('arrival_details').style.display = 'none';
		}
	}
}

function updateCategory()
{
	retrieveData(2, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddCategory', new Array(''), schools.options[schools.selectedIndex].value);
}

function updateProgrammes()
{
	retrieveData(10, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddProgramme', new Array(''), categories.options[categories.selectedIndex].value);
}

function updateLessons()
{
	retrieveData(3, new Array('4'), 'ctl00_ContentPlaceHolder1_book_page_ddLessons', new Array('ctl00_ContentPlaceHolder1_book_page_ddDuration'), programmes.options[programmes.selectedIndex].value, '');
	retrieveData(5, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddAvailability', '', programmes.options[programmes.selectedIndex].value, '' );
}

function updateDuration()
{
	clearselectedDuration();
	retrieveData(4, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddDuration', '', lessons.options[lessons.selectedIndex].value, '');
}

function updatePrice()
{
	clearselectedDuration();
	retrievePrice(duration.options[duration.selectedIndex].value);
}

function updateAccommodation()
{
	retrieveData(11, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddAccommodation', new Array(''), categories.options[categories.selectedIndex].value);
}

function updateAccommodationOption()
{
	retrieveData(7, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddOptions', new Array(''), accommodation.options[accommodation.selectedIndex].value);
}

function updateAccommodationPrice()
{
	retrieveAccommodationPrice(option.options[option.selectedIndex].value);
}

function updateTransfer()
{
	retrieveData(12, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddTransfer', new Array(''), categories.options[categories.selectedIndex].value);
}

function updateTransferPrice()
{
	retrieveTransferPrice(transfer.options[transfer.selectedIndex].value);
}

//function initCategory()
//{	 
//	var categories = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddCategory');
//	var schools = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddSchool');
//	var category = categories.options[categories.selectedIndex].value;	
//	var school = document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdSchool').value;
//	categories.onchange=function(){retrieveData(2, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddSchool', new Array(''), categories.options[categories.selectedIndex].value)};
//	retrieveData(2, new Array(0), 'ctl00_ContentPlaceHolder1_book_page_ddSchool', new Array(''), category, school);	    
//}

//function initLesson()
//{
    //var programmes = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddProgramme');    
    //var lessons = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddLessons');
    //selectedLesson = document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdLessonsValue').value;    
    //var duration = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddDuration');
    //selectedDuration = document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdDurationValue').value;
    //var selectedAvailability = document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdAvailabilityValue').value;
    //programmes.onchange=function(){retrieveData(3, new Array('4'), 'ctl00_ContentPlaceHolder1_book_page_ddLessons', new Array('ctl00_ContentPlaceHolder1_book_page_ddDuration'), programmes.options[programmes.selectedIndex].value, ''); retrieveData(5, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddAvailability', '', programmes.options[programmes.selectedIndex].value, '' )};
    //lessons.onchange=function(){clearselectedDuration(); retrieveData(4, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddDuration', '', lessons.options[lessons.selectedIndex].value, '')};
    //duration.onchange=function(){clearselectedDuration(); retrievePrice(duration.options[duration.selectedIndex].value)};
        
    //retrieveData(3, new Array('4'), 'ctl00_ContentPlaceHolder1_book_page_ddLessons', new Array('ctl00_ContentPlaceHolder1_book_page_ddDuration'), programmes.options[programmes.selectedIndex].value, selectedLesson);
    //retrieveData(5, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddAvailability', '', programmes.options[programmes.selectedIndex].value, selectedAvailability );   
//}

function clearselectedDuration()
{
    selectedDuration = "";
    selectedLesson = "";
}

function retrievePrice(weeks)
{            
	xmlPriceTextBox = GetXmlHttpObject();
	
	if (xmlPriceTextBox==null){
	  alert ("Your browser does not support AJAX!");
	  return;
	} 
	xmlPriceTextBox.onreadystatechange = function(){fillTextBox()};
    xmlPriceTextBox.open("GET","../ajaxqueries.aspx?op=6&param="+weeks,true);	
    //xmlPriceTextBox.open("GET","https://www.ces-schools.com/ajaxqueries.aspx?op=6&param="+weeks,true);		
	xmlPriceTextBox.send(null);
}

function fillTextBox()
{
	if (xmlPriceTextBox.readyState==4)
	{
		var textbox = document.getElementById('ctl00_ContentPlaceHolder1_book_page_txtProgrammePrice');
		var price = xmlPriceTextBox.responseText;
		textbox.value = price;
		xmlPriceTextBox = null;		
	}
}

//function initAccommodation()
//{
    //var accommodation = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAccommodation');
    //var option = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddOptions');
    //var selected = accommodation.options[accommodation.selectedIndex].value;
    //var selectedOption = document.getElementById('ctl00_ContentPlaceHolder1_book_page_hdOptionsValue').value;
    //var weeks = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddWeeks');
    
    //accommodation.onchange=function(){retrieveData(7, new Array(), 'ctl00_ContentPlaceHolder1_book_page_ddOptions', new Array(''), accommodation.options[accommodation.selectedIndex].value)};
    //option.onchange=function(){retrieveAccommodationPrice(option.options[option.selectedIndex].value)};
    //weeks.onchange=function(){retrieveAccommodationPrice(option.options[option.selectedIndex].value)};
    
    //retrieveData(7, new Array(0), 'ctl00_ContentPlaceHolder1_book_page_ddOptions', new Array(''), selected, selectedOption);
//}

function retrieveAccommodationPrice(option)
{
    xmlPriceTextBox = GetXmlHttpObject();
	
	if (xmlPriceTextBox==null){
	  alert ("Your browser does not support AJAX!");
	  return;
	} 
	xmlPriceTextBox.onreadystatechange = function(){fillAccommodationTextBox()};
    xmlPriceTextBox.open("GET","../ajaxqueries.aspx?op=8&param="+option,true);	
   // xmlPriceTextBox.open("GET","https://www.ces-schools.com/ajaxqueries.aspx?op=8&param="+option,true);		
	xmlPriceTextBox.send(null);
}

function fillAccommodationTextBox()
{
	if (xmlPriceTextBox.readyState==4)
	{		
		var type = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAccommodation').options[document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddAccommodation').selectedIndex].value;
		var textbox = document.getElementById('ctl00_ContentPlaceHolder1_book_page_txtFees');
		var admin = document.getElementById('ctl00_ContentPlaceHolder1_book_page_txtAdmin');
		var weeks = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddWeeks');
		var price = xmlPriceTextBox.responseText * weeks.options[weeks.selectedIndex].value;		
		
		textbox.value = price;
		xmlPriceTextBox = null;
		
        //insert admin charge        
        if(price > 0)
        {
          if(type == 1 || type == 2 || type == 3 || type == 4 || type == 6 || type == 7 || type == 22 || type == 23)
          {
		  	admin.value = '65';
		  }
		  else
		  {
		    admin.value = '50';
		  }
        }
        else
        {
          admin.value = '0';
        }	
	}
}

//function initTransfer()
//{   
    //var transfer = document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddTransfer');        
    //transfer.onchange=function(){retrieveTransferPrice(transfer.options[transfer.selectedIndex].value)};   
    //retrieveTransferPrice(transfer.options[transfer.selectedIndex].value);
//}

function retrieveTransferPrice(transfer)
{
    xmlPriceTextBox = GetXmlHttpObject();
	
	if (xmlPriceTextBox==null){
	  alert ("Your browser does not support AJAX!");
	  return;
	} 
	xmlPriceTextBox.onreadystatechange = function(){fillTransferTextBox()};
    xmlPriceTextBox.open("GET","../ajaxqueries.aspx?op=9&param="+transfer,true);	
   // xmlPriceTextBox.open("GET","https://www.ces-schools.com/ajaxqueries.aspx?op=9&param="+transfer,true);		
	xmlPriceTextBox.send(null);
}

function fillTransferTextBox()
{
	if (xmlPriceTextBox.readyState==4)
	{		
		var textbox = document.getElementById('ctl00_ContentPlaceHolder1_book_page_txtTransfer');
		var price = xmlPriceTextBox.responseText;
		textbox.value = price;
		xmlPriceTextBox = null;		
	}
}

/* Function that shows the message "Please Wait" with the dot animation */
function wait(id, i){
	var dropdown = document.getElementById(id);
	dropdown.options.length = 0;
	dropdown.options[0] = new Option(processLoad + processWait, '');
	processWait = (processWait.length == 3)?"":processWait + dot;
	timing[i] = setTimeout("wait('"+id+"', "+i+")", 500);
}

/* Function that stops the animation */
function stop(i){
	clearTimeout(timing[i]);
}

/* Function that does the request to the asp page containing the queries */
/* op: number of the query inside the asp page */
/* op2: for the cases that the first query triggers a second one */
/* id: identifier of the dropdown to load with the data recovered with op */
/* id2: identifier of the dropdown to load with the data recovered with op2 */
/* param1: optional parameter for the query in op */
/* param2: optional parameter for selecting a default value in the dropdown id */
function retrieveData(op, op2, id, id2, param1, param2){
	var i=0;
	//alert(id2);
	var dropdown = document.getElementById(id);

	while (xmlHttp[i]!=null && i<15) i++;
	dropdown.disabled = true;
	timing[i] = setTimeout("wait('"+id+"', "+i+")", 500);
	xmlHttp[i] = GetXmlHttpObject();
	
	if (xmlHttp[i]==null){
	  alert ("Your browser does not support AJAX!");
	  return;
	}	
	
	if(op == 4 & selectedLesson.length > 0)
	{
	   param1 = selectedLesson;
	}
	xmlHttp[i].onreadystatechange = function(){fillDropDown(op2, id, id2, i, param2, op)};
	
	readystate = xmlHttp[i].onreadystatechange;
    
	if(op == 10 || op == 11 || op == 12)
	{
		xmlHttp[i].open("GET","../ajaxqueries.aspx?op="+op+"&param="+param1+"&param2="+document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddSchool').options[document.getElementById('ctl00_ContentPlaceHolder1_book_page_ddSchool').selectedIndex].value,true);
	}
	else
	{
		xmlHttp[i].open("GET","../ajaxqueries.aspx?op="+op+"&param="+param1,true);
	}
   // xmlHttp[i].open("GET","https://www.ces-schools.com/ajaxqueries.aspx?op="+op+"&param="+param1,true);		
	xmlHttp[i].send(null);
}

/* Function that loads a dropdown with the data recovered by xmlHttpRequest */
/* op2: for the cases that the first query triggers a second one */
/* id: identifier of the dropdown to load with the data recovered with op */
/* id2: identifier of the dropdown to load with the data recovered with op2 */
/* i: the index of the xmlHttp array that contains the xmlHttpRequest object to use on this operation */
/* param2: optional parameter for selecting a default value in the dropdown id */
function fillDropDown(op2, id, id2, i, param, op){	
	readystate = false;
	if (xmlHttp[i].readyState==4){
		readystate = true;
		stop(i);
		var dropdown = document.getElementById(id);
		var optionsArray = xmlHttp[i].responseText.split('|');
		var textAndValue;

		xmlHttp[i] = null;
		dropdown.options.length = 0;
		for (var i=0; i<optionsArray.length; i++){
			textAndValue = optionsArray[i].split("#");
			dropdown.options[i] = new Option(textAndValue[0], textAndValue[1]);
			if ((typeof param != "undefined") && (textAndValue[1] == param)) dropdown.options[i].selected = true;
			if ((id == 'ctl00_ContentPlaceHolder1_book_page_ddDuration') && textAndValue[1] == selectedDuration) dropdown.options[i].selected = true;
		}
		dropdown.disabled = false;                
                
        if (id == 'ctl00_ContentPlaceHolder1_book_page_ddDuration')
		{
		    if (selectedDuration.length > 0)
		    {
		        retrievePrice(selectedDuration);
		    }
		    else
		    {		        
		        retrievePrice(dropdown.options[0].value);
		    }
		}				
		
        if (id == 'ctl00_ContentPlaceHolder1_book_page_ddOptions')
		{
		    retrieveAccommodationPrice(dropdown.options[dropdown.selectedIndex].value);
		}
		
		if (id == 'ctl00_ContentPlaceHolder1_book_page_ddTransfer')
		{
		    retrieveTransferPrice(transfer.options[transfer.selectedIndex].value);
		}	
		
		if (op2.length != 0)
		{		    
		    
			var nextop = op2[op2.length -1];			
		    var nextid = id2[id2.length -1];		    
	        op2.length = op2.length -1;
	        id2.length = id2.length -1;			
		    retrieveData(nextop, op2, nextid, id2, dropdown.options[0].value);		    
		}
		
		if (op == 2)
		{
			updateProgrammes();
		}
		
		if (op == 10)
		{
			updateLessons();
		}
		
		if (op == 11)
		{
			updateAccommodationOption();
		}
		
		//if (op == 12)
		//{
			//updateTransferPrice();
		//}
		
		if (op == 5)
		{
			updateDuration();
		}
		
		//if (op == 4)
		//{
			//updatePrice();
		//}
		
		
	}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
     xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
