$(document).ready(function() {

	$.getScript("/cms/js/jquery/plugins/jquery.cheat-code.js", function(){
		
		$(document).cheatCode({
			code : '77,79,76,76,73',
			unbind : false,
			message : '<img src="/cms/images/feedlogo.jpg" alt="molli" /><br /><br /> Gruß von den Entwicklern!'
		});
		
	});

	// McDropDownMenus
	if( $(".mddmenu").length ){
		
		
		if( $(".mddmenu #mddwahl").length ) {
			$(".mddmenu #mddwahl").mcDropdown("#bildwahlalben", 	{
																		valueAttr: "value" ,
																		delim: ">" ,
																		hoverOverDelay: 350 ,
																		allowParentSelect: true ,
																		select: mddselect
																	}
			);
		}
		if( $(".mddmenu #mddwahl_downloadkategorien").length ) {
			$(".mddmenu #mddwahl_downloadkategorien").mcDropdown("#downloadkategorien", 	{
																		valueAttr: "value" ,
																		delim: ">" ,
																		hoverOverDelay: 350 ,
																		allowParentSelect: true ,
																		select: mddchange_downloadkategorien
																	}
			);
		}
	};

	// Formfieldhighlighter
	if($("form.fieldform").length){
		$.getScript( "/cms/js/jquery/formfieldfocus.js" ) ;
	};
	
	// Klickfelder
	if($(".biglinks").length && $('#useragentbrowser').attr("name") != "msie" ){
		$.getScript("/cms/js/jquery/plugins/jquery.biggerlink.js", function(){
			$('.biglinks div').biggerlink( { otherstriggermaster : true } ) ;
		});
	};

	// Klappboxen
	if( $(".klappbox").length || $(".klappboxsingle").length || $(".singlebox").length){
		$.getScript( "/cms/js/jquery/klappbox.js" ) ;
	};

	// Toogle next Element
	if( $(".togglenext").length ){ /* $.getScript( "/cms/js/jquery/togglenext.js" ) ; */ } ;
	
	// Kopiere Inhalt des nächsten Elements
	if( $(".copynext").length ){
		$.getScript("/cms/js/jquery/plugins/jquery.clipboard/jquery.clipboard.js", function(){
			$.getScript( "/cms/js/jquery/copynext.js" ) ;
		});
	};
	
	// Autotagger
	if( $("input.autotagging").length ){
		
		var tagDivList = new Array( $("#taglist") ) ;
		var normalClass = { padding : "1px 5px", color : "#444", backgroundColor : '#b2cfff' } ;
		var selectedClass = { padding : "1px 5px", color : "#444", backgroundColor : "#9bff38"} ;
		var normalHoverClass = { padding : "1px 5px", color : "#444", backgroundColor : "#e3ff6b"} ;
		$("input.autotagging").jTagging(tagDivList, " , ", normalClass, selectedClass, normalHoverClass) ;
	}

	// Styleswitcher
	if( $("#styleswitcher").length ){
		$.getScript("/cms/js/jquery/plugins/jquery.cookie.js", function(){
			$.getScript( "/cms/js/jquery/styleswitcher.js" ) ;
		});
	};

	// Tooltips
	if( $(".tooltip").length ){
		
		$(".tooltip").tooltip(	{
									track: true,
									showURL: false,
									delay: 1000, 
									fade: 350
								});
	};

	// Tooltips HTML
	if( $(".tooltiphtml").length ){
		
		$(".tooltiphtml").tooltip({ 
			
			bodyHandler: function() { 
				var tid = "" ;
				if (typeof $(this).attr("rel") != "undefined" ) {
					var tid = $(this).attr("rel") ;
				}
				if (typeof $(this).find("a.hideme").attr("rel") != "undefined" ) {
					var tid = tid + $(this).find("a.hideme").attr("rel") ;
				}
				return  $("#" + tid ).html();
			},
			showURL: false  ,
			fade: 225
		});
	};

	// jqModal Fenster
	if( $(".jqmodal").length ){
		//$.getScript("/cms/js/jquery/plugins/jqModal/jqModal.js", function(){
			
			a = document.createElement('link') ;
			a.setAttribute('rel','stylesheet') ;
			a.setAttribute('type','text/css') ;
			a.setAttribute('href','/cms/js/jquery/plugins/jqModal/jqModal.css') ;
			document.getElementsByTagName('head')[0].appendChild(a) ;
			
			$(".jqmodal").each( function(){
				
				var content = $(this).attr('id') ;
				var trigger = $(this).find('a').attr('rel') ;
				var fenster = $(this).find('div.jqmWindow').attr('id') ;
				
				$('#'+fenster).jqm( { 
					
					ajax: '/cms/ajax/'+content+'.html',
					trigger: 'a[rel="'+trigger+'"]' ,
					onHide: function(h) {
						h.w.hide();
						h.o.remove();
						$('#'+content).data("status", "closed" ) ;
					}
				}) ;
			});
		//});
	};

	// asmSelects
	if( $(".asmselector").length ){
				
				$( ".asmselector" ).each(function(){
					var count = $(this).children().length ;
					if ( count != 0 ) {
						
						var sort = $(this).hasClass("nosort") ;
						
						if ( sort === true ) {
							$(this).asmSelect({
								animate: true,
								highlight: false,
								removeLabel: "Entfernen",
								sortable: false
							});
						}
						else {
							$(this).asmSelect({
								animate: true,
								highlight: false,
								removeLabel: "Entfernen",
								sortable: true
							});
						}
						
						// Pruefen ob Addbutton vorhanden zur Liste
						var asmbox = $(this).parents("div.asmbox") ;
						var button = asmbox.contents().find("button") ;
						if ( button.length ) {
							
							// Addbutton-Funktion hinzufuegen
							button.click(function() {
								
								var id = $(this).attr("name") ;
								
								var entry = $("#" + id + " .neuerauswahlwert").val();
								var $option = $("<option></option>").text(entry).attr("selected", true); 
								$("#" + id + " .asmselector").append($option).change();
								$("#" + id + " .neuerauswahlwert").val("");
								return false; 
								
							});
							
						}
					}
		      	});
				
		      	// Formsubmit unterdruecken und propid für Keybinding festhalten
		      	$("input[type='text']").focus(function () {
					$("input[type='submit']").attr("disabled", "true");
					var propbox = $(this).parents("div.propid") ;
					var id = propbox.attr("id") ;
					$('form').data('neuauswahldata', id );
		      	});
		      	$("input[type='text']").blur(function () {
		      		$("input[type='submit']").removeAttr("disabled")
		      	});
		      	$(".submitfield").mouseover( function(){
		      		$("input[type='submit']").removeAttr("disabled") ;
		      	});
	            $(document).bind('keyup', 'return', function(){
	            	var id = $('form').data('neuauswahldata');
	            	 $("#" + id + " .addauswahlwert").trigger('click');
	        	});
	            
	};

	// Nested Sortable
	if($("#nestedsort").length){
		
		a = document.createElement('link') ;
		a.setAttribute('rel','stylesheet') ;
		a.setAttribute('type','text/css') ;
		a.setAttribute('href','/cms/js/jquery/plugins/nested_sortable/inestedsortable.css') ;
		document.getElementsByTagName('head')[0].appendChild(a) ;
		
		$.getScript("/cms/js/jquery/plugins/interface-1.2.js", function(){
			$.getScript("/cms/js/jquery/plugins/nested_sortable/inestedsortable.js", function(){
				
				$('#nestedsort').NestedSortable({
													accept: 'page-item',
													noNestingClass: "no-nesting",
													opacity: .8,
													nestingPxSpace: 10 ,
													revert: true,
													helperclass: 'nestedhelper',
													onChange: function(serialized) {
														$('#nestedsort-ser').html( serialized[0].hash.replace(/&/g, "<br />") ) ;
													},
													autoScroll: true,
													handle: '.sort-handle'
												});
			});
		});
	};

	// Date-Input
	if( $("input.date_input").length ){
		
		a = document.createElement('link') ;
		a.setAttribute('rel','stylesheet') ;
		a.setAttribute('type','text/css') ;
		a.setAttribute('href','/cms/js/jquery/plugins/date-input/date_input.css') ;
		document.getElementsByTagName('head')[0].appendChild(a) ;
		
		$.getScript("/cms/js/jquery/plugins/date-input/jquery.dimensions.js", function(){
			
			$.getScript("/cms/js/jquery/plugins/date-input/jquery.date_input.js", function(){
				
				jQuery.extend(DateInput.DEFAULT_OPTS, {
														month_names: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] ,
														short_month_names: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] ,
														short_day_names: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"] ,
														stringToDate: function(string) {
															var matches ;
															if (matches = string.match(/^(\d{2,2}).(\d{2,2}).(\d{4,4})$/)) {
																return new Date(matches[3], matches[2] - 1, matches[1]) ;
															} 
															else {
																return null ;
															} ;
														} ,
														dateToString: function(date) {
															var month = (date.getMonth() + 1).toString() ;
															var dom = date.getDate().toString() ;
															if (month.length == 1) month = "0" + month ;
															if (dom.length == 1) dom = "0" + dom ;
															return dom + "." + month + "." + date.getFullYear() ;
														}
				});
				
				$("input.date_input").date_input();
			});
		});
	};

	// Waehrungskonvertierungen
	if( $(".currency").length){
		$.getScript( "/cms/js/jquery/currency.js" ) ;
	};

	// Countdown
	if($("#countdown").length){
		
		a = document.createElement('link') ;
		a.setAttribute('rel','stylesheet') ;
		a.setAttribute('type','text/css') ;
		a.setAttribute('href','/cms/js/jquery/plugins/countdown/jquery.countdown.css') ;
		document.getElementsByTagName('head')[0].appendChild(a) ;
		
		$.getScript("/cms/js/jquery/plugins/countdown/jquery.countdown.pack.js", function(){
			$.getScript("/cms/js/jquery/plugins/countdown/jquery.countdown-de.js", function(){
				
				// Gucken ob Liftofftime gesetzt , wenn nicht dann den 31. des Monats
				if ( typeof liftoffTime == "undefined") {
					
					var liftoffTime = new Date() ;
					liftoffTime.setDate(31) ;
				}
				
				$('#countdown').countdown({until: liftoffTime, format: 'dHMS'});
				
			});
		});
	};

	// Newsvorschauscript
	if( $("form#newsedit").length ){
		$.getScript("/cms/js/jquery/plugins/jquery.form.js") ;
		$.getScript("/cms/js/jquery/admin_news_preview.js") ;
	};

