//test

(function ($) {
    $.floatbox = function (options) {
		//support for jquery 1.0 request by christoph@breidert.net
		var getWidth = function () {
			var version = parseInt($.prototype.jquery.match(/\d/gim)[1]);
			var width;
			if (version > 1) {
				width = $(window).width();
			} else {
				width = document.body.scrollWidth ? document.body.scrollWidth : document.documentElement.scrollWidth;
			}
			return width / 2;
		};
        var settings = $.extend({
            bg : "floatbox-background",
            box : "floatbox-box",
            content : "",
			//button: "<p><a role='button' href='javascript:void(0);' class='close-floatbox'>Close</a></p>",
			desc: "This is a popup box, press esc key to close.",
            fade : false,
			ajax: null,
            bgConfig : {
                position : ($.browser.msie) ? "absolute" : "fixed",
                zIndex: 20,
                width: "100%",
                height: "100%",
                top:  "0px",
                left: "0px",
                backgroundColor: "#000",
                opacity: "0.75",
                display: "none"
            },
            boxConfig : {
                position : ($.browser.msie) ? "absolute" : "fixed",
                zIndex: 21,
                width: getWidth() + "px",
                marginLeft: "-" + (getWidth() / 2) + "px",
                height: "auto",
                top: "30%",
                left: "50%",
                backgroundColor: "#fff",
                display: "none"
            }
        }, options);

        //inserts floatbox and sets its content
        var showBox = function () {
			var content = typeof settings.content === "string" ? settings.content : settings.content.clone();
            //inserts the background element in the document
            $("<div></div>")
                .bind("click", function () {
                    closeBox();
                })
                .attr("id", settings.bg)
                .css(settings.bgConfig)
                .width(($.browser.msie) ? document.body.clientWidth : "100%")
                .height(($.browser.msie) ? document.body.clientHeight : "100%")
                .appendTo("body");
            //inserts the floating box in the document
            $("<div></div>")
                .attr({id: settings.box, role: "alertdialog"}) 
                .html(content)
                .append(settings.button)
                .css(settings.boxConfig)
                .appendTo("body")
                .css("margin-top", "-" + $("#" + settings.box).height() / 2 + "px")
                .find(".close-floatbox").bind("click", function () {
                    closeBox();
                })
                .end();
            //checks if it needs to fade or not
            if (settings.fade) {
                $("#" + settings.bg)
                .fadeIn(200, function () {
                    $("div#" + settings.box).fadeIn(200);
                });
            } else {
                $("#" + settings.bg)
                .show()
                .parent().find("#" + settings.box).show();
            }
			//sets if ajax is needed(already detectets if it is POST or GET)
			if (settings.ajax) {
				$.ajax({
					type: settings.ajax.params === "" ? "GET" : "POST",
					url: settings.ajax.url,
					data: settings.ajax.params,
					
					beforeSend: function () {
						$("#" + settings.box).html(settings.ajax.before);
					},
					
					success: function (data) {
						$("#" + settings.box)
							.html(data)
							.append(settings.button)
							.find(".close-floatbox").bind("click", function () {
								closeBox()
							})
						.end();
						if (settings.ajax.finish) {
							settings.ajax.finish();
						}
					},
					contentType: "html"
				});
			}
        };
        //hides floatingbox and background
        var closeBox = function () {
            if (settings.fade) {
                $("#" + settings.box).fadeOut(200, function () {
                     $("#" + settings.bg).fadeOut(200, function () {
						$("#" + settings.box).remove();
						$("#" + settings.bg).remove();
                    });
                });
            } else {
				//for opera issues hide first and a timeout is needed to remove the elements
				$("#" + settings.box + ",#" + settings.bg).hide();
				setTimeout(function () {
					$("#" + settings.box).remove();
					$("#" + settings.bg).remove();
				}, 500);
            }
        };
        //inits the floatbox
        var init = function () {
            //shows box
            showBox();
			//adds cross browser event to esc key to hide floating box
            $(document).one("keypress", function (e) {
                var escKey = $.browser.mozilla ? 0 : 27;
                if (e.which === escKey) {
                    closeBox();
                }
            })
			.one("keydown", function (e) {
                var escKey = $.browser.mozilla ? 0 : 27;
                if (e.which === escKey) {
                    closeBox();
                }
            });
			//if msie6, adds event to browser scroll to keep floatbox ina fixed position and uses css hack for full background size
	        if ($.browser.msie) {
	            $("body, html").css({height: "100%", width: "100%"});
	            $(window).bind("scroll", function () {
	                $("#" + settings.box).css("top", document.documentElement.scrollTop +  ($(window).height() / 2) + "px");
	            });
	        }
        };
        //starts the plugin
        init();
    };
})(jQuery);

