/***********************************/
/* Klassen Funktionen */   
/***********************************/

$(function(){

	$("#flowerfinderButton").bind("click", function(event){
		handleFilter('show');
		return false;
	});

	$("#giftfinderButton").bind("click", function(event){
		handleFinder('show');
		return false;
	});
	
	$("#suchebutton").bind("click", function(event){
		$('#searchform').submit();
		return false;
	});
	
	$("#searchtext").bind("click", function(event){

		if($(this).val() == 'Suche'){
			$('#searchtext').val('');
		}

		return false;
	});
	
	
	$("#searchtext").bind("blur", function(event){

		if($(this).val() == ''){
			$('#searchtext').val('Suche');
		}

		return false;
	});
			

});


/***********************************/
/* Statische Navi */
/***********************************/

(function($){
 	$.fn.extend({ 

 		AccountActions: function(options) {
			
			$('#adresschangebutton').bind('click', saveData);
			$('#userform').bind('submit', saveData);
    
    		function saveData(event){
				xajax.call('payment_register', {
					parameters:[xajax.getFormValues('userform'), 0, 1]
				});
				return false;
		    }
		    
    	}
	});
})(jQuery);


/***********************************/
/* Login */
/***********************************/

(function($){
 	$.fn.extend({ 

 		LoginActions: function(options) {
			
			$('#lost_pw').bind('click', handleLostPW);
			$('#orderlostPWsubmit').bind('click', sendLostPW);
			$('#orderloginsubmit').bind('click', orderlogin);
			$('#orderloginform').bind('submit', orderlogin);
			$('#registersubmit').bind('click', register);
			$('#registerform').bind('submit', register);
			
			$('#orderloginform input, #registerform input, #registerform select').bind('focus', reseterror);
			$('input[type=radio].selectbutton').bind('click', showContent);
    
            $('#loginHeader').bind("click",showContentLogin);
            $('#registerHeader').bind("click",showContentRegister);
            // $('#password').showPassword({'checkbox':'#checkbox'});
    
    		function handleLostPW(event){
				$('#lostPW').toggle();
				return false;
		    }
		    
		    function sendLostPW(event){
				xajax.call('payment_lostPassword', {
					parameters:[$('#lostPW_email').val()],
					onComplete: (function(){
						$('#lostPW').toggle();
					})
				});
				return false;
		    }
		    
		    function orderlogin(event){
		    	if(event.type == 'click') $(event.target).blur();
				xajax.call('payment_loginstatic', {
					parameters:[xajax.getFormValues('orderloginform'), 'login']
				});
				return false;
		    }
		    
		    function register(event){
		    	if(event.type == 'click') $(event.target).blur();
				xajax.call('payment_registerstatic', {
					parameters:[xajax.getFormValues('registerform'), 'login']
				});
				return false;
		    }
            
		    function showContentLogin(event) {
            
                $('#registerContent').hide();
                $('#registerHeader').addClass('verticalHeader3').removeClass('verticalHeader2');
                $('#loginContent').show();
                $('#loginHeader').removeClass('verticalHeader3').addClass('verticalHeader2');
                $('input[name=logintype]:eq(0)').attr('checked', 'checked');
            }
            
            function showContentRegister(event) {
            
                $('#loginContent').hide();
                $('#loginHeader').addClass('verticalHeader3').removeClass('verticalHeader2');
                $('#registerContent').show();
                $('#registerHeader').removeClass('verticalHeader3').addClass('verticalHeader2');
                $('input[name=logintype]:eq(1)').attr('checked', 'checked');
            }
            
		    function showContent(event){
		    	$.each($('input[type=radio].selectbutton'), function(key, value) {
					$('#' + $(value).val() + 'Content').hide();
					$('#' + $(value).val() + 'Header').addClass('verticalHeader3').removeClass('verticalHeader2');
				}); 
				
				$('#' + $(event.target).val() + 'Content').show();
				$('#' + $(event.target).val() + 'Header').removeClass('verticalHeader3').addClass('verticalHeader2');
		    }
		    
		    
		    function reseterror(event){
		    	//alert(event.currentTarget.tagName);
		    	var elem = event.target;
		    	if(elem.id == 'strasse' || elem.id == 'hausnummer'){
					if($('#str_no_error').css("display") == 'block') $('#str_no_error').css("display", "none");
				} else if(elem.id == 'plz' || elem.id == 'ort'){
					if($('#zip_city_error').css("display") == 'block') $('#zip_city_error').css("display", "none");
				} else if(elem.id == 'telefon2'){
					if($('#telefon_error').css("display") == 'block') $('#telefon_error').css("display", "none");
				} else {
					if($(elem.id + '_error').css("display") == 'block') $(elem.id + '_error').css("display", "none");
				}
		    	return false;
		    }


	/*
	reseterror: function(event){
		event.preventDefault();
		
		if(Event.element(event).tagName == 'SELECT'){
			var elem = event.findElement('select');
		} else if(Event.element(event).tagName == 'INPUT'){
			var elem = event.findElement('input');
		}
		
		if(elem.id == 'strasse' || elem.id == 'hausnummer'){
			if($('str_no_error').visible() === true) $('str_no_error').style.display = 'none';
		} else if(elem.id == 'plz' || elem.id == 'ort'){
			if($('zip_city_error').visible() === true) $('zip_city_error').style.display = 'none';
		} else if(elem.id == 'telefon2'){
			if($('telefon_error').visible() === true) $('telefon_error').style.display = 'none';
		} else {
			if($(elem.id + '_error').visible() === true) $(elem.id + '_error').style.display = 'none';
		}
	},
	*/
	
	
		    
    	}
	});
})(jQuery);

