function randomString() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var string_length = 8;
    var randomstring = '';
    for (var i=0; i<string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars.substring(rnum,rnum+1);
    }
    return randomstring;
}

function updateGerichte(){
    if($('#best_gerichte')){
        $.post("index.php?eID=sk24_warenkorb&ck=" + randomString(), {
                    action: 'get_gerichte_bestellung'
            }, function(data){
                $('#best_gerichte').html(data);
            });
    }
}

function updateWk(){

  $.post("index.php?eID=sk24_warenkorb", {
		action: 'refresh_wk'
	}, function(data){

		if(strStartsWith(data, 'ERROR')){
			alert("Folgender Fehler ist aufgetreten: \n" + data);
		}else{
			$('#warenkorb').html(data);
		}

	});

}


$("div.scrollable").scrollable({keyboard: false,  size: 3});

function formatZahl(zahl, k, fix) {

    if(!k) k = 0;

    var neu = '';

 

	var dec_point = '.';

	var thousands_sep = ',';

 

    // Runden

    var f = Math.pow(10, k);

    zahl = '' + parseInt(zahl * f + (.5 * (zahl > 0 ? 1 : -1)) ) / f ;

 

    // Komma ermittlen

    var idx = zahl.indexOf('.');

 

    // fehlende Nullen einfügen

    if(fix)    {

         zahl += (idx == -1 ? '.' : '' )

         + f.toString().substring(1);

    }

	var sign = zahl < 0;

	if(sign) zahl = zahl.substring(1);

    idx = zahl.indexOf('.');

 

	// Nachkommastellen ermittlen

    if( idx == -1) idx = zahl.length;

    else neu = dec_point + zahl.substr(idx + 1, k);

 

 

    while(idx > 0)    {

        if(idx - 3 > 0)

        neu = thousands_sep + zahl.substring( idx - 3, idx) + neu;

        else

        neu = zahl.substring(0, idx) + neu;

        idx -= 3;

    }

    return (sign ? '-' : '') + neu;

}

function strStartsWith(str, prefix) {
    return str.indexOf(prefix) === 0;
}

function changeImg(bbid, bblid){
	//$("#detail_bgimg").attr("src", src);
	
	/*str1 =  "<div style=\"height: 306px; width: 462px; padding: 2px; padding-left: 1px;\">";
    str1 += " <a class=\"lightbox\" rel=\"lightbox\" href=\"" + realsrc +"\"><img style=\"margin-top: 7px; border:none;\" id=\"detail_bgimg\" src=\"" + src + "\" /></a>\n";;
	str1 += " <div style=\"text-align: left;\">" + desc + "</div>";
	str1 += "</div>";*/
	
	if(bbid && bblid && $("#div_bigp")){
	
		
	
		$.post("index.php?eID=sk24_detaildisplayer", {action: 'change_image', bid: bbid, blid: bblid}, function(data){
		
			$("#div_bigp").html(data);
			
			//alert(data);
			
			/*$('.lightbox').lightBox({
					//overlayBgColor: '#FFF',
					overlayOpacity: 0.6,
					imageLoading: 'fileadmin/templates/speisekarte24/inc/lightbox/images/lightbox-ico-loading.gif',imageBtnClose: 'fileadmin/templates/speisekarte24/inc/lightbox/images/lightbox-btn-close.gif ',
					imageBtnPrev: 'fileadmin/templates/speisekarte24/inc/lightbox/images/lightbox-btn-prev.gif ',
					imageBtnNext: 'fileadmin/templates/speisekarte24/inc/lightbox/images/lightbox-btn-next.gif',
					containerResizeSpeed: 350,
					txtImage: 'Bild',
					txtOf: 'von'
				   });*/
				   
			$(document).ready(function() {
				$(".lightbox").colorbox({
					current : 	"Bild {current} von {total}",
					opacity : 0.60
				});
			});	
		  
		});
		
	}
	
	//$.post("index.php?eID=sk24_detaildisplayer", { action: 'scale', img: src, maxh: maximumh, maxw: maximumw,  altText: aText, titleText: tText}, function(data){

	  // alert(data);   

    //});
}

function checkField(el, text, standardtext){
	if(el.value == standardtext){
		el.value = ""
	}else if(el.value == ""){
		el.value = standardtext
	}
		
}