/*
	// Bildermodulvorschauscript
	if( $("form#bildkategorieedit").length ){
		$.getScript("/cms/js/jquery/admin_bildkategorie.js") ;
	};

	// Downloadkategorievorschauscript
	if( $("form#bildconfirm").length ){
		alert ("bild");
		$.getScript("/cms/js/jquery/plugins/jquery.form.js", function(){
			$.getScript("/cms/js/jquery/admin_bildconfirm.js", function(){
			});
		});
	};
*/

	// Admin Bilder
	if( $("form#bildliste").length ){
		$.getScript("/cms/js/jquery/admin_bilder.js") ;
	};
	if( $("form#bildedit").length ){
		$.getScript("/cms/js/jquery/admin_bilder_edit.js") ;
	};
	
	// Downloadkategorievorschauscript
	if( $("form#downloadkategorieedit").length ){
		$.getScript("/cms/js/jquery/admin_downloadkategorien.js") ;
	};
	
	// Downloadvorschauscript
	if( $("form#downloadedit").length ){
		$.getScript("/cms/js/jquery/admin_downloads.js") ;
	};

	// Downloadvorschauscript
	if( $("form#einstellungen").length ){
		$.getScript("/cms/js/jquery/admin_einstellungen.js") ;
	};
	
	// Produktgruppenvorschauscript
	if( $("form#produktgruppenedit").length ){
		$.getScript("/cms/js/jquery/plugins/jquery.form.js") ;
		$.getScript("/cms/js/jquery/admin_produktgruppe_preview.js") ;
	};

	// Produktvorschauscript
	if( $("form#produktedit").length ){
		$.getScript("/cms/js/jquery/plugins/jquery.form.js") ;
		$.getScript("/cms/js/jquery/admin_produkt_preview.js") ;
	};

	// Datumseingabe
	if( $(".dateinput").length ){
		
		var begin = $('#datum').val() ;
		
		var now = new Date();
		now.setHours(0,0,0,0);
		
		$('#datepicker').DatePicker({
			
			flat: true ,
			date: begin ,
			current: now ,
			format: 'd.m.Y' ,
			calendars: 1 ,
			position: 'bottom' ,
			starts: 1 ,
			view: 'days' ,
			onRender: function(date) {
				return {
						className: date.valueOf() == now.valueOf() ? 'datepickerSpecial' : false
				}
			},
			onChange: function( formated ){
				$('#datum').val( formated ) ;
			},
			locale: {
					days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"] ,
					daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"] ,
					daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"] ,
					months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] ,
					monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] ,
					weekMin: 'W'
			}
		});
		
		$("#datum").focus(function () {
			
			if ( $("#daterangewrapper").css("height") == "1px" || $("#daterangewrapper").css("display") == "none" ) {
				
				$("#daterangewrapper").css("display","none") ;
				$("#daterangewrapper").css("height","auto") ;
				$("#daterangewrapper").slideDown("slow") ;
			}
		});
		
		$("#datum").blur(function () {
			
			$("#daterangewrapper").slideUp("slow") ;
		});
		
	};

	// Datumsbereich
	if($("#daterange").length){
		
		var begin = $('#begin').val() ;
		var end = $('#end').val() ;
		
		var now = new Date();
		now.setHours(0,0,0,0);
		
		//$('#daterangewrapper').css('display', 'none');
		
		$('#daterange').DatePicker({
			
			flat: true ,
			date: [ begin, end ] ,
			current: now ,
			format: 'd.m.y' ,
			calendars: 2 ,
			mode: 'range' ,
			position: 'bottom' ,
			starts: 1 ,
			view: 'days' ,
			onRender: function(date) {
				return {
						className: date.valueOf() == now.valueOf() ? 'datepickerSpecial' : false
				}
			},
			onChange: function( formated ){
				$('#begin').val( formated[0] ) ;
				$('#end').val( formated[1] ) ;
			},
			locale: {
					days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"] ,
					daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"] ,
					daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"] ,
					months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] ,
					monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] ,
					weekMin: 'W'
			}
		});
		
		$(".daterange").focus(function () {
			if ( $("#daterangewrapper").css("height") == "1px" ) {
				
				$("#daterangewrapper").css("display","none") ;
				$("#daterangewrapper").css("height","inherit") ;
				$("#daterangewrapper").slideDown("slow") ;
			}
		});
		
		$('.setrange').click(function () {
			
			var vals = $(this).attr( "name" ) ;
			var values = vals.split(",") ;
			
			$('#begin').val( values[0] ) ;
			$('#end').val( values[1] ) ;
			$('#daterange').DatePickerSetDate( [ values[0], values[1] ], true ) ;
			return false ;
		});
		
	};

/* End */
});
