/*
********************************
 MENU AREA 
********************************
*/
function SDMenu(id) {
	if (!document.getElementById || !document.getElementsByTagName)
		return false;
	this.menu = document.getElementById(id);
	if (!this.menu)
		return false;
	this.submenus = this.menu.getElementsByTagName("div");
	this.remember = true;
	this.speed = 3;
	this.markCurrent = true;
	this.oneSmOnly = false;
}
SDMenu.prototype.initialize = function() {
	var mainInstance = this;
	for (var i = 0; i < this.submenus.length; i++)
		this.submenus[i].getElementsByTagName("span")[0].onclick = function() {
			mainInstance.toggleMenu(this.parentNode);
		};
	if (this.markCurrent) {
		var links = this.menu.getElementsByTagName("a");
		for (var i = 0; i < links.length; i++)
			if (links[i].href == document.location.href) {
				links[i].className = "current";
				break;
			}
	}
	if (this.remember) {
		var regex = new RegExp("sdmenu_" + encodeURIComponent(this.menu.id) + "=([01]+)");
		var match = regex.exec(document.cookie);
		if (match) {
			var states = match[1].split("");
			for (var i = 0; i < states.length; i++)
				this.submenus[i].className = (states[i] == 0 ? "collapsed" : "");
		}
	}
};
SDMenu.prototype.toggleMenu = function(submenu) {
	if (submenu.className == "collapsed")
		this.expandMenu(submenu);
	else
		this.collapseMenu(submenu);
};
SDMenu.prototype.expandMenu = function(submenu) {
	var fullHeight = submenu.getElementsByTagName("span")[0].offsetHeight;
	var links = submenu.getElementsByTagName("a");
	for (var i = 0; i < links.length; i++)
		fullHeight += links[i].offsetHeight;
	var moveBy = Math.round(this.speed * links.length);
	
	var mainInstance = this;
	var intId = setInterval(function() {
		var curHeight = submenu.offsetHeight;
		var newHeight = curHeight + moveBy;
		if (newHeight < fullHeight)
			submenu.style.height = newHeight + "px";
		else {
			clearInterval(intId);
			submenu.style.height = "";
			submenu.className = "";
			mainInstance.memorize();
		}
	}, 30);
	this.collapseOthers(submenu);
};
SDMenu.prototype.collapseMenu = function(submenu) {
	var minHeight = submenu.getElementsByTagName("span")[0].offsetHeight;
	var moveBy = Math.round(this.speed * submenu.getElementsByTagName("a").length);
	var mainInstance = this;
	var intId = setInterval(function() {
		var curHeight = submenu.offsetHeight;
		var newHeight = curHeight - moveBy;
		if (newHeight > minHeight)
			submenu.style.height = newHeight + "px";
		else {
			clearInterval(intId);
			submenu.style.height = "";
			submenu.className = "collapsed";
			mainInstance.memorize();
		}
	}, 30);
};
SDMenu.prototype.collapseOthers = function(submenu) {
	if (this.oneSmOnly) {
		for (var i = 0; i < this.submenus.length; i++)
			if (this.submenus[i] != submenu && this.submenus[i].className != "collapsed")
				this.collapseMenu(this.submenus[i]);
	}
};
SDMenu.prototype.expandAll = function() {
	var oldOneSmOnly = this.oneSmOnly;
	this.oneSmOnly = false;
	for (var i = 0; i < this.submenus.length; i++)
		if (this.submenus[i].className == "collapsed")
			this.expandMenu(this.submenus[i]);
	this.oneSmOnly = oldOneSmOnly;
};
SDMenu.prototype.collapseAll = function() {
	for (var i = 0; i < this.submenus.length; i++)
		if (this.submenus[i].className != "collapsed")
			this.collapseMenu(this.submenus[i]);
};
SDMenu.prototype.memorize = function() {
	if (this.remember) {
		var states = new Array();
		for (var i = 0; i < this.submenus.length; i++)
			states.push(this.submenus[i].className == "collapsed" ? 0 : 1);
		var d = new Date();
		d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000));
		document.cookie = "sdmenu_" + encodeURIComponent(this.menu.id) + "=" + states.join("") + "; expires=" + d.toGMTString() + "; path=/";
	}
};

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_reloadPage(initcheck) {  //reloads the window if Nav4 resized
  if (initcheck==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

var myMenu;
window.onload = function() {
myMenu = new SDMenu("my_menu");
if (myMenu && myMenu.menu && myMenu.submenus) {
	myMenu.initialize();
}
init();
};


/*
********************************
 BOOKMARKS
********************************
 */
function addBookmark(title, url) {
        if (window.sidebar) { // firefox
              window.sidebar.addPanel(title, url,"");
        } else if( document.all ) { //MSIE
                window.external.AddFavorite( url, title);
        } else {
               alert("Sorry, your browser doesn't support this");
        }
}

var win=null;

function NewWindow(mypage,myname,w,h,scroll,pos){
	  if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;
	  }
	  if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;
	  }
	  else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no,';
win=window.open(mypage,myname,settings);
}


/*
********************************
 TOP RIGHT IMAGE
********************************
 */
function random_content(){
          var mycontent=new Array()
          //specify random content below.
          mycontent[1]='<div><img src="http://www.househunt.com/imageshh/rotation/1.jpg"></div>'
          mycontent[2]='<div><img src="http://www.househunt.com/imageshh/rotation/2.jpg"></div>'
          mycontent[3]='<div><img src="http://www.househunt.com/imageshh/rotation/3.jpg"></div>'
          mycontent[4]='<div><img src="http://www.househunt.com/imageshh/rotation/4.jpg"></div>'
          mycontent[5]='<div><img src="http://www.househunt.com/imageshh/rotation/5.jpg"></div>'
          mycontent[6]='<div><img src="http://www.househunt.com/imageshh/rotation/6.jpg"></div>'
          mycontent[7]='<div><img src="http://www.househunt.com/imageshh/rotation/7.jpg"></div>'
          mycontent[8]='<div><img src="http://www.househunt.com/imageshh/rotation/8.jpg"></div>'
          mycontent[9]='<div><img src="http://www.househunt.com/imageshh/rotation/9.jpg"></div>'
          mycontent[10]='<div><img src="http://www.househunt.com/imageshh/rotation/10.jpg"></div>'
          mycontent[11]='<div><img src="http://www.househunt.com/imageshh/rotation/11.jpg"></div>'
          var ry=Math.floor(Math.random()*mycontent.length)
          if (ry==0)
          ry=1
          document.write(mycontent[ry])
}


