// JavaScript Document
function maxlength(obj, mlength){
	if (obj.value.length>mlength)
		obj.value=obj.value.substring(0,mlength)
}

var numimages
var xmlHttp, xmlHttp2
var targSelect, targSelect2
var lst_num


function GetXmlHttpObject(handler) { 
	var objXMLHttp=null
	if (window.XMLHttpRequest) {
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject) {
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}

var subHeading;

function getSuburbList(value,level,area) {
	if (value>0) {
		switch(level) {
			case 3: targSelect = document.getElementById('add_district'); break;
			case 2: targSelect = document.getElementById('add_city'); break;
			case 1: targSelect = document.getElementById('add_suburb'); break;
		}
		switch (area) {
			case 1: subHeading = "Please Select..."; break;
			case 2: subHeading = "All/Any"; break;
		}
		if (level>2) removeChildrenFromNode(document.getElementById('add_city'))
		if (level>1) {
			removeChildrenFromNode(document.getElementById('add_suburb'))
			removeChildrenFromNode(document.getElementById('lst_subtm'))
		}
		removeChildrenFromNode(targSelect)
		targSelect.options[0] = new Option("Loading...","")
		targSelect.disabled = true
		var url= "suburb.php?v=" + value + "&l=" + level
		var url2= "suburb2.php?v=" + value + "&l=" + level
		xmlHttp=GetXmlHttpObject()
		xmlHttp.onreadystatechange=subStateChanged 
		xmlHttp.open("GET",url,true)
		xmlHttp.send(null)
		if (level==1) {
			xmlHttp2=GetXmlHttpObject()
			xmlHttp2.onreadystatechange=subStateChanged2
			xmlHttp2.open("GET",url2,true)
			xmlHttp2.send(null)
		}
	} else {
		if (level>=2) removeChildrenFromNode(document.getElementById('add_city'))
		if (level>=1) removeChildrenFromNode(document.getElementById('add_suburb'))
	}
}


function subStateChanged() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		removeChildrenFromNode(targSelect)
		targSelect.disabled = false
		targSelect.options[0] = new Option(subHeading,"")
		var ret = xmlHttp.responseText.split("\n")
		for(var i=0;i<ret.length;i++) {
			if (ret[i]!="") {
				var val = ret[i].split(",");
				targSelect.options[i+1] = new Option(val[1],val[0]);
			}
		}
	}
}

function subStateChanged2() {
	if (xmlHttp2.readyState==4 || xmlHttp2.readyState=="complete") { 
		var targSelect2 = document.getElementById('lst_subtm')
		removeChildrenFromNode(targSelect2)
		targSelect2.disabled = false
		targSelect2.options[0] = new Option(subHeading,"")
		var ret = xmlHttp2.responseText.split("\n")
		for(var i=0;i<ret.length;i++) {
			if (ret[i]!="") {
				var val = ret[i].split(",");
				targSelect2.options[i+1] = new Option(val[1],val[0]);
			}
		}
	}
}

function checkTmSuburb() {
	var src = document.getElementById('add_suburb')
	src = src.options[src.selectedIndex].text
	//var active = document.getElementById('lst_pubtm').checked
	var targ = document.getElementById('trademeSuburb')
	if(src.substr(src.length-1,1)=='*') {
		targ.style.display = 'block'
	} else {
		targ.style.display = 'none'	
	}
}

function getTypeList(value) {
	if (value>0) {
		targSelect2 = document.getElementById('typ_sub')
		removeChildrenFromNode(targSelect2)
		targSelect2.options[0] = new Option("Loading...","")
		targSelect2.disabled = true
		url= "type.php?v=" + value
		xmlHttp=GetXmlHttpObject()
		xmlHttp.onreadystatechange=typeStateChanged 
		xmlHttp.open("GET",url,true)
		xmlHttp.send(null)
	} else {
		removeChildrenFromNode(document.getElementById('typ_sub'))
	}
}

function typeStateChanged() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		removeChildrenFromNode(targSelect2)
		targSelect2.disabled = false
		targSelect2.options[0] = new Option("Any Property Type...","")
		var ret = xmlHttp.responseText.split("\n")
		for(var i=0;i<ret.length;i++) {
			if (ret[i]!="") {
				var val = ret[i].split(",");
				targSelect2.options[i+1] = new Option(val[1],val[0]);
			}
		}
	}
}