(function($){
 	$.fn.extend({ 

 		DoneActions: function(options) {
			$('#popupClose').bind('click', hidePopup);
			$('#befragungButton').bind('click', updateBefragung);
			$('#befragungPopup').css("display", "block");
			
			function hidePopup(event){
				$('#befragungPopup').css("display", "none");
				return false;
			}
	
			function updateBefragung(event){
				xajax.call('orderprocess_updateBefragung', {
					parameters:[xajax.getFormValues('befragungForm')]
				});
				$('#befragungPopup').css("display", "none");
				return false;
			}
    	}
	});
})(jQuery);

(function($){
 	$.fn.extend({ 

 		DoneCCActions: function(options) {
			$('#popupCCClose').bind('click', hideCCPopup);
			$('#befragungCCButton').bind('click', updateCCBefragung);
			$('#befragungCCPopup').show();
			
			function hideCCPopup(event){
				$('#befragungCCPopup').hide();
				return false;
			}
	
			function updateCCBefragung(event){
				xajax.call('orderprocess_updateCCBefragung', {
					parameters:[xajax.getFormValues('befragungCCForm')]
				});
				$('#befragungCCPopup').hide();
				return false;
			}
    	}
	});
})(jQuery);

/***********************************/
/* Statische Navi */
/***********************************/
(function($){
 	$.fn.extend({ 

 		staticNavi: function(options) {

			$('#staticContainer div.staticNav a.header').bind('click', toggleContent);
		
			$('#registersubmit').bind('click', register);
			$('#registerform').bind('submit', register);
			
			$('#gamesubmit').bind('click', gamesubmit);
			$('#gspielform').bind('submit', gamesubmit);
			
			
			function toggleContent(event){
				
				var elm = event.target.id;
				var elmpart = elm.split("_");
				var cID = elmpart[0];

								
				$.each($("#staticContainer div.staticNav a.header"), function(key, value) { 
					var lpart = value.id.split("_");
					var lID = lpart[0];
					
					$('#'+lID + '_content').hide();
					$('#'+lID + '_link').removeClass('clicked');
				});
		
				$('#'+cID + '_content').show();
				$('#'+cID + '_link').addClass('clicked');
				
				return false;
			}
			
			function register(event){
				xajax.call('b2b_register', {
					parameters:[xajax.getFormValues('registerform')]
				});
			}
			
			function gamesubmit(event){
				if(!$('#email') || $('#email').val()==''){
		           alert('Bitte geben Sie Ihre Emailadresse ein.');
		        } else if(!$('#code') || $('code').val()==''){
		            alert('Bitte geben Sie die Buchstaben-Kombination ein.');
		        } else {
		        	xajax.call('gspiel_processGspiel', {
						parameters:[xajax.getFormValues('gspielform'), 1]
					});
		        }
		    }
    
    
    	}
	});
})(jQuery);


