<!--

	//================================================================================================
	// VARIABLES DECLARATION
	//================================================================================================	
	var player = null;
	var openContactUs = false, openMailingList = false, flagBannerMain = true, bannerNavShow = true, openOpenDay = true, openVideo = false;
	var homeShow, detailsShow;
	var totalItems = 0, totalColumns = 0, curColumn = 1, ITEMS_PER_SET = 4;
	var selectedTab = 1;
	
	//================================================================================================
	// AJAX FUNCTIONS
	//================================================================================================		
	function registerOpenDay(listID, opendaydate, opendayaddress, fullname, phone, email)
	{
		var url = "process.asp";

		var data = "process=openday";
		data = data + "&fullname=" + fullname;
		data = data + "&opendaydate=" + opendaydate;
		data = data + "&opendayaddress=" + escape(opendayaddress);
		data = data + "&phone=" + phone;
		data = data + "&email=" + email;
		data = data + "&listID=" + listID;
		data = data + "&sid=" + Math.random();		
		
		var req = new Request( {method: 'get', url: '' + url, 

			onSuccess: function(txt) {
				if (txt == 'Success')
				{
					new Fx.Scroll($('scrollable_openday')).toElement('openday_confirmation');
					
					//reset form
					var form = document.opendayform;				
					form.fullname.value = "Your full name";
					form.phone.value = "Contact number";
					form.email.value = "Your email address";
				}
			},
			
			onFailure: function() {
				alert("Error connecting to server. Please refresh this page...");
			}
			
		}).send(data);
	}
	
	function sendEnquiry(fullname, email, phone, comment)
	{
		var url = "process.asp";

		var data = "process=contact";
		data = data + "&fullname=" + fullname;
		data = data + "&email=" + email;
		data = data + "&phone=" + phone;
		data = data + "&comment=" + escape(comment);
		data = data + "&sid=" + Math.random();		
		
		var req = new Request( {method: 'get', url: '' + url, 

			onSuccess: function(txt) {			
				alert(txt);
				
				hideContactUs();
				
				var form = document.contactform;
				form.fullname.value = "";
				form.email.value = "";
				form.phone.value = "";
				form.comment.value = "";			
			},
			
			onFailure: function() {
				alert("Error connecting to server. Please refresh this page...");
			}
			
		}).send(data);
	}		
	
	function sendHelpdesk(fullname, address, email, phone, mobile, type, description, availability)
	{
		var i;
		var url = "process.asp";

		var data = "process=helpdesk";
		data = data + "&fullname=" + fullname;
		data = data + "&email=" + email;
		data = data + "&address=" + address;
		data = data + "&phone=" + phone;
		data = data + "&mobile=" + mobile;
		data = data + "&type=" + type;
		data = data + "&description=" + escape(description);
		data = data + "&availability=" + escape(availability);
		data = data + "&sid=" + Math.random();		
		
		var req = new Request( {method: 'get', url: '' + url, 

			onSuccess: function(txt) {			
				$('txt_message').set('html', 'Success.');
				alert(txt);
				$('txt_message').set('html', '');
				
				var form = document.enquiryform;
				form.fullname.value = "";
				form.address.value = "";
				form.email.value = "";
				form.phone.value = "";
				form.mobile.value = "";

				form.opt_type[0].checked = "";
				form.opt_type[1].checked = "";

				form.description.value = "";
				
				for (i=0; i < form.opt_availability.length; i++) 
				{
					form.opt_availability[i].checked = "";
				}				
			},

			onRequest: function() {
				$('txt_message').set('html', 'Submitting. Please wait...');
			},
			
			onFailure: function() {
				alert("Error connecting to server. Please refresh this page...");
				$('txt_message').set('html', '');
			}
			
		}).send(data);
	}	
	
	function signupNewsletter(listID, fullname, email)
	{
		var url = "process.asp";

		var data = "process=recipient";
		data = data + "&action=add-jax";
		data = data + "&listID=" + listID;
		data = data + "&fullname=" + fullname;
		data = data + "&email=" + email;
		data = data + "&sid=" + Math.random();		
		
		var req = new Request( {method: 'get', url: '' + url, 

			onSuccess: function(txt) {
				alert(txt);
				
				hideMailingList();
				
				//reset form
				var form = document.signupform;				
				form.fullname.value = "Your full name";
				form.email.value = "Your email address";
			},
			
			onFailure: function() {
				alert("Error connecting to server. Please refresh this page...");
			}
			
		}).send(data);
	}	
	
	function showFeaturedImages(id)
	{
		var div = $('banner');
		var url = "get_portfolio.asp";
		var data = "productID=" + id
		
		new Fx.Tween($('banner_nav')).start('margin-top', -50, 0).chain(function () {
		
		var req = new Request( {url: '' + url, 
			
			onSuccess: function(txt) {				
				$(div).set('html', txt);
				
				if ($chk($$('.img_hover')[0])) 
				{				
					$$('.img_hover').setStyle('opacity', 0.7);
					$$('.img_hover').addEvents({
					
						'mouseover' : function(e) {
							this.setStyle('opacity', 1);
						},
					
						'mouseout' : function(e) {
							this.setStyle('opacity', 0.7);
						}
						
					});					
				}					
				
				homeShow.destroy();
				homeShow = new Slideshow('home_banner', false, {delay: 4000, width: 940, height: 595});				
				showBannerNav();
			},
			
			onFailure: function() {
				$(div).set('html', '<div class="ajax_dark_grey">Error loading... Please refresh the browser</div>');
			},
			
			onRequest: function() {
				$(div).set('html', '<div class="ajax_dark_grey"></div>');
			}
		
		}).send(data);		
		
		});
	}	
	
	//================================================================================================
	// FORM FUNCTIONS
	//================================================================================================
	function submitEnquiry()
	{
		var form = document.contactform;

		var c_fullname = form.fullname.value;
		var c_email = form.email.value;
		var c_phone = form.phone.value;
		var c_comment = form.comment.value;

		var valid = true;

		if (c_fullname == "")
		{
			valid = false;
			alert("Please make sure you have entered your name.");
		}
		else if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(c_email)))
		{
			valid = false;
			alert("Please make sure you have entered a valid e-mail address.");
		}
		else if (c_phone == "")
		{
			valid = false;
			alert("Please make sure you have entered your phone number.");
		}
		else if (c_comment == "")
		{
			valid = false;
			alert("Please make sure you have entered comments or enquiries.");
		}

		if (valid == true)
		{
			sendEnquiry(c_fullname, c_email, c_phone, c_comment);
		}
	}
	
	function submitHelpdesk()
	{
		var form = document.enquiryform;
		
		var c_fullname = form.fullname.value;
		var c_address = form.address.value;
		var c_email = form.email.value;
		var c_phone = form.phone.value;
		var c_mobile = form.mobile.value;
		var c_description = form.description.value;
		var i, c_type, c_availability;
		var c_human = form.q_human.value;

		var valid = true;
		
		c_type = "";
		for (i=0; i < form.opt_type.length; i++) 
		{
			if (form.opt_type[i].checked)
			{
				c_type = c_type + form.opt_type[i].value + ','
			}
		}
		
		c_availability = "";
		for (i=0; i < form.opt_availability.length; i++) 
		{
			if (form.opt_availability[i].checked)
			{
				c_availability = c_availability + form.opt_availability[i].value + ','
			}
		}
		
		if (c_fullname == "")
		{
			valid = false;
			alert("Please make sure you have entered your name.");
		}
		else if (c_address == "")
		{
			valid = false;
			alert("Please make sure you have entered your address.");
		}
		else if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(c_email)))
		{
			valid = false;
			alert("Please make sure you have entered a valid e-mail address.");
		}
		else if (c_phone == "" && c_mobile == "")
		{
			valid = false;
			alert("Please make sure you have entered at least one contact number.");
		}
		else if (c_type == "")
		{
			valid = false;
			alert("Please make sure you have selected the type of your query.");
		}
		else if (c_description == "")
		{
			valid = false;
			alert("Please make sure you have entered your enquiry description.");
		}
		else if (c_availability == "")
		{
			valid = false;
			alert("Please make sure you have selected your availability.");
		}		
		else if (c_human != "2")
		{
			valid = false;
			alert("Wrong answer for security question.")
		}
		
		if (valid == true)
		{
			c_type = c_type.substring(0, c_type.length - 1);
			c_availability = c_availability.substring(0, c_availability.length - 1);
			
			sendHelpdesk(c_fullname, c_address, c_email, c_phone, c_mobile, c_type, c_description, c_availability)
		}
	}	
	
	function submitSignUpNewsletter()
	{
		var form = document.signupform;
		
		var c_listID = form.listID.value;
		var c_fullname = form.fullname.value;
		var c_email = form.email.value;
		
		var valid = true;
		
		if ((c_fullname == "") || (c_fullname.toUpperCase() == "YOUR FULL NAME")) 
		{
			valid = false;
			alert("Please make sure you have entered your full name.");		
		} 
		else if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(c_email)))
		{
			valid = false;
			alert("Please make sure you have entered a valid e-mail address.");		
		}
		
		if (valid == true) 
		{
			signupNewsletter(c_listID,c_fullname,c_email);
		}		
	}
	
	function submitOpenDayRegistration()
	{
		var form = document.opendayform;
		
		var c_listID = form.listID.value;
		var c_fullname = form.fullname.value;
		var c_opendaydate = form.opendaydate.value;
		var c_opendayaddress = form.opendayaddress.value;
		var c_phone = form.phone.value;
		var c_email = form.email.value;
		
		var valid = true;
		
		if ((c_fullname == "") || (c_fullname.toUpperCase() == "YOUR FULL NAME")) 
		{
			valid = false;
			alert("Please make sure you have entered your full name.");		
		} 
		else if ((c_phone == "") || (c_phone.toUpperCase() == "CONTACT NUMBER")) 
		{
			valid = false;
			alert("Please make sure you have entered your phone number.");		
		} 
		else if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(c_email)))
		{
			valid = false;
			alert("Please make sure you have entered a valid e-mail address.");		
		}
		
		if (valid == true) 
		{
			registerOpenDay(c_listID,c_opendaydate,c_opendayaddress,c_fullname,c_phone,c_email);
		}		
	}	
	
	//================================================================================================
	// LAYOUT FUNCTIONS 
	//================================================================================================			
	function resetMenuPositions()
	{
		var w = window.getWidth() / 2 - 470;
		$('servicesContainer').setStyle('left', (w + 165) + 'px');
		$('portfolioContainer').setStyle('left', (w + 250) + 'px');
	}
	
	function showContactUs()
	{
		if (!openContactUs)
		{
			goTop();
			hideMailingList();
			$('contactus').setStyles({ 'display' : 'block', 'opacity' : 0 });
			new Fx.Tween('contactus').start('opacity', 0, 1);
			openContactUs = true;
		}
	}	
		
	function hideContactUs()
	{
		if (openContactUs)
		{
			new Fx.Tween('contactus').start('opacity', 1, 0).chain(function(){
				$('contactus').setStyle('display', 'none');
			});			
			openContactUs = false;
		}
	}	

	function toggleContactUs()
	{
		if (openContactUs)
		{
			hideContactUs();
		} 
		else
		{
			showContactUs();
		}
	}
	
	function showMailingList()
	{
		if (!openMailingList)
		{
			goTop();
			hideContactUs();
			$('mailinglist').setStyles({ 'display' : 'block', 'opacity' : 0 });
			new Fx.Tween('mailinglist').start('opacity', 0, 1);
			openMailingList = true;
		}
	}	
		
	function hideMailingList()
	{
		if (openMailingList)
		{
			new Fx.Tween('mailinglist').start('opacity', 1, 0).chain(function(){
				$('mailinglist').setStyle('display', 'none');
			});			
			openMailingList = false;
		}
	}	

	function toggleMailingList()
	{
		if (openMailingList)
		{
			hideMailingList();
		} 
		else
		{
			showMailingList();
		}
	}	
	
	function toggleDescription(id)
	{
		var slide = new Fx.Slide('desc_' + id);
				
		slide.toggle().chain(function () {		
			if (slide.open == true)
			{
				$('moreinfo_' + id).set('text', 'Hide info...');
			}
			else
			{
				$('moreinfo_' + id).set('text', 'Read more...');
			}		
		});		
	}	
	
	function showFloorPlan()
	{		
		detailsShow.last();
		//detailsShow.pause(1);
	}
	
	function pauseBannerMain()
	{
		var img = $('img_pause');
		img.set('src', img.get('src').replace('_pause', '_play'));
		if ($chk($('home_banner'))) 
		{
			homeShow.pause(1);
		}
		else
		{
			detailsShow.pause(1);
		}		
		flagBannerMain = false;
	}	
	
	function playBannerMain()
	{
		var img = $('img_pause');
		img.set('src', img.get('src').replace('_play', '_pause'));
		if ($chk($('home_banner'))) 
		{
			homeShow.pause(0);
		}
		else
		{
			detailsShow.pause(0);
		}		
		flagBannerMain = true;
	}
	
	function prevBanner()
	{
		if ($chk($('home_banner'))) 
		{
			homeShow.prev();
		}
		else
		{
			detailsShow.prev();
		}
	}		
	
	function nextBanner()
	{
		if ($chk($('home_banner'))) 
		{
			homeShow.next();
		}
		else
		{
			detailsShow.next();
		}
	}		

	function toggleBannerMain()	
	{
		if (flagBannerMain)
		{
			pauseBannerMain();
		}
		else
		{
			playBannerMain();
		}
	}	
	
	function hideProductBannerNav()
	{
		if (bannerNavShow)
		{
			$('nav_buttons').setStyle('display', 'none');
			$('btnProductBannerNav').set('src', 'images/site/icon_up.gif');
			new Fx.Tween($('product_banner_nav_main')).start('margin-top', -90, -40).chain(function() {
				$('nav_buttons').setStyle('display', 'block');
				bannerNavShow = false;			
			});
		}
	}		
	
	function showProductBannerNav()
	{
		if (!bannerNavShow)
		{
			$('nav_buttons').setStyle('display', 'none');
			$('btnProductBannerNav').set('src', 'images/site/icon_down.gif');
			new Fx.Tween($('product_banner_nav_main')).start('margin-top', -40, -90).chain(function() {			
				$('nav_buttons').setStyle('display', 'block');
				bannerNavShow = true;
			});
		}
	}		

	function toggleProductBannerNav()	
	{
		if (bannerNavShow)
		{
			hideProductBannerNav();
		}
		else
		{
			showProductBannerNav();
		}
	}	
	
	function hideOffPlanNav()
	{
		if (bannerNavShow)
		{
			$('offplan_hide').setStyle('display', 'none');
			new Fx.Tween($('offplan')).start('margin-top', 0, $('offplan').getHeight()).chain(function() {
				$('offplan_show').setStyle('display', 'block');
				bannerNavShow = false;			
			});
		}
	}		
	
	function showOffPlanNav()
	{
		if (!bannerNavShow)
		{
			$('offplan_show').setStyle('display', 'none');
			new Fx.Tween($('offplan')).start('margin-top', $('offplan').getHeight(), 0).chain(function() {			
				$('offplan_hide').setStyle('display', 'block');
				bannerNavShow = true;
			});
		}
	}		

	function toggleOffPlanNav()	
	{
		if (bannerNavShow)
		{
			hideOffPlanNav();
		}
		else
		{
			showOffPlanNav();
		}
	}	
	
	function showOpenDay()
	{
		if (!openOpenDay)
		{
			$('openday').setStyles({ 'display' : 'block', 'opacity' : 0 });
			new Fx.Tween('openday').start('opacity', 0, 1);
			openOpenDay = true;
		}
	}	
		
	function hideOpenDay()
	{
		if (openOpenDay)
		{
			new Fx.Tween('openday').start('opacity', 1, 0).chain(function(){
				$('openday').setStyle('display', 'none');
			});			
			openOpenDay = false;
		}
	}	

	function toggleOpenDay()
	{
		if (openOpenDay)
		{
			hideOpenDay();
		} 
		else
		{
			showOpenDay();
		}
	}	
	
	function showVideo()
	{
		if (!openVideo)
		{
			$('container_video').setStyle('display', 'block');			
			
			openVideo = true;
			
			(function () {
				if (player != null)
				{
					player.sendEvent('PLAY');		
				}
			}).delay(1000);
						
		}
	}	
	
	function hideVideo()
	{
		if (openVideo)
		{
			if (player != null)
			{
				player.sendEvent('STOP');			
			}

			$('container_video').setStyle('display', 'none');					
			openVideo = false;
		}
	}	

	function toggleVideo()
	{
		if (openVideo)
		{
			hideVideo();
		} 
		else
		{
			showVideo();
		}
	}		
	
	function loadVideo(src)
	{
		$('container_video').setStyle('display', 'block');			
		
		openVideo = true;
		
		(function () {
			if (player != null)
			{
				player.sendEvent('LOAD', src);	
				player.sendEvent('PLAY');
			}
		}).delay(1000);
	}	
	
	function goTop()
	{
		new Fx.Scroll($(window)).toTop();
	}
	
	function showGalleryTab(id)
	{
		if($chk($('tab1')))
		{
			if(id != selectedTab)
			{
				$('tab' + selectedTab).setStyle('text-decoration', 'none');
				selectedTab = id;
			}

			$('tab' + id).setStyle('text-decoration', 'underline');

			new Fx.Scroll($('scrollable_thumbs')).toElement('gallery_tab_' + id);
		}
	}	

	showBannerNav = function()
	{
		new Fx.Tween($('banner_nav')).start('margin-top', 0, -50);
	}		
	
	scrollToPortfolio = function(id)
	{
		new Fx.Scroll($('scrollable_portfolio')).toElement('photos_' + id);
	}	
	
	//================================================================================================
	// EVENTS FUNCTIONS
	//================================================================================================		
	function setupActions()
	{
		if ($chk($$('.img_hover')[0])) 
		{				
			$$('.img_hover').setStyle('opacity', 0.7);
			$$('.img_hover').addEvents({
			
				'mouseover' : function(e) {
					this.setStyle('opacity', 1);
				},
			
				'mouseout' : function(e) {
					this.setStyle('opacity', 0.7);
				}
				
			});					
		}		
		
		if ($chk($$('.btn_hover')[0])) 
		{				
			$$('.btn_hover').setStyle('opacity', 0.5);
			$$('.btn_hover').addEvents({
			
				'mouseover' : function(e) {
					if (!this.hasClass('disabled_hover'))
					{
						this.setStyle('opacity', 1);
					}
				},
			
				'mouseout' : function(e) {
					if (!this.hasClass('disabled_hover'))
					{
						this.setStyle('opacity', 0.5);
					}
				}
				
			});					
		}		

		if ($chk($$('.subnav_link')[0])) 
		{				
			$$('.subnav_link').addEvents({
			
				'mouseover' : function(e) {
					this.setStyles({ 'background-color' : '#c0b879' });
				},
			
				'mouseout' : function(e) {
					this.setStyles({ 'background-color' : '#333333' });
				}
				
			});					
		}
		
		if ($chk($$('.hoverHighlight')))
		{
			$$('.hoverHighlight').addEvents({
				'click' : function(e) {
					var idx = $$('.hoverHighlight').indexOf(this);
					detailsShow.go(parseInt(idx));
				}
			});						
		}		
		
		if ($chk($$('.img_protect')))
		{
			$$('.img_protect').addEvents({
				'contextmenu' : function(e) {
					e.stop();
				}
			});
		}		
	}	
	
	function setupSlideshows()
	{
		if ($chk($('home_banner')))
		{			
			homeShow = new Slideshow('home_banner', false, {delay: 4000, width: 940, height: 595});
		}	
		
		if ($chk($('gallery_banner')))
		{			
			detailsShow = new Slideshow('gallery_banner', false, {delay: 4000, width: 940, height: 595});
		}		
	}	
	
	function setupCufon()
	{
		Cufon.replace('.gillsans_black, .gillsans_gold, .gillsans_white', { fontFamily: 'Gill Sans', hover: true });
	}	
	
	function setupSliders()
	{
		if ($chk($$('.desc_box')[0])) 
		{			
			$$('.desc_box').each(function(el, i) {
				new Fx.Slide(el).hide();				
			});			
		}
	}		
	
	function setupScrollbars()
	{
		if ($chk($('scrollable_portfolio')))
		{
			//jump to default
			var col = $$('.portfolio_selected')[0].get('id');
		
			totalColumns = $$('.set_box').length;
			curColumn = col;
			scrollToPortfolio(curColumn);
			
			if ($chk($$(".scrollPrev"))) 
			{
				$$(".scrollPrev").addEvent('click', function(e) {
					curColumn--; 
					if (curColumn < 1)
					{
						curColumn = totalColumns;
					}		
					scrollToPortfolio(curColumn);
				});
			}		

			if ($chk($$(".scrollNext"))) 
			{
				$$(".scrollNext").addEvent('click', function(e) {
					curColumn++; 
					if (curColumn > totalColumns)
					{
						curColumn = 1;
					}					
					scrollToPortfolio(curColumn);
				});
			}			
		}
	}	
	
	//================================================================================================
	// JW PLAYER FUNCTIONS
	//================================================================================================		
	function createPlayer(filepath) {
		var flashvars = {
			file : filepath,
			autostart : "false",
			repeat : "always",
			displayclick : "none"
		}

		var params = {
			allowfullscreen : "true", 
			allowscriptaccess : "always",
			wmode : "opaque"
		}

		var attributes = {
			id : "player_video",  
			name : "player_video"
		}

		swfobject.embedSWF("common/swf/player.swf", "video_player", "100%", "100%", "9.0.115", false, flashvars, params, attributes);
	}
	
	function playerReady(thePlayer) {
		player = window.document[thePlayer.id];	
	}	
		
	//================================================================================================
	// START THIS WHEN PAGE DOM READY
	//================================================================================================		
	window.addEvents({
	
		'domready' : function(e) {
			setupActions();
			setupSlideshows();
			setupCufon();
			setupSliders();
			showGalleryTab(1);	
			setupScrollbars();
			resetMenuPositions();
		
			if ($chk($('videoToPlay')))
			{
				var fileVideo = $('videoToPlay').value;
				$('container_video').setStyle('display', 'block');
				createPlayer(fileVideo);
				$('container_video').setStyle('display', 'none');				
			}
		},
		
		'resize' : function() {
			resetMenuPositions();
		}
		
	});
	

//-->
