function executeHandlers() {
    handleRelAttr();
	handlePageRequest();
	gallery.init();
	subscribe();
	changeLang();
	
}



function handleRelAttr() {

      $("body")
      .delegate("a[rel='external']","click",function(){
            this.target = "_blank";
        });

      $("li")
      .hover(function(){
		if($(this).find("#legend").length)
		$(this).parent().find("#legend").css({display:"block"});
	  },function(){
	  	if($(this).find("#legend").length)
	  	$(this).parent().find("#legend").css({display:"none"});
	  });

      $("a[rel='hashit']")
      .live("click",function(){
            $.address.value($(this).attr('href').replace("http://hilifuncity.ae/","").replace("http://www.hilifuncity.ae/",""));
            return false;
        });

}


function handlePageRequest() {
	
	$("#main-nav a, .left-nav a").bind("click",function(){
		
		if ($(this).attr("href") != "#") {
			
			$.address.value($(this).attr('href'));

		}
		return false;

	});
	

	$("#contentbox .close").bind("click",function(){
		
		$(this).parent().fadeOut("slow",function(){
			
			$("#content").children().remove();
			$.address.value("");
			
		});
		
		$("#overlay").fadeOut("slow");
		return false;
	});
	
	$("#contentbox #previous").live("click",function(){
		
			var $currentPage = $('ul.swings a[href*="'+$.address.value()+'"]').parent();
			
			if($currentPage.index(".swings li") > 0)
			{
				$("#content").children().remove();
				url = $("ul.swings li").eq($currentPage.index(".swings li")-1).find("a").attr("href");
				$.address.value(url);
			}

		return false;
		
	});
	
	$("#contentbox #next").live("click",function(){
		
			var $currentPage = $('ul.swings a[href*="'+$.address.value()+'"]').parent();
			
			if($currentPage.index(".swings li") < $("ul.swings li").length-1)
			{
				$("#content").children().remove();
				url = $("ul.swings li").eq($currentPage.index(".swings li")+1).find("a").attr("href");
				$.address.value(url);
			}

		return false;
		
		
	});
	
	
}