/*
********************************
 QFORMS FOR input validation
********************************
 */
var _jsver=11;for(var z=2;z<6;z++)document.write("<scr"+"ipt language=\"JavaScript1."+z+"\">_jsver = 1"+z+";</scr"+"ipt>");function _a(){this.version="139";this.instances=0;this.objects=new Object();this.librarypath="";this.autodetect=true;this.modules=new Array("field","functions|12","validation");this.packages=new Object();this.validators=new Array();this.containers=new Object();this.jsver=new Object();for(var z=1;z<9;z++)this.jsver["1"+z]="1."+z;this.errorColor="red";this.styleAttribute="backgroundColor";this.useErrorColorCoding=(document.all||document.getElementById)?true:false;this.validateAll=false;this.allowSubmitOnError=false;this.customValidators=0;this.resetOnInit=false;this.showStatusMsgs=true;this.reAttribs="gi";return true;}
qFormAPI=new _a();function _a_setLibraryPath(path){if(path.substring(path.length-1)!='/')path+='/';this.librarypath=path;return true;}
_a.prototype.setLibraryPath=_a_setLibraryPath;function _a_include(src,path,ver){var source=src;if(!source)return true;if(!path)var path=this.librarypath+"qforms/";if(!ver)var ver="";if(source.substring(source.length-3)!=".js")source+=".js";var thisPackage=source.substring(0,source.length-3);var strJS="<scr"+"ipt language=\"JavaScript";var strEJS="\"></scr"+"ipt>";if(this.packages[thisPackage])return true;if(thisPackage=="*"){for(var i=0;i<this.modules.length;i++){var source=this.modules[i];var ver="99";if(source.indexOf("|")>-1){ver=source.substring(source.indexOf("|")+1);source=source.substring(0,source.indexOf("|"));}
if(_jsver>ver&&this.autodetect){document.write(strJS+this.jsver[ver]+"\" src=\""+path+source+"_js"+ver+".js"+strEJS);}else{document.write(strJS+"\" src=\""+path+source+".js"+strEJS);}
this.packages[source]=true;}}else{if(!this.autodetect||_jsver<12||ver.length==0){document.write(strJS+"\" src=\""+path+source+strEJS);}else if(this.autodetect&&(parseInt(_jsver,10)>=parseInt(ver,10))){source=source.substring(0,source.length-3)+"_js"+ver+source.substring(source.length-3);document.write(strJS+this.jsver[ver]+"\" src=\""+path+source+strEJS);}else{document.write(strJS+"\" src=\""+path+source+strEJS);}}
this.packages[thisPackage]=true;return true;}
_a.prototype.include=_a_include;function _a_unload(){var isFramed=false;for(obj in qFormAPI.objects){qFormAPI.objects[obj]._status="idle";if(!!qFormAPI.objects[obj]._frame)isFramed=true;}
if(isFramed){this.objects=new Object();this.containers=new Object();}
return true;}
_a.prototype.unload=_a_unload;function _a_validate(qForm){if(!this.validateAll)return qFormAPI.objects[qForm].validate();var aryErrors=new Array();for(obj in qFormAPI.objects){qFormAPI.objects[obj].checkForErrors();for(var i=0;i<qFormAPI.objects[obj]._queue.errors.length;i++){aryErrors[aryErrors.length]=qFormAPI.objects[obj]._queue.errors[i];}}
if(aryErrors.length==0)return true;var strError="The following error(s) occurred:\n";for(var i=0;i<aryErrors.length;i++)strError+=" - "+aryErrors[i]+"\n";var result=false;if(this._allowSubmitOnError&&this._showAlerts)result=confirm(strError+"\nAre you sure you want to continue?");else if(this._allowSubmitOnError&&!this._showAlerts)result=true;else alert(strError);return result;}
_a.prototype.validate=_a_validate;function _a_reset(hardReset){for(obj in qFormAPI.objects)qFormAPI.objects[obj].reset(hardReset);return true;}
_a.prototype.reset=_a_reset;function _a_getFields(){stcAllData=new Object();for(obj in qFormAPI.objects){var tmpStruct=qFormAPI.objects[obj].getFields();for(field in tmpStruct){if(!stcAllData[field]){stcAllData[field]=tmpStruct[field];}else{stcAllData[field]+=","+tmpStruct[field];}}}
return stcAllData;}
_a.prototype.getFields=_a_getFields;function _a_setFields(struct,rd,ra){for(obj in qFormAPI.objects)qFormAPI.objects[obj].setFields(struct,rd,ra);}
_a.prototype.setFields=_a_setFields;function _a_dump(){var str="";formData=this.getFields();for(field in formData)str+=field+" = "+formData[field]+"\n";alert(str);}
_a.prototype.dump=_a_dump;function qForm(name,parent,frame){if(name==null)return true;if(!name)return alert("No form specified.");qFormAPI.instances++;if(qFormAPI.instances==1)window.onunload=new Function(_functionToString(window.onunload,";qFormAPI.unload();"));this._name=name;this._parent=(!!parent)?parent:null;this._frame=(!!frame)?frame:null;this._status=null;this._queue=new Object();this._queue.errorFields=",";this._queue.errors=new Array();this._queue.validation=new Array();this._showAlerts=true;this._allowSubmitOnError=qFormAPI.allowSubmitOnError;this._locked=false;this._skipValidation=false;qFormAPI.objects[this._name]=this;this._pointer="qFormAPI.objects['"+this._name+"']";this.init();return true;}
new qForm(null,null,null);function _q_init(){if(!this._name)return false;if(this._parent&&document.layers)this._form=this._parent+".document."+this._name;else this._form="document."+this._name;if(this._frame)this._form=this._frame+"."+this._form;this.obj=eval(this._form);if(!this.obj)return alert("The form \""+this._name+"\" does not exist. This error \nwill occur if the Form object was initialized before the form \nhas been created or if it simply doesn't exist. Please make \nsure to initialize the Form object after page loads to avoid \npotential problems.");this.onSubmit=new Function(_functionToString(this.obj.onsubmit,""));var strSubmitCheck=this._pointer+".submitCheck();";if(this._frame)strSubmitCheck="top."+strSubmitCheck;this.obj.onsubmit=new Function("return "+strSubmitCheck);this._fields=new Array();this._pointers=new Object();for(var j=0;j<this.obj.elements.length;j++)this.addField(this.obj.elements[j].name);this._status="initialized";if(qFormAPI.resetOnInit)this.reset();return true;}
qForm.prototype.init=_q_init;function _q_addField(field){if(typeof field=="undefined"||field.length==0)return false;o=this.obj[field];if(typeof o=="undefined")return false;if(typeof o.type=="undefined")o=o[0];if((!!o.type)&&(typeof this[field]=="undefined")&&(field.length>0)){this[field]=new Field(o,field,this._name);this._fields[this._fields.length]=field;this._pointers[field.toLowerCase()]=this[field];}
return true;}
qForm.prototype.addField=_q_addField;function _q_removeField(field){if(typeof this[field]=="undefined")return false;var f=this._fields;for(var i=0;i<f.length;i++){if(f[i]==field){var fp=i;break;}}
if(_jsver>=12){delete this[field];f.splice(fp,1);delete this._pointers[field.toLowerCase()];var q=this._queue.validation;for(var j=0;j<q.length;j++){if(q[j][0]==field){q.splice(j,1);j--;}}}
return true;}
qForm.prototype.removeField=_q_removeField;function _q_submitCheck(){if(this._status=="submitting"||this._status=="validating")return false;this._status="submitting";var result=qFormAPI.validate(this._name);if(result){var x=this.onSubmit();if(typeof x=="boolean")result=x;}
if(!result){this._status="idle";}else{_setContainerValues(this);}
return result;}
qForm.prototype.submitCheck=_q_submitCheck;qForm.prototype.onSubmit=new Function("");function _q_addMethod(name,fn,type){if(arguments.length<2)return alert("To create a new method, you must specify \nboth a name and function to run: \n  obj.addMethod(\"checkTime\", _isTime);");var type=_param(arguments[2],"from").toLowerCase();if(type=="field")type="Field";else type="qForm";if(typeof fn=="function"){strFN=fn.toString();strFN=strFN.substring(strFN.indexOf(" "),strFN.indexOf("("));eval(type+".prototype."+name+" = "+strFN);}else{var fnTemp=new Function(fn);eval(type+".prototype."+name+" = fnTemp;");}
return true;}
qForm.prototype.addMethod=_q_addMethod;function _q_addEvent(event,cmd,append){if(arguments.length<2)return alert("Invalid arguments. Please use the format \naddEvent(event, command, [append]).");var append=_param(arguments[2],true,"boolean");_addEvent(this._pointer+".obj",arguments[0],arguments[1],append);return true;}
qForm.prototype.addEvent=_q_addEvent;function _q_required(fields,value){var value=_param(arguments[1],true,"boolean");aryField=_removeSpaces(fields).split(",");for(var i=0;i<aryField.length;i++){if(!this[aryField[i]])return alert("The form field \""+aryField[i]+"\" does not exist.");this[aryField[i]].required=value;}
return true;}
qForm.prototype.required=_q_required;function _q_optional(fields){this.required(fields,false);return true;}
qForm.prototype.optional=_q_optional;function _q_forceValidation(fields,value){var value=_param(arguments[1],true,"boolean");aryField=_removeSpaces(fields).split(",");for(var i=0;i<aryField.length;i++){if(!this[aryField[i]])return alert("The form field \""+aryField[i]+"\" does not exist.");this[aryField[i]].validate=value;}
return true;}
qForm.prototype.forceValidation=_q_forceValidation;function _q_submit(){var x=false;if(this._status=="submitting")return false;if(this.obj.onsubmit())x=this.obj.submit();return(typeof x=="undefined")?true:x;}
qForm.prototype.submit=_q_submit;function _q_disabled(status){var objExists=(typeof this.obj.disabled=="boolean")?true:false;if(arguments.length==0)var status=(this.obj.disabled)?false:true;if(!objExists)this._locked=status;else this.obj.disabled=status;return true;}
qForm.prototype.disabled=_q_disabled;function _q_reset(hardReset){if(this._status==null)return false;for(var j=0;j<this._fields.length;j++){this[this._fields[j]].setValue(((!!hardReset)?null:this[this._fields[j]].defaultValue),true,false);if(this[this._fields[j]]._queue.dependencies.length>0)this[this._fields[j]].enforceDependency();}
return true;}
qForm.prototype.reset=_q_reset;function _q_getFields(){if(this._status==null)return false;struct=new Object();for(var j=0;j<this._fields.length;j++)struct[this._fields[j]]=this[this._fields[j]].getValue();return struct;}
qForm.prototype.getFields=_q_getFields;function _q_setFields(struct,rd,ra){if(this._status==null)return false;var resetDefault=_param(arguments[1],false,"boolean");var resetAll=_param(arguments[2],true,"boolean");if(resetAll)this.reset();for(key in struct){var obj=this._pointers[key.toLowerCase()];if(obj){obj.setValue(struct[key],true,false);if(resetDefault)obj.defaultValue=struct[key];}}
return true;}
qForm.prototype.setFields=_q_setFields;function _q_hasChanged(){if(this._status==null)return false;var b=false;for(var j=0;j<this._fields.length;j++){if(this[this._fields[j]].getValue()!=this[this._fields[j]].defaultValue){b=true;break;}}
return b;}
qForm.prototype.hasChanged=_q_hasChanged;function _q_changedFields(){if(this._status==null)return false;struct=new Object();for(var j=0;j<this._fields.length;j++){if(this[this._fields[j]].getValue()!=this[this._fields[j]].defaultValue){struct[this._fields[j]]=this[this._fields[j]].getValue();}}
return struct;}
qForm.prototype.changedFields=_q_changedFields;function _q_dump(){var str="";var f=this.getFields();for(fld in f)str+=fld+" = "+f[fld]+"\n";alert(str);}
qForm.prototype.dump=_q_dump;function Field(form,field,formName,init){if(arguments.length>3)return true;this._queue=new Object();this._queue.dependencies=new Array();this._queue.validation=new Array();this.qForm=qFormAPI.objects[formName];this.name=field;this.path=this.qForm._form+"['"+field+"']";this.pointer=this.qForm._pointer+"['"+field+"']";this.obj=eval(this.path);this.locked=false;this.description=field.toLowerCase();this.required=false;this.validate=false;this.container=false;this.type=(!this.obj.type&&!!this.obj[0])?this.obj[0].type:this.obj.type;this.validatorAttached=false;var value=this.getValue();this.defaultValue=value;this.lastValue=value;this.init();return true;}
new Field(null,null,null,true);function _f_init(){if(qFormAPI.useErrorColorCoding&&this.obj.style)this.styleValue=(!!this.obj.style[qFormAPI.styleAttribute])?this.obj.style[qFormAPI.styleAttribute].toLowerCase():"";if(document.layers&&(this.type=="radio"||this.type=="checkbox")&&!!this.obj[0]){this.addEvent("onclick","return "+this.pointer+".allowFocus();");}else{this.addEvent("onfocus","return "+this.pointer+".allowFocus();");}}
Field.prototype.init=_f_init;function _f_allowFocus(){if(qFormAPI.useErrorColorCoding&&this.obj.style){if(this.qForm._queue.errorFields.indexOf(","+this.name+",")>-1)this.obj.style[qFormAPI.styleAttribute]=this.styleValue;}
this.lastValue=this.getValue();var result=this.checkIfLocked();if((this.type.indexOf("select")>-1)&&!result){this.resetLast();this.blur();}
if(!result)this.onFocus();return result;}
Field.prototype.allowFocus=_f_allowFocus;Field.prototype.onFocus=new Function("");function _f_addEvent(event,cmd,append){if(arguments.length<2)return alert("Invalid arguments. Please use the format \naddEvent(event, command, [append]).");var append=_param(arguments[2],true,"boolean");if((this.type=="radio"||this.type=="checkbox")&&!!this.obj[0]){for(var i=0;i<this.obj.length;i++)_addEvent(this.path+"["+i+"]",arguments[0],arguments[1],append);}else{_addEvent(this.path,arguments[0],arguments[1],append);}
return true;}
Field.prototype.addEvent=_f_addEvent;function _f_disabled(s){var status=arguments[0];var oField=(this.type=="radio")?this.obj[0]:this.obj;var objExists=(typeof oField.disabled=="boolean")?true:false;if(arguments.length==0)var status=(oField.disabled)?false:true;if(!objExists)this.locked=status;else{if(!!this.obj[0]&&this.type.indexOf("select")==-1)for(var i=0;i<this.obj.length;i++)this.obj[i].disabled=status;else this.obj.disabled=status;}
return true;}
Field.prototype.disabled=_f_disabled;function _f_checkIfLocked(showMsg){var bShowMsg=_param(arguments[0],this.qForm._showAlerts);if(this.isLocked()){this.blur();if(bShowMsg)alert("This field is disabled.");return false;}
return true;}
Field.prototype.checkIfLocked=_f_checkIfLocked;function _f_isLocked(){var isLocked=this.locked;if(this.qForm._locked)isLocked=true;return isLocked;}
Field.prototype.isLocked=_f_isLocked;function _f_isDisabled(){if(typeof this.obj.disabled=="boolean"){var isDisabled=this.obj.disabled;if(this.qForm.obj.disabled)isDisabled=true;return isDisabled;}else{return false;}}
Field.prototype.isDisabled=_f_isDisabled;function _f_focus(){if(!!this.obj.focus)this.obj.focus();}
Field.prototype.focus=_f_focus;function _f_blur(){if(!!this.obj.blur)this.obj.blur();}
Field.prototype.blur=_f_blur;function _f_select(){if(!!this.obj.select)this.obj.select();}
Field.prototype.select=_f_select;function _f_reset(){this.setValue(this.defaultValue,true,false);}
Field.prototype.reset=_f_reset;function _f_getValue(){var type=(this.type.substring(0,6)=="select")?"select":this.type;var value=new Array();if(type=="select"){if(this.type=="select-one"&&!this.container){value[value.length]=(this.obj.selectedIndex==-1)?"":this.obj[this.obj.selectedIndex].value;}else{for(var i=0;i<this.obj.length;i++){if((this.obj[i].selected||this.container)&&(!this.dummyContainer)){value[value.length]=this.obj[i].value;}}}}else if((type=="checkbox")||(type=="radio")){if(!!this.obj[0]&&!this.obj.value){for(var i=0;i<this.obj.length;i++)if(this.obj[i].checked)value[value.length]=this.obj[i].value;}else if(this.obj.checked){value[value.length]=this.obj.value;}}else{value[value.length]=this.obj.value;}
return value.join(",");}
Field.prototype.getValue=_f_getValue;function _f_setValue(value,bReset,doEvents){this.lastValue=this.getValue();var reset=_param(arguments[1],true,"boolean");var doEvents=_param(arguments[2],true,"boolean");var type=(this.type.substring(0,6)=="select")?"select":this.type;var v;if(type=="select"){var bSelectOne=(this.type=="select-one")?true:false;var orig=value;value=","+value+",";bLookForFirst=true;if(!this.container){for(var i=0;i<this.obj.length;i++){v=this.obj[i].value;bSelectItem=(value.indexOf(","+v+",")>-1)?true:false;if(bSelectItem&&(bLookForFirst||!bSelectOne))this.obj[i].selected=true;else if(reset||bSelectOne)this.obj[i].selected=false;if(bSelectItem&&bLookForFirst)bLookForFirst=false;}
if(bSelectOne&&bLookForFirst){if(this.defaultValue==orig)if(this.obj.length>0)this.obj[0].selected=true;else this.setValue(this.defaultValue);}}else{newValues=new Object();for(var i=0;i<this.boundContainers.length;i++){var sCName=this.qForm._name+"_"+this.boundContainers[i];if(qFormAPI.containers[sCName]){for(key in qFormAPI.containers[sCName]){if(value.indexOf(","+key+",")>-1){newValues[key]=qFormAPI.containers[sCName][key];}}}}
this.populate(newValues,reset)}}else if((type=="checkbox")||(type=="radio")){if(!!this.obj[0]&&!this.obj.value){value=","+value+",";for(var i=0;i<this.obj.length;i++){if(value.indexOf(","+this.obj[i].value+",")>-1)this.obj[i].checked=true;else if(reset)this.obj[i].checked=false;}}else if(this.obj.value==value){this.obj.checked=true;}else if(reset){this.obj.checked=false;}}else{this.obj.value=(!value)?"":value;}
if(doEvents){this.triggerEvent("onblur");if(this.lastValue!=value)this.triggerEvent("onchange");}
this.onSetValue();return true;}
Field.prototype.setValue=_f_setValue;Field.prototype.onSetValue=new Function("");function _f_triggerEvent(event){oEvent=eval("this.obj."+event);if((this.obj.type=="checkbox")||(this.obj.type=="radio")&&!!this.obj[0]){for(var k=0;k<this.obj.length;k++){oEvent=eval("this.obj[k]."+event);if(typeof oEvent=="function")oEvent();}}else if(typeof oEvent=="function"){oEvent();}}
Field.prototype.triggerEvent=_f_triggerEvent;function _q_addValidator(name,fn){if(arguments.length<2)return alert("To create a new validation object, you must specify \nboth a name and function to run: \n  obj.addValidator(\"isTime\", __isTime);");if(typeof fn=="string"){var _func=new Function(fn);_addValidator(name,_func);}else{_addValidator(name,fn);}
return true;}
qForm.prototype.addValidator=_q_addValidator;function _f_validateExp(expression,error,cmd){var expression=_param(arguments[0],"false");var error=_param(arguments[1],"An error occurred on the field '\" + this.description + \"'.");var cmd=_param(arguments[2]);var strFn="if( "+expression+" ){ this.error = \""+error+"\";}";if(cmd.length>0)strFn+=cmd;strValidateExp="_validateExp"+qFormAPI.customValidators;_addValidator(strValidateExp,new Function(strFn));eval(this.pointer+".validate"+strValidateExp+"();");qFormAPI.customValidators++;}
Field.prototype.validateExp=_f_validateExp;function _addValidator(name,fn,alwaysRun){var alwaysRun=_param(arguments[2],false,"boolean");if(arguments.length<2)return alert("To create a new validation object, you must specify \nboth a name and function to run: \n  _addValidator(\"isTime\", __isTime);");if(name.substring(0,2).toLowerCase()=="is")name=name.substring(2);for(var a=0;a<qFormAPI.validators.length;a++)if(qFormAPI.validators[a]==name)return alert("The "+name+" validator has already been loaded.");qFormAPI.validators[qFormAPI.validators.length]=name;if(qFormAPI.showStatusMsgs&&name.substring(0,12)!="_validateExp"){window.status="Initializing the validate"+name+"() and is"+name+"() validation scripts...";setTimeout("window.status = ''",100);}
var strFN=fn.toString();var strName=strFN.substring(strFN.indexOf(" "),strFN.indexOf("("));var strArguments=strFN.substring(strFN.indexOf("(")+1,strFN.indexOf(")"));while(strArguments.indexOf(" ")>-1)strArguments=strArguments.substring(0,strArguments.indexOf(" "))+strArguments.substring(strArguments.indexOf(" ")+1);var strBody="var display = (this.qForm._status == 'validating') ? false : true;\n";strBody+="if( (display && this.isLocked()) || this.qForm._status.substring(0,5) == 'error') return false;\n this.value = this.getValue();";if(!alwaysRun)strBody+="if( !display && this.value.length == 0 && !this.required ) return false;\n";strBody+="this.error = '';\n";strBody+=strFN.substring(strFN.indexOf("{")+1,strFN.lastIndexOf("}"));strBody+="if( this.error.length > 0 && !!errorMsg) this.error = errorMsg;\n";strBody+="if( display && this.error.length > 0 ){\n";strBody+="if( this.qForm._status.indexOf('_ShowError') > -1 ){\n";strBody+="this.qForm._status = 'error';\n";strBody+="alert(this.error);\n";strBody+="setTimeout(this.pointer + \".focus();\", 1);\n";strBody+="setTimeout(this.pointer + \".qForm._status = 'idle';\", 100);\n";strBody+="} return false;\n";strBody+="} else if ( display ){ return true; } return this.error;\n";var strNewFN="new Function(";var aryArguments=strArguments.split(",");for(var i=0;i<aryArguments.length;i++){if(aryArguments[i]!="")strNewFN+="\""+aryArguments[i]+"\",";}
var strRuleFN=strNewFN;strNewFN+="\"errorMsg\",strBody);";eval("Field.prototype.is"+name+" = "+strNewFN);var strRule="var cmd = this.pointer + '.is"+name+"';\n";strRule+="cmd += '( ';\n";strRule+="for( i=0; i < arguments.length; i++ ){ \n";strRule+="if( typeof arguments[i] == 'string' ) cmd += '\"' + arguments[i] + '\",';\n";strRule+="else cmd += arguments[i] + ',';\n";strRule+="}\n";strRule+="cmd = cmd.substring(0, cmd.length-1);\n";strRule+="cmd += ')';\n";strRule+="this.qForm._queue.validation[this.qForm._queue.validation.length] = new Array(this.name, cmd);\n";strRule+="this._queue.validation[this._queue.validation.length] = cmd;\n";strRule+="if( !this.validatorAttached ){ this.addEvent('onblur', this.pointer + '.checkForErrors()');";strRule+="this.validatorAttached = true;}\n";strRule+="return true;\n";strRuleFN+="\"errorMsg\",strRule);";eval("Field.prototype.validate"+name+" = "+strRuleFN);return true;}
function _f_checkForErrors(){if(!this.validate||this.qForms._skipValidation)return true;this.qForm._status+="_ShowError";for(var i=0;i<this._queue.validation.length;i++)if(!eval(this._queue.validation[i]))break;setTimeout(this.pointer+".qForm._status = 'idle';",100);return true;}
Field.prototype.checkForErrors=_f_checkForErrors;function _q_validate(){if(!qFormAPI.packages.validation||this._skipValidation)return true;this.checkForErrors();if(this._queue.errors.length==0)return true;var result=this.onError();if(result==false)return true;var strError="The following error(s) occurred:\n";for(var i=0;i<this._queue.errors.length;i++)strError+=" - "+this._queue.errors[i]+"\n";var result=false;if(this._allowSubmitOnError&&this._showAlerts)result=confirm(strError+"\nAre you sure you want to continue?");else if(this._allowSubmitOnError&&!this._showAlerts)result=true;else alert(strError);return result;}
qForm.prototype.validate=_q_validate;function _q_checkForErrors(){var status=this._status;this._status="validating";this._queue.errors=new Array();aryQueue=new Array();this._queue.errorFields=",";for(var j=0;j<this._fields.length;j++){if(this[this._fields[j]].required)aryQueue[aryQueue.length]=new Array(this._fields[j],this._pointer+"['"+this._fields[j]+"'].isNotEmpty(\"The "+this[this._fields[j]].description+" field is required.\");");if(qFormAPI.useErrorColorCoding&&this[this._fields[j]].obj.style)this[this._fields[j]].obj.style[qFormAPI.styleAttribute]=this[this._fields[j]].styleValue;}
for(var i=0;i<aryQueue.length;i++)this[aryQueue[i][0]].throwError(eval(aryQueue[i][1]));for(var i=0;i<this._queue.validation.length;i++)this[this._queue.validation[i][0]].throwError(eval(this._queue.validation[i][1]));this.onValidate();this._status=status;return true;}
qForm.prototype.checkForErrors=_q_checkForErrors;qForm.prototype.onValidate=new Function("");qForm.prototype.onError=new Function("");function _f_throwError(error){var q=this.qForm;if((typeof error=="string")&&(error.length>0)&&(q._queue.errorFields.indexOf(","+this.name+",")==-1)){q._queue.errors[q._queue.errors.length]=error;q._queue.errorFields+=this.name+",";if(qFormAPI.useErrorColorCoding&&this.obj.style)this.obj.style[qFormAPI.styleAttribute]=qFormAPI.errorColor;return true;}
return false;}
Field.prototype.throwError=_f_throwError;function _addEvent(obj,event,cmd,append){if(arguments.length<3)return alert("Invalid arguments. Please use the format \n_addEvent(object, event, command, [append]).");var append=_param(arguments[3],true,"boolean");var event=arguments[0]+"."+arguments[1].toLowerCase();var objEvent=eval(event);var strEvent=(objEvent)?objEvent.toString():"";strEvent=strEvent.substring(strEvent.indexOf("{")+1,strEvent.lastIndexOf("}"));strEvent=(append)?(strEvent+cmd):(cmd+strEvent);strEvent+="\n";eval(event+" = new Function(strEvent)");return true;}
function _functionToString(fn,cmd,append){if(arguments.length<1)return alert("Invalid arguments. Please use the format \n_functionToString(function, [command], [append]).");var append=_param(arguments[2],true,"boolean");var strFunction=(!fn)?"":fn.toString();strFunction=strFunction.substring(strFunction.indexOf("{")+1,strFunction.lastIndexOf("}"));if(cmd)strFunction=(append)?(strFunction+cmd+"\n"):(cmd+strFunction+"\n");return strFunction;}
function _param(v,d,t){if(typeof d=="undefined")d="";if(typeof t=="undefined")t="string";if(t=="number"&&typeof v=="string")var v=parseFloat(arguments[0]);var value=(typeof v!="undefined"&&typeof v==t.toLowerCase())?v:d;return value;}
function _removeSpaces(v){while(v.indexOf(" ")>-1)v=v.substring(0,v.indexOf(" "))+v.substring(v.indexOf(" ")+1);return v;}
function _setContainerValues(obj){for(var i=0;i<obj._fields.length;i++){if(obj[obj._fields[i]].container&&obj[obj._fields[i]].type.substring(0,6)=="select"){for(var x=0;x<obj[obj._fields[i]].obj.length;x++){obj[obj._fields[i]].obj[x].selected=(!obj[obj._fields[i]].dummyContainer);}}}}