$("#name, #ort, #lieferort, #gericht, #kategorie, #kueche, #umkreis").keyup(function(e) {
	if(e.keyCode == 13) {
		$("#erweitertesuche").submit();
	}
});


$("#uname1, #uident1").keyup(function(e) {
	if(e.keyCode == 13) {
		$("#lform").submit();
	}
});

function addToFavorites(btid, usid){
	
		
	$.post("index.php?eID=sk24_detaildisplayer", {action: 'add_favorite', bid: btid, uid: usid}, function(data){

	  alert("Das Restaurant wurde zu Deinen Favoriten hinzugefügt.");

    });
}


/*** WARENKORB ***/

function addGericht(ggid, ppk, ttid){
	$.post("index.php?eID=sk24_warenkorb", { 
			action: 'add_gericht', 
			gid: ggid, 
			pk: ppk,
                        tid: ttid
		}, function(data){

			if(strStartsWith(data, 'ERROR')){
				alert("Folgender Fehler ist aufgetreten: \n" + data);   
			}else{
				$('#warenkorb').html(data);
                                updateGerichte();
			}

		});
}

function delGericht(wwkGid){
	$.post("index.php?eID=sk24_warenkorb", { 
			action: 'del_gericht', 
			wkGid: wwkGid
		}, function(data){

			if(strStartsWith(data, 'ERROR')){
				alert("Folgender Fehler ist aufgetreten: \n" + data);   
			}else{
				$('#warenkorb').html(data);
                                updateGerichte();
			}

		});
}

function showExtras(){
	
	$('#ov_extrazutaten').toggle()
}

/*** WARENKORB ***/


  
  
//select all the a tag with name equal to modal  
function showZutaten(wkGid, bbid) {  
	//Get the A tag  
	// var id = $(this).attr('rel');  
	
	id = "#ov_extrazutaten";
  
	//Get the screen height and width  
	var maskHeight = $(document).height();  
	var maskWidth = $(window).width();  
  
	//Set height and width to mask to fill up the whole screen  
	$('#mask').css({'width':maskWidth,'height':maskHeight});  
 
	//transition effect       
	$('#mask').fadeIn(1000);      
	$('#mask').fadeTo("slow",0.8);    
  
	//Get the window height and width  
	var winH = $(window).height();  
	var winW = $(window).width();  
			
	//Set the popup window to center  
	$(id).css('top',  winH/2-$(id).height()/2);  
	$(id).css('left', (winW/2-$(id).width()/2));  
  
	//transition effect  
	$(id).fadeIn(2000);   
  
  
  	$.post("index.php?eID=sk24_warenkorb", { 
		action: 'get_extrazutaten', 
		bid: bbid
	}, function(data){

		if(strStartsWith(data, 'ERROR')){
			alert("Folgender Fehler ist aufgetreten: \n" + data);   
		}else{
			$(id).html(data);
		}

	});
}

$('.btnextrazutaten').colorbox();
$('.btnkommentar').colorbox();

  
//if close button is clicked  
$('.window .close').click(function (e) {  
	//Cancel the link behavior  
	e.preventDefault();  
	$('#mask, .window').hide();  
});       
  
//if mask is clicked  
function hideMask() {  
	$('#mask').hide();  
	$('#ov_extrazutaten').hide();  
}
 
function changeBg(id){
	$('.c' + id).css('background-color', '#ccd5e8');
}

function changeBgBack(id){
	$('.c' + id).css('background-color', '#FFF');
}

function addExtra(wwkgid, nname, ppreis){
       var newEl = '<div id="waitForExtra" style="filter: alpha(opacity=70); opacity: 0.7; display: none;position: absolute;">';
           newEl += '<img id="imgWfe" src="fileadmin/templates/speisekarte24/bilder/ajax-loader-bestellung.gif" style="position: absolute; display: block; width: 66px; height: 66px;" /></div>'


       $(document.body).append(newEl);
    
       var cboxWidth = $('#cboxWrapper').width();
       var cboxHeight = $('#cboxWrapper').height();
       
       var cboxPosition = $('#colorbox').position();
       
       $('#waitForExtra').width(cboxWidth); 
       $('#waitForExtra').height(cboxHeight); 
       
       $('#waitForExtra').css('left', parseInt(cboxPosition.left) + 'px');
       $('#waitForExtra').css('top', parseInt(cboxPosition.top) + 'px');
       
       $('#waitForExtra').css('background-color', '#FFF');
       $('#waitForExtra').css('z-index', '99999999'); 
       
       $('#waitForExtra').css('display', 'block');
       
       // Bild Positionieren:

       var imgLft = cboxWidth / 2 - 33;
       var imgTop = cboxHeight / 2 -33;

       $('#imgWfe').css('left', imgLft + 'px');
       $('#imgWfe').css('top', imgTop + 'px');
       
	$.post("index.php?eID=sk24_warenkorb", { 
		action: 'add_extrazutaten', 
		wkgid: wwkgid,
		name: nname, 
		preis: ppreis
	}, function(data){

		if(strStartsWith(data, 'ERROR')){
			alert("Folgender Fehler ist aufgetreten: \n" + data);   
		}else{
			$('#extrazutaten').html(data);
                        $.fn.colorbox.resize(); 
                        $('#waitForExtra').css('display', 'none');
               }

	});
	
}

