
var HotelsPerPage = 10;
var CurrentPage = 1;
var ProgressiveResults = new Array();
var FilteredResults = new Array();
var DisplayResults = new Array();
var MaxPremiumResults = 0;
var intUniqueRow = 0;
var ProgressiveHotelsLastCount = 0;
var UpdateFrequency = 3000; //in ms
var StarImage = IMG_ROOT + 'i/star.gif';
var ResultsTableName = 'tblResults';

function comparePrice(a,b) {
	return parseFloat(a.Price) - parseFloat(b.Price);
}

Array.prototype.insert = function(position, newValue) {
if(position > -1)
	this.splice(position, 0, newValue);
else
	this.push(newValue);
}

function AddHotel(ResultType, OPID, Operator, HotelID, Price, DisplayPrice, 
				  OldPrice, Name, Rating, BookURL, OPLogo, ThumbImage, Address, 
				  Currency, DisplayCurrency, WebName, HasCharges, AccType){
	hotel = new HotelResultClass(ResultType, OPID, Operator, HotelID, Price, DisplayPrice, 
				OldPrice, Name, Rating, BookURL, OPLogo, ThumbImage, Address, 
				Currency, DisplayCurrency, WebName, HasCharges, AccType);
	hotel.WriteTable();
	AddCommand(hotel);
}

