CRS = {};

/* Firmenfeld ein/ausblenden */
CRS.toggleCompanyInputField = function (status, selection) {
	if (status == true) {
		$('#row_'+selection+'_company').fadeIn();
	} else {
		$('#row_'+selection+'_company').fadeOut();
	}
}

CRS.clearText = function(field)
{
    if (field.defaultValue == field.value) field.value = '';
    else if (field.value == '') field.value = field.defaultValue;
}

/**
 * Classs for toggle-list
 *
 * @param    {String}       listId - id-name from the ul-tag
 * @returns  {Object}       the API with public members
 */
CRS.ToggleList = function(listId)
{
    var _root = "";
    var _speed = "slow"
    var _unique = false;


    // --------------------- private-area [methods] ------------------------- //


    /**
     * Constructor - hides all toggle-list-elements
     *
     * @param    {String}         listId - listId - id-name from the ul-tag
     */
    function __construct(listId)
    {
        if (!listId) {throw "Constructor-parameter must be a string";}

        _root = listId;
        $(_root + " a.jsToggle").removeClass("jsActive");
        $(_root + " .jsToggle:not(a.jsToggle)").hide(0);
        _open();
    }

    /**
     * Opens all toggle-elements witch has the class name "jsOpen"
     *
     * @returns  {void}
     */
    function _open()
    {
        var index = 0;
        $(_root + " a.jsToggle").each(function(){
            if ($(this).hasClass("jsOpen"))
            {
                $(this).addClass("jsActive");
                $(_root + " .jsToggle:not(a.jsToggle):eq("+index+")").show(0);
            }
            index++;
        });
    }


    /**
     * Close all list-points
     *
     * @returns  {void}
     */
    function _closeAll(currentIndex)
    {
        var index = 0;
        
        $(_root + " a.jsToggle").each(function() {
            if (index != currentIndex)
            {
                $(this).removeClass("jsActive");
                $(_root + " .jsToggle:not(a.jsToggle):eq("+index+")").hide(_speed);
            }
            else
            {
                $(this).toggleClass("jsActive");
                $(_root + " .jsToggle:not(a.jsToggle):eq("+index+")").toggle(_speed);
            }
            index++;
        });
    }


    /**
     * Opens toggle-list-elements by number
     *
     * @param    {Array}         listArray - numbers of the toggle-list-elements, witch sould be open
     * @returns  {void}
     */
    function _toggle(listArray)
    {
        for (var i=0; i<listArray.length; i++)
        {
            $(_root + " a.jsToggle:eq(" + (listArray[i]-1) + ")").toggleClass("jsActive");
            $(_root + " .jsToggle:not(a.jsToggle):eq(" + (listArray[i]-1) + ")").toggle(_speed);
        }
    }

    
    __construct(listId);

    // --------------------- public-area [API] ------------------------------ //
    return {


        /**
         * Opens a toggle-list-element
         *
         * @param    {HTMLObject|Array}         handlerObject - HTMLObjet from the event-handler object (this)
         *                                      or Array with numbers (indexes)
         * @returns  {void}
         */
        toggle: function(handlerObject)
        {
			// toggle multiple lists
            if (handlerObject.constructor == Array) {
                _toggle(handlerObject);
                return;
            }

            var index = $(_root + " a.jsToggle").index($(handlerObject));
            if (_unique)
            {
                _closeAll(index);
            }
            else
            {
                $(_root + " .jsToggle:not(a.jsToggle):eq("+index+")").toggle(_speed);
                $(_root + " a.jsToggle:eq(" + index + ")").toggleClass("jsActive");
            }
            
            return false;
        },


        /**
         * Speed for the toggle-animation
         *
         * @param    {Mixed}         speed - based on jQuery-speed-handling
         * @returns  {void}
         */
        setSpeed: function(speed)
        {
            _speed = speed;
        },


        /**
         * If "_unique" ist "true", all other list-points will closed, when one is open
         *
         * @param    {Boolean}         value - true or false
         * @returns  {void}
         */
        setUnique: function(value)
        {
            if (value.constructor != Boolean) {throw "parameter from setUnique must from typof boolean";}
            _unique = value;
        }
    }
}


CRS.activate_button = function (handleObject, buttonObject) {
	var button = "#"+buttonObject;
	if ( $(handleObject).attr('checked')){
		$(button).removeClass('disabled');
		$(button).attr ('disabled', false);
	} else {
		$(button).addClass('disabled');
		$(button).attr ('disabled', true);
	}
}

// Countdown für Weiterleitung
sek = 8;
CRS.countdown = function(){
	sek--;
	document.getElementById('counter').innerHTML = sek;
	if(sek > 0)setTimeout('countdown()', 1000);
	else location.href='index.php';
}


