var timestamp;

jQuery.fn.outerHTML = function(s) {
    return (s) ? this.before(s).remove() : jQuery("<p>").append(this.eq(0).clone()).html();
}

jQuery.fn.fancyboxMan = function(mode, headline, subline, text, closebutton) {
	mode = (mode == undefined || mode == 'undefined' || mode == '') ? 'auto' : mode;
	jQuery.fancybox(
		"<div class=\""+mode+"-overlay\">"+
			"<h2 class=\"overlay\">"+headline+"</h2>"+
			"<div class=\"overlay-content\">"+
				((subline != "") ? "<h4>"+subline+"</h4>" : "")+
				"<p>"+text+"</p>"+
				((closebutton != "no") ? 
				"<div class=\"adwiso_button\">"+
					"<a href=\"#\" onclick=\"parent.jQuery.fancybox.close();return false;\"><span>Schliessen</span></a>"+
				"</div>" : "")+
			"</div>"+
		"</div>",
		{
			'padding' 						: 0,
			'margin' 							: 0,
			'transitionIn'				:	'fade',
			'transitionOut'				:	'fade',
			'speedIn'							:	600, 
			'speedOut'						:	200, 
			'opacity' 						: false,
			'overlayShow'					:	true,
			'overlayOpacity'			:	0.8,
			'overlayColor'				:	'#ffffff',
			'titleShow' 					: false,
			'showCloseButton' 		: false,
			'scrolling' 					: 'yes',
			'centerOnScroll' 			: true,
			'hideOnContentClick' 	: false,
			'autoDimensions': 		false
		}
	);
}