function HotelResultClass (ResultType, OPID, Operator, HotelID,
						   Price, DisplayPrice, OldPrice, Name, Rating, BookURL,
						   OPLogo, ThumbImage, Address, Currency, DisplayCurrency,
						   WebName, HasCharges, AccType)
{
	this.Table = "";
	this.ResultType = ResultType;
	this.OPID = OPID;
	this.Operator = Operator;
	this.HotelID = HotelID;
	this.Price = Price;
	this.DisplayPrice = DisplayPrice;
	this.OldPrice = OldPrice;
	this.Name = Name;
	this.Rating = Rating;
	this.BookURL = LANG_ROOT_PATH + 'hotelredirect.aspx?opid=' + OPID + '&url=' + encodeURIComponent(BookURL);
	this.OPLogo = OPLogo;
	this.ThumbImage = ThumbImage;
	this.Address = Address;
	this.Currency = Currency;
	this.DisplayCurrency = DisplayCurrency;
	this.WebName = WebName;
	this.IsConverted = false;
	this.HasCharges = HasCharges;
	this.AccType = AccType;

	if(this.Currency != this.DisplayCurrency){ this.IsConverted = true; }
	if(this.HasCharges == null){ this.HasCharges = false; }

	this.GetConvertedFromText = function(oldPrice, oldCurrency){
		var html = '<img src="' + IMG_ROOT + 'i/asterix.gif" width=12 height=11> ' + TXT_CONVERTED_FROM;
		html = html.replace('%1',oldCurrency);
		html = html.replace('%2','<b>' + oldPrice + ' ' + oldCurrency + '</b>');
		if(TXT_CONVERTED_INFO && TXT_CONVERTED_INFO.length > 0){
		    html += '&nbsp;&nbsp;<img src="' + IMG_ROOT + 'i/info4.gif" width=11 height=11 onclick="showInfoBalloon(this, event, \'<b>' + oldCurrency + '</b>\')">';
		}
		return html;
	}

	function BuildResult()
	{
		var content = document.createElement("TABLE");
		content.className = 'ResultTable';
		content.cellPadding = 2;
		content.cellSpacing = 0;
		content.border = 0;
		content.style.tableLayout = 'fixed';

		try{
			var rowNum = 0;

			// Top Row
			var row1 = content.insertRow(rowNum);
			rowNum++;

			var row2 = content.insertRow(rowNum);
			rowNum++;

			var tdTop1 = row1.insertCell(0);
			tdTop1.vAlign ='top';
			tdTop1.width = '80px';
			tdTop1.rowSpan = 3;
			tdTop1.innerHTML = TXT_FROM_PRICE + '<br><font class="ResultPrice">' + this.DisplayPrice + '</font>';

			if(this.HasCharges){ tdTop1.innerHTML += '<br><font class="txtDarkGray">' + TXT_EXCLUDING_TICKET_EMISSION + '</font>'; }

			var imgHtml = '';
			if(this.ThumbImage != null && this.ThumbImage != ''){
				if(this.ThumbImage.indexOf('<img') == -1){
					this.ThumbImage = '<img src="' + this.ThumbImage + '" onError="hideImage(this)">';
				}
				imgHtml = '<div class="hotelThumb">' + this.ThumbImage + '</div>';
			}
			else{ imgHtml = '<div class="hotelNoThumb"></div>'; }

			var nameHtml;
			nameHtml = '<div class="hotelText">';
			nameHtml += '<div class=ResultName style="margin-left:4px;">' + this.Name + '</div>';
			nameHtml += '<div style="margin-left:4px;">' + this.Address + '</div>'
			nameHtml += '</div>';

			var tdTop2 = row1.insertCell(1);
			tdTop2.vAlign ='top';
			tdTop2.rowSpan = 3;
			tdTop2.width = '85px';
			tdTop2.innerHTML = imgHtml;

			var tdTop3 = row1.insertCell(2);
			tdTop3.vAlign ='top';
			tdTop3.rowSpan = 2;
			tdTop3.innerHTML = nameHtml;

			var tdTop4 = row1.insertCell(3);
			tdTop4.align = 'center';
			tdTop4.vAlign = 'middle';
			tdTop4.width = '85px';
			tdTop4.innerHTML = GetStarsHTML(this.Rating);

			var tdTop5 = row1.insertCell(4);
			tdTop5.align= 'center';
			tdTop5.vAlign = 'middle';
			tdTop5.width = '100px';
			tdTop5.innerHTML = GetOPLogoHtml(this.OPLogo, this.BookURL);

			detailsHtml = '<a class=NoULine href="' + this.BookURL + '" target=_blank>';
			detailsHtml += '<img src=' + IMG_ROOT + 'i/info2.gif width=14 height=14 hspace=2 align=absmiddle border=0>&nbsp;';
			detailsHtml += '<span class=ULine>' + TXT_DETAILS + '</span></a>';

			var tdR2Col2 = row2.insertCell(0);
			tdR2Col2.vAlign ='top';
			tdR2Col2.align= 'center';
			tdR2Col2.innerHTML = detailsHtml;

			var tdR2Col3 = row2.insertCell(1);
			tdR2Col3.vAlign ='top';
			tdR2Col3.align= 'center';
			var opHtml = '<a class=GreenLink href="' + this.BookURL + '" target=_blank>' + this.WebName + '</a>';
			tdR2Col3.innerHTML = opHtml;

			if(this.IsConverted)
			{
				var row3 = content.insertRow(rowNum);
				rowNum++;
				
				var tdBtm1 = row3.insertCell(0);
				tdBtm1.vAlign='top';
				tdBtm1.innerHTML = '&nbsp;';
				tdBtm1.colSpan = 3;
				tdBtm1.className = 'ResultConverted';
				tdBtm1.innerHTML = '<span class=txtConverted>' + this.GetConvertedFromText(this.OldPrice,this.Currency) + '</span>';
			}
		}
		catch(e){}

		return content;
	}
	this.BuildResult=BuildResult;

	function CompareRoomPrice(a,b)
	{
		var x=a.Price;
		var y=b.Price;
		return ((x < y) ? -1 : ((x > y) ? 1 : 0));
	}
	this.CompareRoomPrice=CompareRoomPrice;

	function GetStarsHTML(rating)
	{
		if(isNaN(rating) || rating < 1)
			return '&nbsp;';

		var html = '';

		for(var count = rating; count >= 1; count--)
		{
			html += '<img src=' + StarImage + ' width=15 height=13>';
		}

		return html;
	}
	this.GetStarsHTML=GetStarsHTML;

	function GetOPLogoHtml(logo, link)
	{
		if(logo == null || logo == '')
			return '&nbsp;';

		var html = '';
		html += '<a href="' + link + '" target=_blank rel=nofollow>';
		html += '<img src=' + OP_IMG_FOLDER + logo + ' border=0 width=80 height=26></a>';

		return html;
	}
	this.GetOPLogoHtml=GetOPLogoHtml;

	function GetRoomLinkHtml(room)
	{
		var link = room.BookURL;
		if(link == null || link == '')
			link = this.BookURL;

		var html = '';
		html += '<a href="' + link + '" class=ULine target=_blank rel=nofollow>';
		html += TXT_BOOK;
		html += '</a>';

		return html;
	}
	this.GetRoomLinkHtml=GetRoomLinkHtml;

	function GetHotelInfoHtml(thumb, desc)
	{
		var html = '';
		html += '<div style="float:left; margin-right:5px;">' + thumb + '</div>';
		html += desc;

		return html;
	}
	this.GetHotelInfoHtml=GetHotelInfoHtml;

	function WriteTable()
	{
		try
		{
			switch(this.ResultType)
			{
				case 0:
					this.Table = ResultsTableName;
					var blnAdded = false;
					var intPosition = this.FindPosition();
					if(intPosition >=0)
					{
						ProgressiveResults.insert(intPosition,this);
						blnAdded = true;
					}

					if(!blnAdded)
					{
						ProgressiveResults[ProgressiveResults.length] = this;
					}
					break;
			}

			ProgressiveHotelsLastCount = ProgressiveResults.length;
			if(!blnUpdating)
			{
				blnUpdating = true;
				setTimeout("UpdateWhenFree()", UpdateFrequency);
			}
		}
		catch(e){}
	}
	this.WriteTable=WriteTable;

	function FindPosition()
	{
		if(ProgressiveResults.length==0)
			return -1;

		var intStart = 0;
		var intBeginning = 0;
		var intEnd = ProgressiveResults.length;
		var blnFound = false;
		if(ProgressiveResults.length >= 10)
		{
			while(!blnFound)
			{
				var intHalfWay = parseInt((intEnd-intBeginning)/2) + intBeginning;

				if(this.Price > ProgressiveResults[intHalfWay].Price)
					intBeginning = intHalfWay;
				else
					intEnd = intHalfWay;

				if(intEnd-intBeginning <= 3)
					blnFound = true;
			}
		}
		for(var i = intBeginning; i < ProgressiveResults.length; i++)
		{
			if(this.Price < ProgressiveResults[i].Price)
			{
				return i;
			}
		}
	}
	this.FindPosition = FindPosition;
}//end class