/***********************************/
/* Newsletter Funktionen */
/***********************************/
(function($){
 	$.fn.extend({ 

 		NewsletterActions: function(options) {
			
			$('#nlsubmit').bind('click', submitNewsletter);
			$('#newsletterform').bind('submit', submitNewsletter);
    
    		function submitNewsletter(event){
    		    var numchecked=0;
    		    if ($('#optinemail').is(':checked')) {
                    numchecked++;
                }

                if ($('#optinprint').is(':checked')) {
                    numchecked++;
                }

                if(numchecked==0) alert('Bitte setzen Sie den Haken in die entsprechende Checkbox.');
                else {
    		    
			       if(event.type == 'click') $(event.target).blur();
			 	   xajax.call('newsletter_submitNewsletter', {
					parameters:[xajax.getFormValues('newsletterform')]
				    });
				    return false;
                }
		    }
    	}
	});
})(jQuery);


/***********************************/
/* Hilfe Funktionen */
/***********************************/
(function($){
 	$.fn.extend({ 

 		HelpActions: function(options) {

			$('#feedbacksubmit').bind('click', submitFeedback);
			$('#hfeedback').bind('click', showFForm);
    
    		function showFForm(event){
    			$('#hfeedback_content').css("display", "block");
                location.href="#bottomanchor";
				return false;
		    }
		    
		    function submitFeedback(event){
				if($('#feedback').val() == ""){
					alert('Bitte geben Sie eine Frage ein');
				} else if($('#sender').val() == ""){
					alert('Bitte geben Sie Ihre Emailadresse ein');
				} else {
					xajax.call('help_sendFeedback', {
						parameters:[$('#feedback').val(), $('#sender').val()]
					});
				}
				return false;
		    }
		    
    	}
	});
})(jQuery);


/***********************************/
/* Globale Funktionen */
/***********************************/

// der "zurück" knopf
$('a.back').click(function(){
    parent.history.back();
    return false;
});

// preload loading icon
$('<img src="/onlineshop/images/valentins/loading.gif" />');

function track(){
	if($('#referenznummer').val()!=''){
		window.location.href = '/onlineshop/tracking/' + $('#referenznummer').val();
	} else {
		alert('Das ist keine Trackingnummer!');
	}
	return false;
}

function handleFilter(state){
    $('#giftfinderButton span').removeClass('active');
	if(state == 'show'){
        if($('#navfiltercontent').html()!='') {
            $('#navfiltercontent').hide();
            $('#navfiltercontent').html('');
            $('#flowerfinderButton span').removeClass('active');
        } else {
		xajax.call('filter_makeFilter', {
		parameters: [getCurrentGroupID(), getCurrentSubID(), 1],
			onComplete: (function(){
				$('#navfiltercontent').show();
				$('#flowerfinderButton span').addClass('active');
				$("#filtersubmit").bind("click", function(event){
					$('#filterform').submit();
					return false;
				});
			})
		});
        }
	} else {
        $('#flowerfinderButton span').removeClass('active');
		$('#navfiltercontent').hide();
		$('#navfiltercontent').html('');
	}
}

function handleFinder(state){
    $('#flowerfinderButton span').removeClass('active');
	if(state == 'show'){
        if($('#navfiltercontent').html()!='') {
            $('#navfiltercontent').hide();
            $('#navfiltercontent').html('');
            $('#giftfinderButton span').removeClass('active');
        } else {
		xajax.call('finder_makeFinder', {
		parameters: ['1'],
			onComplete: (function(){
				$('#navfiltercontent').show();
                $('#giftfinderButton span').addClass('active');
				$("#findersubmit").bind("click", function(event){
					$('#finderform').submit();
					return false;
				});				
			})

		});
        }
	} else {
        $('#giftfinderButton span').removeClass('active');
		$('#navfiltercontent').hide();
		$('#navfiltercontent').html('');
	}
}

function getCurrentGroupID(){
	var grouplist = $('#main_navi li a');
	
	if(grouplist[0]){
		var groupID = grouplist[0].id;
	} else {
		var groupID = 'none';
	}
	
	$.each($('#main_navi li a'), function(key, value) { 
		if(value.className.substr((value.className.length - 6), 6) == 'active'){
			groupID = value.id;
		}
	});

	return groupID;
}

function getCurrentSubID(){
	var subID = 0;
	
	$.each($('#subnavlist li a'), function(key, value) { 
		if(value.hasClass('active')){
			groupID = value.id.substr((value.id.length), 3);
		}
	});

	return subID;
}

