jQuery(function(){
	jQuery('.topBanner').easySlider({
		loop: true,                           // Looping
		orientation: 'fade',                  // Fading
		autoplayDuration: 5000,               // Autoplay with 1 second intervals
		autogeneratePagination: false,         // Automatically generate pagination links
		controlsShow: false,
		nextText: "",
		prevText: "",
		restartDuration: 2500
	});	
	
	jQuery('#contactForm').hide();
	
	jQuery('#contactBtn').click(function(e){
		jQuery('#contactForm').slideToggle();
		e.preventDefault();
	});
	
	jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
    	phone_number = phone_number.replace(/\s+/g, ""); 
		return this.optional(element) || phone_number.length > 9 &&
		phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
	}, "Please specify a valid phone number");
	
	var contact_validator = jQuery('#contact_form').validate({
		rules: {
			name: {
				required: true,
				minlength: 2
			},
			email: {
				required: true,
				minlength: 2,
				email: true
			},
			phone: {
				required: false,
				phoneUS: true
			},
			comments: {
				required: true,
				minlength: 2
			}
		},
		messages: {
			name: {
				required: "Please enter your First Name",
				minlength: "Please enter your First Name"
			},
			email: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address",
				email: "Please enter a valid email address"
			},
			phone: {
				phoneUS: "Please enter a valid phone number (xxx)xxx-xxxx"	
			},
			comments: {
				required: "Please tell us about your vacation requirements"	,
				minlength: "Please tell us in more detail about your vacation requirements"
			}
		},
		errorPlacement: function(error, element){
			element.attr('title',error.html());
			jQuery('input[title],textarea[title]').tipTip({
				activation: "focus",
				delay: "0"							  
			});
			jQuery('#contact_error').html('<div class="errorReport">Please correct a few issues with your information</div>');
		},
		success: function(label){
			if(jQuery('#contact_form').find('.error').length == 0){
				jQuery('#contact_error').html('');
			}
		},
		submitHandler: function(form) {
			if(jQuery('#contact_form').find('.error').length == 0){
				submitContactForm();
			}
		}
	});
});

function addToFavorites() {
	var url = "http://realestate.okanaganvacationhomerentals.com"; 
	var pageTitle = "OVHR.com - Real Estate: Kelowna - Vernon - Penticton - and More";

	if (window.sidebar) {
		window.sidebar.addPanel(pageTitle, url, "");	
	} else {
		if(window.external) {
			window.external.AddFavorite(url,pageTitle)
		} else {
			alert("Sorry! Your browser doesn't support this feature.");
		} 
	}
} 

function submitContactForm(){
	var name = jQuery('#aname').val();
	var phone = jQuery('#phone').val();
	var email = jQuery('#email').val();
	var prefCon = jQuery('#contactForm').find('input:radio:checked').val();
	var pid = jQuery('#pid').val();
	var title = jQuery('#title').val();
	var comments = jQuery('#comments').val();
	
	var getParams = 'name='+ name +'&phone='+ phone + '&email='+ email +'&prefCon='+ prefCon +'&comments='+ comments +'&title='+ title +'&pid='+ pid +'&getAction=contact';
	
	jQuery('#contact_form_bg').stop().animate({
		'opacity': 0									  
	}, 500, function(){
		$.post('../include/contactForm.php', getParams, function(data) {
			jQuery('#contact_form_bg').html('');
			jQuery('#contact_form_bg').html(data);
			
			jQuery('#contact_form_bg').stop().animate({
				opacity: 1						  
			}, 500);							
		});
	});
}