function HotelRoom(RoomType, Price, DisplayPrice, BookURL)
{
	// Task ID 1008 
	DisplayPrice = DisplayPrice.replace('J$','&euro;');

	this.RoomType = RoomType;
	this.Price = Price;
	this.DisplayPrice = DisplayPrice;
	this.BookURL = BookURL;
}

var blnUpdating = false;
var lngLastCountUpdated = 0;

function UpdateWhenFree()
{
	if(ProgressiveResults.length == lngLastCountUpdated){ blnUpdating = false; return false; }

	lngLastCountUpdated = ProgressiveResults.length;
	setTimeout('UpdateFilter()', 20);
	blnUpdating = false;
}

function UpdatePageCounts()
{
	var intPages = parseInt(FilteredResults.length/HotelsPerPage);
	if(FilteredResults.length%HotelsPerPage)
		intPages+=1;

	var intStartFlight = (CurrentPage*HotelsPerPage) - (HotelsPerPage-1);
	var intEndFlight = (CurrentPage*HotelsPerPage > FilteredResults.length) ? FilteredResults.length : CurrentPage*HotelsPerPage;
	var strTable = ResultsTableName;

	if(intPages >= 1)
	{
		DisplayPages();
	}
}

function DisplayPages()
{
	var strPageLinks = '';
	var AllowedPageSpan = 5;
	var blnShowGoToFirst = false;
	var blnShowGoToLast = false;
	var intPages = parseInt(FilteredResults.length/HotelsPerPage);

	if(FilteredResults.length%HotelsPerPage > 0)
		intPages++;

	for(i = 1; i <= intPages; i++)
	{
		var minOffSet = (CurrentPage+AllowedPageSpan>intPages)?((intPages-(CurrentPage+AllowedPageSpan))*-1):0;
		var maxOffSet = (CurrentPage-AllowedPageSpan<0)?((CurrentPage-AllowedPageSpan)*-1):0;

		if((i > (CurrentPage-AllowedPageSpan)- minOffSet) && (i < (CurrentPage+AllowedPageSpan) + maxOffSet))
		{
			if(CurrentPage==i)
			{
				strPageLinks += '<a class="ChangePageSelected" OnClick="GoToPage(' + i + ')"><b>' + i + ' </b></a> ';
			}
			else
			{
				strPageLinks += '<a class="ChangePage" OnClick="GoToPage(' + i + ')">' + i + '</a> ';
			}
		}

		if(CurrentPage-AllowedPageSpan >= 1)
			blnShowGoToFirst = true;

		if(CurrentPage+AllowedPageSpan <= intPages)
			blnShowGoToLast = true;
	}
	var strStart = blnShowGoToFirst? '<a class="ChangePage" OnClick="GoToPage(1)"> '+TXT_FIRST+'</a> &nbsp;' : '';
	var strEnd = blnShowGoToLast? '&nbsp; <a class="ChangePage" OnClick="GoToPage(' + intPages +')">'+TXT_LAST+'</a>' :''

	GetItemById('spanPages').innerHTML = strStart + strPageLinks + strEnd ;
	GetItemById('tblResFoot').style.display='';
}

