// JavaScript Document

//Used with error messages
var timer;

// Scroll results to top
function scrollList(){
	document.getElementById("listings").scrollTop=0;
}

function adjustHeight(){
	
	// Get browser height
	var browseHeight = getHeight();
	// Substract header, footer, search heights
	var headerHeight = document.getElementById("head").offsetHeight;
	var footerHeight = document.getElementById("footer").offsetHeight;
	var searchHeight = document.getElementById("search-title").offsetHeight + document.getElementById("results").offsetHeight;
	var pagHeight = document.getElementById("pagination").offsetHeight;
	//var sortHeight = document.getElementById("viewing").offsetHeight;
	//var locHeight = document.getElementById("location").offsetHeight;
	//var locBeta = document.getElementById("beta").offsetHeight;
	var spacers = 40;
	var displayHeight = browseHeight - (headerHeight + footerHeight + spacers);
	var mapHeight = displayHeight;
	var listingHeight = displayHeight - (document.getElementById("search-mini").offsetHeight + pagHeight +80);
	
	var displayWidth = document.getElementById('search-holder').offsetWidth;
	var listingsWidth = document.getElementById('listings').offsetWidth;
	var mapWidth = displayWidth - listingsWidth - 23;
	
	if(displayHeight < 300){
		// Set results height & map
		document.getElementById("listings").style.height = "380px";
		// Set 
		document.getElementById("map").style.height = "400px";
		//document.getElementById("detail").style.height = "380px";
		//document.getElementById("search-advanced").style.height = "400px";
	}else{
		// Set results height & map
		document.getElementById("listings").style.height = listingHeight+"px";
		// Set 
		document.getElementById("map").style.height = mapHeight+"px";
		document.getElementById("map").style.width = mapWidth+"px";
		//document.getElementById("detail").style.height = displayHeight+75+"px";
		//document.getElementById("search-advanced").style.height = displayHeight+"px";
	}
	
	//alert('Map Height: '+(document.getElementById("map").style.height)+'\nDetail Height: '+(document.getElementById("detail").style.height)+'\nBrowser Height: '+browseHeight+'\nHeader Height: '+headerHeight+'\nFooter Height: '+footerHeight+'\nSearch Height: '+searchHeight+'\nSort Height: '+displayHeight+'\nListings Height: '+listingHeight+'\nMap Width: '+mapWidth);
	
	var mapTop = document.getElementById("map").offsetTop;
	var mapLeft = document.getElementById("map").offsetLeft;
	var mapWidth = document.getElementById("map").offsetWidth - 20;
	//var detail = document.getElementById("detail");
	//var advanced = document.getElementById("search-advanced");
	//detail.style.top = mapTop+"px";
	//detail.style.left = mapLeft+"px";
	//detail.style.width = mapWidth+"px";
	//advanced.style.top = mapTop+"px";
	//advanced.style.left = mapLeft+"px";
	//advanced.style.width = mapWidth+"px";
	
}

function getHeight() {
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myHeight = document.body.clientHeight;
	}
	
	return myHeight;
}

//JS currency formatter
function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+','+
			num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num);
}

function killPicLink(x){
	if(document.getElementById('picLink'+x)){
		document.getElementById('picLink'+x).innerHTML = '<img src="/img/HL5/no-photo-60.gif" alt="missing photo" width="60" height="40" class="image-preview">';
	}
}

function displayMissingImage(imageElement){
	imageElement.src = '/img/HL5/no-photo-60.gif';
}


function displayMessage(){
		//alert('!!!');
		
		var res = new Ajax.Request("/app/message.php",{ onSuccess: 
															 											function(response){ 
																											if(response.responseText != 'No Message'){
																												
																												if (document.getElementById('wasabox-overlay-message')) {
																													clearTimeout(timer);
																												
																													$('wasabox-overlay-message').innerHTML = response.responseText; 
																													timer = setTimeout(function(){$('wasabox-overlay-message').innerHTML='';},10000);
																												}else{
																													clearTimeout(timer);
																													$('fixed-message-box').innerHTML = response.responseText; 
																													timer = setTimeout(function(){$('fixed-message-box').innerHTML='';},10000);
																												}
																												
																											}
																										}
																									}); 

}

