/*======================
     Setup Functions
  ======================*/
function externalLinks()
{
  if(!document.getElementsByTagName) return false;
  var links = document.getElementsByTagName("a");
  for(var i = links.length - 1; i > -1; i--)
  {
    if(links[i].getAttribute("href") && links[i].getAttribute("rel") == "external")
      links[i].target ="_blank";
  }
}
function showProptypes(target){
	var subtypes = document.getElementById('subproptype').childNodes;
	for(i=0;i<subtypes.length; i++){
		if(subtypes[i].nodeName == 'UL'){
			if(subtypes[i].getAttribute('id') == ('proptype'+target.getAttribute('id'))){
				if(target.checked){
					subtypes[i].style.display='block';
				} else {
					subtypes[i].style.display='none';
				}
			}
		}
	}
}
function checkboxtriggers()
{
  if(!document.getElementsByTagName) return false;
  var triggers = document.getElementsByTagName("input");
  /*for(var i = triggers.length - 1; i > -1; i--)
  {
    if(triggers[i].getAttribute("rel") == "proptypetrigger"){
			var temp = triggers[i].onclick;
      triggers[i].onclick = function() {
				temp;
        showProptypes(this);
      }
			triggers[i].onkeypress = triggers[i].onclick;
		}
  }*/
}
/*======================
     Cookie Functions
  ======================*/
	//check that cookies are enabled
	if (navigator.cookieEnabled == 0 || navigator.cookieEnabled == false) {
	    alert("You need to enable cookies for this site to load properly!");
	}
	function setCookie(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+encodeURI(value)+expires+"; path=/;domain=.carvajalgroup.com";
	}
	function readCookie(name) {
		var re=new RegExp(name+"=[^;]+", "i"); //construct RE to search for target name/value pair
		if (document.cookie.match(re)) //if cookie found
			return unescape(document.cookie.match(re)[0].split("=")[1]) //return its value
		return ""
	}
	function eraseCookie(name) {
		setCookie(name,"",-1);
	}
/*======================
   SuckerFish Functions
  ======================*/
	sfHover = function() {
	  var sfEls = document.getElementById("menus").getElementsByTagName("LI");
	  for (var i=0; i<sfEls.length; i++) {
	    sfEls[i].onmouseover=function() {
	      this.className+=" sfhover";
	    }
	    sfEls[i].onmouseout=function() {
	      this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
	    }
	  }
	}
/*======================
   Form Functions
  ======================*/
	function clear_search_form(){
		if(confirm("Start a new search?")){
			document.searchform.reset();
		}
	}
	function showDiv(target){
		confirmed = confirm("Are you sure you want to inquire about only this property?\nYou can save them all to the property basket and then send them all at once if you like.");
		if(confirmed){
			if(typeof $j == "undefined"){
				var temp = document.getElementById(target);
				temp.style.display = "block";
			} else {
				$j("#"+target).show("slow");
			}
		}
		return false;
	}
	/***********************************************
	* Required field(s) validation v1.10- By NavSurf
	* Visit Nav Surf at http://navsurf.com
	* Visit http://www.dynamicdrive.com/ for full source code
	***********************************************/
	function formCheck(formobj,formtype){
		// Enter name of mandatory fields
		if(formtype == 0)
		{
			var fieldRequired = Array("name","phone","city","state","zip","email","subject"); 
			var fieldDescription = Array("your name", "your phone number","your city","your state","your zipcode","your email","the subject subject");
		}
		else if(formtype == 1)
		{
			var fieldRequired = Array("FirstName", "LastName");
			var fieldDescription = Array("First Name", "Last Name");
		}
		var alertMsg = "Please complete the following fields:\n";
	
		var l_Msg = alertMsg.length;
	
		for (var i = 0; i < fieldRequired.length; i++){
			var obj = formobj.elements[fieldRequired[i]];
			if (obj){
				switch(obj.type){
				case "select-one":
					if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
						alertMsg += " - " + fieldDescription[i] + "\n";
					}
					break;
				case "select-multiple":
					if (obj.selectedIndex == -1){
						alertMsg += " - " + fieldDescription[i] + "\n";
					}
					break;
				case "text":
				case "textarea":
					if (obj.value == "" || obj.value == null){
						alertMsg += " - " + fieldDescription[i] + "\n";
					}
					break;
				default:
				}
				if (obj.type == undefined){
					var blnchecked = false;
					for (var j = 0; j < obj.length; j++){
						if (obj[j].checked){
							blnchecked = true;
						}
					}
					if (!blnchecked){
						alertMsg += " - " + fieldDescription[i] + "\n";
					}
				}
			}
		}
		if (alertMsg.length == l_Msg){
			return true;
		}else{
			alert(alertMsg);
			return false;
		}
	}
	