function removeChildrenFromNode(node)
{
	while (node.hasChildNodes()) {
		node.removeChild(node.firstChild);
	}
}

function checkPricing(code) {
	var price_fixed = document.getElementById('price_fixed')
	var price_range = document.getElementById('price_range')
	var price_auction = document.getElementById('price_auction')
	if (code==1) {
		price_fixed.style.display = "inline"
		price_range.style.display = "none"
	} else if (code>1) {
		price_fixed.style.display = "none"
		price_range.style.display = "inline"
	} else {
		price_fixed.style.display = "none"
		price_range.style.display = "none"
	}
	if (code==5 || code==6) {
		price_auction.style.display = "inline"
	} else {
		price_auction.style.display = "none"
	}
}

function checkYear(isnew) {
	var lst_yearbuilt = document.getElementById('lst_yearbuilt')
	if (isnew) {
		var d = new Date()
		lst_yearbuilt.value = d.getFullYear()
		lst_yearbuilt.disabled = true
	} else {
		lst_yearbuilt.disabled = false
	}
}


/** Functions to handle uploading photos through the iframe **/
function uploadFile() {
	document.getElementById('uploadbar').style.display = 'block'
	document.getElementById('uploadfield').style.display = 'none'
}

function uploadDone(num) {
	var uploadfield = document.getElementById('uploadfield')
	var limitfield = document.getElementById('limitfield')
	var uploaded = document.getElementById('uploaded')
	document.getElementById('uploadbar').style.display = 'none'
	numimages++
	if (numimages<50) {
		uploadfield.style.display = 'block'
		uploadfield.innerHTML = uploadfield.innerHTML //Resets file browse box
	} else {
		limitfield.style.display = 'block'
	}
	var img = document.createElement('IMG')
	img.src = 'thumb.php?f=images/' + num + '.jpg'
	img.id = 'img_' + num
	uploaded.appendChild(img)
	img.onload = function() {
		doDel();
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];

}

function doDel() {
	var targ = document.getElementById('deleters')
	targ.innerHTML = '&nbsp;'
	var navroot = document.getElementById('uploaded')
	var lis=navroot.getElementsByTagName("IMG")
	for (j=0; j<lis.length; j++) {
		var pos = findPos(lis[j])
		k = j+1
		if(lis[j] && lis[j].src.indexOf('progress.gif')==-1) {
			var newtag = '<div style="position:absolute; left:'+pos[0]+'px; top:'+pos[1]+'px; width:96px;">'
			newtag += '<a href="#" onclick="if (confirm(\'Are you sure you want to remove this photo?\')) delPic(\''+lis[j].id+'\'); return false;" style="float:right">'
			newtag += '	<img src="assets/images/delete.png" alt="Delete this picture" border="0"/>'
			newtag += '</a>'
			if (k<lis.length) newtag += '<a href="" onclick="moveDown(\''+lis[j].id+'\'); return false" style="float:right"><img src="assets/images/down.gif" /></a> '
			if (k>1) newtag += '<a href="" onclick="moveUp(\''+lis[j].id+'\'); return false" style="float:right"><img src="assets/images/up.gif" /></a> '
			newtag += '<img src="assets/num.php?t=' + k + '" alt="' + k + '" /></div>'
			targ.innerHTML += newtag	
		}
	}
}

function moveUp(targ) {
	targ = document.getElementById(targ)
	var parent = targ.parentNode
	var sibling = targ.previousSibling
	parent.insertBefore(targ,sibling)
	doDel()
}

function moveDown(targ) {
	targ = document.getElementById(targ)
	moveUp(targ.nextSibling.id)
}

var deltarg 
function delPic(targ) {
	//if(uploadfield) uploadfield.style.display = 'none'
	//if(limitfield) limitfield.style.display = 'none'
	document.getElementById('deletebar').style.display = 'block'
	deltarg = document.getElementById(targ)
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = handleDel;
	xmlHttp.open("GET", 'imagedelete.php?del='+targ); 
	xmlHttp.send(null);   
}

