/*
Jquery functionality:

.noJavaScriptMessage : no javascript error message
.fadeOnMouseMove : hide text on window load and show on mousemove
.fadeIn : Fade In on page load
.fadeOut : Fade out on page load
.pulsate : make this pulsate on page load
.autoBlank : handle text inputs with class="autoBlank". hide default value on click, replace on empty field
.slideOnClick : hide, but show when .slideOnClickToggle is clicked.

*/


var blnVersionIE6 = (jQuery.browser.version == "6.0");
var delayTime = 1500;
var slidespeed = 250;

$(document).ready(function(){

	//hide javascript alert text
	$(".noJavaScriptMessage").hide();

	// hide slideOnClick element
	$(".slideOnClick").hide();
	// set cursor for slidOnClickToggle
	$(".slideOnClickToggle").css("cursor","pointer");

	//hide text on window load and show on mousemove
	//except for IE6 because of uglyness
	if (!blnVersionIE6) {

		// init on page load
		$(".fadeIn").fadeTo(0.1,0);
		$(".fadeOnMouseMove").fadeTo(0.1,0);
		$(".fadeOut").show();

		// do stuff comparing mouse coordinates because of a bug in IE7, which triggers mousemove on pageload
		var oldX = 0, oldY = 0;
        $(document).mousemove(function(e) {
	        if (oldX == 0) {
	           oldX = e.pageX;
	           oldY = e.pageY;
	        }
	        if (oldX != e.pageX || oldY != e.pageY) {
				//if there is a real mousemove, fadeIn everything with class "fadeOnMouseMove"
				$(".fadeOnMouseMove").fadeTo(delayTime,1);
	            return false;
	        }
        });
	}
});

// when page is fully loaded
$(window).load(function(){

	// fade in on pageload
	$(".fadeIn").fadeTo(delayTime,1);
	// fade out on pageload
	$(".fadeOut").fadeTo(delayTime,0);
	// pulsate on pageload
	$(".pulsate").effect("pulsate", { times:1 }, 400);

	/*
	 *Show .slideOnClick element when .SlideOnClickToggle is clicked. + hide on click
	 */
	$(".slideOnClickToggle").click(function(){
		$(".slideOnClick").slideUp(slidespeed); // hide all
		$(".slideOnClickToggle").removeClass("active"); //	remove "is_active" classes of all elements
		//if corresponding element was shown,
		if ($(this).next(".slideOnClick").hasClass("visible")){
			$(".slideOnClick").removeClass("visible"); //	remove "is_visible" classes of all elements
		} else {
			//if corresponding element was not shown:
			$(".slideOnClick").removeClass("visible"); //	remove "is_visible" classes of all elements

			$(this).next(".slideOnClick").slideDown(slidespeed); // show corresponding element
			$(this).next(".slideOnClick").addClass("visible"); // add "is_visible" class
			$(this).addClass("active"); // add "is_active" class
		}
	});

	/**
	 * handle input fields with class="autoBlank"
	 */
	$.newValues={};
	$.defaultValues={};
	// handle clicks on input.autoBlank, hide default value on click
	$(".autoBlank").focus(function(){
		var elementId = $(this).attr('id');
		var currentValue = $(this).val();
		// set defaultValue for further use
		if($.defaultValues[elementId]==undefined) {
			$.defaultValues[elementId]=currentValue;
		}
		// if currentValue matches defaultValue, empty field on click
		if(currentValue == $.defaultValues[elementId]){
			$(this).val("");
		}
	});
	// if focus out of searchfield, if new value is empty, place default value
	$(".autoBlank").blur(function(){
		var elementId = $(this).attr('id');
		currentValue = $(this).val();
		// reset defaultValue if currentValue is empty
		if (currentValue=='') {
			$(this).val($.defaultValues[elementId]);
		}
	});


});