function closeExtra(){

	$.post("index.php?eID=sk24_warenkorb", { 
		action: 'refresh_wk'
	}, function(data){

		if(strStartsWith(data, 'ERROR')){
			alert("Folgender Fehler ist aufgetreten: \n" + data);   
		}else{
			$('#warenkorb').html(data);
			updateGerichte();
                        $.colorbox.close();
		}

	});
	

	
}

function delExtraZutat(zzid, wwkgid){

	$.post("index.php?eID=sk24_warenkorb", { 
		action: 'del_extrazutaten',
		zid: zzid,
		wkgid: wwkgid
	}, function(data){

		if(strStartsWith(data, 'ERROR')){
			alert("Folgender Fehler ist aufgetreten: \n" + data);   
		}else{
			$('#warenkorb').html(data);
		}

	});
}

function delExtraZutatPopup(zzid, wwkgid){

	$.post("index.php?eID=sk24_warenkorb", { 
		action: 'del_extrazutaten_popup',
		zid: zzid,
		wkgid: wwkgid
	}, function(data){

		if(strStartsWith(data, 'ERROR')){
			alert("Folgender Fehler ist aufgetreten: \n" + data);   
		}else{
			$('#extrazutaten').html(data);
		}

	});
}

function checkBestellung(jobid){
    
    $.post("index.php?eID=sk24_detaildisplayer", { 
            'action': 'check_bestellung',
            'jobid': jobid
    }, function(data){

        var status = $(data).find("status").text();

        if(status == 'noemail'){
                // $('#bestellstatusmsg').html('Noch keine Email.');
        }else if (status == 'success') {
                $('#bestellstatusbild').attr('src', 'fileadmin/templates/speisekarte24/bilder/bestellvorgang-ok.png');
                $('#bestellstatusmsg').html('Bestellung erfolgreich abgeschickt!');
                
                clearInterval(bestellTmr);
        }else {
               $('#bestellstatusmsg').html('Fehler bei der Bestellung.');
               $('#bestellstatusbild').attr('src', 'fileadmin/templates/speisekarte24/bilder/bestellvorgang-fehler.png');
               clearInterval(bestellTmr);
        }

    });
    
    
}

function changeOrt(){
    var ort = $('#lieferort').val()
    $('#lort').html(ort);
    
    $.post("index.php?eID=sk24_warenkorb&ck=" + randomString(), {
            'action': 'get_lieferkosten',
            'ort': ort
    }, function(data){
        
        var lk = $(data).find("lieferkosten").text();
        var fb = $(data).find("freibetrag").text();
        var gp = $(data).find("gesamt").text();
        var da = $(data).find("darueber").text();
		var rb = $(data).find("rabatt").text();

        var hinweis = $(data).find("hinweis").text();
        var mb_benoetigt = $(data).find("mindestbestellwert_benoetigt").text();
        var bestellung_durchfuehren = $(data).find("bestellung").text();
		

        gp1 =  parseFloat(gp.replace(",", "."));
        fb1 =  parseFloat(fb.replace(",", "."));

        // alert(gp1 + " " + fb1);


        if(bestellung_durchfuehren != 1){
           $('#best_abschicken').hide();
	       $('#hinweis_mindestbestellwert').show();
	       $('#hinweis_mindestbestellwert_wert').text(fb);
           $('#lieferkostenhinweis').text(hinweis);
           updateWk();
           return false;
        }else{
            $('#best_abschicken').show();
            $('#hinweis_mindestbestellwert').hide();
        }

        $('#lieferkostenhinweis').text(hinweis);



        $('#lieferkostenSumme').text(lk + ' €');
        $('#gesamtPreis').text(gp + ' €');
		$('#rabattSumme').text(rb + ' €');
		checkSelbstabholer();
        updateWk();
    });

}

