var MainMenuId = -1;
var SubMenuId = -1;
var SubSubMenuId = -1; 

var ActiveMenuId = -1;
var ActiveMenuType = -1;

var GalleryId = -1;
var ImageId = -1; 
var ImageSlideId = -1;
var BackgroundId = -1; 
var SlideShowId = -1;
var Text1Id = -1;
var Text2Id = -1;

var subScrolPos = 0;
var subClipTop = 0;
var subClipBottom = 140;

var subSubScrolPos = 0;
var subSubClipTop = 0;
var subSubClipBottom = 130;

var queryString = '';
if (MainMenuNb >= 1 || SubMenuNb > 1 || SubSubMenuNb > 1 || ImageNb > 1 || Admin != '')
{
	queryString += '?';
	if (MainMenuNb >= 1)
	{
		queryString += 'id1=' + MainMenuNb;
		
	}
	MainMenuNb++;
	
	if (SubMenuNb > 1)
	{
		if (queryString != '?')
		{
			queryString += '&';
		}
		queryString += 'id2=' + (SubMenuNb - 1);
	}
	if (SubSubMenuNb > 1)
	{
		if (queryString != '?')
		{
			queryString += '&';
		}
		queryString += 'id3=' + (SubSubMenuNb - 1);
	}
	if (ImageNb > 1)
	{
		if (queryString != '?')
		{
			queryString += '&';
		}
		queryString += 'id4=' + (ImageNb - 1);
	}
	if (Admin != '')
	{
		if (queryString != '?')
		{
			queryString += '&';
		}
		queryString += 'admin=' + Admin;
	}
}

	if (MainMenuNb == 0)
	{
		MainMenuNb = 1;
	}


var dsMenuXML = new Spry.Data.XMLDataSet(null, "TABLES/Menu/ROW",{useCache:false});
var dsImageXML = new Spry.Data.XMLDataSet(null, "TABLES/Image/ROW",{useCache:false});
var dsTextXML = new Spry.Data.XMLDataSet(null, "TABLES/Text/ROW",{useCache:false});

var dsBackground = new Spry.Data.XMLDataSet(null, "TABLES/Background/ROW",{useCache:false});
var dsGallery = new Spry.Data.XMLDataSet(null, "TABLES/Gallery/ROW",{useCache:false});
var dsImage = new Spry.Data.XMLDataSet(null, "TABLES/Image/ROW",{useCache:false});
var dsSlideShow = new Spry.Data.XMLDataSet(null, "TABLES/SlideShow/ROW",{useCache:false});
var dsMainMenu = new Spry.Data.XMLDataSet(null, "TABLES/Menu/ROW",{useCache:false});
var dsText1 = new Spry.Data.XMLDataSet(null, "TABLES/Text/ROW",{useCache:false});
var dsText2 = new Spry.Data.XMLDataSet(null, "TABLES/Text/ROW",{useCache:false});
var dsSubMenu = new Spry.Data.XMLDataSet(null, "TABLES/Menu/ROW",{useCache:false});
var dsSubSubMenu = new Spry.Data.XMLDataSet(null, "TABLES/Menu/ROW",{useCache:false});

