$(document).ready(function() {
//alert(language);
var dropDownTimeout = -1;
var galleryImageTimeout = -1;
		
	$(window).resize(function(){												//resize sideBrowsers on window resize
		imageHeight = $('div#overlay div.content img').attr('height');
		holderHeight = $('div#overlay div.content').height();
		dy = Math.ceil((holderHeight-imageHeight)/2);		
		$('div#overlay div.content img').css('margin-top',dy+'px');
	});

// menu paddings resize
	topMenuLargeWidth = $('div.topMenuLarge > ul').width();
	topMenuLargeItems = $('div.topMenuLarge > ul > li').length;
	addedPaddings = Math.floor((960 - topMenuLargeWidth) / (topMenuLargeItems *2));
	$('div.topMenuLarge > ul > li a').css("padding-left",addedPaddings);
	$('div.topMenuLarge > ul > li a').css("padding-right",addedPaddings);
	//$('div.topMenuLarge > ul > li').last().css('background','none');
	
// img holder clickable links

$('a span.imageHolder span img').live('click',function(){
	window.location.href = $(this).parents('a').attr('href');

});
	
// Menu effects
	if (ie6==false) {
		$('div.topMenuLarge > ul > li > a').addClass('enhanced');
		$('div.topMenuLarge > ul > li > a').before('<div class="enhanced"></div>');
		$('div.topMenuLarge > ul > li > div.enhanced').hide();
		
		$('div.topMenuLarge > ul > li a.enhanced').hover(
		function(){
			$(this).parent().find('div.enhanced').stop(true, true);
			$(this).parent().find('div.enhanced').fadeIn("fast");
		},function(){
			$(this).parent().find('div.enhanced').fadeOut("slow");
		});
	}
	
	
// Language DropDownMenu
$('form#languageForm').hide();
$('div#languageSelect').show();

	$('div#languageSelect').mouseenter(function(){
		dropDownTarget = $(this);
		dropDownTimeout = setTimeout('dropDownDown(dropDownTarget)',400);
	});
	$('div#languageSelect').click(function(){
		dropDownDown($(this));
	});
	$('div#languageSelect').mouseleave(function(){
		clearTimeout(dropDownTimeout);
		dropDownUp($(this));
	});	
	
	
// Search Form
//if (ie6==false) {
	//$('form#searchForm').hide();
	//$('div.searchArea').show();
//}

	var zCounter = 1000; // sort z-depth in drop down boxes
	$('div.searchArea div.select').each(function(){
			$(this).css('z-index',zCounter);
			zCounter--;
	 });
	delete zCounter;


	$('div.dropDown').mouseenter(function(){
		dropDownTarget = $(this);
		dropDownTimeout = setTimeout('dropDownDown(dropDownTarget)',600);
	});
	$('div.dropDown a.selected').toggle(function(){
				dropDownDown($(this).parent());
		},
		function(){
				dropDownUp($(this).parent());
		
	});
	$('div.dropDown').mouseleave(function(){
		clearTimeout(dropDownTimeout);
		dropDownUp($(this));
	});	
	
	
	$('div.dropDown a').click(function(){
		if ($(this).hasClass('selected') == false){
			$(this).parent().parent().find('a.selected').attr('rel',$(this).attr('rel'));
			$(this).parent().parent().find('a.selected').html($(this).html());
			$(this).parent().find('a').removeClass('hidden');
			$(this).addClass('hidden');
			dropDownUp($(this).parent().parent());			
		} 
		
		if ($(this).attr('rel') == 'sale'){
			$('a#searchArea_priceFrom').parent().parent().removeClass('hidden');
			$('a#searchArea_rentFrom').parent().parent().addClass('hidden');			
		}
		if ($(this).attr('rel') == 'rent'){
			$('a#searchArea_priceFrom').parent().parent().addClass('hidden');
			$('a#searchArea_rentFrom').parent().parent().removeClass('hidden');	
		}

		return false;
	});
	
	
	$('div.searchArea div.button a').click(function(){
		if ($('a#searchArea_contract').attr('rel') == 'sale'){
			queryPriceFrom = $('a#searchArea_priceFrom').attr('rel');
			queryPriceTo = $('a#searchArea_priceTo').attr('rel');
		} else {
			queryPriceFrom = $('a#searchArea_rentFrom').attr('rel');
			queryPriceTo = $('a#searchArea_rentTo').attr('rel');
		}
		window.location='/'+language+'/properties/'+$('a#searchArea_contract').attr('rel')+'/'+$('a#searchArea_type').attr('rel')+'/'+$('a#searchArea_location').attr('rel')+'/'+$('a#searchArea_areaFrom').attr('rel')+'-'+$('a#searchArea_areaTo').attr('rel')+'/'+queryPriceFrom+'-'+queryPriceTo+'/';
		
	return false;																	
	});
	
	
	
	$('form.enhanced input[type=checkbox]').each(function(){
		$(this).addClass('hidden');																											
		if ($(this).attr('checked')!=false){
			checked = 'checked';
		} else {
			checked = '';
		}
		if ($(this).attr('disabled')!=false){
			disabled = 'disabled';
		} else {
			disabled = '';
		}
		
		$(this).after('<a href="#" class="checkbox '+checked+' '+disabled+'"></a>');

	});	
	
	
	$('form.enhanced input[type=submit]').each(function(){ //prettify buttons
		$(this).after('<a class="button colorButton2" href="#"><span class="label">'+$(this).attr('value')+'</span><span class="'+$(this).attr('class')+'"></span></a>');
		$(this).addClass('hidden');	
	});
	

	
	$('form#guideBook a.button, form#propertyFiles a.button').click(function(){
		
		currentForm=$(this).parent().parent().parent().parent();
		
		
		if (validateForm($(currentForm))==true){
			if ($(currentForm).attr('id')=='propertyFiles'){
				$('form#guideBook input[name="name"]').val($('form#propertyFiles input[name="name"]').val());
				$('form#guideBook input[name="email"]').val($('form#propertyFiles input[name="email"]').val());
				$('form#guideBook input[name="phone"]').val($('form#propertyFiles input[name="phone"]').val());
			} else {
				$('form#propertyFiles input[name="name"]').val($('form#guideBook input[name="name"]').val());
				$('form#propertyFiles input[name="email"]').val($('form#guideBook input[name="email"]').val());
				$('form#propertyFiles input[name="phone"]').val($('form#guideBook input[name="phone"]').val());
			}
			
			$.post("_commCenter.php", $('form#guideBook').serialize(),
				 function(data){
					$('form#guideBook').before(data);
					$('form#guideBook').remove();
				 });
			$.post("_commCenter.php", $('form#propertyFiles').serialize(),
				 function(data){
					$('form#propertyFiles').parent().find('p').remove();
					$('form#propertyFiles').before(data);
					$('form#propertyFiles').remove();
				 });		 
		};
		return false;
	});
	
	

	$('form#inquire a.button').click(function(){
		if (validateForm($('form#inquire'))==true){
			$.post("_commCenter.php", $('form#inquire').serialize(),
				 function(data){
					$('form#inquire').before(data);
					$('form#inquire').remove();
				 });
		};
		return false;
	});
	
	$('form#message a.button').click(function(){
		if (validateForm($('form#message'))==true){
			$.post("_commCenter.php", $('form#message').serialize(),
				 function(data){
					$('form#message').before(data);
					$('form#message').remove();
				 });
		};
		return false;
	});
	
	$('form#newsletter a.button').click(function(){
		if (validateForm($('form#newsletter'))==true){
			$.post("_commCenter.php", $('form#newsletter').serialize(),
				 function(data){
					$('form#newsletter').before(data);
					$('form#newsletter').remove();
				 });
		};
		return false;
	});



	$('a.checkbox').click(function(){
		if ($(this).hasClass('disabled') == false){
			if ($(this).hasClass('checked') == false) {
				$(this).addClass('checked');
			} else {
				$(this).removeClass('checked');
			}
		}
		
		if ($(this).hasClass('disabled')==true){
			$(this).parent().find('input[type=checkbox]').attr('disabled','disabled');
		} else {
			$(this).parent().find('input[type=checkbox]').removeAttr('disabled');
		}
		
		if ($(this).hasClass('checked')==true){
			$(this).parent().find('input[type=checkbox]').attr('checked','checked');
		} else {
			$(this).parent().find('input[type=checkbox]').removeAttr('checked');
		}
		
		return false;
	});
	
	
	// gallery 

	$('a.galleryNav').click(function(){
		//alert ($(this).hasClass('disabled'));
		if (!$(this).hasClass('disabled')) {
			currentPage = $(this).parent().find('ul').not('.hidden').attr('class');																				 
			currentPage = currentPage.substring(4,currentPage.length)
	
			if ($(this).hasClass('next')){
				otherPage = parseInt(currentPage)+1;
			} else {
				otherPage = parseInt(currentPage)-1;
			}
	
			$(this).parent().find('ul.page'+currentPage).fadeOut('slow',function(){
				$(this).addClass('hidden');
				$(this).parent().find('ul.page'+otherPage).fadeIn('slow',function(){
				});
				$(this).parent().find('ul.page'+otherPage).removeClass('hidden');
			});
		
			if(otherPage == 0){
				$('a.galleryNav.prev').addClass('disabled');
			} else {
				$('a.galleryNav.prev').removeClass('disabled');
			}
			//alert($(this).parent().find('ul').length);
			if ($(this).parent().find('ul').length == (otherPage+1)){
				$('a.galleryNav.next').addClass('disabled');
			} else {
				$('a.galleryNav.next').removeClass('disabled');
			}
		}
		return false;
	});
	
	$('div.galleryList ul a').click(function(){
		var remote = '';
		if ($(this).parents('div#gallery').attr('class')=="remote"){
			remote = '&r=1';
		}
		var imageTitle = $(this).parent().attr('title');
		var imageDescription = $('<p class="description">'+imageTitle+'</p>');
		var physicalName = $(this).attr('rel');
		$('div.mainImage').find('img').fadeTo('slow',0);
		$('div.mainImage p.description').fadeOut('fast');
		$.get('/_getImage.php?b=2&i='+physicalName+'&w=436&h=400&q=60&s=F,0,0,0&x='+remote, function(data){
				$('div.mainImage').html(data);
			$('div.mainImage').append(imageDescription);
		});
		return false;	
	});

$('div.mainImage img').css('cursor','pointer');


//overlay

$('body').append('<div id="overlay"><div class="background"></div><div class="content"></div></div>');

$('div#overlay *').live('click',function(){
	hideOverlay();
});

$('div.mainImage img, img.map').live('click',function(){
	var remote = '';
		if ($(this).parents('div#gallery').attr('class')=="remote"){
			remote = '&r=1';
		}
	$.get('/_getImage.php?b=0&i='+getPhysicalName($(this).attr('src'))+'&w=900&h=900&q=60&s=B&x='+remote, function(data){
	
		//console.log(data);
		$('div#overlay div.content').append(data);
		$(window).resize();
	});
	showOverlay();
});


// Option Pseudo Controls

$('span.option').click(function(){
	var rel = $(this).attr('rel');
	$('span.option[rel="'+rel+'"]').removeClass('selected');
	$(this).addClass('selected');
	$('input#'+rel).val($(this).attr('rev'));
	return false;
});


});  //----- end of document.ready------


