window.addEvent('domready', function(){

	var drop = $('droparea');
	var dropFx = drop.effect('background-color', {wait: false}); // wait is needed so that to toggle the effect,
	var lang = $$('html').getProperty('lang');
	
	$$('.dragitem').each(function(item){
		
		item.addEvent('mouseover', function(e) {drop.addClass('highlighted');});
		item.addEvent('mouseout', function(e) {drop.removeClass('highlighted');});
		item.addEvent('mousedown', function(e) {
			if(item.hasClass('disabled')) return false;
			e = new Event(e).stop();
			var clone = this.clone()
				.setStyles(this.getCoordinates()) // this returns an object with left/top/bottom/right, so its perfect
				.setStyles({'opacity': 0.7, 'position': 'absolute'})
				.setOpacity('0.7')
				.addEvent('emptydrop', function() {
					this.remove();
					drop.removeEvents();
					drop.removeClass('highlighted');
					drop.setStyle('background-color','transparent');
					
				}).inject(document.body);
				
			drop.setStyle('background-color','#FF8901');			
			drop.addEvents({
				'drop': function() {
					drop.removeEvents();
					clone.remove();
					drop.removeClass('highlighted');
					drop.removeClass('dragging');				
					
					if(item.id == 'k10'){
						$$('.postal').each(function(itempost){
							itempost.setProperty('checked','checked');														
						});
						
						$('download').setProperty('disabled','disabled');
						dltext = $('download').getNext();
						if(lang == 'de') dltext.innerHTML = '(Download nur ohne CD)';
						else dltext.innerHTML = '(download only without CD)';
							//itemdl.setStyle('display','none');
							//itemdl.getNext().setStyle('display','none');
							//itemdl
							//itemdl.getNext().setText('download only w/o CD');
						//});	
					}
					
					item.clone()
						.inject(drop)	
						.addClass('toolTip')
						.setProperty('id','k_'+item.id)
						//.setStyles({'border':'solid 1px','top': 0,'left': 0})
						.addEvent('emptydrop', function() {
							this.setStyles({'top': 0,'left': 0})					
						}).inject(drop);
						
					// end of chain
					
					dropFx.start('FFFFFF').chain(dropFx.start.pass('efefef', dropFx));
					
					item.addClass('disabled');
					item.getParent().addClass('checked');
					$('check_'+item.id+'').checked = 'true';

					trash();
				},
				'over': function() {
					dropFx.start('FF8901');
				},				
				'leave': function() {
					dropFx.start('efefef');
				}		
			});
	 
			var drag = clone.makeDraggable({
				droppables: [drop]
			}); // this returns the dragged element
	 
			drag.start(e); // start the event manual
		});	
		
	});
	
	$$('.katalog input').each(function(check){
		check.addEvent('mouseup', function() {
			check.getParent().toggleClass('checked');
			cartitem = check.id.substr(6);
			$(cartitem).toggleClass('disabled');
			var k_cartitem = $('k_'+cartitem+'');
			if(k_cartitem && k_cartitem.getStyle('width') != 0) {
				$('k_'+cartitem+'').setStyle('display','none').remove();
				if(cartitem == 'k10'){
					$('download').setProperty('disabled','');		
					dltext = $('download').getNext();
					dltext.innerHTML = 'Download';
				}
			} else { 
				$(cartitem).clone().setProperty('id','k_'+cartitem).injectInside($('droparea'));
				if(cartitem == 'k10'){
					$$('.postal').each(function(itempost){
						itempost.setProperty('checked','checked');														
					});	
					
					$('download').setProperty('disabled','disabled');
						dltext = $('download').getNext();
						if(lang == 'de') dltext.innerHTML = '(Download nur ohne CD)';
						else dltext.innerHTML = '(download only without CD)';
					
				}
				
				trash();
			}
		});
		/* this prevents strange behavior in ie: */
		check.addEvent('dblclick',function(){check.setProperty('checked',check.getParent().hasClass('checked'))});
	});
	
	

});

function toolTips() {
	if($$('.toolTip')) {
		var myTips = new Tips($$('.toolTip'), {
			maxTitleChars: 999,   //I like my captions a little long
			hideDelay: 100,
			showDelay: 400
		});
	}
}

function trash() {
	var fx = [];
	var i = 0;
	var de = new Array();
	
	$$('#droparea .dragitem').each(function(drag){
		dragger = new Drag.Move(drag, {
			droppables: $('trash'), container: $('dragcontainer1')
		});
	 
		drag.addEvent('emptydrop', function(){
			//drag.remove();
		});
		drag.addEvent('mouseover', function(){
			$('trash').setStyle('background-image','url("/fileadmin/sys/gfx/katalogbestellung.trashcan_act.gif")');
		});
		drag.addEvent('mouseout', function(){
			$('trash').setStyle('background-image','url("/fileadmin/sys/gfx/katalogbestellung.trashcan.gif")');
		});
		//drag.addEvent('mousedown', function(e){});
	});
	
	$('trash').addEvents({
			'over': function(el, obj){
				this.setStyle('background-color', '#FF8901');
				
				//var fx = new Fx.Styles(el, {duration:500, wait:false});
				//fx.start({'width': '60', 'height':'90'});
			},
			'leave': function(el, obj){
				this.setStyle('background-color', 'transparent');
			},
			'drop': function(el, obj){
				//console.log('dropped, i='+i+'');
				//$('trash').removeEvents();
				this.setStyle('background-color', 'transparent');
				
				//var myFx = new Fx.Styles(el, {duration:500, wait:false});
				//myFx.start({'opacity': '0','width': '0','height':'0','bottom':'0','right':'0','margin':'0'});
				//myFx.start({'opacity':'0','width': '0','height':'0','margin':'0','display':'none'});
				//myFx.start({'opacity':'0','width': '0','height':'0','margin':'0'});
				
				cartitem = el.id.substr(2);
				$(cartitem).removeClass('disabled');
				$(cartitem).getParent().removeClass('checked');
				$('check_'+cartitem+'').setProperty('checked','');
				
				if(cartitem == 'k10'){					
					$('download').setProperty('disabled','');		
					dltext = $('download').getNext();
					dltext.innerHTML = 'Download';					
				}
				el.setProperty('class','deleted');
				//console.log(obj);
				try { el.remove(); }
				catch (e) {}
			}
		});
	
	
}