function handleDel() {
	if(xmlHttp.readyState == 4 || xmlHttp.readyState=="complete"){
		document.getElementById('deletebar').style.display = 'none'
		var par = deltarg.parentNode
		par.removeChild(deltarg)
		numimages--
		if (numimages<9) {
			//uploadfield.style.display = 'block'
			//uploadfield.innerHTML = uploadfield.innerHTML //Resets file browse box
			
		}
		doDel()
    }
}

function saveOrder() {
	var navroot = document.getElementById('uploaded')
	var savebar = document.getElementById('savebar')
	savebar.style.display = 'block'
	uploadfield.style.display = 'none'
	limitfield.style.display = 'none'
	var lis=navroot.getElementsByTagName("IMG")
	var order = ''
	for (j=0; j<lis.length; j++) {
		order += lis[j].id.replace('img_','')
		if (j+1<lis.length) order+='|'
	}
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = handleOrder;
	xmlHttp.open("GET", 'order.php?l='+lst_num+'&order='+order); 
	xmlHttp.send(null);   
}

function handleOrder() {
	if(xmlHttp.readyState == 4 || xmlHttp.readyState=="complete"){
		document.getElementById('savebar').style.display = 'none'
		if (numimages<9) {
			uploadfield.style.display = 'block'
			uploadfield.innerHTML = uploadfield.innerHTML //Resets file browse box	
		} else {
			limitfield.style.display = 'block'
		}
		alert('Order has been saved. Please note that if these images have already been transferred to external sites you will need to mark the images for retransmission.')
    }
}

function checkPrices(source) {
	var pmin = document.getElementById('ser_pricemin')
	var pmax = document.getElementById('ser_pricemax')
	if (parseInt(pmax.value)<parseInt(pmin.value)) {
		if (source==1) {
			pmax.value = pmin.value
		} else {
			pmin.value = pmax.value
		}
	}
}

var slideActive = false;
var slideTarg = null;
var slideCount = 0;
var slideAmount = 0;

function slideLeft() {
	if (!slideActive) {
		slideTarg = document.getElementById('scroll')
		slideCount = 0;
		slideAmount = -4;
		slideActive = true;
	}
}

function slideRight() {
	if (!slideActive) {
		slideTarg = document.getElementById('scroll')
		slideCount = 0;
		slideAmount = 4;
		slideActive = true;
	}
}

window.setInterval("doSlide()", 12);

function doSlide() {
	if (slideActive) {
		slideCount++
		var oldMarg = slideTarg.style.marginLeft
		oldMarg = oldMarg.substr(0,oldMarg.length-2)
		slideTarg.style.marginLeft = parseInt(oldMarg)+slideAmount + 'px'
		
		if (slideCount == 32) {
			slideActive  = false;
			//alert(slideTarg.lastChild.src + '..' + slideTarg.firstChild.src)
			if (slideAmount>0) {
				var oldFirst = slideTarg.removeChild(slideTarg.lastChild)
				slideTarg.insertBefore(oldFirst,slideTarg.firstChild)
				if (currImage-1<0) {
					setImageActive(maxImage)	
				} else {
					setImageActive(currImage-1)
				}
			} else {
				var oldFirst = slideTarg.removeChild(slideTarg.firstChild)
				slideTarg.appendChild(oldFirst)
				if (currImage+1>maxImage) {
					setImageActive(0)	
				} else {
					setImageActive(currImage+1)
				}
			}
			slideTarg.style.marginLeft = '-128px'
		}
	}
}

function setImageActive(num) {
	var targ = document.getElementById('mainImage')
	targ.src = '/images/' + images[num] + '.jpg'
	currImage = num
}

function makeHints() {
		var samps = document.body.getElementsByTagName("SAMP")
		for(var i=0;i<samps.length;i++) {
			var hint = samps[i].innerHTML
			var newLink = document.createElement('IMG')
			newLink.onmouseover = 'ddrivetip("'+ hint + '",250,"5599ee")'
			newLink.onmouseout = 'hideddrivetip()'
			newLink.src = 'assets/images/q.gif'
			newLink.style.verticalAlign = 'top'
			samps[i].parentNode.insertBefore(newLink,samps[i])
		}
}
function imageLoadFlash() {
	var uh = document.getElementById('uploader_html')
	var uf = document.getElementById('uploader_flash')
	var l = document.getElementById('flashUploaderLink')
	l.onclick = 'imageLoadHTML()'
	l.innerHTML = 'Use HTML Uploader'
	uh.style.display = 'none'
	uf.style.display = 'block'
	uf.innerHTML = uf.innerHTML
	doDel()
}