function valpopup (ID) {
	helpwindow=window.open('/onlineshop/static/help.php?ID='+ID, 'helpwindow','menubar=0,scrollbars=1,resizable=1,width=800,height=450');
	helpwindow.focus();
	return false;
}

function redirect_to (destination) {
  window.location.href = destination;
}

function utf8_encode ( string ) {
	// http://kevin.vanzonneveld.net
	// +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
	// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)

	string = (string+'').replace(/\r\n/g, "\n").replace(/\r/g, "\n");

	var utftext = "";
	var start, end;
	var stringl = 0;

	start = end = 0;
	stringl = string.length;
	for (var n = 0; n < stringl; n++) {
		var c1 = string.charCodeAt(n);
		var enc = null;

		if (c1 < 128) {
			end++;
		} else if((c1 > 127) && (c1 < 2048)) {
			enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
		} else {
			enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
		}
		if (enc != null) {
			if (end > start) {
				utftext += string.substring(start, end);
			}
			utftext += enc;
			start = end = n+1;
		}
	}

	if (end > start) {
		utftext += string.substring(start, string.length);
	}

	return utftext;
}

function deleteAdressData(id){
	if(confirm("Wollen Sie die Adresse wirklich aus dem Adressbuch löschen?") == true){
		xajax.call('order_deleteAdress', {
			parameters:[id],
			onComplete: (function(){
				window.location.reload();
			})
		});
	}
	return false;
}

/**
*
*  URL encode / decode
*  http://www.webtoolkit.info/
*
**/
 
var Url = {
 
	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},
 
	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}


/***********************************/
/* sonstiges */
/***********************************/

function slipknotview(ID,produktid,size,text,font,color) {
    slipwindow=window.open('/onlineshop/imageSchleife.php?produkt='+produktid+'&text='+text+'&font='+font+'&size='+size+'&color='+color, null,'menubar=0,scrollbars=0,resizable=no,status=0,location=0,width=420,height=420');
	slipwindow.focus();
}

eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(0($){$.v.w({x:0(g,h){8 9.y(0(){2 c=$(9),6={\'i\':c},$4=$(g.4);2 d=j(c);6.z=d;d.A(c);0 j(a){2 b=$(a);3=c.1(\'3\').B()==\'k\'?\'C\':\'k\';d=$("<i 3=\'"+3+"\' />");d.1({\'l\':c.1(\'l\'),\'m\':c.1(\'m\'),\'n\':c.1(\'n\'),\'o\':c.1(\'o\')+\'-\'+3,\'p\':c.1(\'p\')});8 d};2 e=0(a,b){b.q(a.q())};2 f=0(){r($4.D(\':E\')){e(c,d);d.s();c.t()}F{e(d,c);d.t();c.s()}};$4.5(\'G\',0(){f()});c.5(\'7\',0(){e(c,d)});d.5(\'7\',0(){e(d,c);c.u(\'7\')});d.5(\'H\',0(){c.u(\'I\')});f();r(h){h(6)}})}})})(J);',46,46,'function|attr|var|type|checkbox|bind|callbackArguments|keyup|return|this|||||||||input|cloneElement|text|class|style|size|name|tabindex|val|if|show|hide|trigger|fn|extend|showPassword|each|clone|insertAfter|toLowerCase|password|is|checked|else|click|blur|focusout|jQuery'.split('|'),0,{}));

/**
* hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne brian(at)cherne(dot)net
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type=="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover)}})(jQuery);

var newWin = null; 
function popUp(strURL, strType, strHeight, strWidth) {  
  if (newWin != null && !newWin.closed) 
    newWin.close(); 
  var strOptions="";  
  if (strType=="console")  
    strOptions="resizable,height="+  
      strHeight+",width="+strWidth;  
  if (strType=="fixed")  
    strOptions="status,height="+  
      strHeight+",width="+strWidth;  
  if (strType=="elastic")  
    strOptions="toolbar,menubar,scrollbars,"+ 
      "resizable,location,height="+  
      strHeight+",width="+strWidth;  
  newWin = window.open(strURL, 'newWin', strOptions);  
  newWin.focus();
}
/*
    schließt popup
*/
function popClose() {
  if (newWin != null && !newWin.closed) 
    newWin.close();
}


