// general
$(document).ready(function() {

	// contact form via ajax
	$('#kontakt-form-form').submit(function() {
		if(typeof language == "undefined") {
			language = 'DE';
		}
		
		var form = $('#kontakt-form-form');
		var error = '';
		
		// validate
		var emailFilter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;

		if(form.find('input[name="firma"]').val() == '')
			error = error + (language == 'DE' ? 'Bitte eine Firma angeben. ' : 'Please enter a name. ' ) + "\n";	
		if(form.find('input[name="vorname"]').val() == '')
			error = error + (language == 'DE' ? 'Bitte einen Vornamen angeben. ' : 'Please enter a name. ')+ "\n";
		if(form.find('input[name="nachname"]').val() == '')
			error = error + (language == 'DE' ? 'Bitte einen Nachnamen angeben. ' : 'Please enter a name. ')+ "\n";
		if(form.find('input[name="strasse"]').val() == '')
			error = error + (language == 'DE' ? 'Bitte einen Straße angeben. ' : 'Please enter a street. ')+ "\n";
		if(form.find('input[name="plz_ort"]').val() == '')
			error = error + (language == 'DE' ? 'Bitte einen Ort angeben. ' : 'Please enter a city. ')+ "\n";
		if(!emailFilter.test(form.find('input[name="email"]').val()))
			error = error + (language == 'DE' ? 'Bitte eine gültige E-Mail-Adresse angeben. ' : 'Please enter a valid e-mail address. ')+ "\n";
	
		if(error == '') {
			var formData = form.serialize() + '&lang=' + language;
            var target = '/cms/' + $("input#id").val() + '/wk_ajax_kontakt';                        
            if(typeof($("input#hersteller").val()) != "undefined"){ 
                target = '/cms/' + $("input#id").val() + '/asp_hersteller_ajax_kontakt';                
            }   
            console.log(target);         
         	$.post(target, formData, function(response) {
				$('div#kontakt').html(response);
                return false;
			});
            
		} else {
			alert(error);
		}

		return false;
	});
	
	
	
	// slidebox slim
	// läuft erstmal nur in die eine Richtung, weil es viele Elemente drin sind.
	var rightButton = $('#aktuelleProdukte .rightButton.controlButton');
	var leftButton = $('#aktuelleProdukte .leftButton.controlButton');
	var autoButton = rightButton;
	var autoInterval = setInterval(moveSlider, 3000);
	
	$('#aktuelleProdukte .controlButton').click(function(event) {
		// automatic trigger?
		if(event.originalEvent) {
			clearInterval(autoInterval);
		}
	
		var listElem = $('#aktuelleProdukte ul');
		var move = listElem.find('li').outerWidth();

		var maxOffset = (listElem.find('li').length - 3) * move;


		if($(this).hasClass('rightButton')) {
			move *= -1;
		}
		var newPos = parseInt(listElem.css('left')) + move;
		if(newPos <= 0 && newPos >= maxOffset * -1)
			listElem.animate({'left': newPos + 'px'});
	});
	
	function moveSlider() {
		autoButton.trigger('click');
	}
    
    $('.showGoogleMap').click(function() {
		$('.googleMap').hide();
		
		var elem = $(this).parent().next('.googleMap');
		elem.show();
		elem.find('a.close').click(function() {
			elem.hide();
		});
		
		if (GBrowserIsCompatible()) {
			var coordLat = $(this).attr('coordlat');
			var coordLong = $(this).attr('coordlong');			
			var map = new GMap2(elem.find('.canvas').get(0));
			var point = new GLatLng(coordLat,coordLong);
			map.setCenter(point, 13);
			
			map.addControl(new GSmallMapControl());
			map.addOverlay(new GMarker(point));
		}
		$(window).unload(GUnload);
		
	});	
});


// Fatty Rubriken Ajax
function wkRubrikNew(by_js) {	
    var index = document.getElementById('_r').selectedIndex;
    var id = 0;	
    if (index == 0 && by_js) {
        rubrik = getQueryVariable('sv[wk_hauptrubrik_prod.id]');
        if (rubrik) id = rubrik;
    } else {
        id = document.getElementById('_r').options[document.getElementById('_r').selectedIndex].value.toString();		
    }  
   
    if (id != 0){        
        parameters = "id="+id+"&template=wk_unterrubrik_select&L="+lang;
        parameters_hersteller = "template=wk_ajax_hersteller_options&_r="+id+"&L="+lang;
		$('div#unterrubrikCell').load('/sixcms/detail.php', parameters);	
        document.getElementById('_ur').disabled = false;       
    } else {
        document.getElementById('_ur').disabled = true; 
        parameters_hersteller = "template=wk_ajax_hersteller_options&L="+lang;
    }
	$('#herstellerCell').load('/sixcms/detail.php', parameters_hersteller);
}