/*
********************************
 ULTIMATE KEYWORD SEARCH BOX
********************************
 */
var home_feat = new Array();
home_feat['AT'] = 'Attic Room';
home_feat['BD'] = 'Boat Dockage';
home_feat['BF'] = 'Breakfast Area';
home_feat['BG'] = 'Bonus/Game Rm';
home_feat['BL'] = 'Bi Level';
home_feat['BM'] = 'Basement';
home_feat['CA'] = 'Central Air';
home_feat['CB'] = 'Custom Built';
home_feat['CP'] = 'Carport';
home_feat['CS'] = 'Cul de Sac';
home_feat['CV'] = 'Central Vacuum';
home_feat['DS'] = 'Den/Study/Office';
home_feat['EP'] = 'Enc Patio/Sun Rm';
home_feat['FD'] = 'Formal Dining';
home_feat['FP'] = 'Fireplace';
home_feat['FR'] = 'Family/Great Rm';
home_feat['FS'] = 'Fire Sprinkler';
home_feat['FY'] = 'Fenced Yard';
home_feat['G2'] = '2 Car Garage';
home_feat['G3'] = '3 Car Garage';
home_feat['G4'] = '4 + Car Garage';
home_feat['GA'] = 'Garage';
home_feat['GH'] = 'Gas Heating';
home_feat['GS'] = 'Guest Qtr/House';
home_feat['GV'] = 'Golf  Course View';
home_feat['IC'] = 'Intra Coastal';
home_feat['LF'] = 'Lake Frontage';
home_feat['LR'] = 'Living Room';
home_feat['LV'] = 'Lake View';
home_feat['HA'] = 'Horses Allowed';
home_feat['OF'] = 'Ocean Frontage';
home_feat['OH'] = 'Oil Heating';
home_feat['OV'] = 'Ocean View';
home_feat['PV'] = 'Panoramic View';
home_feat['RI'] = 'River/Canal View';
home_feat['SF'] = 'Security Feature';
home_feat['TS'] = 'Two+ Story';
home_feat['TL'] = 'Tri Level';
home_feat['RV'] = 'RV Parking';
home_feat['SP'] = 'Spa';
home_feat['SS'] = 'Single Story';
home_feat['SW'] = 'Swimming Pool';
home_feat['TC'] = 'Tennis Court';
home_feat['TR'] = 'Tile Roof';
home_feat['VC'] = 'City Light View';
home_feat['VM'] = 'Mountain/Hills View';
home_feat['WF'] = 'Water Frontage';
home_feat['WS'] = 'Workshop';