function imageLoadHTML() {
	var uh = document.getElementById('uploader_html')
	var uf = document.getElementById('uploader_flash')
	var l = document.getElementById('flashUploaderLink')
	l.onclick = 'imageLoadFlash()'
	l.innerHTML = 'Use Flash Uploader'
	uh.style.display = 'block'
	uf.style.display = 'none'
	doDel()
}

// Browser Window Size and Position
// copyright Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
// you may copy these functions but please keep the copyright notice as well
function pageWidth() {return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ?       document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;} 

function pageHeight() {return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;} 
                    
function editBox(caller) {
	hidable = false
	var newline = '<a href="' + caller.href + '&p=1"><img src="/assets/images/detail.gif" alt="Listing Details" /> Listing Details</a>'
	newline += '<a href="' + caller.href + '&amp;p=2"><img src="/assets/images/dollar.gif" alt="Address/Pricing" /> Address/Pricing</a>'
	newline += '<a href="' + caller.href + '&amp;p=3"><img src="/assets/images/star.png" alt="Features" /> Features</a>'
	newline += '<a href="' + caller.href + '&amp;p=4"><img src="/assets/images/camera.png" alt="Photos" /> Photos</a>'
	$('editbox').innerHTML = newline
	$('editbox').style.left = (findPos(caller)[0]+100) + 'px'
	$('editbox').style.top =  findPos(caller)[1] + 'px'
	$('editbox').style.display = 'block'
	caller.onmouseout = function() {
		hidable = true
		setTimeout('hideEditBox()',500)
	}
	$('editbox').onmouseover = function() {
		hidable = false	
	}
	$('editbox').onmouseout = function() {
		hidable = true
		setTimeout('hideEditBox()',500)
	}
}
var hidable = true
function hideEditBox() {
	if (hidable) $('editbox').style.display = 'none'
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
	do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
		return [curleft,curtop];
	}
}

function keepAlive(sid) {
	if ($('debug')) $('debug').innerHTML +=	"Starting<br/>"
	xmlHttp=GetXmlHttpObject()
	xmlHttp.onreadystatechange = keepAliveReturn
	xmlHttp.open("GET",'/ajax/keepalive.php?sid=' + sid,true)
	xmlHttp.send(null)
	if ($('debug')) $('debug').innerHTML +=	"Sent<br/>"
}

function keepAliveReturn() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
		if ($('debug')) $('debug').innerHTML +=	xmlHttp.responseText + "<br/>"
	}
}

function addOpenHome(lst_num) {
	dimLB()
	xmlHttp=GetXmlHttpObject()
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
			//Save
			if($('nohomes')) $('nohomes').style.display = ''
			$('list_oh').innerHTML += xmlHttp.responseText
			undimLB()
		}
	}
	xmlHttp.open("GET",'/ajax/addOpenHome.php?l=' + lst_num + '&d=' + $('ohdate').value + '&sh=' + $('start_h').value + '&sm=' + $('start_m').value + '&eh=' + $('end_h').value + '&em=' + $('end_m').value ,true)
	xmlHttp.send(null)	
}

function cancelOpenHome(open_num,line) {
	if(confirm('Are you sure you want to cancel this Open Home?')) {
		dimLB()
		xmlHttp=GetXmlHttpObject()
		xmlHttp.onreadystatechange = function() {
			if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
				//Save
				line.parentNode.removeChild(line)
				undimLB()
			}
		}
		xmlHttp.open("GET",'/ajax/cancelOpenHome.php?o=' + open_num,true)
		xmlHttp.send(null)	
	}
}

function changeListingStatus(lst_num) {
	dimLB()
	xmlHttp=GetXmlHttpObject()
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
			//Save
			undimLB()
			if(xmlHttp.responseText!='') $('status_'+lst_num).innerHTML = xmlHttp.responseText
			currentLB.deactivate()
		}
	}
	xmlHttp.open("GET",'/ajax/changeStatus.php?s=' + $('lst_status').value + '&l=' + lst_num,true)
	xmlHttp.send(null)
}