function removeMessage(){
	clearTimeout(timer);
	if (document.getElementById('wasabox-overlay-message')) {
		$('wasabox-overlay-message').innerHTML='';
	}else{
		$('fixed-message-box').innerHTML = ''; 
	}
}

function removeGallery(id){
	var res = new Ajax.Request("/my-hawaii-life/galleries/remove.php", { 
					method: "post", 
					parameters: { gallery_id : id },
					onSuccess: function(response) { $('gallery_'+id).fade({ duration: 0.5, from: 1, to: 0 }); },
					onFailure: function(response) { alert("Fail! "+response.responseText); }
					});
}

function removeSearch(id){	
	
var res = new Ajax.Request("/my-hawaii-life/saved-searches/remove.php", { 
				method: "post", 
				parameters: { id : id }, 
				onSuccess: function(response) { $('search'+id).fade({ duration: 0.5, from: 1, to: 0 }); displayMessage(); },
				onFailure: function(response) { alert("Fail! "+response.responseText); }
				});  
}

function switchAlert(id, checked){
	
var res = new Ajax.Request("/my-hawaii-life/saved-searches/switch-alert.php", { 
				method: "post", 
				parameters: { id : id, checked : checked }, 
				onSuccess: function(response) { 
					
					if(checked){
						$('search'+id+'AlertStatus').innerHTML = '<input type="checkbox" name="" value="" onchange="switchAlert('+id+', this.checked)" checked /> <span class="green">Email notifications are ON for this saved search</span>'; 
					}else{
						$('search'+id+'AlertStatus').innerHTML = '<input type="checkbox" name="" value="" onchange="switchAlert('+id+', this.checked)" /> Email notifications are <span class="red">OFF</span> for this saved search'; 
					}
				},
				onFailure: function(response) { alert("Fail! "+response.responseText); }
				});  
}


function removeProperty(mls, galleryID){
	
var res = new Ajax.Request("/my-hawaii-life/galleries/remove-property.php", { 
				method: "post", 
				parameters: { mls_no : mls , gallery_id : galleryID }, 
				onSuccess: function(response) { $('gallery'+galleryID+'_'+mls).fade({ duration: 0.5, from: 1, to: 0 }); },
				onFailure: function(response) { alert("Fail! "+response.responseText); }
				}); 
}


function removeReport(report_id){
var res = new Ajax.Request("/my-hawaii-life/property-stats/remove-report.php", { 
				method: "post", 
				parameters: { report_id: report_id }, 
				onSuccess: function(response) { $('report'+report_id).fade({ duration: 0.5, from: 1, to: 0 }); displayMessage(); },
				onFailure: function(response) { alert("Fail! "+response.responseText); }
				}); 
}

function sendReport(report_id){
var res = new Ajax.Request("/my-hawaii-life/property-stats/send-report.php", { 
				method: "post", 
				parameters: { report_id: report_id }, 
				onSuccess: function(response) { displayMessage(); },
				onFailure: function(response) { alert("Fail! "+response.responseText); }
				}); 
}


function toggleFindLeadsForm(){
	$('find-leads').toggle();
}

function changeLeadPage(x){
	$('page').value = x;
	document.forms['find-leads'].submit();
}

function changeDocPage(x){
	$('page').value = x;
	document.forms['find-docs'].submit();
}

function changeAgentPage(x){
	$('page').value = x;
	document.forms['find-agents'].submit();
}

function checkContentHeight(offsetMod){
	document.getElementById('detail-content-container').style.height = (parent.document.getElementById('wasabox-iframe').offsetHeight - offsetMod)+'px';
}

