/*
#---------------------------------------------------------------------------
# Copyright   : rexx systems GmbH, 20097 Hamburg, Heidenkampsweg 101
#               Veränderung oder Nutzung der Scripte/Anwendung ist nur mit
#               schriftlicher Genehmigung der rexx systems GmbH gestattet.
#---------------------------------------------------------------------------
*/

/**
 * wegen Konflikten mit anderen js-libaries
 * @todo wo könnten diese Zeilen zu problemen führen?
 */
$ = jQuery.noConflict();
j$ = $;


shopBasicJs = (function() {
    return {

        /*
         * Intialisierung von Event-Handlern, etc.
         * wird am Ende dieser Datei per $(document).ready() aufgerufen
         */
        init: function() {

            /*
             * Rahmen um Boxen erstellen
             */
            shopBasicJs.addBox('box-content', 'box');

            /*
             * das selbe für jqmodal
             */
            shopBasicJs.addBox('jqmContent', 'jqm');

            $(document.forms["search"]).submit(this.search);

            $("#search_box, #suchbox")
                .autocomplete(
                    "../inc/functions/xml_http_requests.php",
                    {minChars:1,
                     cacheLength:0,
                     matchContains:1,
                     onItemSelect:
                     function (o) {
                         if (o.extra[1].length) {
                             document.location.href=o.extra[1];
                         }
                         else {
                             $("#search_box").val(o.query);
                             shopBasicJs.search();
                         }
                     },
                     formatItem:function (o) {return o[1];},
                     delay:200,
                     showResults:null,
                     extraParams: {f: "get_search_keywords", sid: mySession},
                     dataType:"JSON",
                     completePrefix: true});
            
		    // Warenkorb
		    var basketValue = $("#basket_count").html();
		    if(basketValue > 0){
		    	$("#greyBox").append('<div id="basket-info"><img src="images/info.png" alt="info"></div>');
		    	$("#basket-link").css({'color': '#0072FF'});
		    }

            /*
             * jqmWindow initialisieren
             * !! ACHTUNG: doppelte Verwendung von jQuery.jqDrag()
             *             führt zu dauerhafter Transparenz nach
             *             dem ersten Verschieben
             */
            $('.jqmWindow').jqm({overlay: 50}).jqDrag('.jqmDrag');

        },

        /*
         * Divs um den Boxcontainer erstellen
         */
        addBox: function(className, classPrefix) {

            $("."+className).wrap(
                '<div class="'+classPrefix+'"><div class="'+classPrefix+'-top-middle"><div class="'+classPrefix+'-middle-left">'
                + '<div class="'+classPrefix+'-middle-right"><div class="'+classPrefix+'-top-left">'
                + '<div class="'+classPrefix+'-top-right"><div class="'+classPrefix+'-bottom-middle">'
                + '<div class="'+classPrefix+'-bottom-left"><div class="'+classPrefix+'-bottom-right">'
                + '</div></div></div></div></div></div></div></div></div>'
            );
        },
        
        getLayerContent: function(kennung) {

	       $.ajax({
    	      type: 'GET',
    		  url: '../inc/functions/xml_http_requests.php',
    		  data: {
                 f : 'cust_get_layer_content',
                 p0: kennung,
                 sid: mySession
               },

               success: function(phpData) {

                shopBasicJs.showContentLayer(phpData);

//                  if($.browser.version < 7 && $.browser.msie){
//                     $('#formAnrede').hide();
//                     $('#formGebTag').hide();
//                     $('#formGebMonat').hide();
//                     $('#formGebJahr').hide();
//                     $('#cash_payment').hide();
//                     $('#cash_country').hide();
//                     $("#privacyLayer").show();
//                     $("#privacyLayerContent").html(phpData);
//
//                  } else {
//
//        	         $('#rexxJqmClose').show();
//
//                    j$('.jqmWindow').jqm({overlay: 0}).jqDrag('.jqmDrag').jqmShow();
//        	        j$('.jqmWindow').css('opacity', 1);
//
//    		         $('#rexxJqmClose').click( function (){ j$('.jqmWindow').jqmHide(); } );
//                     $('.jqmWindowContent').html(phpData);
//
//                  }

               }
    	   });

        },

        search: function () {
            var term = $("#search_box").val();
            shopBasicJs.searchFor(term);
        },

        searchFor: function (term) {
            var search = "/";
            search += "search.html";
            if (term.length)
                search += "?q="+encodeURIComponent(term);

            if (!document.cookie || !/sid=/.test(document.cookie)){
                search += (term.length ? "&" : "?") + "sid="+encodeURIComponent(mySession);
            }
            window.location.href= search;
            return false;
        },

        showContentLayer: function(content,title,closeCallback) {

            if(typeof closeCallback == 'undefined') {
                closeCallback = shopBasicJs.hideContentLayer;
            }

            if(typeof title != 'undefined' && title != null) {
                $('.jqmWindowHead').html(title).show();
            }

            $('#rexxJqmClose').show().click(closeCallback);
            $('.jqmWindowContent').html(content);

            $('.jqmWindow').css('opacity', 1).jqmShow();
            $('.jqmOverlay').css('opacity', 0.3).css('position', 'fixed').show();

            if($('.jqmWindowContent #contentLayer').outerWidth(true) > 0) {
                width = $('.jqmWindowContent #contentLayer').outerWidth(true);
                $('.jqmContent').width(width);
            } 
            if($('.jqmContent').width()>700) {
                $('.jqmContent').width(700);
                innerWhidth = $('.jqmContent').innerWidth();
                paddingRight = $('.jqmContent').css('padding-right').replace(/px$/, '');
                paddingLeft = $('.jqmContent').css('padding-left').replace(/px$/, '');
                $('.jqmWindowContent #contentLayer').width(innerWhidth - paddingLeft - paddingRight);
            }
        },

        hideContentLayer: function() {

            $('.jqmWindow').width('auto');
            $('.jqmContent').width('auto');

            $('.jqmWindowContent #contentLayer').width('auto');

            $('.jqmWindowHead').hide().html('');
            $('.jqmWindowContent').html('');

            $('.jqmOverlay').remove();
            $('.jqmWindow').jqmHide().hide();

        }
    };
})();

/*
 * Initialisierung, wenn Dokument geladen
 */
$(document).ready(function(){
    shopBasicJs.init();
    recommendPage.init();
});
