// JavaScript Document
$(document).ready(function() { 

 $("a.fancybox").fancybox( {
 	'frameWidth': 600,
 	'frameHeight': 320
 }); 
 
 $("a.fancybox_image").fancybox(); 

}); 


var j = 0;
var carousel_status = true;
// The function to browse forward
function next_item(pos){
	if(pos == -max_margin){
		animation.start('left', 0);
	} else {
		var newposition = pos - item_width;
		animation.start('left', newposition);
	}
}

// The function to browse backward
function previous_item(pos){
	if(pos == 0){
		animation.start('left', -max_margin);
	} else {
		var newposition = pos + item_width;
		animation.start('left', newposition);
	}
}

function clearField(element) {
	document.getElementById(element).value = '';
}

function blurField(element , name) {
	if ( document.getElementById(element).value == '' ) {
		document.getElementById(element).value = name; 
	}
}

function prev_img () {
	// Carousel section !
	var wrapper = $('wrap'); // The outer wrapper
	var carousel = $('carousel'); // The inner wrapper
	var items = $$('#carousel li'); // The different elements, this is an array
	var item_width = 116; // The full width of a single item (incl. borders, padding, etc ... if there is any)
	var max_margin = items.length * item_width - item_width - item_width ;
	
	var animation = new Fx.Tween(carousel, {duration: 500});
	var position = parseInt(carousel.getStyle('left'));
	//alert(position);
	if(position >= 0){
		animation.start('left', 0);
		if ( carousel_status == false ) {
			carousel_status = true;
		}
	} else {
		var newposition = position + item_width;
		animation.start('left', newposition);
		if ( carousel_status == true ) {
			carousel_status = false;
		} else if ( carousel_status == false ) {
			carousel_status = true;
		}
	}
}

function next_img () {
	// Carousel section !
	var wrapper = $('wrap'); // The outer wrapper
	var carousel = $('carousel'); // The inner wrapper
	var items = $$('#carousel li'); // The different elements, this is an array
	var item_width = 116; // The full width of a single item (incl. borders, padding, etc ... if there is any)
	var max_margin = items.length * item_width - item_width - item_width;
	
	var animation = new Fx.Tween(carousel, {duration: 500});
	var position = parseInt(carousel.getStyle('left'));
	//alert(position);	
	if(position <= -max_margin){
		animation.start('left', 0);
		if ( carousel_status == false ) {
			carousel_status = true;
		}
	} else {
		var newposition = position - item_width;
		animation.start('left', newposition);
		if ( carousel_status == true ) {
			carousel_status = false;
		} else if ( carousel_status == false ) {
			carousel_status = true;
		}
	}
}

var licznik = 1;

function showBigImage( src , el_class , last , src2) {
	$('#BigImage').attr('src', src );
	$('#BigImageLink').attr('href', src2 );
	
	//calculate ( el_class )
	
	//var numer_tab = id.split("_");
	//var numer = numer_tab[1];
	
	
}

function showBigImage2(element) {
	$('.cntTab .left .fancybox_image').each(function (index) {
			if (!$(this).hasClass('invisible')) {
				$(this).addClass('invisible');
			}
			if ($(this).hasClass('image_no_'+element)) {
				$(this).removeClass('invisible');
			}
		});
	
	//calculate ( el_class )
	
	//var numer_tab = id.split("_");
	//var numer = numer_tab[1];
	
	
}

function calculate ( el_class  ) {
	var klasa = $(el_class).attr('class');
	var id = $(el_class).attr('id');
		
	$("#"+id).removeClass(klasa);
	
	var strona_tab = klasa.split("_");
	var strona = strona_tab[0];
	
	if ( strona == 'right') {
		licznik++;
	}
	
	if ( strona == 'left') {
		licznik--;
	}
	
	alert( klasa+" "+id+" "+strona+" "+licznik );
}