function showOverlay(){
	if (ie6==false) {
		$('div#overlay').fadeIn('slow');
		$('div#overlay div.content').fadeIn('slow');
		$('div#overlay div.background').fadeTo('normal',0.5);
	}
}

function hideOverlay(){
	if (ie6==false) {
		$('div#overlay div.background').fadeOut('fast');
		$('div#overlay').fadeOut('fast');
		$('div#overlay').fadeOut('fast',function(){
			$('div#overlay div.content *').remove();
		});
	}
}

function dropDownDown(dropHolder){
	$(dropHolder).find('div.dropMenu').stop(true,true);
	$(dropHolder).find('div.dropMenu').slideDown("fast");
}

function dropDownUp(dropHolder){
	$(dropHolder).find('div.dropMenu').stop(true,true);
	$(dropHolder).find('div.dropMenu').slideUp("fast");
}

function getPhysicalName(src){
return src.split('/')[src.split('/').length-1].split('_')[0];
}

function validateForm(form){
	var validForm = true;
	elements = $(form).find('.control');
	for (i=0; i<elements.length; i++){
		if (validField(elements[i]) == false) {
			validForm = false;
		}
	}
	return validForm;
}


function validField(field){
	var valid = true; //assume field is ok
	if ($(field).hasClass('textInput') || $(field).hasClass('textArea')) {
		value = $(field).find('input, textarea').val();

		if ($(field).hasClass('valEmail')){
			var pattern = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
			if (!pattern.test(value)) {
				valid = false;
			}
		}
			
		if ($(field).hasClass('valFullName')){
			var pattern = /^\w+ \w+[ \w]*$/;
			if (!pattern.test(value)) {
				valid = false;
			}
		}
			
		if ($(field).hasClass('valPhone')){
			var pattern = /^\+?[\d- ]{5,}?$/;
			if (!pattern.test(value)) {
				valid = false;
			}
		}			
			
		if ($(field).hasClass('valMandatory')){
			if (value == null || value == ''){
				valid = false;
			}
		} else {
			if (value == null || value == ''){
				valid = true;
			}
		}
									
	}
	
	
	if (valid == true){
		$(field).find('.formError').css('display','none');
	} else {
		$(field).find('.formError').css('display','block');
	}
	return valid;
}