function GoToPage(page)
{
	showLoadingScreen(true);
	window.scrollTo(0,0);
	CurrentPage = page;
	setTimeout('UpdateFilter()', 20);;
	showLoadingScreen(false);
}

function ChangePageSize()
{
	showLoadingScreen(true);
	HotelsPerPage = GetItemById('PageCountSize').value;
	CurrentPage =1;
	setTimeout('UpdateFilter()', 20);;
	showLoadingScreen(false);
}

function SetFlightCounts()
{
	var resultsCountsDIV = GetItemById('resultsCounts');

	try
	{
		var showingNum = '<b>' + FilteredResults.length + '</b>';
		var totalNum = '<b>' + ProgressiveResults.length + '</b>';
		var operatorNum = '<b>' + arrOperators.length + '</b>';

		var countsHtml = TXT_RESULTS;
		countsHtml = countsHtml.replace('%1', showingNum);
		countsHtml = countsHtml.replace('%2', totalNum);
		countsHtml = countsHtml.replace('%3', operatorNum);
		resultsCountsDIV.innerHTML = '<div class=FilterCounts>' + countsHtml + '</div>';
	}
	catch(e){}
}

function InsertFilteredRow(pos, hotel)
{
	var table = GetItemById(hotel.Table);
	var mainrow = table.insertRow(pos);
	var cell = mainrow.insertCell(0);
	cell.className = 'ResultCell';
	cell.appendChild(hotel.BuildResult());
}

function DisplayPage()
{
	ClearTables();
	UpdatePageCounts();

	for(var i = 0; i < HotelsPerPage; i++)
	{
		var PageOffSet = (CurrentPage-1) * HotelsPerPage ;
		if(i+PageOffSet > FilteredResults.length-1)
			break;

		InsertFilteredRow(i, FilteredResults[i+PageOffSet]);
	}
}

function ClearTables()
{
	mTable = GetItemById(ResultsTableName);
	while(mTable.rows[0])
	{
		mTable.deleteRow(0);
	}
}


//Filter System:
var arrOperators = new Array();
var arrOperatorsNotShown = new Array();

var arrTypes = new Array();
var arrTypesNotShown = new Array();

var bln1Star = true;
var bln2Star = true;
var bln3Star = true;
var bln4Star = true;
var bln5Star = true;

function loadVars()
{
	var operatorsSection = GetItemById('operatorsFilter');
	var typesSection = GetItemById('otherTypesFilter');

	bln1Star = GetItemById('chk1Star').checked;
	bln2Star = GetItemById('chk2Star').checked;
	bln3Star = GetItemById('chk3Star').checked;
	bln4Star = GetItemById('chk4Star').checked;
	bln5Star = GetItemById('chk5Star').checked;

	arrOperatorsNotShown = new Array(); //clear

	for(var i = 0; i < operatorsSection.childNodes.length; i++)
	{
		if(operatorsSection.childNodes[i].tagName == "INPUT" && operatorsSection.childNodes[i].type == "checkbox" && !operatorsSection.childNodes[i].checked)
		{
			arrOperatorsNotShown.push(operatorsSection.childNodes[i+1].value);
		}
	}

	arrTypesNotShown = new Array(); //clear

	for(var i = 0; i < typesSection.childNodes.length; i++)
	{
		if(typesSection.childNodes[i].tagName == "INPUT" && typesSection.childNodes[i].type == "checkbox" && !typesSection.childNodes[i].checked)
		{
			arrTypesNotShown.push(typesSection.childNodes[i+1].value);
		}
	}
}

