﻿function showStatusOverlay() {
    var e=$(".overlay-status")
    var o = $("#overlay-item");
    var position = o.position();
    var t = position.top-e.offset().top
    e.css({ "top": t, "left": position.left,"height":o.height()+30,"width":o.width() +30})
        .show();

}
function hideStatusOverlay(){$(".overlay-status").hide()}

function overlayModuleTrips() {

    var overlayTrips = $("#overlay-item");
    var overlayContent = $("#overlay-content-trip");
    var overlay = $(".overlay");
    var overlayModuleTripsWidth = overlayTrips.width() + 30;
    var overlayTripsMargin = ($(window).width() - overlayModuleTripsWidth) / 2 + "px";


    function showOverlay(u, bFade) {
        if (bFade == undefined) { bFade = true }
        if (u != "") {
            overlayContent.empty().load(u, function() {
                overlayTrips.css({ "left": overlayTripsMargin });
               if (bFade){ overlayTrips.fadeIn(200);}else{overlayTrips.show()}
            });
        }
        if (bFade) { overlay.fadeIn(200); } else { overlay.show() }
        
        return false;
    }


    function hideOverlay() {
        $(".overlay-close,.overlay-close2").click()
        
    }
    
    $("#content .overlay-edit-trigger").click(function(event) {
        showOverlay($(this).attr("href"),true )
        return false;
    });

    this.showOverlay = showOverlay;
    this.hideOverlay = hideOverlay;

}
// overlay size
function setOverlayContentHeight() {
    var overlayHeight = $(window).height() - 225 + "px";
    
    $(".t-container").map(function() {
        if(!$(this).hasClass("SA")){
        $(this).css("height", overlayHeight)
        }
    })
}

function overlayModule() {

    var overlay = $(".overlay");
    var overlayTrips = $("#overlay-item");
    var overlayDetails = $("#overlay-details");
    var overlayContent = $("#overlay-content-trip");
    var overlayModuleWidth = overlayDetails.width() + 30;
    var overlayMargin = ($(window).width() - overlayModuleWidth) / 2 + "px";

    $("#content .overlay-trigger").click(function() {return false;});


    setOverlayContentHeight();

    // redo functions on window resize (so the bg still covers the screen & the overlay module is positioned correctly)
    $(window).resize(function() {
        var overlayDetails = $("#overlay-details");
        var overlayTrips = $("#overlay-item");
        var overlayModuleWidth = overlayDetails.width() + 30;
        var overlayMargin = ($(window).width() - overlayModuleWidth) / 2 + "px";
        var overlayModuleTripsWidth = overlayTrips.width() + 30;
        var overlayTripsMargin = ($(window).width() - overlayModuleTripsWidth) / 2 + "px";

        overlayDetails.css({ "left": overlayMargin });
        overlayTrips.css({ "left": overlayTripsMargin });
        setOverlayContentHeight();
    });


}



function overlayLoadClose() {
    $(".overlay-load,.overlay-load-det,.overlay-close,.overlay-close2").unbind('click');
    
    // force links to load in overlay module
    $(".overlay-load").click(function() {
        var getLink = $(this).attr("href");
        $(".overlay-content").load(getLink);
        return false;
    });

    // force prev/next links to load in overlay module
    $(".overlay-load-det").click(function() {
        var e = $("#resList").find(".browse-results-i[_p='" + $(this).attr('_p') + "']")
        if ($(e).length > 0) { loadHotelOver(e) }
        return false;
    });
        
    // close overlay module when the user clicks the "close" button or anywhere on the body...
    $(".overlay-close,.overlay-close2").click(function() {
        $("#overlay-item").unbind('keydown')
        $("body").unbind('keydown')
         $(window).unbind('resize.jcarousel') //cause an error otherwise
         $(".overlay").hide();
        $(".overlay-container").hide();
        return false;
    });
}