var comm_feat = new Array();
comm_feat['AD'] = 'Adult Community';
comm_feat['AP'] = 'Assigned Parking';
comm_feat['BU'] = 'Courtesy Bus';
comm_feat['CB'] = 'Boat Facility';
comm_feat['CH'] = 'Club House';
comm_feat['CP'] = 'Children Play Area';
comm_feat['CS'] = 'Sauna';
comm_feat['EF'] = 'Exercise Facility';
comm_feat['EU'] = 'End Unit';
comm_feat['EV'] = 'Elevator';
comm_feat['GC'] = 'Golf Course';
comm_feat['GP'] = 'Guest Parking';
comm_feat['GS'] = 'Gated Community';
comm_feat['HF'] = 'Horse Facility';
comm_feat['HO'] = 'Home Owner Fee';
comm_feat['IP'] = 'Indoor Pool';
comm_feat['OG'] = 'Guard Onsite';
comm_feat['PA'] = 'Spa';
comm_feat['PG'] = 'Putting Green';
comm_feat['PI'] = 'Picnic Area';
comm_feat['PT'] = 'Pool Table';
comm_feat['SP'] = 'Swimming Pool';
comm_feat['TC'] = 'Tennis Court';



stName = new Object();
stTerr = new Object();
// initialize stName and stTerr by unmanaged / search_ul / city_list.txt

