var config_url = 'http://www.werbegeschenk.de/';
var search_keyword = "";

//onload
document.observe("dom:loaded", function() {
	web_onload();
});

function web_onload(){
	
	// add searchfield listeners
	var web_searchfield = $('f_search');
    web_searchfield.observe('focus', function(event)
	{
		if(search_keyword != null && search_keyword != "")
		{
			if( this.value == search_keyword) this.value = search_keyword;
		}
		else
		{
			if( this.value == "z.B. Kugelschreiber") this.value = "";
		}
	});
		
	web_searchfield.observe('blur', function(event)
	{
   		if(search_keyword != null && search_keyword != "")
		{
			if( this.value == "") this.value = search_keyword;
		}
		else
		{
			if( this.value == "") this.value = "z.B. Kugelschreiber";
		}
			
   	});
   	
   	
   	// Price Update auf der Detailseite
    var web_update_price = $('web_update_price');
    if(web_update_price != null){
   		web_update_price.observe('change', function(event){
			$('web_update_price_form').submit();
		});	
    }
   	
   	
   	// Slider for Homepage - Sonderpreise
function mycarousel_initCallback(carousel)
{
	// Disable autoscrolling if the user clicks the prev or next button.
	carousel.buttonNext.bind('click', function() 
	{
		carousel.stopAuto();
	}, function() 
	{
		carousel.startAuto();
	});
	carousel.buttonPrev.bind('click', function() 
	{
		carousel.stopAuto();
	}, function() 
	{
		carousel.startAuto();
	});
	// Pause autoscrolling if the user moves with the cursor over the clip.
	carousel.clip.hover(function() 
	{
		carousel.stopAuto();
	}, function() 
	{
		carousel.startAuto();
	});
};

jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({
		auto: 2,
		wrap: 'circular',
		size: 9,
		animation: 900,
		scroll: 1,
		visible: 4,
		initCallback: mycarousel_initCallback 
    });
});
   	
   	 // Tooltip Listener
    var web_tooltip = $$('.web_tooltip');
    if(web_tooltip != null){
   		for(i=0;i<web_tooltip.length;++i){
	   		web_tooltip[i].observe('focus', function(event){
				//var field_line = $(this).parentNode;
				//field_line.cleanWhitespace();
				var tooltip = $(this).up().down();
				tooltip.show();
			});
			
			web_tooltip[i].observe('blur', function(event){
				//var field_line = $(this).up();
				var tooltip = $(this).up().down();
				tooltip.hide();
			});	
		}
    }
   	
   	
   	// Seo Text Slider Controller
   	var seo_slider_r = $('c_seo_right');
   	var seo_slider_l = $('c_seo_left');
   	var seo_slider	 = $('c_seo_slider_wrapper');
   	var seo_actTest = 1;
   	
   	if(seo_slider_r != null){
	    seo_slider_r.observe('click', function(event){    	
	   	 	Event.stop(event);
		
			if(seo_actTest < 5){
			   	new Effect.MoveBy(seo_slider, 0, -570, {duration:0.1, transition:Effect.Transitions.sinoidal});	
				seo_actTest++;
				
				if(seo_actTest > 1){
					seo_slider_l.show();
				}
			
				if(seo_actTest == 5){
					seo_slider_r.hide();
				}
			}
	    });
	}
    
    if(seo_slider_l != null){
	   	seo_slider_l.observe('click', function(event){
    		Event.stop(event);
		
			if(seo_actTest > 1){
			   	new Effect.MoveBy(seo_slider, 0, 570, {duration:0.1, transition:Effect.Transitions.sinoidal});	
				seo_actTest--;
			
				if(seo_actTest < 6){
					seo_slider_r.show();
				}
			
				if(seo_actTest == 1){
					seo_slider_l.hide();
				}
			
			}
	    });
		}
    
    // Funktio für Dropdown Subcategory
		var c_main_cat = $$('.has_subcat');
		if(c_main_cat != null){
			for(i=0;i<c_main_cat.length;++i){
	   		c_main_cat[i].observe('mouseover', function(event){
						var c_subcats = $(this).down('.subcat');
						c_subcats.show();
				});
				
				c_main_cat[i].observe('mouseout', function(event){
						var c_subcats = $(this).down('.subcat');
						c_subcats.hide();
				});
			}
		}
    
    // Mehr Angebote Slider Controller
    var c_more_slider_right = $('c_more_slider_right');
   	var c_more_slider_left 	= $('c_more_slider_left');
   	var c_more_wrapper_inner= $('c_more_wrapper_inner');
   	var c_more_act = 1;
   	
    c_more_slider_right.observe('click', function(event){    	
		if(c_more_act < 5){
		   	new Effect.MoveBy(c_more_wrapper_inner, 0, -166, {duration:0.3, transition:Effect.Transitions.sinoidal});	
			c_more_act++;
			
			if(c_more_act > 1){
				c_more_slider_left.show();
			}
			
			if(c_more_act == 5){
				c_more_slider_right.hide();
			}
		}
		Event.stop(event);
    });
    
   	c_more_slider_left.observe('click', function(event){
		
		if(c_more_act > 1){
		   	new Effect.MoveBy(c_more_wrapper_inner, 0, 166, {duration:0.3, transition:Effect.Transitions.sinoidal});	
			c_more_act--;
			
			if(c_more_act < 6){
				c_more_slider_right.show();
			}
			
			if(c_more_act == 1){
				c_more_slider_left.hide();
			}
			
		}
		Event.stop(event);
    });
    
    var c_direkt_anfrage_btn = $('c_direkt_anfrage_btn');
    var c_direkt_anfrage = $('c_direkt_anfrage');
    if(c_direkt_anfrage_btn != null){
    	c_direkt_anfrage_btn.observe('click', function(event){
    		Event.stop(event);
    		if(c_direkt_anfrage.style.display == "none"){
    			c_direkt_anfrage.show();
    			c_direkt_anfrage.scrollTo();
    		}else{
    			c_direkt_anfrage.hide();
    		}
    		
    	});
    
    }
	
	
  var mel_popups = $$( 'a.mel_popup');
  for (var i = 0; i < mel_popups.length; ++i){
    mel_popups[i].observe('click', function(event){
      var link = this.href;
			if(this.rel != null){
				var width = this.rel;
			}else{
				var width = 600;
			}
      if ( -1 == link.indexOf('?')){
        link = link + '?popup=1';
      }
      else{
        link = link + '&popup=1';
      }
      window.open( link, 'mel_popup', 'resizable=yes,status=no,scrollbars=no,menubar=no,width='+width+',height=600');
      Event.stop(event);
    });
  }

	
	var mel_popups2 = $$( 'a.mel_popup2');
	for (var i = 0; i < mel_popups2.length; ++i){
		mel_popups2[i].observe('click', function(event){
			Event.stop(event);
			var link = this.href;

			var oBlockLayer = $( 'c_mel_blocklayer');
			if ( null == oBlockLayer){
				var oBlockLayer = document.createElement("div");
				oBlockLayer.setAttribute('id','c_mel_blocklayer');
				Element.extend( oBlockLayer);
				body_size = $('c_container').getDimensions();
		        oBlockLayer.style.height = body_size.height+'px';
				var objBody = document.getElementsByTagName("body").item(0);
				objBody.appendChild(oBlockLayer);
			}

			new Ajax.Request( link, {
				method:'get',
				onSuccess: function( transport){
					oBlockLayer.update(transport.responseText);
					web_ajaxload();
					oBlockLayer.show();
					oBlockLayer.scrollTo();
				},
				onFailure: function(){ 
					//oBlockLayer.update('Error');
					oBlockLayer.remove();
				}
			});
		});
	}
	
	
	var mel_bookmark = $$( 'a.c_bookmarks');
	if(mel_bookmark != null){
		for (var i = 0; i < mel_bookmark.length; ++i){
			mel_bookmark[i].observe('click', function(event){
				Event.stop(event);
				var title = this.title;
				var url = window.location; 

				if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { // Mozilla Firefox Bookmark
					window.sidebar.addPanel(title, url,"");
				} else if ((navigator.appName == 'Microsoft Internet Explorer') && (parseInt(navigator.appVersion) >= 4)) { // IE Favorite
					window.external.AddFavorite( url, title);
				}else if(window.opera && window.print) { // Opera Hotlist
					return true;
				}else { // for Safari, Konq etc - browsers who do not support bookmarking scripts (that i could find anyway)
					alert('Bitte klicken Sie CTRL+D um diese Seite als Favorit zu speichern.');
					return false;
				}
				
				return false;
			});
		}
	}
 	
 	
 	var mel_social_bookmark = $$('a.c_social_bookmarks');
 	for(var i = 0; i < mel_social_bookmark.length; ++i){
 		mel_social_bookmark[i].observe('click', function(event){
 			var link = this.href;
 		});
 	}
 	
 	var mel_basketrefresh = $$('input.mel_basketrefresh');
 	for(var i = 0; i < mel_basketrefresh.length; ++i){
 		mel_basketrefresh[i].observe('change', function(event){
 			var c_basket_form = $('cart_quantity');
 			c_basket_form.submit();
 		});
 	}
	
	var mel_tooltip = $$('a.mel_tooltip');
	if(mel_tooltip != null){
		for(var i = 0; i < mel_tooltip.length; ++i){
			mel_tooltip[i].observe('mouseover', function(event){
				var mel_tooltip_content = $(this).down('.mel_tooltip_content');
				if(mel_tooltip_content != null){
					mel_tooltip_content.show();
				}
			});
			
			mel_tooltip[i].observe('mouseout', function(event){
				var mel_tooltip_content = $(this).down('.mel_tooltip_content');
				if(mel_tooltip_content != null){
					mel_tooltip_content.hide();
				}
			});
		}
  }
	
	var c_l_sort = $$('.c_mel_sort');
	if(c_l_sort != null){
		for(var i = 0; i < c_l_sort.length; ++i){
			c_l_sort[i].observe('mouseover', function(event){
				var c_l_sort_items = $(this).down('.c_l_sort_items');
				if(c_l_sort_items != null){
					this.addClassName('c_l_sort_active');
					c_l_sort_items.show();
				}
			});
			c_l_sort[i].observe('mouseout', function(event){
				var c_l_sort_items = $(this).down('.c_l_sort_items');
				if(c_l_sort_items != null){
					this.removeClassName('c_l_sort_active');
					c_l_sort_items.hide();
				}
			});
		}
	}
	
	var c_sonderanfertigung_tag = $$('.c_sonderanfertigung_tag');
	if(c_sonderanfertigung_tag != null){
		for(var i = 0; i < c_sonderanfertigung_tag.length; ++i){
			c_sonderanfertigung_tag[i].observe('click', function(event){
				callLayer('ajax.php?fnc=showSonderanfertigungLayer');
			});
		}
	}
	
	var c_show_sonder = $('c_show_sonder');
	if(c_show_sonder != null){
		c_show_sonder.observe('click', function(event){
			$(this).up().up().up().submit();
		});
	}
	
}