function filter(){
	showLoadingScreen(true);
	CurrentPage = 1;
	setTimeout('UpdateFilter()', 20);;
}

function UpdateFilter(){
	showLoadingScreen(true);
	loadVars();
	FilterResults();
	DisplayPage();
	SetFlightCounts();
	showLoadingScreen(false);
}

function FilterResults()
{
	FilteredResults = new Array();

	for(var i = 0; i < ProgressiveResults.length; i++)
	{
		var blnStarsOk = false;
		var blnOperatorOk = false;
		var blnTypeOk = false;

		if(!findStringInArray(arrOperatorsNotShown, ProgressiveResults[i].Operator))
			blnOperatorOk = true;

		if(!findStringInArray(arrTypesNotShown, ProgressiveResults[i].AccType))
			blnTypeOk = true;

		if((bln1Star && ProgressiveResults[i].Rating < 2) ||
		(bln2Star && ProgressiveResults[i].Rating >= 2) && (bln2Star && ProgressiveResults[i].Rating < 3) ||
		(bln3Star && ProgressiveResults[i].Rating >= 3) && (bln3Star && ProgressiveResults[i].Rating < 4) ||
		(bln4Star && ProgressiveResults[i].Rating >= 4) && (bln4Star && ProgressiveResults[i].Rating < 5) ||
		(bln5Star && ProgressiveResults[i].Rating >= 5))
			blnStarsOk = true

		var blnAllOk = blnStarsOk && blnOperatorOk && blnTypeOk;

		if(blnAllOk)
			FilteredResults[FilteredResults.length] = ProgressiveResults[i];
	}
}

function OperatorObject(operator)
{
	this.Operator = operator;
	this.MinPrice = null;
}

function AddCommand(item)
{
	var operator = findOperatorInArray(arrOperators, item.Operator);

	if(operator == null)
	{
		var operator = new OperatorObject(item.Operator);
		operator.MinPrice = item.Price;
		arrOperators.push(operator);
		drawOperators();
	}
	else if(item.Price < operator.MinPrice)
	{
		operator.MinPrice = item.Price;
	}

	if(!findStringInArray(arrTypes, item.AccType) && item.AccType != '')
	{
		if(item.AccType != TXT_HOTELS)
		{
			arrTypes.push(item.AccType);
			drawTypes();
		}
	}
}

function drawOperators()
{
	var operatorsSection = GetItemById('operatorsFilter');
	var strOpFilter = '';

	for(var i = 0; i < arrOperators.length; i++)
	{
		strOpFilter += '<INPUT Type=checkbox OnClick="filter()" checked id=chkOp' + arrOperators[i].Operator + '><INPUT type=hidden id=operator value="' + arrOperators[i].Operator + '">' + arrOperators[i].Operator + '<BR>';
	}

	operatorsSection.innerHTML = strOpFilter;
}

function drawTypes()
{
	var typesSection = GetItemById('otherTypesFilter');
	var strTypeFilter = '';

	for(var i = 0; i < arrTypes.length; i++)
	{
		strTypeFilter += '<INPUT Type=checkbox OnClick="filter()" checked id=chkType' + i + '><INPUT type=hidden id=type value="' + arrTypes[i] + '">' + arrTypes[i] + '<BR>';
	}

	typesSection.innerHTML = strTypeFilter;
}

function CompareOperatorArray(a,b)
{
	var x=null;
	var y=null;
	x = a.Operator;
	y = b.Operator;

	return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}