jQuery(document).ready(function () {
    if(jQuery.browser.msie && jQuery.browser.version < 8){
        jQuery('label.required').each(function(){
            jQuery(this).append('<span class="redstar"> * </span>');
        });
    }

    //Bestimmte Input-Felder beim Klick leeren und beim Verlassen evtl. wieder füllen
    jQuery('body').delegate('#search, #username_input, #password_input, .input-click, #topdeal-points-form input[name="points"]', 'click', function(e){
    		var val 	= jQuery(this).val();
    		var title = jQuery(this).attr('title');
    		if(val == title) {
        	jQuery(this).val('');
    		}
    })
    jQuery('body').delegate('#search, #username_input, #password_input, .input-click, #topdeal-points-form input[name="points"]', 'blur', function(e){
    		var val 	= jQuery(this).val();
    		var title = jQuery(this).attr('title');
    		if(val == '') {
        	jQuery(this).val(title);
    		}
    });

    jQuery('a[rel="_blank"]').each(function(){
        jQuery(this).attr('target', '_blank');
    });

    jQuery('a#menu-categories').click(function () {
        jQuery('div#menu-category-sub').slideToggle('medium');
        return false;
    });

    jQuery('div#short_explained').click(function () {
        var div = jQuery('div#short_explained_right');
        if(div.css('display') == 'none')
            div.show("medium");
        else
            div.hide("medium");
        return false;
    });

    //BEGINN: Overlays
    jQuery("div.adwiso_button a[rel], div.offer-actions a[rel], div.opinion a[rel], div.question-answer-box a[rel], p.confirmWiderruf a[rel], a.confirmWiderruf[rel]").overlay({
        mask: '#ffffff',
        top: 'center',
        fixed: 'false',
        api: true,
        onClose: function() {
        	if(promptIds instanceof Array && promptIds.length > 0) {
        		for(i=0; i<promptIds.length; i++) {
        			jQuery(promptIds[i]).validationEngine('hidePrompt'); 
        		}
        	}
        }
    });
    jQuery("a.external[rel]").overlay({
        mask: '#ffffff',
        top: 'center',
        fixed: 'false',
        onBeforeLoad: function() {
            var wrap = this.getOverlay().find('.ajax-content');
            wrap.load(this.getTrigger().attr('href'));
        }
    });

    //Startseite die Startphase einläuten...
    if(jQuery("#startPhaseOverlay").length > 0) {
			jQuery("a.startPhaseOverlay").fancybox({
				'padding' 						: 0,
				'margin' 							: 0,
				'autoDimensions' 			: false,
				'width' 							: 596,
				'height' 							: 493,
				'transitionIn'				:	'fade',
				'transitionOut'				:	'fade',
				'speedIn'							:	600, 
				'speedOut'						:	200, 
				'opacity' 						: false,
				'overlayShow'					:	true,
				'overlayOpacity'			:	0.8,
				'overlayColor'				:	'#ffffff',
				'titleShow' 					: false,
				'showCloseButton' 		: true,
				'scrolling' 					: 'no',
				'centerOnScroll' 			: true,
				'hideOnContentClick' 	: true,
		    'onStart' 						: function() {
		      var wrap = jQuery("#startPhaseOverlay").find('.ajax-content');
		    	wrap.load('/ajax/startphase');
		    }
			});
			jQuery("a.startPhaseOverlay").trigger('click');
    }
    //ENDE Startphase-Overlay
    
    //Points-Overlay...
    if(jQuery('#points-overlay').length > 0) {
			jQuery('a.pointsOverlay').fancybox({
				'padding' 						: 0,
				'margin' 							: 0,
				/*
				'autoDimensions' 			: false,
				'width' 							: 596,
				'height' 							: 493,
				*/
				'transitionIn'				:	'fade',
				'transitionOut'				:	'fade',
				'speedIn'							:	600, 
				'speedOut'						:	200, 
				'opacity' 						: false,
				'overlayShow'					:	true,
				'overlayOpacity'			:	0.8,
				'overlayColor'				:	'#ffffff',
				'titleShow' 					: false,
				'showCloseButton' 		: true,
				'scrolling' 					: 'no',
				'centerOnScroll' 			: true,
				'hideOnContentClick' 	: true,
		    'onStart' 						: function() {
		      var wrap = jQuery('#points-overlay').find('.ajax-content');
		    	wrap.load('/ajax/getpointsystem');
		    }
			});
    }
    jQuery('body').delegate('span.adwiso-points[rel]', 'click', function(e){
			jQuery('a.pointsOverlay').trigger('click');
    });
    //ENDE Points-Overlay

    jQuery("a.close").click(function(e) {
    });

		jQuery("a.group").fancybox({
			'padding' 				: 0,
			'margin' 					: 0,
			'transitionIn'		:	'fade',
			'transitionOut'		:	'fade',
			'speedIn'					:	600, 
			'speedOut'				:	200, 
			'opacity' 				: false,
			'overlayShow'			:	true,
			'overlayOpacity'	:	0.8,
			'overlayColor'		:	'#ffffff',
			'titleShow' 			: false,
			'showCloseButton' : true
		});
    //ENDE: Overlays

    jQuery('div.sub-menu span.head').click(function () {
        var ul = jQuery(this).parent('li').find('ul.sub');
        jQuery('ul.sub:visible').each(function(){
            jQuery(this).not(ul).slideUp();
        });
        ul.slideToggle();
    });
    
    // setup ul.tabs to work as tabs for each div directly under div.panes
    if(jQuery("ul.tabs").length > 0){
        jQuery("ul.tabs").tabs("div.panes > div");
    }
    
    if(jQuery("#main-community-box").length > 0){
        timestamp = new Date().getTime() / 1000;
        setTimeout('getLastActions(' + timestamp  + ');', 60000);
    }

    jQuery("a.violation[rel]").click(function () {
        var el		= jQuery(this);
        var type 	= el.attr('rel');
        var ids		= el.attr('id').split("_");
        if(type!=''){
        		var cf = confirm("Sind Sie sicher dass Sie einen Betrug melden wollen?");
        		if(cf == true) {
	            jQuery.ajax({
	                type: "post",
	                url: '/ajax/violation',
	                data: {
	                    type: type,
	                    id: ids[2]
	                },
	                success: function(data){
	                    el.html('Der Verstoß wurde gemeldet');
	                    el.removeAttr('rel');
	                }
	            });
        		}
        }
        return false;
    });

		//Bookmark adden oder entfernen
		jQuery('body').delegate('a.bookmarkOfferDelete, a.bookmarkOfferAdd', 'click', function(e){
				e.preventDefault();
				var link 			= jQuery(this);
				var linkClass = link.attr('class');
		    jQuery.ajax({
		        type: "post",
		        url: link.attr('href'),
		        success: function(html){
		        		//alert(html);
		            link.replaceWith(html);
		            if(linkClass=='bookmarkOfferDelete'){
		            		link.fancyboxMan('auto', 'Favoriten', '', 'Das Angebot wurde aus den Favoriten entfernt');
		            } else {
		            		link.fancyboxMan('auto', 'Favoriten', '', 'Das Angebot wurde Ihren Favoriten hinzugefügt');
		            }
		            //if(reload==true){
		            //    location.reload();
		            //}
		        }
		    });
        return false;
		});
		
		//Zahlungsbedingungen in verschiedenen Bereichen
    var payPal = 4;
    var kredit = 2;
	  jQuery('body').delegate('input.payment-options-checkbox', 'click', function(e){
			var val = jQuery(this).val();
			if(jQuery('.zahlungsmethoden-container').length > 0) {
				if(val == payPal || val == kredit) {
	        dataContainer = jQuery(this).parent().parent().next();
	        if(dataContainer.length > 0) {
		        if(jQuery(this).is(':checked') == true) {
		            dataContainer.show();
		        } else {
		            dataContainer.hide();
		        }
	        }
				}
			} else {
				if(jQuery('#data-container-' + val).length > 0){
		      if(jQuery(this).is(':checked') == true) {
		      	jQuery('#data-container-' + val).show();
		      } else {
		      	jQuery('#data-container-' + val).hide();
		      }
			  }
			}
	  });
});