//Datasource filters
var filterImage = function(dataSet, row, rowNumber)
{
	return null;
}
var filterText = function(dataSet, row, rowNumber)
{
	return null;
}
var filterGalleryImage = function(dataSet, row, rowNumber)
{
	
	if ((Number)(row["GalleryID"]) == (Number)(GalleryId))
	{
		//alert((Number)(row["GalleryID"]) + ' --- ' +  (Number)(GalleryId) + ' -- ' + row["URL"])
		if (ImageId == -1 && (Number)(row["OrderID"]) == (Number)(ImageNb))
		{
			ImageId = (Number)(row["ImageID"]);
		}
		var str = unescape(row["URL"]);
		
		if (str.substring(0, 4) == 'http')
		{
			row["URL"] = str.slice(25);
		}
		
		str = unescape(row["Title"]);
		str = RemoveTextFormating(str, true); //.replace(/<\/?[^>]+(>|$)/g, ""); //replacing all tags
		row["Title"] = str;
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}

var filterGallery = function(dataSet, row, rowNumber)
{
	if ((Number)(row["MenuID"]) == (Number)(ActiveMenuId))
	{		
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}
var filterSlideShow = function(dataSet, row, rowNumber)
{
	//alert('slide menu :' + row["MenuID"] + ' - active: ' + ActiveMenuId);
	if ((Number)(row["MenuID"]) == (Number)(ActiveMenuId))
	{		
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}
var filterImageText2 = function(dataSet, row, rowNumber)
{
	if ((Number)(row["TextPlace"]) == 1 && (Number)(row["ImageID"]) == (Number)(ImageId))
	{	
		var str = unescape(row["Txt"]);
		str = RemoveTextFormating(str, false); //.replace(/<\/?[^>]+(>|$)/g, ""); //relacing all tags
		row["Txt"] = str;
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}
var filterMenuText2 = function(dataSet, row, rowNumber)
{
	if ((Number)(row["TextPlace"]) == 1 && (Number)(row["MenuID"]) == (Number)(ActiveMenuId))
	{	
		var str = unescape(row["Txt"]);
		str = RemoveTextFormating(str, false); //.replace(/<\/?[^>]+(>|$)/g, ""); //relacing all tags
		row["Txt"] = str;
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}
var filterSlideShowImage = function(dataSet, row, rowNumber)
{
	if ((Number)(row["SlideShowID"]) == (Number)(SlideShowId))
	{
		if (ImageSlideId == -1)
		{
			ImageSlideId = (Number)(row["ImageID"]);
		}
		var str = unescape(row["URL"]);
		if (str.substring(0, 4) == 'http')
		{
			row["URL"] = str.slice(25);
		}
		
		str = unescape(row["Title"]);
		str = RemoveTextFormating(str, true); //.replace(/<\/?[^>]+(>|$)/g, ""); //relacing all tags
		row["Title"] = str;
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}
var filterBackgroundImage = function(dataSet, row, rowNumber)
{
	if ((Number)(row["BackgroundID"]) == (Number)(BackgroundId))
	{
		var str = unescape(row["URL"]);
		if (str.substring(0, 4) == 'http')
		{
			row["URL"] = str.slice(25);
		}
		str = unescape(row["Title"]);
		str = RemoveTextFormating(str, true); //.replace(/<\/?[^>]+(>|$)/g, ""); //relacing all tags
		row["Title"] = str;
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}
var filterText1 = function(dataSet, row, rowNumber)
{
	if ((Number)(row["TextPlace"]) == 0 && (Number)(row["MenuID"]) == (Number)(ActiveMenuId))
	{
		var str = unescape(row["Txt"]);
		str = RemoveTextFormating(str, false); //.replace(/<\/?[^>]+(>|$)/g, ""); //relacing all tags
		row["Txt"] = str;
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}
var filterBackground = function(dataSet, row, rowNumber)
{
	//alert((Number)(row["MenuID"]) + '==' + (Number)(ActiveMenuId))
	if ((Number)(row["MenuID"]) == (Number)(ActiveMenuId))
	{
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}
var filterMainMenu = function(dataSet, row, rowNumber)
{
	//alert('Main menu filter - active:' + ActiveMenuId);
	if ((Number)(row["ParentID"]) == 0)
	{
		if (ActiveMenuId == -1)
		{
			
		}
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}

var filterSubMenu = function(dataSet, row, rowNumber)
{
	if ((row["ParentID"] == MainMenuId || row["ParentID"] == SubSubMenuId) && row["Type"] == "SubMenu")
	{
		return row; // Return the row to keep it in the data set.
	}
	return null; // Return null to remove the row from the data set.
}
var filterSubSubMenu = function(dataSet, row, rowNumber)
{
	if ((row["ParentID"] == MainMenuId || row["ParentID"] == SubMenuId) && row["Type"] == "SubSubMenu")
		return row; // Return the row to keep it in the data set.
	return null; // Return null to remove the row from the data set.
}
//END filters

function changeImageMenu()
{
	//alert('change image')
	var rows = dsImage.getData();
	if (rows != null)
	{
		if (rows.length > 0)
		{
			for (var i = 0; i < rows.length; i++)
			{
				//alert(ImageSlideId + '- '+ ImageId);
				if (ImageId != -1)
				{
					ImageSlideId = -1;
					if ((Number)(rows[i]["ImageID"]) != (Number)(ImageId))
					{
						Spry.Utils.addClassName('pd' + rows[i]["OrderID"],'HiddenRegion');
						Spry.Utils.addClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
						Spry.Utils.removeClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
					}
					else
					{
						scrImage = null;
						
						Spry.Utils.removeClassName('pd' + rows[i]["OrderID"],'HiddenRegion');
						Spry.Utils.removeClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
						//alert('set active - gm' + rows[i]["OrderID"]);
						
						scrImage = new Scroller('pd' + rows[i]["OrderID"], 'scrImage', 0, 0, 510, 200, 0, 0, 0, 0);
						
						if (scrImage.myWidth() > 510 || scrImage.myHeight() > 200)
						{
							//alert(scrImage.myWidth());
							Spry.Utils.removeClassName('GalleryImageScroll','HiddenRegion');
							scrImage.align(0,0, -1, -1);
						}
						else
						{
							Spry.Utils.addClassName('GalleryImageScroll','HiddenRegion');
						}
						Spry.Utils.removeClassName('ImageTitle','HiddenRegion');
						Spry.Utils.removeClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
						Spry.Utils.removeClassName('ImageTitleMenuContainer','HiddenRegion');
						Spry.Utils.addClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
						
					}
				}
				else if(ImageSlideId != -1)
				{
					for (var i = 0; i < rows.length; i++)
					{
						if ((Number)(rows[i]["ImageID"]) != (Number)(ImageSlideId))
						{
							Spry.Utils.addClassName('ps' + rows[i]["OrderID"],'HiddenRegion');
							//alert('change slide show add')
							Spry.Utils.addClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
							Spry.Utils.removeClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
						}
						else
						{
							scrImageSlideShow = null;
							Spry.Utils.removeClassName('ps' + rows[i]["OrderID"],'HiddenRegion');
							Spry.Utils.removeClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
							Spry.Utils.addClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
							scrImageSlideShow = new Scroller('ps' + rows[i]["OrderID"], 'scrImageSlideShow', 0, 0, 640, 200, 0, 0, 0, 0);
							if (scrImageSlideShow.myWidth() > 640 || scrImageSlideShow.myHeight() > 200)
							{
								Spry.Utils.removeClassName('SlideShowImageScroll','HiddenRegion');
								scrImageSlideShow.align(0,0, -1, -1);
							}
							else
							{
								Spry.Utils.addClassName('SlideShowImageScroll','HiddenRegion');
								
							}
						}
					}
				}
			}
			if (ImageId != -1)
			{
				var doc = dsText1.getDocument();
				if (doc)
				{	
					//alert("ading text2")
					dsText2.setDataFromDoc(doc);
					dsText2.setColumnType("TextID", "number");
					dsText2.setColumnType("TextPlace", "number");
					dsText2.setColumnType("MenuID", "number");
					dsText2.setColumnType("ImageID", "number");
					dsText2.setColumnType("GalleryID", "number");
					dsText2.filter(filterImageText2);
					if (dsText2.getData() != null)
					{
						dsText2.addObserver(Text2ImageObserver);
						dsText2.filter(filterImageText2);
					}
				}
			}
		}
	}
}
//Datasource observers
var ImageObserver = new Object;
ImageObserver.onDataChanged = function(dataSet, data)
{
	//alert('image!');
	dsImage.removeObserver(ImageObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	if (rows != null)
	{
		if (rows.length > 0)
		{
			for (var i = 0; i < rows.length; i++)
			{
				if ((Number)(rows[i]["ImageID"]) != ImageId)
				{
					Spry.Utils.addClassName('pd' + rows[i]["OrderID"],'HiddenRegion');
					Spry.Utils.addClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
					Spry.Utils.removeClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
				}
				else
				{
					scrImage = null;
					Spry.Utils.removeClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
					Spry.Utils.removeClassName('pd' + rows[i]["OrderID"],'HiddenRegion');
					Spry.Utils.addClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
					scrImage = new Scroller('pd' + rows[i]["OrderID"], 'scrImage', 0, 0, 510, 200, 0, 0, 0, 0);
					
					if (scrImage.myWidth() > 510 || scrImage.myHeight() > 200)
					{
						//alert(scrImage.myWidth());
						Spry.Utils.removeClassName('GalleryImageScroll','HiddenRegion');
						scrImage.align(0,0, -1, -1);
					}
					else
					{
						Spry.Utils.addClassName('GalleryImageScroll','HiddenRegion');
					}
				}
			}
			Spry.Utils.removeClassName('ImageTitle','HiddenRegion');
			Spry.Utils.removeClassName('ImageTitleMenuContainer','HiddenRegion');	
			Spry.Utils.removeClassName('GalleryMenu','HiddenRegion');	
			
			scrGalleryMenu = null;
			scrGalleryMenu = new Scroller('GalleryMenu', 'scrGalleryMenu', 0, 0, 100, 20, 0, 0, 0, 0);
			
			if (scrGalleryMenu.myWidth() <= 100)
			{
				Spry.Utils.addClassName('GalleryMenuHScroll','HiddenRegion');
			}
			else
			{
				scrGalleryMenu.align(0, 0, -1, -1);
				Spry.Utils.removeClassName('GalleryMenuHScroll','HiddenRegion');
			}
			
			var doc = dsText1.getDocument();
			if (doc)
			{	
				//alert("ading text2")
				dsText2.setDataFromDoc(doc);
				dsText2.setColumnType("TextID", "number");
				dsText2.setColumnType("TextPlace", "number");
				dsText2.setColumnType("MenuID", "number");
				dsText2.setColumnType("ImageID", "number");
				dsText2.setColumnType("GalleryID", "number");
				dsText2.filter(filterImageText2);
				if (dsText2.getData() != null)
				{
					dsText2.addObserver(Text2ImageObserver);
					dsText2.filter(filterImageText2);
				}
			}			
		}
	}
}
var GalleryObserver = new Object;
GalleryObserver.onDataChanged = function(dataSet, data)
{
	//alert('gallery!');
	dsGallery.removeObserver(GalleryObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	if (rows != null)
	{
		if (rows.length > 0)
		{
			GalleryId = (Number)(rows[0]["GalleryID"]);
			
			Spry.Utils.addClassName('SlideShowContainer','HiddenRegion');
			Spry.Utils.addClassName('BackgroundContainer','HiddenRegion');
			Spry.Utils.addClassName('Text1Container','HiddenRegion');
			//alert('found gallery: ' + GalleryId + ' filtering images');
			dsImage.addObserver(ImageObserver);
			dsImage.filter(filterGalleryImage);
			Spry.Utils.removeClassName('GalleryContainer','HiddenRegion');
			
			ImageSlideId = -1;
		}
		else
		{
			Spry.Utils.addClassName('GalleryContainer','HiddenRegion');
			ImageId = -1;
		}
	}
	
}
var ImageObserverSlideShow = new Object;
ImageObserverSlideShow.onDataChanged = function(dataSet, data)
{
	//alert('slideshowImage!');
	dsImage.removeObserver(ImageObserverSlideShow);
	// Get access to all of the rows of a data set with getData().
	
	var rows = dataSet.getData();
	if (rows != null)
	{
		if (rows.length > 0)
		{
			for (var i = 0; i < rows.length; i++)
			{
				if ((Number)(rows[i]["ImageID"]) != (Number)(ImageSlideId))
				{
					Spry.Utils.addClassName('ps' + rows[i]["OrderID"],'HiddenRegion');
					//alert('slide inage changed add pt')
					Spry.Utils.addClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
					Spry.Utils.removeClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
				}
				else
				{
					Spry.Utils.removeClassName('ps' + rows[i]["OrderID"],'HiddenRegion');
					Spry.Utils.removeClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
					Spry.Utils.addClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
					scrImageSlideShow = null;
					scrImageSlideShow = new Scroller('ps' + rows[i]["OrderID"], 'scrImageSlideShow', 0, 0, 640, 200, 0, 0, 0, 0);
					if (scrImageSlideShow.myWidth() > 640 || scrImageSlideShow.myHeight() > 200)
					{
						Spry.Utils.removeClassName('SlideShowImageScroll','HiddenRegion');
						scrImageSlideShow.align(0,0, -1, -1);
					}
					else
					{
						Spry.Utils.addClassName('SlideShowImageScroll','HiddenRegion');
					}
				}
			}
			scrSlideShowMenu = null;
			scrSlideShowMenu = new Scroller('GalleryMenu', 'scrSlideShowMenu', 0, 0, 100, 20, 0, 0, 0, 0);
			
			if (scrSlideShowMenu.myWidth() <= 100)
			{
				Spry.Utils.addClassName('GalleryMenuHScroll','HiddenRegion');
			}
			else
			{
				scrSlideShowMenu.align(0, 0, -1, -1);
				Spry.Utils.removeClassName('GalleryMenuHScroll','HiddenRegion');
			}
			
			Spry.Utils.removeClassName('ImageTitleMenuContainer','HiddenRegion');	
		}
	}
}
var SlideShowObserver = new Object;
SlideShowObserver.onDataChanged = function(dataSet, data)
{
	//alert('slideshow!');
	dsSlideShow.removeObserver(SlideShowObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	if (rows != null)
	{
		
		if (rows.length > 0)
		{
			//alert('slide more 0');
			SlideShowId = (Number)(rows[0]["SlideShowID"]);
			Spry.Utils.addClassName('BackgroundContainer','HiddenRegion');
			Spry.Utils.addClassName('GalleryContainer','HiddenRegion');
			Spry.Utils.addClassName('Text1Container','HiddenRegion');
			Spry.Utils.addClassName('Text2Container','HiddenRegion');
			
			//alert('unhiding slideshow');
			Spry.Utils.removeClassName('SlideShowContainer','HiddenRegion');
			dsImage.addObserver(ImageObserverSlideShow);
			dsImage.filter(filterSlideShowImage);
			
			
			ImageId = -1;
		}
		else
		{
			//alert('slide less 0');
			Spry.Utils.addClassName('SlideShowContainer','HiddenRegion');
			dsGallery.addObserver(GalleryObserver);
			dsGallery.filter(filterGallery);
			ImageSlideId = -1;

		}
	}
	else
	{
		//alert('slide show null');
	}
	
}
var Text2ImageObserver = new Object;
Text2ImageObserver.onDataChanged = function(dataSet, data)
{
	//alert('text1 image');
	dsText2.removeObserver(Text2ImageObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	if (rows != null)
	{
		if (rows.length > 0)
		{
			Text2Id = (Number)(rows[0]["TextID"]);
			if (rows[0]["Txt"].length == 0)
			{
				Spry.Utils.addClassName('Text2Container','HiddenRegion');
			}
			else
			{
				Spry.Utils.removeClassName('Text2Container','HiddenRegion');
				//Scroller(id,clipTop,clipWidth,clipBottom,topper)
				scrText2 = null;
				scrText2 = new Scroller('Text2text', 'scrText2', 0, 0, 480,128,0, 0, 10);
				if (scrText2.myHeight() < 128)
				{
					Spry.Utils.addClassName('Text2Vscroll','HiddenRegion');
				}
				else
				{
					scrText2.align(0,0, -1, -1);
					Spry.Utils.removeClassName('Text2Vscroll','HiddenRegion');
				}
			}
		}
		else
		{
			Spry.Utils.addClassName('Text2Container','HiddenRegion');
		}
	}
	dsText2.removeObserver(Text2ImageObserver);
}
var Text2Observer = new Object;
Text2Observer.onDataChanged = function(dataSet, data)
{
	//alert('text2');
	dsText2.removeObserver(Text2Observer);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	if (rows != null)
	{
		if (rows.length > 0)
		{
			Text2Id = (Number)(rows[0]["TextID"]);
			Spry.Utils.removeClassName('Text2Container','HiddenRegion');
			scrText2 = null;
			scrText2 = new Scroller('Text2text', 'scrText2', 0, 0, 480,128,0, 0, 10);
			
			if (scrText2.myHeight() < 128)
			{
				Spry.Utils.addClassName('Text2Vscroll','HiddenRegion');
			}
			else
			{
				scrText2.align(0,0, -1, -1);
				Spry.Utils.removeClassName('Text2Vscroll','HiddenRegion');
			}
			Spry.Utils.addClassName('Loader','HiddenRegion');
		}
		else
		{
			if (Text1Id == -1 && Text2Id == -1 && BackgroundId == -1)
			{
				//mayb slideshow?
				dsSlideShow.addObserver(SlideShowObserver);
				dsSlideShow.filter(filterSlideShow);			
			}
			else
			{
				Spry.Utils.addClassName('SlideShowContainer','HiddenRegion');
				Spry.Utils.addClassName('GalleryContainer','HiddenRegion');
				Spry.Utils.addClassName('ImageTitleMenuContainer','HiddenRegion');
				Spry.Utils.addClassName('Text2Container','HiddenRegion');
				Spry.Utils.addClassName('Loader','HiddenRegion');
				ImageSlideId = -1;
				ImageId = -1
			}
		}
	}
}

var Text1Observer = new Object;
Text1Observer.onDataChanged = function(dataSet, data)
{
	//alert('text1');
	dsText1.removeObserver(Text1Observer);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	if (rows != null)
	{
		if (rows.length > 0)
		{
			Text1Id = (Number)(rows[0]["TextID"]);
			Spry.Utils.addClassName('SlideShowContainer','HiddenRegion');
			Spry.Utils.addClassName('GalleryContainer','HiddenRegion');
			Spry.Utils.addClassName('ImageTitleMenuContainer','HiddenRegion');
			Spry.Utils.removeClassName('Text1Container','HiddenRegion');
			scrText1 = null;
			scrText1 = new Scroller('Text1text', 'scrText1', 0, 0, 480,180,0, 0, 10);
			if (scrText1.myHeight() < 180)
			{
				Spry.Utils.addClassName('Text1Vscroll','HiddenRegion');
			}
			else
			{
				scrText1.align(0,0, -1, -1);
				Spry.Utils.removeClassName('Text1Vscroll','HiddenRegion');
			}
			Spry.Utils.addClassName('Loader','HiddenRegion');
			ImageSlideId = -1;
			ImageId = -1
		}
		else
		{
			Spry.Utils.addClassName('Text1Container','HiddenRegion');
		}
		var doc = dsText1.getDocument();
		if (doc)
		{	
			//alert("ading text2")
			dsText2.setDataFromDoc(doc);
			dsText2.setColumnType("TextID", "number");
			dsText2.setColumnType("TextPlace", "number");
			dsText2.setColumnType("MenuID", "number");
			dsText2.setColumnType("ImageID", "number");
			dsText2.setColumnType("GalleryID", "number");
			dsText2.filter(filterMenuText2);
			if (dsText2.getData() != null)
			{
				dsText2.addObserver(Text2Observer);
				dsText2.filter(filterMenuText2);
			}
		}
	}
}
var backgroundObserver = new Object;
backgroundObserver.onDataChanged = function(dataSet, data)
{
	//alert('background');
	dsBackground.removeObserver(backgroundObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	if (rows != null)
	{
		if (rows.length > 0)
		{
			BackgroundId = (Number)(rows[0]["BackgroundID"]);
			//alert("we have background for " + ActiveMenuType + " - Id - " + ActiveMenuId)
			//alert('hiding regions');
			Spry.Utils.addClassName('SlideShowContainer','HiddenRegion');
			Spry.Utils.addClassName('GalleryContainer','HiddenRegion');
			Spry.Utils.addClassName('ImageTitleMenuContainer','HiddenRegion');
			dsText1.addObserver(Text1Observer);
			dsText1.filter(filterText1);
			
			dsImage.filter(filterBackgroundImage);
			Spry.Utils.removeClassName('BackgroundContainer','HiddenRegion');
			Spry.Utils.addClassName('Loader','HiddenRegion');
			
			ImageSlideId = -1;
			ImageId = -1
		}
		else
		{
			//alert('no background go to text1')
			dsText1.addObserver(Text1Observer);
			dsText1.filter(filterText1);
		}		
	}
}
var subMenuObserver = new Object;
subMenuObserver.onDataChanged = function(dataSet, data)
{
	dsSubMenu.removeObserver(subMenuObserver);
	//alert("subMenuObserver")
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	
	// Get MainMenu Id
	if (rows != null)
	{
		for (var i = 0; i < rows.length; i++)
		{
			if ((Number)(rows[i]["OrderID"]) == (Number)(SubMenuNb))
			{
				SubMenuId = rows[i]["MenuID"];
				ActiveMenuId = SubMenuId;
				ActiveMenuType = "SubMenu";
				Spry.Utils.removeClassName('SubMenuContainer','HiddenRegion');
				
				scrSubMenu = null;
				scrSubMenu = new Scroller('SubMenu', 'scrSubMenu', 0, 0, 170,140,0, 0, 0);
				if (scrSubMenu.myHeight() < 140)
				{
					Spry.Utils.addClassName('SubMenuVscroll','HiddenRegion');
				}
				else
				{
					scrSubMenu.align(subScrolPos, 0, subClipTop, subClipBottom);
					Spry.Utils.removeClassName('SubMenuVscroll','HiddenRegion');
				}
				
				break;
			}
		}
		
		var doc = dsMainMenu.getDocument();
		if (doc)
		{	
			dsSubSubMenu.setDataFromDoc(doc);
			dsSubSubMenu.setColumnType("MenuID", "number");
			dsSubSubMenu.setColumnType("ParentID", "number");
			dsSubSubMenu.setColumnType("OrderID", "number");
			dsSubSubMenu.setColumnType("CustomMenu", "number");
			dsSubSubMenu.filter(filterSubSubMenu);
			dsSubSubMenu.sort("OrderID");
			if (dsSubSubMenu.getData() != null)
			{
				dsBackground.addObserver(backgroundObserver);
				dsBackground.filter(filterBackground);
			}
		}
	}
}
var subSubMenuObserver = new Object;
subSubMenuObserver.onDataChanged = function(dataSet, data)
{
	dsSubSubMenu.removeObserver(subSubMenuObserver);
	//alert("subSubMenuObserver")
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	
	// Get MainMenu Id
	if (rows != null)
	{
		for (var i = 0; i < rows.length; i++)
		{
			if ((Number)(rows[i]["OrderID"]) == (Number)(SubSubMenuNb))
			{
				SubSubMenuId = rows[i]["MenuID"];
				ActiveMenuId = SubSubMenuId;
				ActiveMenuType = "SubSubMenu";
				
				Spry.Utils.removeClassName('SubSubMenuContainer','HiddenRegion');
				scrSubSubMenu = null;
				scrSubSubMenu = new Scroller('SubSubMenu', 'scrSubSubMenu', 0, 0, 170,130,0, 0, 0);
				if (scrSubSubMenu.myHeight() < 130)
				{
					Spry.Utils.addClassName('SubSubMenuVscroll','HiddenRegion');
				}
				else
				{
					scrSubSubMenu.align(subSubScrolPos, 0, subSubClipTop, subSubClipBottom);
					Spry.Utils.removeClassName('SubSubMenuVscroll','HiddenRegion');
				}
			}
		}
		var doc = dsMainMenu.getDocument();
		if (doc)
		{
			dsSubMenu.setDataFromDoc(doc);
			dsSubMenu.setColumnType("MenuID", "number");
			dsSubMenu.setColumnType("ParentID", "number");
			dsSubMenu.setColumnType("OrderID", "number");
			dsSubMenu.setColumnType("CustomMenu", "number");
			dsSubMenu.filter(filterSubMenu);
			dsSubMenu.sort("OrderID", "ascending");
			if (dsSubMenu.getData() != null)
			{
				dsBackground.addObserver(backgroundObserver);
				dsBackground.filter(filterBackground);
			}	
		}
	}
}

var menuObserver = new Object;
menuObserver.onDataChanged = function(dataSet, data)
{
	//alert('main menu');
	dsMainMenu.removeObserver(menuObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	
	// Get MainMenu Id
	if (rows != null)
	{
		//alert('menu not null');
		for (var i = 0; i < rows.length; i++)
		{
			//alert('######################## order menu>>>' + rows[i]["OrderID"] + ' --- ' + MainMenuNb)
			if ((Number)(rows[i]["OrderID"]) == (Number)(MainMenuNb))
			{
				
				MainMenuId = rows[i]["MenuID"];
				ActiveMenuId = MainMenuId;
				ActiveMenuType = "MainMenu";
				Spry.Utils.removeClassName('MainMenu','HiddenRegion');
				break;
			}
		}
		var rows = dataSet.getData(true);
		var noSubmenu = 0;
		for (var i = 0; i < rows.length; i++)
		{
			if ((Number)(rows[i]["ParentID"]) == (Number)(MainMenuId))
			{
				noSubmenu = 1;
				var doc = dsMainMenu.getDocument();
				if (rows[i]["Type"] == "SubMenu")
				{
					if (doc)
					{
						dsSubMenu.setDataFromDoc(doc);
						dsSubMenu.setColumnType("MenuID", "number");
						dsSubMenu.setColumnType("ParentID", "number");
						dsSubMenu.setColumnType("OrderID", "number");
						dsSubMenu.setColumnType("CustomMenu", "number");
						dsSubMenu.filter(filterSubMenu);

						if (dsSubMenu.getData() != null)
						{
							dsSubMenu.addObserver(subMenuObserver);
							dsSubMenu.filter(filterSubMenu);
							dsSubMenu.sort("OrderID", "ascending");
						}					
					}
					break;
				}
				else if (rows[i]["Type"] == "SubSubMenu")
				{
					if (doc)
					{
						dsSubSubMenu.setDataFromDoc(doc);
						dsSubSubMenu.setColumnType("MenuID", "number");
						dsSubSubMenu.setColumnType("ParentID", "number");
						dsSubSubMenu.setColumnType("OrderID", "number");
						dsSubSubMenu.setColumnType("CustomMenu", "number");
						dsSubSubMenu.filter(filterSubSubMenu);
						if (dsSubSubMenu.getData() != null)
						{
							dsSubSubMenu.addObserver(subSubMenuObserver);
							dsSubSubMenu.filter(filterSubSubMenu);
							dsSubSubMenu.sort("OrderID", "ascending");
						}
					}
					break;
				}
				break;
			}
		}
		if (noSubmenu == 0)
		{
			//alert('noSubMenu');
			//alert(MainMenuId);
			dsBackground.addObserver(backgroundObserver);
			dsBackground.filter(filterBackground);
		}
	}
}

//END Datasource observers-->
var menuLoadObserver = new Object;
menuLoadObserver.onPostLoad = function(dataSet, data)
{
	//alert('loaded menu');
	dsMenuXML.removeObserver(menuLoadObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	
	// Get MainMenu Id
	if (rows != null)
	{
		var doc = dsMenuXML.getDocument();
		if (doc)
		{
			dsMainMenu.setDataFromDoc(doc);
			dsMainMenu.setColumnType("MenuID", "number");
			dsMainMenu.setColumnType("ParentID", "number");
			dsMainMenu.setColumnType("OrderID", "number");
			dsMainMenu.setColumnType("CustomMenu", "number");
			dsMainMenu.filter(filterMainMenu);
			dsMainMenu.sort("OrderID","ascending");
			if (dsMainMenu.getData() != null)
			{
				//alert('got menu data - draw menu');
				dsMainMenu.addObserver(menuObserver);				
				dsMainMenu.filter(filterMainMenu);
			}
		}
	}
}
var textLoadObserver = new Object()
textLoadObserver.onPostLoad = function(dataSet, data)
{
	//alert('text loaded');
	dsTextXML.removeObserver(textLoadObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	
	// Get MainMenu Id
	if (rows != null)
	{
		var doc = dsTextXML.getDocument();
		if (doc)
		{
			//alert('got text doc');
			dsText1.setDataFromDoc(doc);
			dsText1.setColumnType("TextID", "number");
			dsText1.setColumnType("TextPlace", "number");
			dsText1.setColumnType("MenuID", "number");
			dsText1.setColumnType("ImageID", "number");
			dsText1.setColumnType("GalleryID", "number");

			dsText1.filter(filterText);
			dsText1.sort("TextID","ascending");
			
			if (dsText1.getData() != null)
			{
				//alert('load menu');
				dsMenuXML = new Spry.Data.XMLDataSet("../_Php/designcell/Menu.xml", "TABLES/Menu/ROW",{useCache:false});
				dsMenuXML.addObserver(menuLoadObserver);
				dsMenuXML.loadData();
			}
		}
	}
}
var galleryLoadObserver = new Object()
galleryLoadObserver.onPostLoad = function(dataSet, data)
{
	//alert('gallery loaded');
	dsGallery.removeObserver(galleryLoadObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	
	// Get MainMenu Id
	if (rows != null)
	{
		//alert('gal not null - load text');
		dsTextXML = new Spry.Data.XMLDataSet("../_Php/designcell/Text.xml", "TABLES/Text/ROW",{useCache:false});		
		dsTextXML.addObserver(textLoadObserver);
		dsTextXML.loadData();
	}
}

var slideShowLoadObserver = new Object()
slideShowLoadObserver.onPostLoad = function(dataSet, data)
{
	//alert('slide loaded');
	dsSlideShow.removeObserver(slideShowLoadObserver);
	// Get access to all of the rows of a data set with getData().
	
	var rows = dataSet.getData();
	
	// Get MainMenu Id
	if (rows != null)
	{
		//alert('slide not null - load gallery');
		dsGallery = new Spry.Data.XMLDataSet("../_Php/designcell/Gallery.xml", "TABLES/Gallery/ROW",{useCache:false});
		dsGallery.setColumnType("GalleryID", "number");
		dsGallery.setColumnType("MenuID", "number");
		dsGallery.addObserver(galleryLoadObserver);
		dsGallery.loadData();
	}
}
var backgroundLoadObserver = new Object()
backgroundLoadObserver.onPostLoad = function(dataSet, data)
{
	//alert('background loaded');
	dsBackground.removeObserver(backgroundLoadObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	
	// Get MainMenu Id
	if (rows != null)
	{
		//alert('back rows not null - load slideshow');
		
		dsSlideShow = new Spry.Data.XMLDataSet("../_Php/designcell/SlideShow.xml", "TABLES/SlideShow/ROW",{useCache:false});
		dsSlideShow.setColumnType("SlideShowID", "number");
		dsSlideShow.setColumnType("MenuID", "number");
		dsSlideShow.addObserver(slideShowLoadObserver);
		dsSlideShow.loadData();
	}
}

var imageLoadObserver = new Object()
imageLoadObserver.onPostLoad = function(dataSet, data)
{
	//alert('images loaded');
	dsImageXML.removeObserver(imageLoadObserver);
	// Get access to all of the rows of a data set with getData().
	var rows = dataSet.getData();
	
	// Get MainMenu Id
	if (rows != null)
	{
		//alert('rows not null');
		var doc = dsImageXML.getDocument();
		if (doc)
		{
			dsImage.setDataFromDoc(doc);
			dsImage.setColumnType("URL", "image");
			dsImage.setColumnType("ImageID", "number");
			dsImage.setColumnType("BackgroundID", "number");
			dsImage.setColumnType("GalleryID", "number");
			dsImage.setColumnType("ParentImageID", "number");
			dsImage.setColumnType("OrderID", "number");
			dsImage.setColumnType("SlideShowID", "number");
			
			dsImage.filter(filterImage);
			dsImage.sort("OrderID","ascending");
			if (dsImage.getData() != null)
			{
				//alert('load back');
				dsBackground = new Spry.Data.XMLDataSet("../_Php/designcell/Background.xml", "TABLES/Background/ROW",{useCache:false});
				dsBackground.setColumnType("BackgroundID", "number");
				dsBackground.setColumnType("MenuID", "number");
				dsBackground.addObserver(backgroundLoadObserver);
				dsBackground.loadData();
			}
		}
	}
}


Init = function()
{
	//alert('init');
		

	if ((dsImageXML.getDataWasLoaded() && dsBackground.getDataWasLoaded() && dsSlideShow.getDataWasLoaded() && dsGallery.getDataWasLoaded() && dsTextXML.getDataWasLoaded() && dsMenuXML.getDataWasLoaded()) == false)
	{
		//alert('nothing yet loaded');
		MainMenuId = -1;
		SubMenuId = -1;
		SubSubMenuId = -1; 
		
		ActiveMenuId = -1;
		ActiveMenuType = -1;
		
		GalleryId = -1;
		ImageId = -1; 
		ImageSlideId = -1;
		BackgroundId = -1; 
		SlideShowId = -1;
		Text1Id = -1;
		Text2Id = -1;
	
		Spry.Utils.addClassName('MainMenu','HiddenRegion');
		Spry.Utils.addClassName('SubMenuContainer','HiddenRegion');
		Spry.Utils.addClassName('SubMenuVscroll','HiddenRegion');
		Spry.Utils.addClassName('SubSubMenuContainer','HiddenRegion');
		Spry.Utils.addClassName('SubSubMenuVscroll','HiddenRegion');
		
		Spry.Utils.addClassName('SlideShowContainer','HiddenRegion');
		Spry.Utils.addClassName('SlideShowImageScroll','HiddenRegion');
		Spry.Utils.addClassName('GalleryContainer','HiddenRegion');
		Spry.Utils.addClassName('GalleryImageScroll','HiddenRegion');
		Spry.Utils.addClassName('ImageTitleMenuContainer','HiddenRegion');
		Spry.Utils.addClassName('GalleryMenuHScroll','HiddenRegion');
		Spry.Utils.addClassName('BackgroundContainer','HiddenRegion');
		Spry.Utils.addClassName('Text1Container','HiddenRegion');
		Spry.Utils.addClassName('Text1Vscroll','HiddenRegion');
		Spry.Utils.addClassName('Text2Container','HiddenRegion');
		Spry.Utils.addClassName('Text2Vscroll','HiddenRegion');
		
		Spry.Utils.addClassName('Message','HiddenRegion');
		
		Spry.Utils.removeClassName('Main','HiddenRegion');
		Spry.Utils.removeClassName('Architecture','HiddenRegion');
		Spry.Utils.removeClassName('Logo','HiddenRegion');
		Spry.Utils.removeClassName('Loader','HiddenRegion');
		
		
		//alert('load img');
		dsImageXML = new Spry.Data.XMLDataSet("../_Php/designcell/Image.xml", "TABLES/Image/ROW",{sortOnLoad:"OrderID",sortOrderOnLoad:"ascending",			distinctOnLoad:true, useCache:false});
		dsImageXML.addObserver(imageLoadObserver);
		dsImageXML.loadData();
	}
	else if ((dsImageXML.getDataWasLoaded() && dsBackground.getDataWasLoaded() && dsSlideShow.getDataWasLoaded() && dsGallery.getDataWasLoaded() && dsTextXML.getDataWasLoaded() && dsMenuXML.getDataWasLoaded()) == true)
	{
		MainMenuId = -1;
		SubMenuId = -1;
		SubSubMenuId = -1; 
		
		ActiveMenuId = -1;
		ActiveMenuType = -1;
		
		GalleryId = -1;
		ImageId = -1; 
		ImageSlideId = -1;
		BackgroundId = -1; 
		SlideShowId = -1;
		Text1Id = -1;
		Text2Id = -1;
	
		Spry.Utils.addClassName('MainMenu','HiddenRegion');
		Spry.Utils.addClassName('SubMenuContainer','HiddenRegion');
		Spry.Utils.addClassName('SubMenuVscroll','HiddenRegion');
		Spry.Utils.addClassName('SubSubMenuContainer','HiddenRegion');
		Spry.Utils.addClassName('SubSubMenuVscroll','HiddenRegion');
		
		Spry.Utils.addClassName('SlideShowContainer','HiddenRegion');
		Spry.Utils.addClassName('SlideShowImageScroll','HiddenRegion');
		Spry.Utils.addClassName('GalleryContainer','HiddenRegion');
		Spry.Utils.addClassName('GalleryImageScroll','HiddenRegion');
		Spry.Utils.addClassName('ImageTitleMenuContainer','HiddenRegion');
		Spry.Utils.addClassName('GalleryMenuHScroll','HiddenRegion');
		Spry.Utils.addClassName('BackgroundContainer','HiddenRegion');
		Spry.Utils.addClassName('Text1Container','HiddenRegion');
		Spry.Utils.addClassName('Text1Vscroll','HiddenRegion');
		Spry.Utils.addClassName('Text2Container','HiddenRegion');
		Spry.Utils.addClassName('Text2Vscroll','HiddenRegion');
		
		Spry.Utils.addClassName('Message','HiddenRegion');
		
		Spry.Utils.removeClassName('Main','HiddenRegion');
		Spry.Utils.removeClassName('Architecture','HiddenRegion');
		Spry.Utils.removeClassName('Logo','HiddenRegion');
		Spry.Utils.removeClassName('Loader','HiddenRegion');
		
		dsImage.getUnfilteredData();
		dsBackground.getUnfilteredData();
		dsSlideShow.getUnfilteredData();
		dsGallery.getUnfilteredData();
		dsText1.getUnfilteredData();
		dsMainMenu.getUnfilteredData();
		if (dsMainMenu.getData() != null)
		{
			dsMainMenu.addObserver(menuObserver);				
			dsMainMenu.filter(filterMainMenu);
		}
	}
}
loadedImg = function(type, imgId)
{
	if (type == 'gallery')
	{
		if (ImageId == imgId)
		{
			Spry.Utils.addClassName('Loader','HiddenRegion');
			scrImage = null;
			Spry.Utils.removeClassName('GalleryContainer','HiddenRegion');
			var rows = dsImage.getData();
			if (rows != null)
			{
				if (rows.length > 0)
				{
					for (var i=0; i<rows.length; i++)
					{
						if (rows[i]["ImageID"] == imgId)
						{
							Spry.Utils.removeClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
							Spry.Utils.removeClassName('pd' + rows[i]["OrderID"],'HiddenRegion');
							
							scrImage = new Scroller('pd' + rows[i]["OrderID"], 'scrImage', 0, 0, 510, 200, 0, 0, 0, 0);
							
							if (scrImage.myWidth() > 510 || scrImage.myHeight() > 200)
							{
								//alert(scrImage.myWidth());
								Spry.Utils.removeClassName('GalleryImageScroll','HiddenRegion');
								scrImage.align(0,0, -1, -1);
							}
							else
							{
								Spry.Utils.addClassName('GalleryImageScroll','HiddenRegion');
							}
							
							scrSlideShowMenu = null;
							Spry.Utils.removeClassName('ImageTitle','HiddenRegion');
							Spry.Utils.removeClassName('ImageTitleMenuContainer','HiddenRegion');	
						
							scrSlideShowMenu = new Scroller('GalleryMenu', 'scrSlideShowMenu', 0, 0, 100, 20, 0, 0, 0, 0);
							
							if (scrSlideShowMenu.myWidth() <= 100)
							{
								Spry.Utils.addClassName('GalleryMenuHScroll','HiddenRegion');
							}
							else
							{
								scrSlideShowMenu.align(0,0, -1, -1);
								Spry.Utils.removeClassName('GalleryMenuHScroll','HiddenRegion');
							}
							
							Spry.Utils.addClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
						}
						else
						{
							Spry.Utils.addClassName('pt' + rows[i]["OrderID"],'HiddenRegion');
							Spry.Utils.addClassName('pd' + rows[i]["OrderID"],'HiddenRegion');
							Spry.Utils.removeClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
						}
					}
				}
			}//if (rows != null)
		}//if (ImageId == imgId)
	}
	else if (type == 'background')
	{
		//alert('background ' + imgId);
	}
	else if (type == 'slideshow')
	{
		if (ImageSlideId == imgId)
		{
			Spry.Utils.addClassName('Loader','HiddenRegion');
			scrImageSlideShow = null;
			var rows = dsImage.getData();
			if (rows != null)
			{
				if (rows.length > 0)
				{
					for (var i=0; i<rows.length; i++)
					{
						if (rows[i]["ImageID"] == imgId)
						{
							Spry.Utils.addClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
							Spry.Utils.removeClassName('ps' + rows[i]["OrderID"],'HiddenRegion');
							
							scrImageSlideShow = new Scroller('ps' + rows[i]["OrderID"], 'scrImageSlideShow', 0, 0, 640, 200, 0, 0, 0, 0);
							if (scrImageSlideShow.myWidth() > 640 || scrImageSlideShow.myHeight() > 200)
							{
								Spry.Utils.removeClassName('SlideShowImageScroll','HiddenRegion');
							}
							else
							{
								Spry.Utils.addClassName('SlideShowImageScroll','HiddenRegion');
								scrImageSlideShow.align(0,0, -1, -1);
							}
							
							Spry.Utils.removeClassName('ImageTitleMenuContainer','HiddenRegion');	
							
							scrSlideShowMenu = null;
							scrSlideShowMenu = new Scroller('GalleryMenu', 'scrSlideShowMenu', 0, 0, 100, 20, 0, 0, 0, 0);
							
							if (scrSlideShowMenu.myWidth() <= 100)
							{
								Spry.Utils.addClassName('GalleryMenuHScroll','HiddenRegion');
							}
							else
							{
								scrSlideShowMenu.align(0,0, -1, -1);
								Spry.Utils.removeClassName('GalleryMenuHScroll','HiddenRegion');	
							}
						}
						else
						{
							Spry.Utils.removeClassName('gm' + rows[i]["OrderID"],'GalleryMenuActive');
						}
					}
				}
			}//if (rows != null)
		}//if (SlideShowId == imgId)
	}
}