function savePropertyToGallery(mls_no, gallery_id){
var res = new Ajax.Request("/my-hawaii-life/galleries/addprop-process.php", { 
				method: "post", 
				parameters: { gallery_id : gallery_id, mls_no : mls_no }, 
				onSuccess: function(response) {  document.getElementById('p_save'+mls_no).innerHTML = '<span id="p_save'+mls_no+'" class="tick"><a href="/my-hawaii-life/galleries/list.php">Saved</a></span>'; wasabox.end(); displayMessage();  },
				onFailure: function(response) {  displayMessage(); }
				});  
}

function savePropertyToNewGallery(mls_no, name, description){
//alert('saving...');
if(!description || description == 'undefined' || description == ''){
	description = " ";
}
var res = new Ajax.Request("/my-hawaii-life/galleries/create-gallery-and-save-property.php", { 
				method: "post", 
				parameters: { name : name, description : description, mls_no : mls_no }, 
				onSuccess: function(response) { document.getElementById('p_save'+mls_no).innerHTML = '<span id="p_save'+mls_no+'" class="tick"><a href="/my-hawaii-life/galleries/list.php">Saved</a></span>'; wasabox.end(); displayMessage();  },
				onFailure: function(response) { displayMessage(); }
				});  
}


function addSavedSearch(sn, ea, reloadParent, uid){
		//alert('userid'+uid);
		var res = new Ajax.Request("/my-hawaii-life/save-search/process.php", { 
				method: "post", 
				parameters: { searchName : sn, emailAlerts : ea, user_id : uid }, 
				onSuccess: function(response) { parent.window.location = parent.window.location; },
				onFailure: function(response) { alert('FAIL!'); displayMessage(); }
				});
}

function editSavedSearch(id){
	var res = new Ajax.Request("/my-hawaii-life/saved-searches/edit.php", { 
				method: "post", 
				parameters: { id : id }, 
				onSuccess: function(response) { parent.window.location = parent.window.location;  },
				onFailure: function(response) { alert('FAIL!'); displayMessage(); }
				});
}


function checkEnter(e, url){ //e is event object passed from function invocation
	var characterCode; //literal character code will be stored in this variable
	
	if(e && e.which){ //if which property of event object is supported (NN4)
		e = e;
		characterCode = e.which; //character code is contained in NN4's which property
	}else{
		e = event
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}
	
	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		wasabox.start(url); //submit the form
		return false
	}else{
		return true
	}
	
}

function editSavedSearchOption(id, value){
	var res = new Ajax.Request("/my-hawaii-life/saved-searches/edit-option.php", { 
					method: "post", 
					parameters: { id : id, value : value }, 
					onSuccess: function(response) { document.getElementById('p_save'+mls_no).innerHTML = '<span id="p_save'+mls_no+'" class="tick"><a href="/my-hawaii-life/galleries/list.php">Saved</a></span>'; wasabox.end(); displayMessage();  },
					onFailure: function(response) { displayMessage(); }
					});  
}

	function doZillow(){
		if(document.getElementById("text") && document.getElementById("text") != 'undefined'){
			if(document.getElementById("text").value == 'Request successfully processed' && document.getElementById("sold-price")){
				var soldPrice = formatCurrency(document.getElementById("sold-price").value);
				var soldDate = document.getElementById("sold-date").value;
				var zillLink = document.getElementById("home-details").value;
				document.getElementById("sold-td").innerHTML = soldPrice +' (' + soldDate + ') <a href="http://www.zillow.com" rel="nofollow"><img src="<? echo IMG_ROOT; ?>img/zillow.gif" align="absmiddle" /></a>';
				document.getElementById("sold-td").innerHTML = 'n/a';
				//document.getElementById("zillowLink").innerHTML = '<a href="' +  zillLink + '" rel="nofollow">See more home details at Zillow.com</a>';
			}else{
					document.getElementById("sold-td").innerHTML = 'n/a';
			}
		}
	}

	function toggleCheckbox(box){
		if(box.checked == true){
			box.checked = false;	
		}else{
			box.checked = true;	
		}	
	}
	
	
	 