// Prüfen, ob Feld nur Zahlen enthält
CRS.numbersonly = function (myfield, e, dec) {
	var key;
	var keychar;
	
	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
	return true;
	keychar = String.fromCharCode(key);
	
	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
	return true;
	
	// numbers
	else if ((("0123456789/-").indexOf(keychar) > -1))
	return true;
	
	// decimal point jump
	else if (dec && (keychar == ".")) {
		myfield.form.elements[dec].focus();
	return false;
	} else
	return false;
}

// Layer ein- und ausblenden
CRS.fsLayer = function (objectLayer, inOut) {
	var objectLayer = "#"+objectLayer;
	if (inOut == true)
	{
		$("#layer").css({'opacity':'0'});
		$("#layer").css({'display':'block'});
		$("#layer").animate({
			opacity: 0.85,
  			}, 500, function() {
			$(objectLayer).css({'z-index':'1001'});
			$(objectLayer).fadeIn();
		});
	} else
	{
		$(objectLayer).fadeOut(function() {
			$("#layer").animate({
				opacity: 0,
				}, 500, function() {
				$("#layer").css({'display':'none'});
			});
		});
	}	
}

CRS.toggleBox = function (toggleBox, bool) 
{
	var toggleBox = "#"+toggleBox;

	if (bool == true)	{
		$(toggleBox).fadeIn();
				
	} else 
	{
		$(toggleBox).fadeOut();
	}
}

CRS.showGutscheinBox = function (toggleBox, bool) 
{
	var toggleBox = "#"+toggleBox;

	if (bool == true) {
		$(toggleBox).fadeIn();
		/*$(toggleBox).animate({
			left: -386,
			width: 420,
		  }, 1000 );*/
	} else 
	{
		$(toggleBox).fadeOut();
		/*$(toggleBox).animate({
			left: 0,
			width: 0,
		  }, 1000 );*/
	}
}

CRS.showGallery = function (id)
{
	var toggleBox = "#gallery_"+id;
	//alert (toggleBox);
	for (var i=0; i < 30; i++)
	{
		//alert (i);
		$('#gallery_' + i).hide(); 
	}
	$(toggleBox).show();
	$(toggleBox).addClass('galActive');
}

$(document).ready(function() { 
    // Gutschein
	$("#ec_nav_item_9").mouseover(function() {
		var p = $("#ec_nav_item_9");
		var position = p.position();
		var yPos = position.top;
		var xPos = position.left;
		$("#gutschein").css('top',yPos);
		$("#gutschein").css('left',xPos-412);
		if($("#gutschein").hasClass('boxVisible') == false)
		{
			$("#gutschein").fadeIn();
			$("#gutschein").addClass('boxVisible');
		}

	  });
	  
	$("#gutschein").mouseout(function() {
		$("#gutschein").fadeOut();
		$("#gutschein").removeClass('boxVisible');
	});
	$("#ec_nav_item_8").mouseover(function() {
		$("#gutschein").fadeOut();
		$("#gutschein").removeClass('boxVisible');
	});
	
	$("#ec_nav_item_10").mouseover(function() {
		$("#gutschein").fadeOut();
		$("#gutschein").removeClass('boxVisible');
	});
 }); 
 
function checkSendParameter (checkbox) 
{
	if(document.order_form.widerrufsbelehrung.checked==true && document.order_form.agb.checked==true)
	{
		alert ("Ich die AGB und Widerrufsbelehrung gelesen.");
		// var agb = true;
		document.order_form.senden.disabled = false;
	}
	else if(document.order_form.agb.checked==true)
	{
		alert ("Ich die AGB gelesen.");	
		// var agb = false;
		document.order_form.senden.disabled = true;
	}
	else if(document.order_form.widerrufsbelehrung.checked==true)
	{
		alert ("Ich die Widerrufsbelehrung gelesen.");	
		// var agb = false;
		document.order_form.senden.disabled = true;
	}
	else if(document.order_form.widerrufsbelehrung.checked==false)
	{
		alert ("Sind Sie sicher?");	
		// var agb = false;
		document.order_form.senden.disabled = true;
	}
	else if(document.order_form.agb.checked==false)
	{
		alert ("Sind Sie sicher?");	
		// var agb = false;
		document.order_form.senden.disabled = true;
	}
}

// Layer ein- und ausblenden
CRS.fsLayer = function (objectLayer, inOut, secondLayer) {
	var objectLayer = "#"+objectLayer;
	if (inOut == true)
	{
		$("#layer").css({'opacity':'0'});
		$("#layer").css({'display':'block'});
		$("#layer").animate({
			opacity: 1,
  			}, 500, function() {
			$(objectLayer).css({'z-index':'1001'});
			$(objectLayer).fadeIn();
			$(".jScrollPaneContainer").fadeIn();
		});
	} else
	{
		$(objectLayer).fadeOut(function() {
			if (secondLayer == true)
			{

			} else 
			{
				$("#layer").animate({
					opacity: 0,
					}, 500, function() {
					$("#layer").css({'display':'none'});
				});
			}
		});
	}	
}