function web_ajaxload(){
	var mel_close = $$( 'a.mel_close');
	for (var i = 0; i < mel_close.length; ++i){
		mel_close[i].observe('click', function(event){
			Event.stop(event);
			var oBlockLayer = $('c_mel_blocklayer');
			if(oBlockLayer != null){
				oBlockLayer.remove();
			}
		});
	}
	
	var mel_rechner = $$( '.c_rechner');
	for (var i = 0; i < mel_rechner.length; ++i){
		mel_rechner[i].observe('submit', function(event){
			Event.stop(event);
			var oBlockLayer = $('c_mel_blocklayer');
			if(oBlockLayer != null){
				var link = $(this).action;
				var params = $(this).serialize();
				
				var c_rechner_update = $('c_rechner_update');
				c_rechner_update.update('wird berechnet...');
				
				new Ajax.Request( link, {
				method:'post',
				parameters: params,
				onSuccess: function( transport){
					oBlockLayer.update(transport.responseText);
					web_ajaxload();
					oBlockLayer.show();
					oBlockLayer.scrollTo();
				},
				onFailure: function(){ 
					//oBlockLayer.update('Error');
					oBlockLayer.remove();
				}
			});
			}
		});
	}	
	

}

function textCounter(field,cntfield,maxlimit) {
	if ($(field).value.length > maxlimit) {
		$(field).value =  $(field).value.substring(0, maxlimit);
	}else{
		$(cntfield).innerHTML = maxlimit - $(field).value.length;
	}
}