function ToonAllPhoto() {
	if ( $('CarouselDiv').style.display == "block" ) {
		$('CarouselDiv').style.display = "none";
		$('AllPhotoDiv').style.display = "block";
	} else {
		$('CarouselDiv').style.display = "block";
		$('AllPhotoDiv').style.display = "none";
	}
		
}
// Validate User Form
function Focus(control) {
  control.focus();
  control.select();
}

function IsEmailCorrect(email) {
  return email.match(/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/)!=null;
}

function IsEmpty(pole) {
  if (pole=='') 
  	return true
	else
	return false
}

function checkUserForm() {

	var status = true;
	if (IsEmpty($('#firstname').attr('value')) && status) {

		alert('Voorletters');
		Focus($('#firstname'));
		status = false;
		}
	if (IsEmpty($('#lastname').attr('value')) && status) {
		alert('Achternaam');
		Focus($('#lastname'));
		status = false;
		}
	if (IsEmpty($('#birthdate').attr('value')) && status) {
		alert('Geboortedatum');
		Focus($('#birthdate'));
		status = false;
		}
	if (!IsEmailCorrect($('#email').attr('value')) && status) {
		alert('E-mail adres');
		Focus($('#email'));
		status = false;
	}
	if (!IsEmailCorrect($('#email2').attr('value')) && status) {
		alert('Herhaal E-mail adres');
		Focus($('#email2'));
		status = false;
	}
	if (IsEmpty($('#adres').attr('value')) && status) {
		alert('Adres');
		Focus($('#adres'));
		status = false;
	}
	if (IsEmpty($('#postcode').attr('value')) && status) {
		alert('Postcode');
		Focus($('#postcode'));
		status = false;
	}
	if (IsEmpty($('#huisnr').attr('value')) && status) {
		alert('Huisnr. (+toevoeging)');
		Focus($('#huisnr'));
		status = false;
	}
	if (IsEmpty($('#login').attr('value')) && status) {
		alert('Inloggen');
		var Name = $('#login').attr('value');
		Focus($('#login'));
		status = false;
	}
	if (IsEmpty($('#pass').attr('value')) && status) {
		alert('Wachtwoord');

		Focus($('#pass'));
		status = false;
	}
	if (IsEmpty($('#pass2').attr('value')) && status) {
		alert('Herhaal wachtwoord');
		Focus($('#pass2'));
		status = false;
	}
	
	if ( $('#email').attr('value') != $('#email2').attr('value') && status ) {
		alert('email 1 en email 2 zijn niet gelijk');
		Focus($('#pass2'));
		status = false;
	}
	if ( $('#pass2').attr('value') != $('#pass').attr('value') && status ) {
		alert('wachtwoord 1 en wachtwoord 2 zijn niet gelijk');
		Focus($('#pass2'));
		status = false;
	}
	
	if ( status ) {
		$.post("http://www.matchmakelaars.nl/ajax.php", { Func: "checkUser", Name: Name },
  			function(data){
    		var data2 = data.split("|");
				if ( data2[1] == '0' ) {
					alert("Deze naam is al ingebruik. Kies een andere loginnaam.");
					Focus($('#login'));
				}
				if ( data2[1] == '1' ) {
					document.forms['form'].submit();
				}
  		});

		/*
		var req = new Request({method: 'post', url: 'http://www.matchmakelaars.nl/ajax.php'});
			var Name = $('login').value;
			req.send('Func=checkUser&Name='+Name);
			req.addEvent( 'success',  function( txt )  {
				var data = txt.split("|");
				if ( data[1] == '0' ) {
					alert("Deze naam is al ingebruik. Kies een andere loginnaam.");
					Focus($('#login'));
				}
				if ( data[1] == '1' ) {
					document.forms['form'].submit();
				}
		});	
		*/
	}
	

}