// add required fields selection

function requiredfields(sel) {
	notreq = new Array("strasse","plz","ort","land");
	
	if(sel == 'download') {
		notreq.each(function(field) {
			text = $E('label[for='+field+']').firstChild.data;
			if(text.contains('*')) {
				newtext = text.replace(/\*/g,"");
				$E('label[for='+field+']').firstChild.data = newtext;
			}
		});
	}
	
	if(sel == 'post') {
		notreq.each(function(field) {
			text = $E('label[for='+field+']').firstChild.data;
			if(!text.contains('*')) {
				$E('label[for='+field+']').firstChild.data = text + ' *';
			}
		});
	}
	
}

function catalogueSubmit(){
	var lang = $$('html').getProperty('lang');
	var submit = true;
	var submitCatalogue = false;
	var fill_error_en = '';
	var fill_error_de = '';
	
	if($('download').checked) {		
		req = new Array("firma","vorname","nachname","email","telefon");
		req.each(function(field) {
			$(field).removeClass('form-error');
			if($(field).value == '') {
				submit = false;
				$(field).addClass('form-error');
			}
			
			if(!submit){
				fill_error_en = 'Attention!<br />Please fill out all required fields.';
				fill_error_de = 'Achtung!<br />Bitte f&uuml;llen Sie alle Pflichtelder aus.';			
			}
			
			if($(field).name == 'tx_mzkullenproductctlg_pi2[contact][email]'){
				emailCheck = checkEMail($(field).value);		
				if(!emailCheck){
					submit = false;
					fill_error_en += ' Incorrect e-mail address.';
					fill_error_de += ' Ung&uuml;ltige E-Mail Adresse.';
					$(field).addClass('form-error');
				}
			}
		});
	}
	
	if($('postal').checked) {
		req = new Array("firma","vorname","nachname","strasse","plz","ort","land","email","telefon");
		req.each(function(field) {			
			$(field).removeClass('form-error');
			if($(field).value == '') {
				submit = false;
				$(field).addClass('form-error');
			}
			
			if(!submit){
				fill_error_en = 'Attention!<br />Please fill out all required fields.';
				fill_error_de = 'Achtung!<br />Bitte f&uuml;llen Sie alle Pflichtelder aus.';			
			}
			
			if($(field).name == 'tx_mzkullenproductctlg_pi2[contact][email]'){
				emailCheck = checkEMail($(field).value);		
				if(!emailCheck){
					submit = false;
					fill_error_en += ' Incorrect e-mail address.';
					fill_error_de += ' Ung&uuml;ltige E-Mail Adresse.';
					$(field).addClass('form-error');
				}
			}
		});
	}
	
	
	$$('.dragitem').each(function(item){		
		if($('check_'+item.id+'').checked){
			submitCatalogue = true;
		}	
	});
	
	if(!submit || !submitCatalogue){
		
		if(!submitCatalogue){
			fill_error_en += ' Please choose a catalogue.';
			fill_error_de += ' Bitte w&auml;hlen Sie einen Katalog aus.';
		}
		
		$('warning').setHTML('<div class="error">'+eval('fill_error_'+lang)+'</div>');
	}else{
		$('warning').setStyle('display','none');
		if($('download').checked){
			if(lang == 'en')
				$('catalogueorder').setProperty('action','index.php?id=515&L=1&no_cache=1');
			else
				$('catalogueorder').setProperty('action','index.php?id=515&no_cache=1');		
		}else if($('postal').checked){
			if(lang == 'en')
				$('catalogueorder').setProperty('action','index.php?id=929&L=1&no_cache=1');
			else
				$('catalogueorder').setProperty('action','index.php?id=929&no_cache=1');
		}	
		$('catalogueorder').submit();
	}
}

function checkEMail(s){
  var a = false;
  var res = false;
  if(typeof(RegExp) == 'function'){
    var b = new RegExp('abc');
    if(b.test('abc') == true){a = true;}
  }

  if(a == true){
    reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                     '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                     '(\\.)([a-zA-Z]{2,4})$');
    res = (reg.test(s));
  }else{
    res = (s.search('@') >= 1 &&
           s.lastIndexOf('.') > s.search('@') &&
           s.lastIndexOf('.') >= s.length-5)
   }
  return(res);
}