function CompareOperatorArrayByPrice(a,b)
{
	var x=null;
	var y=null;
	x = a.MinPrice;
	y = b.MinPrice;

	return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function showLoadingScreen(blnVal){
	GetItemById('updating').style.display = (blnVal ? '' : 'none');
	if(blnVal){ LoadingScreen.show(); }
	else{ LoadingScreen.hide(); }
}

function setElementDisplay(strElement, blnVal){
	var element = GetItemById(strElement);

	if(element != null)
	{
		if(blnVal == true)
			element.style.display = '';
		else
			element.style.display = 'none';
	}
}

function findOperatorInArray(arr, strToFind)
{
	for(var i = 0; i < arr.length; i++)
	{
		if(arr[i].Operator == strToFind)
		{
			return arr[i];
		}
	}

	return null;
}

function findStringInArray(arrString, strToFind)
{
	for(var i = 0; i < arrString.length; i++)
	{
		if(arrString[i] == strToFind)
		{
			return true;
		}
	}
	return false;
}

function parsePrice(price)
{
	var re = new RegExp("[\\d\\,\\.]+");
	var m = re.exec(price);
	if(m == null)
	{
		return 0;
	}
	else
	{
		var retval = parseFloat(m[0].replace(".","").replace(",",""));
		if(retval>0)
		{
			return retval
		}
	}
}

function Sort(sortAlg)
{
	showLoadingScreen(true);
	setTimeout("DoSort(" + sortAlg + ")");
	setTimeout('UpdateFilter()', 20);;
}

var blnSortByPriceInv = false;
var blnSortByOperatorInv = true;
var blnSortByHotelInv = true;
var blnSortByRatingInv = true;

function DoSort(sortAlg)
{
	switch(sortAlg)
	{
		case 0:
			blnSortByHotelInv=!blnSortByHotelInv;
			ProgressiveResults.sort(CompareHotel);
			break;
		case 1:
			blnSortByRatingInv=!blnSortByRatingInv;
			ProgressiveResults.sort(CompareRating);
			break;
		case 2:
			blnSortByPriceInv=!blnSortByPriceInv;
			ProgressiveResults.sort(ComparePrice);
			break;
		case 3:
			blnSortByOperatorInv=!blnSortByOperatorInv;
			ProgressiveResults.sort(CompareOperator);
			break;
	}
}

function ComparePrice(a,b)
{
	var x=null;
	var y=null;
	if(!blnSortByPriceInv)
	{
		x = a.Price;
		y = b.Price;
	}
	else
	{
		x = b.Price;
		y = a.Price;
	}
	return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function CompareOperator(a,b)
{
	var x=null;
	var y=null;
	if(!blnSortByOperatorInv)
	{
		x = a.Operator.toLowerCase();
		y = b.Operator.toLowerCase();
	}
	else
	{
		x = b.Operator.toLowerCase();
		y = a.Operator.toLowerCase();
	}
	return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function CompareHotel(a,b)
{
	var x=null;
	var y=null;
	if(!blnSortByHotelInv)
	{
		x = a.Name.toLowerCase();
		y = b.Name.toLowerCase();
	}
	else
	{
		x = b.Name.toLowerCase();
		y = a.Name.toLowerCase();
	}
	return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function CompareRating(a,b)
{
	var x=null;
	var y=null;

	// send unknown ratings to the end of the list
	if(a.Rating < 1 || b.Rating < 1)
		return ((a.Rating < 1) ? 1 : -1);

	if(!blnSortByRatingInv)
	{
		x = a.Rating;
		y = b.Rating;
	}
	else
	{
		x = b.Rating;
		y = a.Rating;
	}

	return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function nextRows(tableID) {
	CurrentPage++;
	DisplayPage();
}

function prevRows(tableID) {
	CurrentPage--;
	DisplayPage();
}

function CompareName(a,b)
{
	return ((a.Name > b.Name) ? 1 : ((a.Name < b.Name) ? -1 : 0));
}

function EndSearch(){
	UpdateWhenFree();
	CheckErrors();
}

function CheckErrors(){
	var errorPane = GetItemById('searchError');
	if(ProgressiveResults.length == 0 && errorPane){
		errorPane.innerHTML = TXT_NO_RESULTS;
		errorPane.style.display = '';
		ShowPanel('rowSearch','rowSearchImg', IMG_ROOT + 'i/minus.gif')
		GetItemById('countsRow').style.display = 'none';
		GetItemById('ratingsRow').style.display = 'none';
		GetItemById('shopsRow').style.display = 'none';
	}
}

function StopSearch()
{
	try{ 
		if(window.stop){ window.stop(); }
		else{ document.execCommand('Stop'); }
	}
	catch(e){}
	EndSearch();
}

function hideImage(img) {
	img.style.display = 'none';
	if(img.parentNode != null && img.parentNode.tagName == "DIV")
		img.parentNode.style.display = 'none';
}

function ShowPanel(id, imgID, offImg) {
	var panel = GetItemById(id);
	var image = GetItemById(imgID);

	panel.style.display = '';
	image.src = offImg;
}