function dowm(){
    $(".waterm").focus(function() {$(this).filter(function() {return $(this).val() == "" || $(this).val() ==  $(this).attr("title")}).removeClass("watermarkOn").val("");});
    $(".waterm").blur(function() {$(this).filter(function() {return $(this).val() == ""}).addClass("watermarkOn").val($(this).attr("title"));});
	$(".waterm").blur();
}
$(document).ready(function() {
    overlayModuleTrips();
    overlayModule();
    overlayLoadClose();
	
	
		initgrid();
        $(".filter-options label").map(function() {
            $(this).attr("for",$(this).prev().attr("id"))
        })

		$("#txtFilterKW").keydown(function(event) {if (event.keyCode == '13') { $("#lnk-go").click(); return false }});
		$("#lnk-go").click(function() {
			dy_s=0;dy_e=0;
			ref_results();	
			return false;
		})

		$(".filter-options input").change(function() {
			dy_s=0;dy_e=0;
			_gaq.push(['_trackEvent', 'search', 'filter-options']);
			ref_results();	
		})
	
		
    dowm() ;
    $("#txtSearch").keydown(function(event) {if (event.keyCode == '13') { $(".srbtn a").click(); return false }});
    
	 $(".srbtn a").click(function() {     
	 	val=$("#txtSearch").val()
		if (val=="" || val ==$("#txtSearch").attr("title")){alert('Please enter a search term and click search')
		}else{window.location='/search/'+escape(val)}
		
        return false;
    });


});


	function initgrid(){

		init_griditem();
			
		$("#drpSort").change(function() {
			dy_s=0;dy_e=0;
			_gaq.push(['_trackEvent', 'search', 'sort']);
			ref_results();	
		})
		
		$(".grd-nav-pg").click(function() {		
			dy_s=$(this).attr("_s");dy_e=$(this).attr("_e");
			_gaq.push(['_trackEvent', 'search', 'page']);
			ref_results();
			return false
		})
		
		try{initgrid_l();}catch(e){}
	
	}		
		
		
	
function sfs(x){
	var n=""
   $("." + x + " input:checked").map(function() {n=n+ "|" + $(this).val()})
   if (n!=""){n=n+"|"}
	return n;
}
function ref_results(){
	
	$("#grd-panel").css({ opacity: 0.3 });
    $.post(        
    	"/finder2.php", 
    	{s: dy_s,e:dy_e,srt:$("#drpSort").val(), cat:sfs("filter-format"),scat:sfs("filter-genre"),grd:sfs("filter-grade"),prc:sfs("filter-price"),ftd:sfs("filter-special"),term:escape($("#txtFilterKW").val()),prim:dy_p,aid:dy_aid}, 
	    function(data){
			_gaq.push(['_trackPageview']);
		 	var obj = JSON.parse(data);
			intsf("filter-special",obj.features);
			intsf("filter-format",obj.formats);
			intsf("filter-genre",obj.genres);
			intsf("filter-grade",obj.grades);
			intsf("filter-price",obj.prices);						
			$('#grd-panel').html(obj.html);
			initgrid()
			$("#grd-panel").css({ opacity: null });
    	}, 
	    function(data){
			$("#grd-panel").css({ opacity: null });
    	}, 
	    "html"
    );
	

}


function intsf(f,a){
	var x=0;
	 $("." + f+ " input").map(function() {
	 	n=a[$(this).val()];
		$(this).next().next().html("(" +n+")")		
		if (n!="0" || $(this).attr("checked") ){x=x+1;$(this).parent().show();}
		else{$(this).parent().hide();}
	})
	if (x>0){$("." + f).show();$("." + f).prev().show()}
	else{$("." + f).hide();$("." + f).prev().hide()}
		
}

	function init_buy(){
	
		$(".add_btn2").click(function() {		
			_gaq.push(['_trackEvent', 'checkout', 'buy']);
			new overlayModuleTrips().hideOverlay();
			var url="/addtocart.php?cart=" + $(this).attr("_k")
		   new overlayModuleTrips().showOverlay(url,false)
			return false
		})
	}	
	
	function init_griditem(){
		init_buy();	
		$(".grd-list li,.feat-car li,.new-items li").click(function() {		
			var url=$(this).find(".grd-det").find(".prod-link a").attr('href')
			window.location=url;
		});
		
		$(".grd-list li .listen").click(function() {	
			_gaq.push(['_trackEvent', 'listen', $(this).attr('_p')]);	
			listenSong($(this).attr('_p'))
			return false
		});
		
				

		$(".quickInfo").click(function() {	
			
			new overlayModuleTrips().hideOverlay();
			var url=$(this).parents('.itm').find('.prod-link a').attr('href')+":Quick";
		   	_gaq.push(['_trackEvent', 'quickinfo', url]);	
			_gaq.push(['_trackPageview',url]);
		   new overlayModuleTrips().showOverlay(url,false)
			return false
		})	
				
			
	}
	