function checkSelbstabholer(){
	if($('#selbstabholer').is(':checked')){
		$('#lieferkostenUebersicht').hide();
		$('rabattZeile').show();
	}
}

function changeSelbstabholer(el){
 if($(el).is(':checked')){
	$('#lieferkostenUebersicht').hide();
	var lk = $('#lieferkostenSumme').text();
	$('#lieferkostenSumme').text(0 + ' €');
	$('#rabattZeile').show();
	$.post("index.php?eID=sk24_warenkorb&ck=" + randomString(), {
            'action': 'update_selbstabholer',
            'selbstabholer': 1} , 
			function(data){changeOrt()}
    );
 }else{
	$('#lieferkostenUebersicht').show();
	$('#rabattZeile').hide();
	$.post("index.php?eID=sk24_warenkorb&ck=" + randomString(), {
            'action': 'update_selbstabholer',
            'selbstabholer': 0} , 
			function(data){changeOrt()}
    );
	
	// alert($('#lieferort').val());
	
 }
	// updateWk();
}

// changeOrt();


function closeKommentar(){
        var kommentar = $('#kommentar').val();
        var wkgid = $('#wkgid').val();

	$.post("index.php?eID=sk24_warenkorb&ck=" + randomString(), {
		action: 'add_kommentar',
		"kommentar": kommentar,
                'wkgid' : wkgid
	}, function(data){

                $.colorbox.close();
                updateGerichte();
	});
}

$('.obeilagen, .btnbeilagen').colorbox({
    onClosed:   function(){ $.post("index.php?eID=sk24_warenkorb", {action: 'empty_beilagen'}); updateGerichte();}
   });


function addBeilage(beid, nr, gid, pk, tid){

    $.post("index.php?eID=sk24_warenkorb&ck=" + randomString(), {
		action: 'add_beilage',
		'beid': beid,
                'nr'  : nr,
                'gid' : gid,
                'pk'  : pk,
                'tid' : tid
	}, function(data){

                $('#beilagen').html(data);
                $('#gr_' + beid).toggle();
                $.fn.colorbox.resize();
	});

}

function removeBeilage(beid, nr){

    $.post("index.php?eID=sk24_warenkorb&ck=" + randomString(), {
		action: 'remove_beilage',
		'beid': beid,
                'nr'  : nr
	}, function(data){

                $('#beilagen').html(data);
                $('#gr_' + beid).toggle();
                $.fn.colorbox.resize();
	});

}

function beilagenWarenkorb(){

    if($('#beilagen').html()==''){
        alert("Bitte wählen Sie mindestens 1 Beilage aus.");
        return false;
    }

    $.post("index.php?eID=sk24_warenkorb", {
		action: 'beilage_in_warenkorb'
	}, function(data){
                $('#warenkorb').html(data);
                $.colorbox.close();
	});

}

function selectOrt(ort){

        $.post("index.php?eID=sk24_warenkorb", {
		action: 'set_lieferort',
                'lieferort': ort
	}, function(data){
				if($('#lieferort')){
					$('#lieferort').val(ort);
					changeOrt();
				}
				updateWk();
                $('#selectLieferort').dialog('destroy');
	});

}

function openBestellung(jobid){

    window.open ("index.php?eID=sk24_admin&action=show_bestellung&jobid=" + jobid, "mywindow");

}

function resetPreis(el, preis){

    $(el).text(preis);
    $(el).css('background', 'url(fileadmin/templates/speisekarte24/bilder/bg_preis_red.png)');

}

function bestellungLogin(alias){
    var user = $('#uname1').val();
    var pw = $('#uident1').val();

    $.post("index.php?eID=sk24_detaildisplayer", {
            'action' : 'login_user',
            'user'   : user,
            'pw'     : pw
    }, function(data){

            if(strStartsWith(data, 'ERROR')){
                    alert("Folgender Fehler ist aufgetreten: \n" + data);
            }else{
                   document.location.href="/sk24_update/restaurant/ansicht/" + alias + "/meine-bestellung";
            }

    });

}