function checkUserForm2() {

	var status = true;

	if (IsEmpty($('#firstname').attr('value') ) && status) {
		alert('Voorletters');
		Focus($('#firstname'));
		status = false;
		}
	if (IsEmpty($('#lastname').attr('value')) && status) {
		alert('Achternaam');
		Focus($('#lastname'));
		status = false;
		}
	if (IsEmpty($('#birthdate').attr('value')) && status) {
		alert('Geboortedatum');
		Focus($('#birthdate'));
		status = false;
		}
	if (!IsEmailCorrect($('#email').attr('value')) && status) {
		alert('E-mail adres');
		Focus($('#email'));
		status = false;
	}
	if (IsEmpty($('#adres').attr('value')) && status) {
		alert('Adres');
		Focus($('#adres'));
		status = false;
	}
	if (IsEmpty($('#postcode').attr('value')) && status) {
		alert('Postcode');
		Focus($('#postcode'));
		status = false;
	}
	if (IsEmpty($('#huisnr').attr('value')) && status) {
		alert('Huisnr. (+toevoeging)');
		Focus($('#huisnr'));
		status = false;
	}
	if (IsEmpty($('#pass').attr('value')) && status) {
		alert('Wachtwoord');
		Focus($('#pass'));
		status = false;
	}
	if (IsEmpty($('#pass2').attr('value')) && status) {
		alert('Herhaal wachtwoord');
		Focus($('#pass2'));
		status = false;
	}
	
	if ( $('#pass2').attr('value') != $('#pass').attr('value') && status ) {
		alert('wachtwoord 1 en wachtwoord 2 zijn niet gelijk');
		Focus($('#pass2'));
		status = false;
	}
	
	if ( status ) {
		document.forms['form'].submit();
	}
}
//Search section
var duration_sek = 500;
function displayNone ( id ) {
	document.getElementById(id).style.display = 'none';	
}

function displayBlock ( id ) {
	document.getElementById(id).style.display = 'block';
	document.getElementById(id).style.height = 0;
}

function setSearch ( FormType ) {
	var req = new Request({method: 'post', url: 'http://www.matchmakelaars.nl/ajax.php'});
	req.send('Func=FormType&FormType='+FormType);
	req.addEvent( 'success',  function( txt )  {
	});
}

function showSearch1 () {
	setSearch ('1');
	/*var myEffect = new Fx.Morph( "search2" , {duration: duration_sek} );
 	myEffect.start({
		'height': 0 ,
    	'opacity': 0
	});
	var myEffect = new Fx.Morph( "search3" , {duration: duration_sek} );
 	myEffect.start({
		'height': 0 ,
    	'opacity': 0
	});
	myEffect.addEvent('complete' , function () {*/
		displayNone('search2');
		displayNone('search3');
	//});
	displayBlock('search1');
	var myEffect2 = new Fx.Morph( "search1" , {duration: duration_sek} );
 	myEffect2.start({
		'height': 80 ,
    	'opacity': 1
	});
	myEffect2.addEvent('complete' , function () {
		search();	
	});
	//if ( ResultLat.length > 0 ) {
	//	setCenterMap( ResultLat[0] , ResultLng[0] );
	//}
}

function showSearch2 () {
	setSearch ('2');
	

	/*var myEffect = new Fx.Morph( "search1" , {duration: duration_sek} );
 	myEffect.start({
		'height': 0 ,
    	'opacity': 0
	});
	var myEffect = new Fx.Morph( "search3" , {duration: duration_sek} );
 	myEffect.start({
		'height': 0 ,
    	'opacity': 0
	});
	myEffect.addEvent('complete' , function () {*/
		displayNone('search1');
		displayNone('search3');
	//});
	displayBlock('search2');
	var myEffect2 = new Fx.Morph( "search2" , {duration: duration_sek} );
 	myEffect2.start({
			'height': 336 ,
    		'opacity': 1
	});
	
	myEffect2.addEvent('complete' , function () {
		search();	
	});
	//if ( ResultLat.length > 0 ) {
	//	setCenterMap( ResultLat[0] , ResultLng[0] );
	//}
}