function wkUnterrubrikNew(by_js) {	
    var rubrik_index = document.getElementById('_r').selectedIndex;
    var rubrik_id = 0;	
    if (rubrik_index == 0 && by_js) {
        rubrik = getQueryVariable('sv[wk_hauptrubrik_prod.id]');
        if (rubrik) rubrik_id = rubrik;
    } else {
        rubrik_id = document.getElementById('_r').options[document.getElementById('_r').selectedIndex].value.toString();		
    }  


	var unterrubrik_index = document.getElementById('_ur').selectedIndex;
    var unterrubrik_id = 0;	
    if (unterrubrik_index == 0 && by_js) {
        unterrubrik = getQueryVariable('sv[wk_hauptrubrik_prod.id]');
        if (unterrubrik) unterrubrik_id = unterrubrik;
    } else {
        unterrubrik_id = document.getElementById('_ur').options[document.getElementById('_ur').selectedIndex].value.toString();		
    }
    
    if (unterrubrik_id != 0){
        parameters_hersteller = "template=wk_ajax_hersteller_options&_r="+rubrik_id+"&_ur="+unterrubrik_id;       
    } else {        
        parameters_hersteller = "template=wk_ajax_hersteller_options&L="+lang+"&L="+lang;
    }
	$('#herstellerCell').load('/sixcms/detail.php', parameters_hersteller);
}



function populateUnterrubrikContentNew(by_js) {
    var index = document.getElementById('unterrubrik').selectedIndex;
    var id = 0;
    id = document.getElementById('unterrubrik').options[document.getElementById('unterrubrik').selectedIndex].value.toString();
      
    if ((id != 0)) { 
        var params = 'id='+id+'&is_ajax=1&template=de_werkstattkatalog_unterrubrik_pure_asp&L='+lang;
        if (document.getElementById('lkw_flag')) {
        if (document.getElementById('lkw_flag').checked == true) {
               params += '&lkw_flag=on';
           }
           if (document.getElementById('pkw_flag').checked == true) {
               params += '&pkw_flag=on';
           }
         }
		 $('#content').load('/sixcms/detail.php', params);
    }    
}

function wkSearchSubmitNew() {
    var id = 0;
    id = document.getElementById('unterrubrik').options[document.getElementById('unterrubrik').selectedIndex].value.toString();
    if (id != 0) {
		$('#content').load('/sixcms/detail.php', 'sv[wk_unterrubrik.id]='+id+'&is_ajax=1&template=de_werkstattkatalog_suche_asp&L='+lang);
    }
}

function getQueryVariableNew(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  return false;
}


// slide box
var slideMove, autoDirection = -1, sliderInterval;
var zoomOptions = {
	title: false
}

function makeSlider() {
	var elements = $('#previewContainer div');
	slideMove = elements.eq(0).outerHeight();
	$('#previewContainer').height(slideMove * elements.size());
	
	sliderInterval = setInterval(moveAutomatic, 3000);
	
	$('#sliderPrev').click(moveSliderBackwards);
	$('#sliderNext').click(moveSliderForwards);
	
	elements.click(changeSliderImage);
	// init zoom
	var zOptions =
            {	zoomWidth: 300,
                zoomHeight: 250,
                title: false,
                showEffect:'show',
                hideEffect:'fadeout',
                fadeoutSpeed: 'slow'
            }           
		if($('#imageBox a').attr('href') != 'javascript:;') {
		$('#imageBox .makeZoom').jqzoom(zOptions);
	}
}

function moveSlider(direction) {
	var container = $('#previewContainer');
	var top = parseInt(container.css('top'));
	var maxTop = container.height() - slideMove * 2;
	
	if((Math.abs(top) < slideMove && direction == 1) || (Math.abs(top) >= maxTop && direction == -1)) {
		autoDirection *= -1;
		return;
	}
	
	container.animate({
		'top': (top + slideMove * direction) + 'px'
	});
}

function moveSliderBackwards() {
	clearInterval(sliderInterval);
	moveSlider(1);
}

function moveSliderForwards() {
	clearInterval(sliderInterval);
	moveSlider(-1);
}

function moveAutomatic() {
	moveSlider(autoDirection);
}

function changeSliderImage() {
	var elem = $(this).find('img');
	var newSrc = elem.attr('big');
	$('#imageBox img').attr('src', newSrc);
	$('#imageBox a').unbind('mousemove');
	var zoom = elem.attr('zoom');
	if(zoom) {
		var zOptions =
            {	zoomWidth: 400,
                zoomHeight: 250,
                title: false,
                showEffect:'show',
                hideEffect:'fadeout',
                fadeoutSpeed: 'slow'
            }         
		$('#imageBox a').attr('href', zoom);
		$('#imageBox .makeZoom').jqzoom(zOptions);
	} else {
		$('#imageBox a').attr('href', 'javascript:;');		
	}
}