function selectState(selectstatebox,selectcitybox){
	var state = selectstatebox.value
	removeAllOptions(selectcitybox);
	for (var i in stTerr[state]) {
		addOption(selectcitybox,i, i);
	}
}

function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		//selectbox.options.remove(i);
		selectbox.remove(i);
	}
}


function addOption(selectbox, value, text )
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;

	selectbox.options.add(optn);
}

function initStateCityBox(selectstatebox,selectcitybox,state,city)
{
	for (var i in stName) {
		addOption(selectstatebox,i, stName[i]);
	}

	selectstatebox.value = state;

	selectState(selectstatebox,selectcitybox);
	selectcitybox.value = city;
}

function gotoUlSearch(city,state,keyword)
{
	var terrUrl = "";

	if(stTerr[state][city] == null) {

		terrUrl = 'http://www.househunt.org/cgi-bin/househunt/request_info.cgi?'
				+'&terr_d='+ city 
				+'&st='+ state
				+'&kw='+ keyword
				+'&tmp=80&from_script=UX';
	} else {

		var arrTerrInfo = stTerr[state][city].split(",");

		terrUrl = arrTerrInfo[2] + '/pages/hhorg/cgi-bin/househunt/ultimate_search.cgi?'
				+'&terr_d='+ city 
				+'&st='+ state
				+'&kw='+ keyword
				+'&from_script=UI&domain=a';

	}
	
	window.location.href = terrUrl; 

}