function checkSpam(str){
	var bannedExp = /^[0-9a-zA-Z\!\&\/\@\#\$\%\(\)\+\?\;\:\,\.\n\'\"\s\-]+$/;
	currentValue = document.getElementById(str).value;
					   
	if(currentValue.match(bannedExp)){
		return true;
	} else {
		return false;
	}
}
function checkEmail(str){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(document.getElementById(str).value.match(emailExp)){
		return true;
	} else {
		return false;
	}
}
function open_chat() {
		window.open("http://messenger.providesupport.com/messenger/rezselect.html","newChat","width=600,height=500,location=no, status=no,resizable=no");
}
function open_video(URL) {
	window.open(URL,"video","width=380,height=285,location=no, status=no,resizable=no,location=no");
}
function submit_search() {
	var city = document.getElementById('city').value;
	var property = encodeURIComponent(document.getElementById('mlsID').value);
	var beds = document.getElementById('beds').value;
	var type = document.getElementById('type').value;
	var rate = document.getElementById('rate').value;

	if(property=='MLS%C2%AE%20%23')
	{
		property=0; 
		if(city==0){
			alert("Please select a destination.");
			return 0;
		}
	}
	if(property>0){
		var search_string = '/place.php?mlsID=' + property;
	} else {
		var cityURL = "page"+city;
		var search_string = cities_pages[cityURL] + '?city=' + city + '&type=' + type + '&beds=' + beds + '&rate=' + rate;
	}
	
	document.getElementById('searchForm').action = search_string;
	document.getElementById('searchForm').submit();
}

function submit_refine(){
	var city = document.getElementById('pcity').value;
	var type = document.getElementById('ptype').value;
	var beds = document.getElementById('pbeds').value;
	var rate = document.getElementById('prate').value;
	var perpage = document.getElementById('perpage').value;
	var sorting = document.getElementById('sort').value;
	
	var search_string = '?city=' + city + '&type=' + type + '&beds=' + beds + '&rate=' + rate + '&sort=' + sorting + '&perpage=' + perpage;
	
	document.getElementById('refine').action = search_string;
	document.getElementById('refine').submit();
}

function submit_agent() {
	required = document.getElementById('required').value;
	check = required.split(",");
	
	var error = [];
	
	for(i=0; i<check.length; i++){
		currentField = check[i];
		if(document.getElementById(currentField).value.length == 0 || document.getElementById(currentField).value == 0){
			document.getElementById(currentField).className = 'selectError';
			if(error.length==0){
				error.push('The following fields are required.');
			}
		} else {
			document.getElementById(currentField).className = 'select';
		}
	}
	
	if(document.getElementById('owner_email').value.length > 0){
		if(checkEmail('owner_email')==false){
			document.getElementById('owner_email').className = 'selectError';
			error.push('Please enter a valid email address.');
		} else {
			document.getElementById('owner_email').className = 'select';
		}
	}
		
	if(document.getElementById('owner_quest').value.length > 0){
		if(checkSpam('owner_quest')==false){
			document.getElementById('owner_quest').className = 'selectError';
			error.push('Only numbers and letters are allowed in the question/comment field.');
		} else {
			document.getElementById('owner_quest').className = 'select';
		}
	}
	
	if(document.getElementById('owner_image').value != ""){
		var filename = document.getElementById('owner_image').value;
		var filelength = parseInt(filename.length) - 3;
		var fileext = filename.substring(filelength,filelength + 3);
		
		if(fileext.toLowerCase() != "jpg"){
			document.getElementById('owner_image').className = 'selectError';
			error.push('Please make sure your image format is .jpg');
		}
	}
		
	if(error.length>0){
		for(y=0; y<error.length; y++){
			alert(error[y]);
		}
		return 0;
	}
	
	document.getElementById('submit_property').action = "inquire.php";
	document.getElementById('submit_property').submit();
}
function submit_inquiry() {
	required = document.getElementById('required').value;
	check = required.split(",");
	
	var error = [];
	
	for(i=0; i<check.length; i++){
		currentField = check[i];
		if(document.getElementById(currentField).value.length == 0 || document.getElementById(currentField).value == 0){
			document.getElementById(currentField).className = 'selectError';
			if(error.length==0){
				error.push('All fields are required.');
			}
		} else {
			document.getElementById(currentField).className = 'select';
		}
	}
	
	if(document.getElementById('email').value.length > 0){
		if(checkEmail('email')==false){
			document.getElementById('email').className = 'selectError';
			error.push('Please enter a valid email address.');
		} else {
			document.getElementById('email').className = 'select';
		}
	}
	if(document.getElementById('first_name').value.length > 0){
		if(checkSpam('first_name')==false){
			document.getElementById('first_name').className = 'selectError';
			error.push('Only numbers and letters are allowed in the name fields.');
		} else {
			document.getElementById('first_name').className = 'select';
		}
	}
	if(document.getElementById('last_name').value.length > 0){
		if(checkSpam('comments')==false){
			document.getElementById('last_name').className = 'selectError';
			error.push('Only numbers and letters are allowed in the name fields.');
		} else {
			document.getElementById('last_name').className = 'select';
		}
	}
	if(document.getElementById('comments').value.length > 0){
		if(checkSpam('comments')==false){
			document.getElementById('comments').className = 'selectError';
			error.push('Only numbers and letters are allowed in the comments field.');
		} else {
			document.getElementById('comments').className = 'select';
		}
	}
		
	if(error.length>0){
		for(y=0; y<error.length; y++){
			alert(error[y]);
		}
		return 0;
	}
	
	document.getElementById('inquiry').action = "inquire.php";
	document.getElementById('inquiry').submit();
}
function submit_qinquiry() {	
	required = document.getElementById('qrequired').value;
	check = required.split(",");
	
	var error = [];
	
	for(i=0; i<check.length; i++){
		currentField = check[i];
		if(document.getElementById(currentField).value.length == 0){
			document.getElementById(currentField).className = 'selectError';
			if(error.length==0){
				error.push('All fields are required.');
			}
		} else {
			document.getElementById(currentField).className = 'select';
		}
	}
	
	if(document.getElementById('qemail').value.length > 0){
		if(checkEmail('qemail')==false){
			document.getElementById('qemail').className = 'selectError';
			error.push('Please enter a valid email address.');
		} else {
			document.getElementById('qemail').className = 'select';
		}
	}
		
	if(document.getElementById('qcomments').value.length > 0){
		if(checkSpam('qcomments')==false){
			document.getElementById('qcomments').className = 'selectError';
			error.push('Only numbers and letters are allowed in the question field.');
		} else {
			document.getElementById('qcomments').className = 'select';
		}
	}
		
	if(error.length>0){
		for(y=0; y<error.length; y++){
			alert(error[y]);
		}
		return 0;
	}
	
	document.getElementById('quickinquire').action = 'inquire.php';
	document.getElementById('quickinquire').submit();
	
	//document.quickinquire.action = "inquire.php";
	//document.quickinquire.submit();
}

function rollOver(obj,source){
		document.getElementById(obj).className = source;
}
function inquirePress(obj,source){
	var liTabs = document.getElementsByTagName('li');
		
		for(var i=0; i<liTabs.length; i++){
			if(liTabs[i].className == "tabBTNon"){
				liTabs[i].className = "tabBTNreg";
				liTabs[i].onmouseover = function() {
					rollOver(this.id,'tabBTNon'); 
				}
				liTabs[i].onmouseout = function() {
					rollOver(this.id,'tabBTNreg'); 
				}
				liTabs[i].onclick = function() {
					onPress(this.id);
				}
			}
		}
	//Get all the <div> elements, search for the content divs, and reset all to off.
		var divTabs = document.getElementsByTagName('div');
		
		for(var i=0; i<divTabs.length; i++){
			if(divTabs[i].className == "tabCONTENTon"){
				divTabs[i].className = "tabCONTENTreg";
			}
		}
		
		tabContent = "tab" + obj;
		
		document.getElementById(tabContent).className = "tabCONTENTon";	
}

function clearText(field){
	if(document.getElementById(field).defaultValue == document.getElementById(field).value) {
		document.getElementById(field).value = '';
	} else if(document.getElementById(field).value == ''){
		document.getElementById(field).value = document.getElementById(field).defaultValue;
	}
}

function onPress(obj,source){
		//Get all the <li> elements, search for the tabs, and reset all to off.
		var liTabs = document.getElementsByTagName('li');
		
		for(var i=0; i<liTabs.length; i++){
			if(liTabs[i].className == "tabBTNon"){
				liTabs[i].className = "tabBTNreg";
				liTabs[i].onmouseover = function() {
					rollOver(this.id,'tabBTNon'); 
				}
				liTabs[i].onmouseout = function() {
					rollOver(this.id,'tabBTNreg'); 
				}
				liTabs[i].onclick = function() {
					onPress(this.id);
				}
			}
		}
		
		document.getElementById(obj).className = "tabBTNon";
		document.getElementById(obj).onmouseover = function() {
		}
		document.getElementById(obj).onmouseout = function() {
		}
		
		//Get all the <div> elements, search for the content divs, and reset all to off.
		var divTabs = document.getElementsByTagName('div');
		
		for(var i=0; i<divTabs.length; i++){
			if(divTabs[i].className == "tabCONTENTon"){
				divTabs[i].className = "tabCONTENTreg";
			}
		}
		
		tabContent = "tab" + obj;
		
		document.getElementById(tabContent).className = "tabCONTENTon";
}

function setSelected(ids,nav){
	document.getElementById(ids).onclick = function() {
		onPress(this.id);
	}
}

function setFunction(ids,type){
	if(ids != null && document.getElementById(ids).length > 0){
		if(type==0){
			document.getElementById(ids).onmouseover = function() { 
				rollOver(ids,'tabBTNon'); 
			}
			document.getElementById(ids).onmouseout = function() { 
				rollOver(this.id,'tabBTNreg'); 
			}
			document.getElementById(ids).onclick = function() { 
				onPress(ids); 
			}
		} else {
			document.getElementById(ids).onmouseover = function() { 
			rollOver(ids,'inquireBTNon'); 
			}
			document.getElementById(ids).onmouseout = function() { 
				rollOver(this.id,'inquireBTNreg'); 
			}
			document.getElementById(ids).onclick = function() { 
				inquirePress(ids); 
			}
		}
	}
}

function expandMenu(thisID,id) {
	document.getElementById('expand').style.height = x+"px";
	if(x>=140) {
		clearTimeout(t);
		var t = 0;
		document.getElementById('refineDiv').className = 'expandedMenu';
		document.getElementById('refineBTN').className = 'refineContract';
		document.getElementById('refineBTN').onclick = function() { 
			contractMenu(); 
		}
		document.cookie = 'ovhrRefine=1';
	} else {
		x = x + speed;
		var t = setTimeout("expandMenu()",30); 
	}
}
function contractMenu(thisID,id) {
	document.getElementById('refineDiv').className = 'collapsedMenu';
	document.getElementById('refineBTN').className = 'refineExpand';
	document.getElementById('expand').style.height = x+"px";
	if(x<=20) {
		clearTimeout(t);
		var t = 0;
		document.getElementById('refineBTN').onclick = function() { 
			expandMenu(); 
		}
		document.cookie = 'ovhrRefine=0';
	} else {
		x = x - speed;
		var t = setTimeout("contractMenu()",30); 
	}
}
function resetForm(form_name) {
	if(form_name == 'refine'){
		document.getElementById('ptype').value = '0';
		document.getElementById('pbeds').value = '0';
		document.getElementById('prate').value = '0';
		document.getElementById('perpage').value = '10';
		document.getElementById('pmoor').checked = false;
		document.getElementById('pnet').checked = false;
		document.getElementById('ppet').checked = false;
		
		document.cookie = 'ovhrRefine=0';
		
		submit_form(form_name);
	} else {
		document.getElementById(form_name).reset();	
	}
}

function externalLinks() {
 	var anchors = document.getElementsByTagName("a");
 	for(var m=0; m<anchors.length; m++) {
  		var anchorz = anchors[m];
   		if(anchorz.getAttribute("href") && anchorz.getAttribute("rel") == "external") {
     		anchorz.target = "_blank";
		}
	}
}

function initMap(pidaddress,x,y){
	geocoder = new google.maps.Geocoder();

	geocoder.geocode({
		'address': pidaddress
	}, function(results, status){
		if(results[0]){
			if(x != "" && y != ""){
				centerpoint = new google.maps.LatLng(x, y);	
			} else {
				centerpoint = results[0].geometry.location;	
			}
			var myOptions = {
				zoom: 16,
				center: centerpoint,
				mapTypeId: google.maps.MapTypeId.ROADMAP
			};
		
			var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
			
			var marker1 = new google.maps.Marker({
				position: centerpoint,
				map: map,
				address: pidaddress,
				icon: 'http://google-maps-icons.googlecode.com/files/home.png'
			});	
		}
	});
}