function showSearch3 () {
	setSearch ('3');
	/*var myEffect = new Fx.Morph( "search2" , {duration: duration_sek} );
 	myEffect.start({
		'height': 0 ,
    	'opacity': 0
	});
	myEffect.addEvent('complete' , function () {*/
		displayNone('search2');
		
	//});
	displayBlock('search3');
	var myEffect2 = new Fx.Morph( "search3" , {duration: duration_sek} );
 	myEffect2.start({
		'height': 336 ,
    	'opacity': 1
	});
	myEffect2.addEvent('complete' , function () {
		search();	
	});

	//if ( ResultLat.length > 0 ) {
	//	setCenterMap( ResultLat[0] , ResultLng[0] );
	//}
}

function ChangeCity (FormNr) {
	if ( $('City'+FormNr).value == '' ) { 
		$('Street'+FormNr).disabled = 'disabled'; 
		$('Street'+FormNr).value = '';
		$('Postalcode'+FormNr).removeAttribute("disabled");
		$('Area'+FormNr).removeAttribute("disabled");
	}
	else { 
		$('Postalcode'+FormNr).disabled = 'disabled';
		$('Postalcode'+FormNr).value = 'Postcode...';
		$('Area'+FormNr).disabled = 'disabled';
		$('Area'+FormNr).value = '';
		
		var req = new Request({method: 'post', url: 'http://www.matchmakelaars.nl/ajax.php'});
		req.send('Func=getAddress&City='+$('City'+FormNr).value);
		
		req.addEvent( 'success',  function( txt )  {
			var i = 0;
			$('Street'+FormNr).removeAttribute("disabled");
			$('Street'+FormNr).value = '';
			var lenght = $('Street'+FormNr).options.length;
			for ( i = 0 ; i < lenght - 1 ; i++ ) {
				var option_node = $(FormNr+'_'+i);
				$('Street'+FormNr).removeChild(option_node);
			}

			var data = txt.split("<|>");
			for ( i = 0 ; i < data.length ; i++ ) {
				var option = document.createElement("option");
				option.setAttribute("id" , FormNr+"_"+i);
				option.setAttribute( "value" , data[i] );
				option.innerHTML = data[i];
				$('Street'+FormNr).appendChild(option);
			}
			
		});
	}
}
//////////////////
/// GOOOOOOOOOOOOOOGGGGGGGGGGLEEEEEEEEEEEEEEEE MAPS Section !!! ////////////////////////////
function setCenterMap ( Lat , Lng ) {
	
	//map3.setCenter( new GLatLng ( Lat , Lng ) , 14 );
	map2.setCenter( new GLatLng ( Lat , Lng ) , 12 );
	//map1.setCenter( new GLatLng ( Lat , Lng ) , 12 );
}
function search() {
	if (GBrowserIsCompatible()) {
		//var geo2 = new GClientGeocoder();
		//var map1 = new GMap2(document.getElementById("map1"));
		//var map2 = new GMap2(document.getElementById("map2"));
		//map2.setCenter(new GLatLng( 52.11 , 4.12 ), 6);
		//map2.addControl(new GSmallMapControl());
		//map2.enableScrollWheelZoom();
		
		var map1 = new GMap2(document.getElementById("map1"));
		map1.setCenter(new GLatLng( 52.11 , 4.12 ), 6);
		map1.addControl(new GSmallMapControl());
		map1.enableScrollWheelZoom();
		
		//var map3 = new GMap2(document.getElementById("map3"));
		//map3.setCenter(new GLatLng( 52.21 , 4.52 ), 7);
		//map3.addControl(new GSmallMapControl());
		//map3.addControl(new GMapTypeControl()); 
		//map3.addControl(new GScaleControl());
		//map3.enableScrollWheelZoom(); 
		
		/* geolocate function */
		var addMarker = function( result , markText ) {
			//var marker = new GMarker(result);
			var marker1 = new GMarker(result);
			//var marker2 = new GMarker(result);
			//marker.txt = markText; 
			map1.addOverlay(marker1);
			//map2.addOverlay(marker2);
			//map3.addOverlay(marker); 
			//GEvent.addListener(marker,"click",function() {   
			//	marker.openInfoWindowHtml(marker.txt);   
        	//}); 
		} 
		//////////////////////////////////////////
		var i;
		for ( i = 0 ; i < ResultLat.length ; i++ ) {
			if ( i == 0 ) {
				//map3.setCenter(new GLatLng( ResultLat[i] , ResultLng[i] ), 12);
				//map2.setCenter(new GLatLng( ResultLat[i] , ResultLng[i] ), 14);
				map1.setCenter(new GLatLng( ResultLat[i] , ResultLng[i] ), 14);
			}
			
			addMarker( new GLatLng ( ResultLat[i] , ResultLng[i] ) , MarkerText[i] );
		}
		
	}
}