$.address.change(function(event){
	
	
	
	if($.address.value()!="/"){
		
		if ($.address.value().indexOf("attractions") >= 0) {
			if(/\/ae\//.test(location.href)){
			$("#contentbox").append("<a href='#' id='next' class='previous'><img src='/common/image/button/previous.gif' alt='' /></a>");
			$("#contentbox").append("<a href='#' id='previous' class='next'><img src='/common/image/button/next.gif' alt='' /></a>");
		  }
		  else {
			$("#contentbox").append("<a href='#' id='previous' class='previous'><img src='/common/image/button/previous.gif' alt='' /></a>");
			$("#contentbox").append("<a href='#' id='next' class='next'><img src='/common/image/button/next.gif' alt='' /></a>");
		  }
		  	
		
		}
		else {
			$("#contentbox a.previous").remove();
			$("#contentbox a.next").remove();
		}
		$("#preloader").css({display:"block"});
		$("#overlay").fadeIn("slow");
		
		if($("#contentbox").find("#preloader").length == 0)
		$("#contentbox").append("<img id='preloader' src='/common/image/generic/loader.gif' width='24' height='24' alt='' />");
		
		$("#contentbox").fadeIn("slow",function(){

			$("#content").load($.address.value() + " #content >* ", function(){
				
				$("#preloader").fadeOut("fast");
				currentUrl = location.href;
				if(/\/ae\//.test(location.href) == false)
				Cufon.replace("h1 strong,h3");
				$(".news-scroll").jScrollPane({ scrollbarWidth: 5, dragMinHeight: 20, dragMaxHeight: 20, showArrows: true, arrowSize: 5 });
				
			});
			
		});
		
	}
	
	else {
		//alert(location.href);
	}
	

	
});


function gallery() {
	
	
		$("#thumblist td a").live("click",function(){
		
			$("#preview img").attr("src",$(this).attr("href"));
		   
		  return false; 
		
		});

	
}

var gallery = {
		
		total:0,
		currentIndex:0,
		init: function() {
				
				$("#thumblist td a").live("click",function(){
				
					$("#preview img").attr("src",$(this).attr("href"));
				  return false; 
				
				});
				

				
				$("#left").live("click",function(){
				
					gallery.total = $("#thumblist td").length;
					
					if(gallery.currentIndex>0) {
					 gallery.currentIndex-=1;
					 $("#thumblist table").animate({marginLeft:-(gallery.currentIndex*550)+"px"},{queue:false,duration:500});
				  }
				  
					return false;
				});

				$("#right").live("click",function(){
				
					gallery.total = $("#thumblist td").length;
					if(gallery.currentIndex<Math.ceil(gallery.total/4)-1){
					 gallery.currentIndex+=1;
					 $("#thumblist table").animate({marginLeft:-(gallery.currentIndex*550)+"px"},{queue:false,duration:500});
				  }
				  
					return false;
				});


								
				
			}

}


function subscribe()
{
	$("#subscribe #submit").bind("click",function(){
			
			//var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
			var filter = /([A-Za-z0-9_-]+)@([A-Za-z0-9_-]+)\.[a-z]{2,4}/;
			if(filter.test($("#subscribe #email").val()))
				{
					$.ajax({
							type:"POST",
							url:"/base/Subscribe/SubmitForm/"+$("#subscribe #email").val()+".aspx",
							data:"{'emailAddress':['"+$("#subscribe #email").val()+"']}",
							contentType:"application/json;charset=utf-8",
							dataType:"text/xml",
							success:function(msg){
							$.address.value("thankyou.aspx");
							$("#subscribe #msg").css({display:"none"});
							},
							error:function(msg){
								
								$("#subscribe #msg").append("We were not able to process your request.").css({color:"#ffffff",display:"block"});
								
								}
						});
				}
			else
				{
					//if((/\/ae\//).test(location.href) == false)
					$("#subscribe #msg").append("Please enter a valid email.").css({color:"#ffffff",display:"block"});
					//else
					//$("#subscribe #msg").append("الرجاء إدخال بريد إلكتروني صالح").css({textAlign:right;color:"#ffffff",display:"block"});
						
				}
			$("#subscribe #email").val("Your email address");
		
		});
		
	$("#subscribe #email").bind("focusin",function(){
		
			if($(this).val() == "Your email address")
			$(this).val("");
		
		});	

	$("#subscribe #email").bind("focusout",function(){
		
			
			if($(this).val() == "")
			$(this).val("Your email address");
		
		});



}

function handleFlashRequest(hashLink) {
	$.address.value(hashLink);
}



function changeLang() {
	


	
	$("#lang a").bind("click",function(){
			
			var pat1 = /http:\/\/([a-z]+.)?hilifuncity.ae\/en\//;
			var pat2 = /http:\/\/([a-z]+.)?hilifuncity.ae\//;
		
			if (location.href.match(/\/ae\//)) {
				location.href = location.href.replace("/ae/", "/en/");
			}
			
			else {
				if (location.href.match(pat1)) 
					location.href = location.href.replace("/en/", "/ae/");
				
				else 
					location.href = location.href.replace(".ae/", ".ae/ae/").replace("/en/", "/ae/");
			}	
			return false;
		});
	
}


function splash(x) {
	
	var randomImage = Math.floor(Math.random()*3);
	if(x=="ar")
	var path = "/common/image/splash/ar/"+randomImage+".png";
	else
	var path = "/common/image/splash/en/"+randomImage+".png";
	
	$("#splash").append("<img src='"+path+"' />");
	$("#overlay").css({opacity:.6});
	$("#overlay").fadeIn("fast");
	$("#splash").fadeIn("slow");
	
	$("#splash .close").bind("click",function(){
		
			$("#overlay").fadeOut("fast");
			$("#splash").fadeOut("slow");
		
		});
	
}

/*$(function() {
	$(".enlarge-map").bind("click",function(){
		
		$("#overlay").css({opacity:.9});
		$("body").append('<div id="mapOverlay"></div>');
	    
	    var adv = new SWFObject('/common/flash/map-en.swf','advertisement','100%','100%','9');
	    adv.addParam("wmode","transparent");
	    adv.write('mapOverlay');		
		
		$("#overlay").fadeIn("fast");
		return false;
		
	});
	
	$("#overlay").bind("click",function(){
		
		$("#overlay").fadeOut("slow");
		
	});
	
	
})();*/