function selectStateSummary(selectstatebox,selectkeywordbox){

	var state = selectstatebox.value;

	var arrKeywordInfo = stKeyword[state].split(",");

	removeAllOptions(selectkeywordbox);


	for (var i=0; i<arrKeywordInfo.length;i++) {

		addOption(selectkeywordbox,arrKeywordInfo[i], arrKeywordInfo[i]);
	}
}

function selectKeywordSummary(selectstatebox,selectkeywordbox){

	if(selectstatebox.value == "") {
		alert("Please select State first");
		selectkeywordbox.value = "";
	}

}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//  New Ultimate Keyword Search Box

var xmlHttp;
var selectcitybox_to_use;
var selectkeywordbox_to_use;
var city_array;
var saved_keyword;

var st_code_name = new Array();
st_code_name['AL'] = 'Alabama';
st_code_name['AK'] = 'Alaska';
st_code_name['AZ'] = 'Arizona';
st_code_name['AR'] = 'Arkansas';
st_code_name['CA'] = 'California';
st_code_name['CO'] = 'Colorado';
st_code_name['CT'] = 'Connecticut';
st_code_name['DE'] = 'Delaware';
st_code_name['FL'] = 'Florida';
st_code_name['GA'] = 'Georgia';
st_code_name['HI'] = 'Hawaii';
st_code_name['ID'] = 'Idaho';
st_code_name['IL'] = 'Illinois';
st_code_name['IN'] = 'Indiana';
st_code_name['IA'] = 'Iowa';
st_code_name['KS'] = 'Kansas';
st_code_name['KY'] = 'Kentucky';
st_code_name['LA'] = 'Louisiana';
st_code_name['ME'] = 'Maine';
st_code_name['MD'] = 'Maryland';
st_code_name['MA'] = 'Massachusetts';
st_code_name['MI'] = 'Michigan';
st_code_name['MN'] = 'Minnesota';
st_code_name['MS'] = 'Mississippi';
st_code_name['MO'] = 'Missouri';
st_code_name['MT'] = 'Montana';
st_code_name['NE'] = 'Nebraska';
st_code_name['NV'] = 'Nevada';
st_code_name['NH'] = 'New Hampshire';
st_code_name['NJ'] = 'New Jersey';
st_code_name['NM'] = 'New Mexico';
st_code_name['NY'] = 'New York';
st_code_name['NC'] = 'North Carolina';
st_code_name['ND'] = 'North Dakota';
st_code_name['OH'] = 'Ohio';
st_code_name['OK'] = 'Oklahoma';
st_code_name['OR'] = 'Oregon';
st_code_name['PA'] = 'Pennsylvania';
st_code_name['RI'] = 'Rhode Island';
st_code_name['SC'] = 'South Carolina';
st_code_name['SD'] = 'South Dakota';
st_code_name['TN'] = 'Tennessee';
st_code_name['TX'] = 'Texas';
st_code_name['UT'] = 'Utah';
st_code_name['VT'] = 'Vermont';
st_code_name['VA'] = 'Virginia';
st_code_name['WA'] = 'Washington';
st_code_name['DC'] = 'Washington, D.C.';
st_code_name['WV'] = 'West Virginia';
st_code_name['WI'] = 'Wisconsin';
st_code_name['WY'] = 'Wyoming';