var quickSearchFocus = 0;
var quickSearchCatFocus = 0;
var quickSearchCatIsDown = 0;
$(document).ready(function() {
	$(".openInFrame").click(function(){
		//alert($(this).attr("detailURL"));						   	
		$('<a href="'+$(this).attr("detailURL")+'&inFrame=1&target=_parent">Image details</a>').fancybox({        
			'width'				: 925,
			'height'			: 750,
			'autoScale'     	: true,
			'transitionIn'		: 'none',
			'transitionOut'		: 'none',
			'type'				: 'iframe',
			'centerOnScroll'	: true
		}).click();
	});	
	
	$("#quicksearch_L_searchinput_advancedlinkLink").click(function(){
		$(this).removeAttr("href");
		$("#header_UI_G_advsearch_pageoverlay").fadeTo("100", 0.5).slideDown("fast", function(){
			$("#header_UI_G_advsearchSwitch").show();
		});
	});
	$("#hideadvanced").click(function(){
		$("#header_UI_G_advsearchSwitch").hide();
		$("#header_UI_G_advsearch_pageoverlay").hide();		
	});
	$("#hideadvancedbtn").click(function(){
		$("#header_UI_G_advsearchSwitch").hide();
		$("#header_UI_G_advsearch_pageoverlay").hide();		
	});
	
	$("#quicksearchMenu").hover(
		function(){quickSearchFocus = 1;},
		function(){quickSearchFocus = 0;}
	);
	$("#quicksearch_F_searchinputAll").focus(function(){
		quicksearchMenuSetInitvalues();
		$("#quicksearchMenu").fadeIn('slow');
	});
	$("#quicksearch_F_searchinputAll").blur(function(){
		if(quickSearchFocus==0){
			$("#quicksearchMenu").fadeOut('slow');
		}
	});
	$("#quicksearchMenu_advanced_L").click(function(){
		$("#header_UI_G_advsearch_pageoverlay").fadeTo("100", 0.5).slideDown("fast", function(){
			$("#header_UI_G_advsearchSwitch").show();
			$("#quicksearchMenu").fadeOut();
		});
	});
	
	$("#quickSearchCats_title").click(function(){
		if(quickSearchCatIsDown==0){
			$("#quickSearchCats_categories").slideDown();
			$("#quickSearchCats_title_arrow").addClass('reversed');
			quickSearchCatIsDown=1;
		}
		else{
			$("#quickSearchCats_categories").slideUp();
			$("#quickSearchCats_title_arrow").removeClass('reversed');
			quickSearchCatIsDown=0;
		}
	});	
	$("#quickSearchCats_title").hover(function(){
		$("#quickSearchCats").addClass("roundedShadowCats");
	}, function(){
		window.setTimeout('removeCatsShadows()', 200);
	});	
	
	$("#quickSearchCats_categories").hover(function(){quickSearchCatFocus=1}, function(){quickSearchCatFocus=0});
	$(".quickSearchCats_categories_G_item").hover(function(){quickSearchCatFocus=1}, function(){quickSearchCatFocus=0});
	$(".quickSearchCats_categories_item_image").hover(function(){quickSearchCatFocus=1}, function(){quickSearchCatFocus=0});
	$(".quickSearchCats_categories_item_name").hover(function(){quickSearchCatFocus=1}, function(){quickSearchCatFocus=0});
});

function removeCatsShadows(){
	//is called with a delay to allow the user to move its move from one div to the other without the class turning off and on the whole time. 
	if(quickSearchCatFocus==0 && quickSearchCatIsDown==0){
		$("#quickSearchCats").removeClass("roundedShadowCats");
	}
}

function afterSetSMSsearchCat(){
	$("#quickSearchCats_categories").slideUp('fast', function(){$("#quickSearchCats").removeClass("roundedShadowCats");$("#quickSearchCats_title_arrow").removeClass('reversed');});
	quickSearchCatIsDown=0;
	quickSearchCatFocus=0;
}
	
function loadaftersearch(){
	$(".newWindow").click(function(){
		//alert($(this).attr("detailURL"));						   	
		$('<a href="'+$(this).attr("detailURL")+'&inFrame=1&target=_parent">Image details</a>').fancybox({        
			'width'				: 925,
			'height'			: 800,
			'autoScale'     	: true,
			'transitionIn'		: 'none',
			'transitionOut'		: 'none',
			'type'				: 'iframe',
			'centerOnScroll'	: true
		}).click();
	});	
}

function openToNewWindow(theurl){//fancybox opener without jQuery's onready
	$('<a href="'+theurl+'&inFrame=1&target=_parent">Image details</a>').fancybox({        
		'width'				: 925,
		'height'			: 800,
		'autoScale'     	: true,
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'type'				: 'iframe',
		'centerOnScroll'	: true
	}).click();
}