/**
 * add product to cart
 */
function addItemToCart(pid, vid, aid){
    if(typeof(aid) == 'undefined'){
        aid = null;
    }
    jQuery.ajax({
        type: "post",
        url: "/warenkorb/ajaxadditem/pid/"+pid+"/vid/"+vid+"/aid/"+aid,
        /*
        data: {
            pid: pid,
            vid: vid,
            aid: aid
        },
        */
        success: function(msg){
            document.location.href='/warenkorb/inhalt/';
        }
    });
}

function favorits(id, remove){
    if(typeof(remove) == 'undefined'){
        remove = false;
    }
    
    jQuery.ajax({
        type: "post",
        url: "/ajax/managefavorits/uid/"+id+"/remove/"+remove,
        /*
        data: {
            uid: id,
            remove: remove
        },
        */
        success: function(html){
            jQuery('#favorit_' + id).html(html);
            if(remove==true){
                alert('Der Benutzer wurde aus den Favoriten entfernt');
            } else {
                alert('Der Benutzer wurde Ihren Favoriten hinzugefügt');
            }
            if(reload==true){
                location.reload();
            }
        }
    });
}


function getLastActions(timestamp){
    jQuery.ajax({
        type: "post",
        url: "/ajax/getlatestactions/",
        data: {
            timestamp: timestamp
        },
        success: function(html){
            jQuery("#main-community-box #lastactions-ajax").show();
            jQuery("#main-community-box #lastactions-ajax").prepend(html);
            jQuery("#main-community-box #lastactions-ajax div.community-actions:hidden").slideDown(1000);
            var cnt = jQuery("#main-community-box #lastactions-ajax div.community-actions").length;
            if(cnt >= 10){
                jQuery("#main-community-box div#default-actions").remove();
            }
            
            var index=1;
            jQuery.each(jQuery("#main-community-box #lastactions-ajax div.community-actions"), function() {
                if(index > 10) {
                    jQuery(this).remove();
                }
                index++;
            });

        }
    });
    newtimestamp = timestamp + 60;
    setTimeout('getLastActions(' + newtimestamp  + ');', 60000);
}

function addInputError(obj) {
    obj.addClass('error');
}

function removeInputError(obj) {
    obj.removeClass('error');
}

function autoCompleteCity(zip, city) {
    zipCode = zip.val();
    if(zipCode.length == 5) {
    		city.addClass('ac_loading');
		    jQuery.ajax({
		        type: "get",
		        dataType: "json",
		        url: "/ajax/ortbyplz/zip/"+zipCode,
		        success: function(transport){
                if(transport.title != '') {
                    city.val(transport.title);
                }
                city.removeClass('ac_loading');
		        }
		    });
    }
}

function markPayed(vid, order) {
	  jQuery.ajax({
	      type: "post",
	      url: "/ajax/markpayed/vender/"+vid+"/order/"+order,
	      success: function(data){
		        document.location.reload();
	      }
	  });
}

function markShipped(vid, order) {
	  jQuery.ajax({
	      type: "post",
	      url: "/ajax/markshipped/vender/"+vid+"/order/"+order,
	      success: function(data){
		        document.location.reload();
	      }
	  });
}