/*======================
   html Functions
  ======================*/
  function LeaseDropBox(lease) {
		if ( lease.checked ) {
	  	for ( amt = 6000 ; amt > 0  ; amt = amt - 100 ) {  
			newoption=document.createElement("option");
			newoption.setAttribute( "value" , amt );
			newoption.innerHTML="$" + amt;
			document.getElementById('price_lo').insertBefore(newoption.cloneNode(true),document.getElementById('price_lo').firstChild.nextSibling);
			document.getElementById('price_hi').insertBefore(newoption,document.getElementById('price_hi').firstChild.nextSibling);
		  }
		} else {
	 
   	}
  }
	function AddDetailNodePropertyPage(mlsnum,city) {
		//if (property.checked){
			document.getElementById("basket").style.display = 'block';
			document.getElementById(city+"properties").style.display = 'block';
			document.getElementById(city+"properties").parentNode.style.display = 'block';
			document.getElementById("basket_atag").style.display = 'block';
			AddDetailNodePropertyPageHelper(mlsnum,city);
		//} else {
		//	RemovePropertySidebar(mlsnum, city);
	  //	}
	return false;
	}
  	
	function AddDetailNodePropertyPageHelper(mlsnum,city){
		if(!document.getElementById("clone" + mlsnum)){
			var cookie = readCookie("mlsSave");
			setCookie("mlsSave",cookie + "--" + mlsnum + "-" + city);
			newli=document.createElement("li");
			newli.setAttribute("id", "clone"+mlsnum);
  
			newatag=document.createElement("a");
			newatag.setAttribute( "href" , "#" );
			newatag.setAttribute( "onclick" , "RemovePropertySidebar('"+mlsnum+"','"+city+"')" );
			newatag.setAttribute("class", "closelink");
			newatag.appendChild(document.createElement("img"));
			newatag.firstChild.setAttribute('src','http://www.linknation.org/m-images/icons/darktrash.gif');
			newli.appendChild(newatag);
	
			newatag = document.createTextNode(" - ");
			newli.appendChild(newatag);
	
			temp = document.getElementById("propertyimages").childNodes;
			i=0;
			while( i < temp.length){
				if(temp[i].nodeName == "IMG"){
					temp = temp[i].cloneNode(true);
					break;
				}
				i++;
			}
			if(temp.nodeName != "IMG"){
				temp = document.createElement("img");
				temp.setAttribute("src","../images/photo_nohouse_sm.gif");
			}
			temp.style.width = "30px";
			temp.setAttribute("alt",mlsnum);
			newli.appendChild(temp);
			temp = document.getElementById('address'+mlsnum).cloneNode(true);
			newli.appendChild(temp);
			document.getElementById(city+'properties').appendChild(newli);
	
			temp = document.getElementById("basketcount");
			temp.firstChild.nodeValue = parseInt(temp.firstChild.nodeValue) + 1;
			
			if(typeof $j != "undefined"){
				humanMsg.displayMsg('Property has been added to your basket');
			}
		}
		return false;
	}
	function AddDetailNode(mlsnum,city) {
		if(!document.getElementById("clone" + mlsnum)){
			var cookie = readCookie("mlsSave");
			setCookie("mlsSave",cookie + "--" + mlsnum + "-" + city);
			newli=document.createElement("li");
			newli.setAttribute("id", "clone"+mlsnum);
  
	   	newatag=document.createElement("a");
			newatag.setAttribute( "href" , "#" );
			newatag.setAttribute( "onclick" , "RemovePropertySidebar('"+mlsnum+"','"+city+"')" );
			newatag.setAttribute("class", "closelink");
			newatag.appendChild(document.createElement("img"));
			newatag.firstChild.setAttribute('src','http://www.linknation.org/m-images/icons/darktrash.gif');
			newli.appendChild(newatag);
	
			if(document.getElementById('image'+mlsnum)){
				temp = document.getElementById('image'+mlsnum).cloneNode(true);
				temp.setAttribute("id","imagesidebar"+mlsnum);
				t = temp.childNodes;
				for(i=0; i < t.length; i++){
					if(t[i].nodeName == "IMG"){
						t[i].style.width = "30px";
						break;
					}
				}
			} else {
				temp = document.getElementById("propertyimages").childNodes;
				i=0;
				while( i < temp.length){
					if(temp[i].nodeName == "IMG"){
						temp = temp[i].cloneNode(true);
						break;
					}
					i++;
				}
				if(temp.nodeName != "IMG"){
					temp = document.createElement("img");
					temp.setAttribute("src","../images/photo_nohouse_sm.gif");
				}
				temp.style.width = "30px";
				temp.setAttribute("alt",mlsnum);
			}
			newli.appendChild(temp);
			temp = document.getElementById('address'+mlsnum).cloneNode(true);
			newli.appendChild(temp);
			document.getElementById(city+'properties').appendChild(newli);	
	
			temp = document.getElementById("basketcount");
			temp.firstChild.nodeValue = parseInt(temp.firstChild.nodeValue) + 1;
		}
		return false;
	}
	
	function RemoveCitySidebar(city) {
		ClearUL(city);
		var cookiestr = readCookie("mlsSave");
		var temp = cookiestr.split('+');
		for (var i=1;i<temp.length;i++){
			mlstemp = temp[i].split(':');
			if( mlstemp[1] == city ) {
				var cookiestr = cookiestr.replace("+"+mlsnum+":"+city, "");		
			}
		}
		setCookie("mlsSave",cookiestr);
		return false;
	}
	
	function RemovePropertySidebar(mlsnum, city) {
		var cookiestr = readCookie("mlsSave");
		var cookie = cookiestr.replace("--"+mlsnum+"-"+city, "");
		setCookie("mlsSave",cookie);
		var childnode=document.getElementById("clone"+mlsnum);
		childnode.parentNode.removeChild(childnode);
		var temp = document.getElementById(city+"properties");
		var listitems = temp.getElementsByTagName("li");
		
		temp = document.getElementById("basketcount");
		temp.firstChild.nodeValue = parseInt(temp.firstChild.nodeValue) - 1;
		
		if (listitems.length < 2) {
			document.getElementById(city+"properties").parentNode.style.display = 'none';
			document.getElementById("basket_atag").style.display = 'none'
			if (parseInt(temp.firstChild.nodeValue) < 1) {
				document.getElementById("basket").style.display = "none";
				document.getElementById("basket_atag").style.display = "none";
				eraseCookie("mlsSave");
			}
		}
		return false;
	}
	
	function SideBar(property,mlsnum,city) {
		document.getElementById("basket").style.display = 'block';
		document.getElementById(city+"properties").style.display = 'block';
		document.getElementById(city+"properties").parentNode.style.display = 'block';
		document.getElementById("basket_atag").style.display = 'block';
		AddDetailNode(mlsnum,city);
		return false;
	}
	
	function ClearUL(city) {
		var temp = document.getElementById(city+"properties");
		var listitems = temp.getElementsByTagName("li");
		for (i=listitems.length-1; i>0; i--) {	
			  temp.removeChild(listitems[i]);
		}
		temp.style.display = "none";
		temp.parentNode.style.display = "none";
	}
	
	
	function ClearProperties() {
		confirmed = confirm('Clear Properties?');
		if (confirmed) {
			document.getElementById("basketcount").firstChild.nodeValue = 0;
			ClearUL('austin');
			ClearUL('sa');
			ClearUL('cs');
			ClearUL('cv');
			document.getElementById("basket").style.display = "none";
			document.getElementById("basket_atag").style.display = "none";
			eraseCookie("mlsSave");
		}
	}
	function toggle(targ){
		for(i = 1; i < 5; i++)
		{
			var temp = (i + targ) % 5;
			temp = document.getElementById('result'+temp);
			temp.style.display = 'none';
		}
		temp = document.getElementById('result'+targ);
		temp.style.display = "block";
	}

	function togglebasket(){
		var temp = document.getElementById("basketcount").firstChild.nodeValue;
		if(temp > 0){
			temp = document.getElementById("basket");
			if(temp.style.marginLeft != "auto"){
				temp.style.marginLeft = "auto";
				temp.style.right = "7px";
				temp.style.top = "20px";
			} else {
				temp.style.marginLeft = "-3000px";
				temp.style.right = "auto";
			}
		} else {
			alert("You must add some properties to the basket before you can view it.\n:-)")
		}
		return false;
	}

	function showPane(){
		document.getElementById("mapcheckes").style.display = "none";
		document.getElementById("maparea").style.display = "none";
		document.getElementById("subarea").style.display = "none";
		if(document.getElementById("austinsubdivision")) { document.getElementById("austinsubdivision").style.display = "none" };
		document.getElementById("zipcodes").style.display = "none";
		document.getElementById("schools").style.display = "none";
		
		for(i = 0; i < arguments.length; i++){
			document.getElementById(arguments[i]).style.display="block";
		}
		return false;
	}
	
	Event.observe(window,'load',function(){
		externalLinks();
		checkboxtriggers();
		/*if(document.getElementById('lease')){
			temp = document.getElementById('lease');
			if(temp.checked){
				LeaseDropBox(temp);
			}
		}*/
		$('quicksearchtext').observe('focus',function(){
			$('quicksearchtext').select();
		})
		if (window.attachEvent) sfHover();
	})