$(document).ready(function() {
	display_message = true;
	display_loading_button = true;
	display_loading_check = true;
	display_customized_message = true;
	xtc_root = ''; //PFAD ZU XTCM-INSTALLATION
  



  $('body').mousemove(function(event) {
     $('.a2c_check').delay(2000).hide(200);
  });



	//CATCHING FORM BASED SUBMISSIONS
	//FORMULARBASIERTE AKTIONEN ABFANGEN
	$('form.add2cart_ajax_mod').submit( function(){
    
    this_form = $(this);

		if (display_loading_button){
		      this_form.find('.a2c_button').hide();
		      this_form.find('img.a2c_loading').show();


		}
     

		if (display_loading_check){
		      
          loading_check_container = this_form.find('.a2c_check_container');
		      loading_check_container.find('.a2c_loading_check').show();
		      
		      
    

		} 
		
    or_tar = this_form.attr('action');
    temp1 = or_tar.split('?');
    add_q = temp1[1]; 
		var t = xtc_root+'a2c_ajax_helper.php?action=add_product&redirect=no&'+add_q;
		var da = this_form.serialize();
		var return_data;
		
		
		$('#hidden_buffer').load(t+'&'+da, function(data){
        
        return_data = data;
		    t = data.split('!!!---!!!');
		    return_data = t[0];
		    data = t[1];
		    
        a = data.split('<a2c>');
		    b = a[1];
		    c = b.split('</a2c>');
		    d = c[0];
		    $('#a2c_cart').html(d);  
		    if (display_loading_button){
    	 	   this_form.find('.a2c_button').show();
    		   this_form.find('img.a2c_loading').hide();
    		}
    
    		if (display_loading_check){
    		      this_form.find('.a2c_loading_check').hide();
    		      this_form.find('.a2c_check').show();
        }
    
    
    		a2c_a($('.a2c_button'), return_data);


		    a2c_a($('a.add2cart_ajax_mod_a'), return_data);
    
    
    });
  
		
		return false;
	}); 
  
	//CATCHING LINK BASED SUBMISSIONS
	//LINKBASIERTE AKTIONEN ABFANGEN
	$('a.add2cart_ajax_mod_a').live("click", function () {     
		this_link = $(this);
    var pid = $(this).attr('a2c_pid');
	  if (display_loading_button){
		  this_link.find("img").hide();
      this_link.find("img.a2c_loading").show();
    }

    if (display_loading_check){
		      this_link.parent().find('.a2c_loading_check').show();
		}
    
    $('#hidden_buffer').load(xtc_root+'a2c_ajax_helper.php?action=buy_now&redirect=no&BUYproducts_id='+pid, function(data){
        return_data = data;
		    t = data.split('!!!---!!!');
		    return_data = t[0];
		    data = t[1];
        a = data.split('<a2c>');
		    b = a[1];
		    c = b.split('</a2c>');
		    d = c[0];
		    $('#a2c_cart').html(d);  
		    
		    if (display_loading_button){
    			  this_link.find("img").show();
            this_link.find("img.a2c_loading").hide();
    		}

    		if (display_loading_check){
    		      this_link.parent().find('.a2c_loading_check').hide();
    		      this_link.parent().find('.a2c_check').show();
    		}


		    a2c_a($('a.add2cart_ajax_mod_a'), return_data);
    
    
    });
	 
		
		return false;
	});
});
//FUNCTION TRIGGERED AT SUBMISSION  (FADING BACKGROUND)
//FUNKTION, DIE NACH AKTION AUFGERUFEN WIRD (FADING BACKGROUND EFFECT)
function a2c_a(element, data){
	var hc = '#ffaaaa'; //SETTING THE HIGHLIGHT COLOR
	var o = $('.a2c_highlight').css("background-color");
	//$('.a2c_highlight').css("background-color", hc);
	//$('.a2c_highlight').animate({ backgroundColor: o}, 'slow');
	if (display_message){
		$('.a2c_overlay').show();
	  if (display_customized_message){
		  $('.a2c_overlay').html(data);
	    
	  }
	  $('.a2c_overlay').show();
	  $('.a2c_success_message').show();
	}
}




/*
 * jQuery Color Animations
 * Copyright 2007 John Resig
 * Released under the MIT and GPL licenses.
 */

(function(jQuery){
	// We override the animation for all of these color styles
	jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){
	  jQuery.fx.step[attr] = function(fx){
		  if ( fx.state == 0 ) {
	  	  fx.start = getColor( fx.elem, attr );
	      fx.end = getRGB( fx.end );
	    }
	    fx.elem.style[attr] = "rgb(" + [
		    Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0),
	      Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0),
	      Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0)
	    ].join(",") + ")";
	  }
	});

	// Color Conversion functions from highlightFade
	// By Blair Mitchelmore
	// http://jquery.offput.ca/highlightFade/

	// Parse strings looking for color tuples [255,255,255]
	function getRGB(color) {
		var result;
	  // Check if we're already dealing with an array of colors
		if ( color && color.constructor == Array && color.length == 3 )
	  	return color;
	 	// Look for rgb(num,num,num)
	  if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
	  	return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])];
	  // Look for rgb(num%,num%,num%)
	  if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
		  return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];
	  // Look for #a0b1c2
	  if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
		  return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];
	  // Look for #fff
	  if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
		  return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];
	  // Otherwise, we're most likely dealing with a named color
	  return colors[jQuery.trim(color).toLowerCase()];
	}

  function getColor(elem, attr) {
		var color;
	  do {
		  color = jQuery.curCSS(elem, attr);
	   	// Keep going until we find an element that has color, or we hit the body
	    if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") )
	    	break;
	    attr = "backgroundColor";
    } while ( elem = elem.parentNode );
    return getRGB(color);
	};
})(jQuery);
