// JScript File
var Main = function(){
    //private properties and methods
    var priv = {
	googleMapJsUrl : "http://maps.google.com/maps?file=api&amp;v=2&amp;key=[key]&sensor=true",
	msie6 : jQuery.browser.msie && parseInt(jQuery.browser.version) == 6 && !window["XMLHttpRequest"],
	isMapLoaded : false,
        fadeDuration : 500,
        menuItemGetDuration : 100,
        menuLength : 0,
        currentItem : 0,
        fadeInMenuItem : function(menuItem){
            priv.currentItem = priv.currentItem + 1;
            if(priv.currentItem <= priv.menuLength){
                jQuery($('ul#menu div').get(priv.currentItem-1)).css("visibility", "visible").hide().fadeIn(priv.menuItemGetDuration, priv.fadeInMenuItem);
            }
            if(priv.currentItem == priv.menuLength){
		    priv.showText();
                    $("li.menu_1").addClass("sel");
		    $("ul#menu").addClass('menu_sel');
            }
        },
	folderLength : 0,
	currentFolder : 0,
	loadImg : function(){
	    priv.currentFolder = priv.currentFolder + 1;
	    if(priv.currentFolder <= priv.folderLength){
		imgCnt = jQuery($('div#main_images div').get(priv.currentFolder-1)).find("img:first");
                imgCnt.load(function(){
			if(priv.currentFolder == 1){
				priv.loadFirstPage();
			}
			$(this).attr("status", "1");
			priv.loadImg();
		}).attr({src: imgCnt.attr("load")});
		if(jQuery($('div#main_images div').get(priv.currentFolder-1)).find("img[priority='1']").length > 0){
			jQuery($('div#main_images div').get(priv.currentFolder-1)).find("img[priority='1']").load(function(){
				$(this).attr("status", "1");
			}).attr({src: jQuery($('div#main_images div').get(priv.currentFolder-1)).find("img[priority='1']").attr("load")});
		}
            }
	},
	loadNextImg : function(folderName){
		if($("div#main_images #" + folderName+ " img[src='']").length > 0){
			imgMain = $("div#main_images #" + folderName+ " img[src='']").eq(0);
			imgMain.load(function(){
			}).attr({src: imgMain.attr("load"), status: "1"});
		}
	},
	loadFirstPage : function(){
                $.ajax({
                type: "GET",
                url: "home.aspx?date=" + new Date(),
                success: function(data){
                    content = data; 
                    $("div#loading").fadeOut(priv.fadeDuration, function(){
	                    $(".container").html(data);
			    mainImg = $("div#main_images #" + $("input#image_folder_name").val() + " img:first");
			    if($('input#pageType').val() == "1"){
				SlideShow.OnReady();
			    }else{
				if(mainImg.width() > 930){
					$('#pan').html("");
					$('#pan').crossSlide({
						speed: 45,
	 	 				fade: 1
					}, [
		  				{ src: mainImg.attr("load"), dir: 'left'  },
						{ src: mainImg.attr("load"), dir: 'right'  }
					]);
			    	}else{
					$("img#main_image").attr("src", mainImg.attr("load"));
				}
			    }
			    
	                    $('.container').hide().fadeIn(priv.fadeDuration, function(){
	                        $("div#logo").fadeIn(priv.fadeDuration, function(){
	                            $("ul#menu").fadeIn(priv.fadeDuration, function(){
	                                priv.menuLength = $("ul#menu div").size();
					priv.fadeInMenuItem();
	                            });
	                        });
	                    });
			    priv.loadNextImg($("input#image_folder_name").val());
	                });
                }
            });
            $("ul#menu li div").unbind("click").bind("click", Main.LoadPage);
	    $("ul#menu div.hoveritem").hover(
      		function () {
			if(!$(this).parent().parent().hasClass("sel")){
				$(this).addClass("hov");
			}
        		$(this).width($(this).width() + 2);
      		}, 
      		function () {
			$(this).removeClass("hov");
			$(this).width($(this).width() - 2);
      		}
    	    );
	    $("ul#menu li#last div").hover(
      		function () {
        		$(this).width($(this).width() + 1);
      		}, 
      		function () {
			$(this).width($(this).width() - 1);
      		}
    	    );
	    var script = document.createElement("script");
  	    script.type = "text/javascript";
     	    script.src = "http://maps.google.com/maps?file=api&v=2.x&key="+$("input#mapkey").val()+"&async=2&callback=Main.MapLoaded";
	    document.body.appendChild(script);
	},
	showText: function(){
		$(".text_container p:last").css('margin-bottom', '0px');
		$('.text_container').jScrollPane();
		$('.jScrollPaneContainer').hide();
		
		if(priv.msie6){
			$(".container .content .text span.header div img").attr("src", "images/overlay_transparent.gif");
			$('.text').css("visibility", "visible").hide().show();
			$('.jScrollPaneContainer').slideDown("slow");
			$('span.header').addClass("close");
			return;
			/*$('.text').css("visibility", "visible").hide().show(priv.fadeDuration, function(){
				setTimeout(function() { 
					$('.jScrollPaneContainer').slideDown("slow");
					$('span.header').addClass("close");
				}, 1000);
			});*/
	    	}
		$('.text').css("visibility", "visible").hide().fadeIn(priv.fadeDuration, function(){
			setTimeout(function() { 
				$('.jScrollPaneContainer').slideDown("slow");
				$('span.header').addClass("close");
			}, 1000);
		});
	},
	randomNumber: function(max){
		return Math.ceil(max * Math.random());
	}
    };
    
    //public methods
    return {
        /**
		 * initializes the page logic
		 * to be called on $(document).ready
		 */
        OnReady	: function(){
	    if(priv.msie6){
		$("div#logo img").attr("src", "images/overlay_transparent.gif");
	    }
	    priv.folderLength = $("div#main_images div").size();
	    priv.loadImg();
	},
	LoadPage	: function(e){
	    SlideShow.StopSlideShow();
	    if($(this).parent().attr("id") == "flags")
		return;
	    page = $(this).attr("load");
	    if($("input#current").val() == page)
		return;
	    $("input#current").val(page);
	    $(this).removeClass("hov");
	    $("ul#menu li").removeClass("sel");
	    $(this).parent().parent().addClass("sel");
	    content = "";
            $.ajax({
                type: "GET",
                url: page+"?date=" + new Date(),
                async : true,
                success: function(data){
		    // track the page to the google analytics
		    pageTracker._trackPageview(page);
                    content = data;
                    $(".content").fadeOut(priv.fadeDuration, function(e2){
	                    $(".container").html(content);
			    folderCnt = $("input").index($("#image_folder_name"));
			    if(folderCnt > 0){
			    	imgControl = ($("div#main_images #" + $("input#image_folder_name").val() + " img[src='']").length > 0);
			    	if(imgControl){
					mainImg = $("div#main_images #" + $("input#image_folder_name").val() + " img[status='1'][priority!='1']:last");
					priv.loadNextImg($("input#image_folder_name").val());
				}else{
					randNum = priv.randomNumber($("div#main_images #" + $("input#image_folder_name").val() + " img").length);
					mainImg = $("div#main_images #" + $("input#image_folder_name").val() + " img:eq("+(randNum-1)+")");
				}
			    	if($('input#pageType').val() == "1"){
					SlideShow.OnReady();
				}else{
					if(mainImg.width() > 930){
						$('#pan').html("");
						$('#pan').crossSlide({
							speed: 45,
	 	 					fade: 1
						}, [
		  					{ src: mainImg.attr("load"), dir: 'left'  },
							{ src: mainImg.attr("load"), dir: 'right'  }
						]);
				    	}else{
						$("img#main_image").attr("src", mainImg.attr("load"));
					}
				}
			    }
	                    $('.content').hide().fadeIn(priv.fadeDuration, function(){
	                        index = $("div").index($('.contact_form'));
	                        if(index < 0){
				                index = $("ul").index($('#mycarousel'));
				                if(index < 0){
						    index = $("div").index($('#plans'));
				                    if(index < 0){
			                            	priv.showText();
							index = $("div").index($('#google_map'));
							if(index > 0){
								Map.OnReady();
							}
		                            }else{
						Plan.OnReady();
		                            }
				                }else{
							Gallery.OnReady();
				                }
	                        }else{
				    	if(priv.msie6){
						alert('aaa')
						$('.contact_form, .text.Contact').css("visibility", "visible").show();
				    	}else{
						$('.contact_form, .text.Contact').css("visibility", "visible").hide().fadeIn(priv.fadeDuration);
					}
				    	Contact.OnReady();
	                        }
	                    });
	                });
                }
            });
	},
	ToggleText : function(){
		if ($("span.header").hasClass("open")){//$("div.jScrollPaneContainer").is(":hidden")) {
			$("div.text").animate({height:'+='+($(".jScrollPaneContainer").height()+14)+'px'}, 2000);
        		//$("div.jScrollPaneContainer").slideDown("slow");
			$("span.header").removeClass("open").addClass("close");
      		} else {
        		//$("div.jScrollPaneContainer").slideUp("slow");
			$("div.text").animate({height:'-='+($(".jScrollPaneContainer").height()+14)+'px'}, 2000);
			$("span.header").removeClass("close").addClass("open");
      		}
	},
	MapLoaded: function(){
		priv.isMapLoaded = true;
		window.onunload = GUnload;
	},
	IsMapLaoded: function(){
		return priv.isMapLoaded;
	}	
    };
}();