function search_simple( FormType ) {
	if (GBrowserIsCompatible()) {
		var map1 = new GMap2(document.getElementById("map1"));
		if ( FormType == 4 ) { 
			map1.setCenter(new GLatLng( ResultLat[0] , ResultLng[0] ), 10);
		} else {
			map1.setCenter(new GLatLng( 52.11 , 4.12 ), 6);
		}
		
		map1.addControl(new GSmallMapControl());
		map1.enableScrollWheelZoom();
		
		// Create a base icon for all of our markers that specifies the
		// shadow, icon dimensions, etc.
		var baseIcon = new GIcon(G_DEFAULT_ICON);
		baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
		baseIcon.iconSize = new GSize(20, 34);
		baseIcon.shadowSize = new GSize(37, 34);
		baseIcon.iconAnchor = new GPoint(9, 34);
		baseIcon.infoWindowAnchor = new GPoint(9, 2);

	
		/* geolocate function */
		var addMarker = function( result , markText , index ) {
			if ( index < 26 ) {
			// Create a lettered icon for this point using our icon class
			var letter = String.fromCharCode("A".charCodeAt(0) + index);
  			var letteredIcon = new GIcon(baseIcon);
  			letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";			
  			// Set up our GMarkerOptions object
			markerOptions = { icon:letteredIcon };
			} else {
				markerOptions = { };
			}
			
			var marker = new GMarker(result, markerOptions);
			if ( FormType == 4 ) { 
				marker.txt = markText;
			}			
			map1.addOverlay(marker);
			
			if ( FormType == 4 ) { 
				GEvent.addListener(marker,"click",function() {   
					marker.openInfoWindowHtml(marker.txt);   
        	 	}); 
        	}
		} 
		//////////////////////////////////////////
		var i;
		for ( i = 0 ; i < ResultLat.length ; i++ ) {
			addMarker( new GLatLng ( ResultLat[i] , ResultLng[i] ) , MarkerText[i] , i );
		}
		
	}
}

function one () {
	var geo2 = new GClientGeocoder();
	var map2 = new GMap2(document.getElementById("map"));
	map2.addControl(new GSmallMapControl());
	map2.enableScrollWheelZoom();
	
	/* geolocate function */
	var addMarker = function(search) {
		geo2.getLatLng(search, function (result)
		{
			if (result != null ) {
				map2.setCenter(result, 16);
				var marker = new GMarker(result);
				map2.addOverlay(marker);
			} else {		
				
			}
		});
	}
	//////////////////////////////////////////
	
	addMarker(ResultMarker);
}

function updateLatLng() {
	//alert("update");
	
	var geo2 = new GClientGeocoder();
	if ( j < ResultMarker.length ) {
		geo2.getLatLng( ResultMarker[j] , function (result )
		{
			if (result != null ) {
				updateAjax( result.lat() , result.lng() );
			} else {
				j++;
				updateLatLng()
			}
		});
	}
		//updateAjax( Lat , Lng ); 
}

function updateAjax ( Lat , Lng ) {
	//alert("ajax");
	var req = new Request({method: 'post', url: 'http://www.matchmakelaars.nl/ajax.php'});
	req.send('Func=LatLng&Lat='+Lat+'&Lng='+Lng+'&id_='+ResultId[j]+'&j='+j );
	j++;
	req.addEvent( 'success',  function( txt )  {
		updateLatLng();
	});

}