function initStateCityBox_new(selectstatebox,selectcitybox,state,city)
{
	for (var i in st_code_name) {
		addOption(selectstatebox,i, st_code_name[i]);
	}

	selectstatebox.value = state;

	selectState(selectstatebox,selectcitybox);
	selectcitybox.value = city;
}

function selectState_new(selectstatebox,selectcitybox,selectkeywordbox){

	var state = selectstatebox.value;

	selectcitybox_to_use = selectcitybox;
	try {
		//xmlHttp.open("GET", "http://www.househunt.com/ultimate-search/ultimate_search_get_cities.php?show_avail=n&state="+state);
		xmlHttp.open("GET", "http://www.househunt.com/ultimate-search/ultimate_search_get_cities.php?state="+state);
		xmlHttp.onreadystatechange = handleRequestStateChange;
		xmlHttp.send(null);
	}
	catch(e) {
		//alert("cannot get:" + e.toString());
	}

	if(selectkeywordbox.disabled == false) {
		saved_keyword = selectkeywordbox.value;
	}
	selectkeywordbox.disabled = true;
	selectkeywordbox.value = "";

}


function handleRequestStateChange()
{
	if (xmlHttp.readyState == 4) {

		response = xmlHttp.responseText;
		city_array_temp = response.split(";");

		removeAllOptions(selectcitybox_to_use);
		city_array = new Array();

		addOption(selectcitybox_to_use, "", "Select City");

		for (var i in city_array_temp) {
			city_info = city_array_temp[i].split("|");
			terr_name = city_info[0];
			city_array[terr_name] = city_info;
			addOption(selectcitybox_to_use, terr_name, terr_name);
		}

		selectcitybox_to_use.value = "";
	}
}


