var $j = jQuery.noConflict();
var containerHeight;
var date = new Date();

$j(document).ready(function(){
    $j('.image-zoom').fancybox({
        autoScale : false,
        autoDimensions: false,
        width: 900,
        height: 596
    });
    
    $j('[rel="agb"]').click(function(){
       var uri = $j(this).attr('href');
       gotoUrl(uri);
       return false;
    });

    $j('#submit').click(function(){
        var f = $j(this).closest('form');
        var c = $j('#confirm');
        
        if(c.is(':checked')){
            f.submit();
        }
        else{
            $j.fancybox('Bitte best&auml;tigen Sie,<br />dass Sie die AGB\'s gelesen haben und akzeptieren.');
            return false;
        }
    });

    $j('#exit').click(function(){
        var f = $j('#send-booking');
        $j('#task').val('abort_booking');
        $j(this).closest('form').submit();
    });

    $j('#inline-calendar').datepicker({
        "dayNames":['Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Sonntag'],
        "dayNamesShort":['Mo','Di','Mi','Do','Fr','Sa','So'],
        "dayNamesMin":['Mo','Di','Mi','Do','Fr','Sa','So'],
        "monthNames":['Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember']
    });

    //Buchung
    $j('[rel="show-prizes"]').fancybox();
    $j('[rel="remove-person"]').click(function(){
        $j(this).closest('div.person').remove();
        return false;
    });

    $j('.selector').click(function(){
        var parent = $j(this).parents('div.td1:first').next();
        var height = parent.height();
        var h = $j(this).attr('rel');
        if(height == h){
            parent.animate({
                height: '19px'
            },500);
            $j(this).css('background-image','url(_dta/layout/selector.gif)');
        }
        else{
            parent.animate({
                height: h+'px'
            },500);
            $j(this).css('background-image','url(_dta/layout/close.gif)');
        }
        return false;
    });

    $j('[rel="load-data"]').live('click',function(){
        $j('#hidden').load($j(this).attr('href')+' #result',{'task':'login_form'},function(data){
            var data = $j('#hidden').html();
            $j('#hidden').html('')
            $j.fancybox(data);
        });
        return false;
    });

    containerHeight = $j('#customer-base').height();

    $j('.set-address').click(function(){
        setAddress($j(this));
        return false;
    });
                       
    $j('.select-members').change(function(){
       var uri = $j(this).closest('form').attr('action');
       //var uri = 'plugins/booking/ajax.php?_ts='+date.getDate()+date.getTime();
       $j('#customer-base').css('overflow','hidden');
       $j('#customer-base').animate({
          height: '25px',
          opacity: 0.6
       },1000,function(){
           $j('#member-data').load(uri+' #result',{
               'task': 'add_persons',
               'num' : $j('.select-members').val()
               },function(){
                   $j('#gcdata').fadeOut('slow');
                   var pos = $j('#customer-base').offset();
                   $j('html,body').animate({scrollTop: pos.top},'slow');
                   $j('.select-members').closest('div.item').fadeOut('slow',function(){
                       $j('#member-data').fadeIn();
                       $j('.set-address').click(function(){
                            setAddress($j(this));
                            return false;
                       });
                       $j('[rel="remove-person"]').click(function(){
                            $j(this).closest('div.person').fadeOut('slow',function(){
                                $j(this).closest('div.person').remove();
                            });
                            return false;
                        });
                   });
               });
           $j('#show-customer-data').fadeIn('slow');
       });
    });

    $j('#data-check').click(function(){
       var f = $j(this).closest('form');
       var uri = 'plugins/booking/check.php';
       var members = $j('input[name="p"]').length;
       
       var memberData = '';
       var idr = $j('#idr').val();
       var check = (idr == 1 ? 'id_required' : 'default');
       if(members > 0){
           for(var x=1;x<=members;x++){
                memberData += 'gender'+x+'='+escape($j('#gender'+x).val());
                memberData += '&birth'+x+'='+escape($j('#birth'+x).val());
                memberData += '&lastname'+x+'='+escape($j('#lastname'+x).val());
                memberData += '&firstname'+x+'='+escape($j('#firstname'+x).val());
                memberData += '&street'+x+'='+escape($j('#street'+x).val());
                memberData += '&zip'+x+'='+escape($j('#zip'+x).val());
                memberData += '&city'+x+'='+escape($j('#city'+x).val());
                memberData += '&shirt'+x+'='+escape($j('#shirt'+x).val());
           }
       }
       
       $j('#hidden').load(uri+' #result',
        {
            'switch':check,
            'data': f.serialize(),
            'members': memberData,
            'memberCount': members
        },function(data){
            if(data != 'OK'){
                $j.fancybox({
                    'content' : data,
                    'autoDimensions': false,
                    'width': 400
                });
            }
            else{
                f.submit();
            }
       });
       return false;
    });

    $j('#show-customer-data').click(function(){
       if(!$j(this).hasClass('arrow-white-up')){
           $j(this).addClass('arrow-white-up');
           $j('#customer-base').animate({
              height: containerHeight+'px',
              opacity: 1
           },1000,function(){
               $j('#show-customer-data').fadeIn();
           });
       }
       else{
           $j(this).removeClass('arrow-white-up');
           $j('#customer-base').animate({
              height: '25px',
              opacity: 0.6
           },1000);
       }
    });
   

    $j('.booking-button').click(function(){
        var v = $j(this).val();
        var parts = v.split('|');
        var f = $j(this).closest('form');
        if(checkBooking(parts[0]) == true){
            $j('#hotel').val(v);
            f.submit();
        }
        else{
            $j.fancybox({
                autoScale: false,
                autoDimensions: false,
                width: 400,
                height: 200,
                content: '<strong>Fehler:</strong><br />Sie haben entweder kein Reisedatum oder eine falsche Kombinaton\nvon Reisedatum und Preis gew&auml;hlt!<br /><br />Bitte korrigieren Sie Ihre Angabe.'
            });
        }
        return false;
    });


    var w = $j('.bookingContainer').width();
    var h = 0;
    var divs = $j('.bookingContainer').find('div.booking');
    $j.each(divs,function(){
       h = (h + $j(this).height());
    });
    if(w > 538){
        var pos = $j('#inline-calendar').offset();
        if(pos){
            var newT = (pos.top+h+30);
            $j('#inline-calendar').offset({
                'top': newT
            });
        }
    }

    $j('.journey-date').click(function(){
        var objs = $j.find('.journey-date');
        var obj = $j('input').index($j(this));
        $j.each(objs,function(){
            if($j('input').index($j(this)) != obj){
                $j(this).attr('checked',false);
            }
        });
    });

    $j('#sendabo').click(function(){
        var uri = 'add-ons/newsabo/ajax.php?__task=add_abo';
        var data = $j('#newsabo-form').serialize();
        
        $j.post(uri,data,function(response){
            $j.fancybox({
                'title': 'Newsletter abonnieren',
                'content': response
            });
        });
        return false;
    });

    $j('.abo-input').click(function(){
        $j(this).val('');
    });

    $j('.c0-arrow').click(function(){
        var parent = $j(this).parents('div.room-list:first');
        var height = parent.height();
        var h = $j(this).attr('rel');
        if(height == h){
            parent.animate({
                height: '21px'
            },500);
            $j(this).css('background-image','url(_dta/layout/selector.gif)');
        }
        else{
            parent.animate({
                height: h+'px'
            },500);
            $j(this).css('background-image','url(_dta/layout/close.gif)');
        }
        return false;
    });
    
    $j('.fancybox').fancybox({
    	titlePosition: 'outer',
        onComplete: function(itemArray){
        	if($j('.fancy-paginator').length < 1){
	            var div = $j('<div class="fancy-paginator" style="width:100%"/>');
	            var list = $j('<ul/>');
	            $j.each(itemArray,function(i){
	            	var link = $j('<li><a class="fancy-page" href="#">'+(i+1)+'&nbsp;</a></li>');
	            	$j(link).click(function(){
	            		$j.fancybox.pos(i);
	            		$j(this).toggleClass('active');
	            		return false;
	            	});
	            	$j(link).appendTo(list)
	            })
	            $j(list).appendTo(div)
	            $j(div).insertAfter('#fancybox-inner')
	            var h = ($j(div).height() + $j('#fancybox-inner').height()+70);
	        }
        }
    });

        $j('.fancy-thumb').hover(function(){
         	$j(this).stop(true,true).animate({
             	opacity: 1
         	});
        },
        	function(){
    		    $j(this).animate({
    		     	opacity: 0.7
    		 	});
        	}
        );

        $j('.fancy-zoom').click(function(){
        	$j('[rel="gallery"]:first').click();
        	return false;
    	});
});

function setAddress(o){
    var ref = o.attr('rel');
    var street = $j('#street').val();
    var zip = $j('#zip').val();
    var city = $j('#city').val();
    var phone = $j('#phone').val();

    $j('#street'+ref).val(street);
    $j('#zip'+ref).val(zip);
    $j('#city'+ref).val(city);
    $j('#phone'+ref).val(phone);
}

function checkBooking(idx){
    var dates = $j('.journey-date:checked');
    if(dates.length == 0){
        return false;
    }
    else{
        var parts = $j(dates[0]).val().split('|');
        if(parts[0] == idx){
            return true;
        }
        else{
            return false;
        }
    }
}

function loadData(){
    var f = $j('#cdata-form');
    var uri = f.attr('action');
    $j('#hidden').load(uri+' #result',{
            'task':'load_customer_data',
            'data': f.serialize()
        },function(response){
        var data = $j('#result').html();
        if(data != 'OK'){
            $j('#hidden').html('');
            $j.fancybox(data);
        }
        else{
            window.location.replace(uri);
        }
    });
}

function setBookingContainer(){
    var h = $j('#rightmenu').height();
    if(h >= 90){
        var m = (h-90)+30;
        $j('#frame1').css('margin-top',m+'px');
    }
}

