var mainMenuClickHandler = function(path, evt) {
	checkMainMenuLinks();
	if($('#layout-home-content').is(':visible') ) {
		$('#layout-home-content').fadeOut(500, function(){
			getSectionMenu(path, evt);
		});
	}
	else{
		getSectionMenu(path, evt);
	}
}
	
var getSectionMenu = function(path, evt){
	$currentRequest = $.post($url, {action:'get section menu', href: path, language:$language} ,function(data) {
		$currentRequest = null;
		if(data.length > 0){
			$('#page-content').html(getContentLayout(0));
			$('#layout-menu').html(data);
			disableSelection($('#layout-menu'));
			setMenuStyle();
			$('#sub-menu-wrapper').delay($submenuDelay).fadeIn(500);
			$('ul li:has(ul) > a').click(function(event, silent) {
				if (silent === undefined) {
					$.address.value($(this).attr('href').substr(2));
					$.address.update();
				}
				return false;
			});
			if(evt != undefined){
				sectionMenuHandler(evt);
			}
		}
		else{
			$('#page-content').html(getContentLayout(1));
			subMenuClickHandler(evt.path.replace(/\//, ''));
		}
	});
}
	
function sectionMenuHandler(event){
		var params = event.parameters['a'];
		var $targetPath = "#" + event.path;
		var $page = "";
		if($targetPath.indexOf('\/page-') != -1){
			$tempPath = $targetPath.substring(0,$targetPath.indexOf('\/page-'));
			$page = $targetPath.substr($targetPath.indexOf('\/page-')+6);
			$targetPath = $tempPath;
		}
		var checkSlash = $targetPath.lastIndexOf('\/');
		if(checkSlash==($targetPath.length-1)){
			$targetPath = $targetPath.substring(0,checkSlash);
		}
		$('.sub-nav li').removeClass('active').removeClass('active-a');
		$('.sub-nav a').removeClass('selectedColor').addClass('baseColor');
		$('.sub-nav a').each(function(){
			if($(this).attr('href')==$targetPath){
				var active = false;
				if($(this).parent('li').children('ul').length > 0){
					active = $(this).parent('li').attr('class').indexOf('active') != -1;
					if(active){
						if($(this).attr('class') != 'follow'){
							$(this).parent('li').removeClass('active');
							$(this).parent('li').removeClass('active-a');
						}
						$(this).parent('li').children('ul').slideUp('fast');
						$(this).parent('li').children('ul').children('li').removeClass('active');
						$(this).trigger('click', [false]);
					}
					else{
						if(($(this).attr('class')).indexOf("open")!=-1){
							if($('#layout-content').html().length > 0){
								$('#layout-content').fadeOut(250,function(){
									$('#layout-content').children('div').remove();
									$('#layout-content').show();
								});
							}
							$(this).parent('li').addClass('active');
							$(this).parent('li').siblings().removeClass('active').children('ul').slideUp('fast');
							$(this).parent('li').children('ul').children('li').children('a').removeClass("selectedColor").addClass('baseColor');
							$(this).parent('li').children('ul').slideDown('fast');
							$(this).removeClass("baseColor").addClass("selectedColor");
							$(this).parent('li').siblings('li').children('a').removeClass("selectedColor").addClass("baseColor");
						}
						else{
							if(!$(this).siblings('ul').is(':visible')){
								$('#text-panel.content-nav li').removeClass('active');
								$('#text-panel.content-nav li').children('a').removeClass("selectedColor");
								$('#text-panel.content-nav li').children('a').addClass("baseColor");
							}
							$(this).parent('li').siblings().removeClass('active-a')
							$(this).parent('li').siblings().children('ul').children('li').removeClass('active');
							$(this).removeClass("baseColor").addClass("selectedColor");
							$(this).parent('li').siblings('li').children('a').removeClass("selectedColor").addClass("baseColor");
							$(this).parent('li').addClass('active').siblings().removeClass('active').children('ul').slideUp('fast',function(){
								checkContentLinks();
								subMenuClickHandler($targetPath, $page);
							});
						}
					}
				}
				else{
					active = $(this).parent('li').attr('class').indexOf('active') != -1;
					if(!active){
						$(this).parent('li').addClass('active').siblings().removeClass('active').children('ul').slideUp('fast');
						var leng = $(this).parent('li').parent('ul').parent('li').children('a').length;
						if(leng != 0){
							if(($(this).parent('li').parent('ul').parent('li').children('a').attr('class')).indexOf("follow") == -1){
								$(this).parent('li').parent('ul').show();
								$(this).parent('li').parent('ul').parent('li').addClass('active');
							}
							else{
								$(this).parent('li').parent('ul').parent('li').addClass('active');
							}
						}
						if(($(this).attr('class')).indexOf("open")!=-1){
							if(!($('#layout-content:empty'))){
								$('#layout-content').fadeOut(250,function(){
									$('#layout-content').children('div').remove();
									$('#layout-content').show();
								});
							}
							$(this).parent('li').parent('ul').show();
						}
					}
					$(this).removeClass("baseColor").addClass("selectedColor");
					$(this).parent('li').siblings('li').children('a').removeClass("selectedColor").addClass("baseColor");
					$(this).parent('li').parent('ul').parent('li').siblings().children('ul').slideUp('fast');
					var leng = $(this).parent('li').parent('ul').parent('li').children('a').length;
					if(leng != 0){
						if($(this).parent('li').parent('ul').css('display') == "none"){
							$(this).parent('li').parent('ul').siblings('a').addClass("selectedColor");
						}
						if(($(this).parent('li').parent('ul').parent('li').children('a').attr('class')).indexOf("follow") == -1){
							$(this).parent('li').parent('ul').parent('li').removeClass('active').addClass('active-a'); 
							$(this).parent('li').parent('ul').parent('li').children('a').addClass('selectedColor');
						}
					}
					parentHref = $(this).parent('li').parent('ul').siblings('a').attr('href');
					subMenuClickHandler($targetPath, $page, parentHref);
				}
				return false;
			}
		});
		checkMainMenuLinks();
}
	
function subMenuClickHandler(path, pageNumber, parentPath) {
		if(!$('#sub-menu-wrapper').is(':visible')){
			$contentDelay = $submenuDelay + 500;
		}
		else{
			$contentDelay = 0;
		}
		var $request = null;
		if(pageNumber != ""){
			$request = {action:'get content', href: path, page:pageNumber, parentPath:parentPath, language:$language};
		}
		else{
			$request = {action:'get content', href: path, parentPath:parentPath, language:$language};
		}
		$techVisible = false;
		$currentRequest = $.post($url, $request ,function(data1) {
			$currentRequest = null;
			var scrollbarHeight = 350;
			var textWidth = "450px";
			var $newHtml = $(data1);
			var keepMedia = false;
			var currentImageSrc = $('#media-panel img').attr('src');
			var newImageSrc = $newHtml.filter('#media-content-wrapper').find('img').attr('src');
			if(currentImageSrc == newImageSrc){
				keepMedia = true;
			}
			var keepText = false;
			if(($('#text-panel').is(".content-nav"))&&($newHtml.find('#text-panel').hasClass("content-nav"))){
				keepText = true;
			}
			else{
				var oldPath = "";
				if($oldURL.indexOf('\/page-')!=-1)
				oldPath = $oldURL.substring(0,$oldURL.indexOf('\/page-'));
				else oldPath = $oldURL;
				var newPath = "";
				if($currentURL.indexOf('\/page-')!=-1)
				newPath = $currentURL.substring(0,$currentURL.indexOf('\/page-'));
				else newPath = $currentURL;
				if(oldPath == newPath){
					keepText = true;
				}
			}
			var textExists = false;
			if($('#text-panel').length > 0){
				textExists = true;
			}
			if(textExists==true){
				if(keepMedia == false){
					$('#media-panel').fadeOut(250);
				}
				$('#order-now-button').fadeOut(250);
				if(keepText == false){
					$('#nav-buttons').fadeOut(250);
					$('#order-now-button').fadeOut(250);
					$('#text-panel').delay(250).fadeOut(500,function(){
						if($('#text-content-wrapper').length <= 0){
							if(keepMedia == false){
								$('#layout-content').html($newHtml);
							}
							else{
								$('#layout-content').append($newHtml.filter('#text-content-wrapper'));
							}
						}
						else{
							if(keepMedia == false){
								$('#layout-content').html($newHtml);
							}
							else{
								$('#text-content-wrapper').html($newHtml.filter('#text-content-wrapper').html());
							}
						}
						checkContentLinks();
						$('.scrollable').filter(function(){
							var elementId = $(this).attr('id');
							var height = 0;
							$(this).evenIfHidden( function(element) {
								height = element.height();
							});
							if($(this).hasClass('project')){
								scrollbarHeight = 290;
								textWidth = '230px';
							}
							else{
								textWidth = '400px';
							}
							$(this).scrollbar({cible:'englobe_'+elementId,bt_id:'bt_gr_'+elementId,taille_manual:height,taille_englobe:scrollbarHeight});
							if($('#scrollbar_englobe_'+elementId).length > 0){
								$('#englobe_'+elementId).css({'width':textWidth});
								disableSelection($('#scrollbar_englobe_'+elementId));
							}
							else{
								if($(this).hasClass('project')){
									$(this).css({'left':'15px','position':'absolute'});
								}
								else{
									$(this).css({'left':'15px'});
								}
							}
						});
						$('#title-content-wrapper').delay($contentDelay).fadeIn(200);
						$('#title-panel').delay($contentDelay).fadeIn(300);
						$('.scrollable').delay($contentDelay).fadeIn(500);
						if(($('#media-panel').html())&&($('#media-panel').html().length > 0)){
							if(keepMedia == false){
								$('#media-content-wrapper').append("<img id='preloader' src='images/spinner.gif' style='display:none;'/>");
								$('#preloader').delay($contentDelay+250).fadeIn(500);
								var imgSrc = $('#media-panel img').attr('src');
								$('#media-panel img').attr('src',"");
								$('#media-panel img').attr('src',imgSrc);
							}
							$('#media-panel img').load(function(){
								$('#preloader').remove();
								$('#media-panel').delay($contentDelay+250).fadeIn(500);
							});
						}
						$('#nav-buttons').delay($contentDelay+250).fadeIn(500);
						$('#order-now-button').delay($contentDelay+250).fadeIn(500);
					});
				}
				else{
					if($('#media-panel').is(':visible')) {
						if(keepMedia == false){
							$('#media-panel').delay($contentDelay).fadeOut(250,function(){
								if($('#media-content-wrapper').length <= 0){
									$('#layout-content').append($newHtml.filter('#media-content-wrapper'));
									checkContentLinks();
								}
								else{
									$('#media-content-wrapper').html($newHtml.filter('#media-content-wrapper').html());
									$('#nav-buttons').html($newHtml.filter('#media-nav-wrapper').find('#nav-buttons').html());
									checkContentLinks();
								}
								if(($('#media-panel').html())&&($('#media-panel').html().length > 0)){
								$('#media-content-wrapper').append("<img id='preloader' src='images/spinner.gif' style='display:none;'/>");
								$('#preloader').delay($contentDelay+250).fadeIn(500);
								$('#media-panel img').load(function(){
									$('#preloader').remove();
									$('#media-panel').delay($contentDelay).fadeIn(500);
								});
								}
							});
						}
						else{
							checkContentLinks();
						}
					}
					else{
						if($('#media-content-wrapper').length <= 0){
							$('#layout-content').append($newHtml.filter('#media-content-wrapper'));
							checkContentLinks();
						}
						else{
							$('#media-content-wrapper').html($newHtml.filter('#media-content-wrapper').html());
							checkContentLinks();
						}
						if(($('#media-panel').html())&&($('#media-panel').html().length > 0)){
							$('#media-content-wrapper').append("<img id='preloader' src='images/spinner.gif' style='display:none;'/>");
							$('#preloader').delay($contentDelay+250).fadeIn(500);
							$('#media-panel img').load(function(){
								$('#preloader').remove();
								$('#media-panel').delay($contentDelay).fadeIn(500);
							});
						}
					}
				}
			}
			else{
				$('#layout-content').html($newHtml);
				checkContentLinks();
				$('.scrollable').filter(function(){
					var elementId = $(this).attr('id');
					var height = 0;
					$(this).evenIfHidden( function(element) {
						height = element.height();
					});
					if($(this).hasClass('project')){
						textWidth = '230px';
						scrollbarHeight = 290;
					}
					else{
						textWidth = '400px';
					}
					$(this).scrollbar({cible:'englobe_'+elementId,bt_id:'bt_gr_'+elementId,taille_manual:height,taille_englobe:scrollbarHeight});
					if($('#scrollbar_englobe_'+elementId).length > 0){
						$('#englobe_'+elementId).css({'width':textWidth});
						disableSelection($('#scrollbar_englobe_'+elementId));
					}
					else{
						if($(this).hasClass('project')){
							$(this).css({'left':'15px','position':'absolute'});
						}
						else{
							$(this).css({'left':'15px'});
						}
					}
				});
				$('#title-content-wrapper').delay($contentDelay).fadeIn(200);
				$('#title-panel').delay($contentDelay).fadeIn(300);	
				$('.scrollable').delay($contentDelay).fadeIn(500);
				if($('#media-panel').is(':visible')) {
					$('#media-panel').delay($contentDelay).fadeOut(250,function(){
						$('#media-panel').delay($contentDelay+250).fadeIn(500);
					});
				}
				else{
					if(($('#media-panel').html())&&($('#media-panel').html().length > 0)){
					$('#media-content-wrapper').append("<img id='preloader' src='images/spinner.gif' style='display:none;'/>");
					$('#preloader').delay($contentDelay+250).fadeIn(500);
					$('#media-panel img').load(function(){
						$('#preloader').remove();
						$('#media-panel').delay($contentDelay+250).fadeIn(500);
					});
					}
				}
				$('#nav-buttons').delay($contentDelay+250).fadeIn(500);
				$('#order-now-button').delay($contentDelay+250).fadeIn(500);
			}
			if($newHtml.filter('#order-now-button').length > 0){
				if($('#order-now-button').length <= 0){
					$('#layout-content').append($newHtml.filter('#order-now-button'));
					checkContentLinks();
				}
				else{
					$('#order-now-button').html($newHtml.filter('#order-now-button').html());
					checkContentLinks();
				}
				$('#order-now-button').delay($contentDelay+250).fadeIn(500);
			}
		});
	}
	function toggleTechDetails(){
		var slidingTop = parseInt($('#sliding_panel').css('top'), 10);
		if(slidingTop < 0){
			$techVisible = true;
		}
		if($techVisible === false){
			$techVisible = true;
			$('#sliding_panel').animate({
				top: '-=290px'
			}, 1000);
		}
		else{
			$techVisible = false;
			$('#sliding_panel').animate({
				top: '+=290px'
			}, 1000);
		}
	}
	function hideVideo(){
		if($('.video-js-box').length > 0){
			if(!$('#media-panel img').is(':visible')){
				$("#media-panel img").fadeIn(500);
               	$(".video-js-box").fadeOut(500);
			}
		}
	}
	function toggleVideo($id){
		if($('.video-js-box').length == 0){
			$currentRequest = $.post($url, {action:'get player', videoId: $id } ,function(data) {
				$currentRequest = null;
				$box = '<div class="video-js-box" style="max-width:410px; max-height:350px; overflow:hidden; position:absolute;top:0px;right:0px;display:none;">';
				$('#media-panel').append($box + data + '</div>');
				if($('#media-panel img').is(':visible')){
					$("#media-panel img").delay(100).fadeOut(400);
                	$(".video-js-box").delay(500).fadeIn(400);
				}
				else{
					$("#media-panel img").delay(500).fadeIn(400);
                	$(".video-js-box").delay(100).fadeOut(400);
				}
			});
		}
		else{
			if($('#media-panel img').is(':visible')){
				$("#media-panel img").delay(100).fadeOut(400);
               	$(".video-js-box").delay(500).fadeIn(400);
			}
			else{
				$("#media-panel img").delay(500).fadeIn(400);
               	$(".video-js-box").delay(100).fadeOut(400);
			}		
		}
	}
	
	function getImage($element, $id){
		if($('#media-panel').length <= 0){
			$('#media-content-wrapper').append("<div id='media-panel'>/<div>");
		};
		$('#item-list li').css('color','#787878');
		$element.css('color','#000000');
		$close = "<a id='x' href='#' onclick='hideMedia();return false;' style='position:relative;display:none;'><img src='images/x_button.png' /></a>";
			$currentMediaId = $id;
			$currentRequest = $.post($url, {action:'get image', mediaId: $id } ,function(data) {
				$currentRequest = null;
				if($('#media-panel').is(':visible')){
					$("#media-panel").fadeOut(400,function(){
						$('#media-panel').html("");
						$('#media-panel').append(data);
						$('#media-content-wrapper').append("<img id='preloader' src='images/spinner.gif' style='display:none;'/>");
						$('#preloader').fadeIn(500);
						var imgSrc = $('#media-panel img').attr('src');
						$('#media-panel img').attr('src',"");
						$('#media-panel img').attr('src',imgSrc);
						$('#media-panel img').load(function(){
							$('#media-panel').append($close);
							$('#media-panel').fadeIn(500);
							$('#x').delay(750).fadeIn(250,function(){$('#x').delay(500).fadeOut(250);});
							$('#media-panel').hover(function(){$('#x').show();}, function(){$('#x').hide();});
							$('#preloader').remove();
						});
					});
				}
				else{
					$('#media-panel').append(data);
					$('#media-content-wrapper').append("<img id='preloader' src='images/spinner.gif' style='display:none;'/>");
					$('#preloader').fadeIn(500);
					var imgSrc = $('#media-panel img').attr('src');
					$('#media-panel img').attr('src',"");
					$('#media-panel img').attr('src',imgSrc);
					$('#media-panel img').load(function(){
						$('#media-panel').append($close);
						$('#media-panel').fadeIn(500);
						$('#x').delay(750).fadeIn(250,function(){$('#x').delay(500).fadeOut(250);});
						$('#media-panel').hover(function(){$('#x').show();}, function(){$('#x').hide();})
						$('#preloader').remove();
					});
				}
			});
	}
	
	function hideMedia(){
		$("#media-panel").fadeOut(400, function(){
			$('#item-list li').css('color','#787878');
			$("#media-panel").html("");
		});
	}
	
	
	
var getContentLayout = function($param){
	var $layout = "";
	if($param==0){
		$layout =  "<div id='layout-menu'  style='position: absolute; left: -15px; top:0px; width: 160px; height: 350px; vertical-align: top'>";
		$layout += "</div>";
		$layout += "<div id='layout-content' style='position: absolute; left: 145px; top: 0px; width: 750px; min-height: 350px; vertical-align: top'>";
		$layout += "</div>";
	}
	else if($param==1){
		$layout = "<div id='layout-content' style='position: absolute; left: 0px; top: 0px; width: 900; min-height: 350px; vertical-align: top'>";
		$layout += "</div>";
	}
	return $layout;
}

var setMenuStyle = function(){
	$('.sub-nav').children('li').children('a').addClass('baseColor');
	$('.sub-nav').children('li').children('ul').children('li').children('a').addClass('siblingColor');
}

function checkMainMenuLinks(){
	if($pathArray.length > 0){
		$selectedRef = "#/" + $pathArray[0] + "/" + $pathArray[1];
		var selectedLink = $('a[href$="' + $selectedRef + '"]');
		selectedLink.parent('li').addClass('active');
		selectedLink.parent('li').siblings('li').removeClass('active');
		selectedLink.removeClass('baseColor').addClass('selectedColor');
		selectedLink.parent('li').siblings('li').children('a').removeClass('selectedColor').addClass('baseColor');
	}
}

function checkContentLinks(){
	var le = $pathArray.length;
	var ref = "#";
	var selectedLink;
	for(var a=0;a<le;a++){
		ref += "/" + $pathArray[a];
		selectedLink = $('.content-nav a[href$="' + ref + '"]');
		if(selectedLink.length > 0){
			selectedLink.parent('li').addClass('active');
			selectedLink.parent('li').siblings('li').removeClass('active');
			selectedLink.removeClass('baseColor').addClass('selectedColor');
			selectedLink.parent('li').siblings('li').children('a').removeClass('selectedColor').addClass('baseColor');
		}
	}
}

/* http://aleembawany.com  */
function disableSelection($element) { 
    $element.onselectstart = function() { return false; }; 
    $element.unselectable = "on"; 
    $element.css('user-select', 'none'); 
    $element.css('-o-user-select', 'none'); 
    $element.css('-moz-user-select', 'none'); 
    $element.css('-khtml-user-select', 'none'); 
    $element.css('-webkit-user-select', 'none'); 
}