/*
function selectCity_new(selectcitybox, selectkeywordbox) {

	var arrTerrInfo = city_array[document.searchform.terr_d.value];
	if (arrTerrInfo[3] == "A") {
		if(selectkeywordbox.disabled == true) {
			selectkeywordbox.value = saved_keyword;
		}
		selectkeywordbox.disabled = false;
	}
	else {
		if(selectkeywordbox.disabled == false) {
			saved_keyword = selectkeywordbox.value;
		}
		selectkeywordbox.disabled = true;
		selectkeywordbox.value = "";
	}
}
*/

function selectCity_new(selectstatebox, selectcitybox, selectkeywordbox) {

	selectkeywordbox_to_use = selectkeywordbox;

	if(selectkeywordbox.disabled == false) {
		saved_keyword = selectkeywordbox.value;
	}

	var state = selectstatebox.value;
	var city = selectcitybox.value;
	var arrTerrInfo = city_array[city];

	if (arrTerrInfo[3] == "A") {
		try {
			xmlHttp.open("GET", "http://www.househunt.com/ultimate-search/ultimate_search_get_keywords.php?city="+city+"&state="+state);
			xmlHttp.onreadystatechange = handleRequestCityChange;
			xmlHttp.send(null);
		}
		catch(e) {
			alert("cannot get:" + e.toString());
		}

		selectkeywordbox.disabled = false;
	}
	else {
		selectkeywordbox.disabled = true;
		selectkeywordbox.value = "";
	}

}

function handleRequestCityChange()
{
	if (xmlHttp.readyState == 4) {

		response = xmlHttp.responseText;
		keyword_array = response.split(";");

		removeAllOptions(selectkeywordbox_to_use);
		selectkeywordbox_to_use.value = "";

		addOption(selectkeywordbox_to_use, "", "Select Keyword(s)");
		for (var i=0 ; i<keyword_array.length ; i++) {
			if(keyword_array[i] != "") {
				addOption(selectkeywordbox_to_use, keyword_array[i], keyword_array[i]);
				if (keyword_array[i] == saved_keyword) {
					selectkeywordbox_to_use.value = saved_keyword;
				}
			}
		}

	}
}


function initXmlHttpRequest()
{
	try {
		xmlHttp = new XMLHttpRequest();
	}
	catch(e) {
		var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
						'MSXML2.XMLHTTP.6.0',
						'MSXML2.XMLHTTP.5.0',
						'MSXML2.XMLHTTP.4.0',
						'MSXML2.XMLHTTP.3.0',
						'Microsoft.XMLHTTP');

		for (var i=0 ; i<XmlHttpVersions.length && !xmlHttp; i++) {
			try {
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch(e) {}
		}
	}
	if (!xmlHttp)
		alert("Cannot create!");
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////