function callDankeseiteLayer(){	
	document.observe("dom:loaded", function() {
		var oBlockLayer = $( 'c_mel_blocklayer');
		var link = config_url + 'danke.php?layer=1';
		
		if ( null == oBlockLayer){
			var oBlockLayer = document.createElement("div");
			oBlockLayer.setAttribute('id','c_mel_blocklayer');
			Element.extend( oBlockLayer);
			body_size = $('c_container').getDimensions();
			oBlockLayer.style.height = body_size.height+'px';
			var objBody = document.getElementsByTagName("body").item(0);
			objBody.appendChild(oBlockLayer);
		}
		
		new Ajax.Request( link, {
			method:'get',
			onSuccess: function( transport){
				oBlockLayer.update(transport.responseText);
				web_ajaxload();
				oBlockLayer.show();
				oBlockLayer.scrollTo();
			},
			onFailure: function(){ 
				oBlockLayer.remove();
			}
		});
	});
}

function callLayer(url){	
	var oBlockLayer = $( 'c_mel_blocklayer');
	var link = config_url + url;
	
	if ( null == oBlockLayer){
		var oBlockLayer = document.createElement("div");
		oBlockLayer.setAttribute('id','c_mel_blocklayer');
		Element.extend( oBlockLayer);
		body_size = $('c_container').getDimensions();
		oBlockLayer.style.height = body_size.height+'px';
		var objBody = document.getElementsByTagName("body").item(0);
		objBody.appendChild(oBlockLayer);
	}
	
	new Ajax.Request( link, {
		method:'get',
		onSuccess: function( transport){
			oBlockLayer.update(transport.responseText);
			web_ajaxload();
			oBlockLayer.show();
			oBlockLayer.scrollTo();
		},
		onFailure: function(){ 
			oBlockLayer.remove();
		}
	});
}