/*--- Avanquest WebEasy Custom Script ---*/

/*********************************************** 
* Disable "Enter" key in Form script 
***********************************************/                 
function handleEnter (field, event) { 
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; 
		if (keyCode == 13) { 
			var i; 
			for (i = 0; i < field.form.elements.length; i++) 
				if (field == field.form.elements[i]) 
					break; 
			i = (i + 1) % field.form.elements.length; 
			field.form.elements[i].focus(); 
			return false; 
		}  
		else 
		return true; 
	} 
 
function formCheck(formobj){ 
	// Enter name of mandatory fields 
	var fieldRequired = Array("pt1", "pt2", "tt1", "tt2", "address", "city", "propertynumber", "state", "zip",  
	                          "county", "price", "priceunit", "commisioninfo", "commisionsplit", "commisionsplitvalue", 
	                          "propertysize", "propertysizeunit", "year", "occupancy", "occupancypercent", "entitlements",  
	                          "title", "propertydescription"); 
	// Enter field description to appear in the dialog box 
	var fieldDescription = Array("Property Type", "Property Type", "Transaction Type", "Transaction Type",  "Address", "City",  
	                             "Tax-Id/Folio #", "State", "Zip Code", "County", "Asking Price", "Asking Price Unit", 
	                             "Commision Info", "Commision Split", "Commision Split Unit", "Property Size", "Property Size Unit", 
	                             "Year Built", "Occupancy", "Occupancy Percent", "Entitlements", "Title", "Property Description"); 
	// dialog message 
	var alertMsg = "Please complete the following fields:\n"; 
	 
	var l_Msg = alertMsg.length; 
	var passCompare = null; 
	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 == "" || obj.selectedIndex == 0 ){ 
					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"; 
				} 
                else if (obj.name == "email") 
				{ 
				   if(checkmail(obj) == false) 
				      alertMsg += " - " + "Email is not valid" + "\n";  
				}                 
 				break; 
             case "password": 
				if (obj.value == "" || obj.value == null){ 
				   alertMsg += " - " + fieldDescription[i] + "\n"; 
				} 
				else if (obj.name == "password1") 
 
				{ 
				   passCompare = obj.value; 
				} 
				else if (obj.name == "password2") 
				{ 
                     if (obj.value != passCompare) 
				        alertMsg += " - " + "Passwords Do Not Match" + "\n"; 
				} 
				break; 
           case "checkbox": 
				if (obj.name == "terms" && !obj.checked) 
                   alertMsg += " - " + "Terms must be agreed to." + "\n"; 
                else if (obj.checked ) 
				   bTitle = true; 
				 
			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; 
	} 
 
} 
 
 
/*********************************************** 
* Email Validation script 
***********************************************/ 
 
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i 
 
function checkmail(e){ 
var returnval=emailfilter.test(e.value) 
if (returnval==false){ 
//alert("Please enter a valid email address.") 
e.select() 
} 
return returnval 
} 
 
 
/*********************************************** 
* Show Hint script  
***********************************************/ 
		 
var horizontal_offset="0px" //horizontal offset of hint box from anchor link 
 
/////No further editting needed 
 
var vertical_offset="0" //horizontal offset of hint box from anchor link. No need to change. 
var ie=document.all 
var ns6=document.getElementById&&!document.all 
 
function getposOffset(what, offsettype){ 
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop; 
var parentEl=what.offsetParent; 
while (parentEl!=null){  
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop; 
parentEl=parentEl.offsetParent; 
} 
return totaloffset; 
} 
 
function iecompattest(){ 
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body 
} 
 
function clearbrowseredge(obj, whichedge){ 
var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1 
if (whichedge=="rightedge"){ 
var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40 
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth 
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure) 
edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset) 
} 
else{ 
var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18 
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight 
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) 
edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight 
} 
return edgeoffset 
} 
 
function showhint(menucontents, obj, e, tipwidth){ 
if ((ie||ns6) && document.getElementById("hintbox")){ 
dropmenuobj=document.getElementById("hintbox") 
dropmenuobj.innerHTML=menucontents 
dropmenuobj.style.left=dropmenuobj.style.top=-500 
if (tipwidth!=""){ 
dropmenuobj.widthobj=dropmenuobj.style 
dropmenuobj.widthobj.width=tipwidth 
} 
dropmenuobj.x=getposOffset(obj, "left") 
dropmenuobj.y=getposOffset(obj, "top") 
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px" 
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px" 
dropmenuobj.style.visibility="visible" 
obj.onmouseout=hidetip  
} 
} 
 
function hidetip(e){ 
dropmenuobj.style.visibility="hidden" 
dropmenuobj.style.left="-500px" 
} 
 
function createhintbox(){ 
var divblock=document.createElement("div") 
divblock.setAttribute("id", "hintbox")  
document.body.appendChild(divblock) 
} 
 
if (window.addEventListener) 
window.addEventListener("load", createhintbox, false) 
else if (window.attachEvent) 
window.attachEvent("onload", createhintbox) 
else if (document.getElementById) 
window.onload=createhintbox 
 
/*********************************************** 
* Count and Control Characters in a textarea 
***********************************************/     
function limitthis() { 
	var myObject=event.srcElement; 
	if (myObject.value.length==myObject.maxLength*1) return false; 
}  
 
function CountThis(visCnt) {  
	var myObject=event.srcElement; 
	if (myObject.value.length>myObject.maxLength*1) myObject.value=myObject.value.substring(0,myObject.maxLength*1); 
	if (visCnt) visCnt.innerText=myObject.maxLength-myObject.value.length; 
	 
} 
 
var _disable_empty_list=false; 
var _hide_empty_list=false; 
 
// ------ 
if (typeof(disable_empty_list)=="undefined") { disable_empty_list=_disable_empty_list; } 
if (typeof(hide_empty_list)=="undefined") { hide_empty_list=_hide_empty_list; } 
 
var cs_goodContent=true, cs_M="M", cs_L="L", cs_curTop=null, cs_curSub=null; 
 
function cs_findOBJ(obj,n) { 
  for (var i=0; i<obj.length; i++) { 
    if (obj[i].name==n) { return obj[i]; } 
  } 
  return null; 
}  
function cs_findContent(n) { return cs_findOBJ(cs_content,n); } 
 
function cs_findM(m,n) { 
  if (m.name==n) { return m; } 
 
  var sm=null; 
  for (var i=0; i<m.items.length; i++) { 
    if (m.items[i].type==cs_M) { 
      sm=cs_findM(m.items[i],n);  
      if (sm!=null) { break; } 
    } 
  } 
  return sm; 
} 
function cs_findMenu(n) { return (cs_curSub!=null && cs_curSub.name==n)?cs_curSub:cs_findM(cs_curTop,n); } 
 
function cs_contentOBJ(n,obj){ this.name=n; this.menu=obj; this.lists=new Array(); this.cookie=""; }; cs_content=new Array(); 
function cs_topmenuOBJ(tm) { this.name=tm; this.items=new Array(); this.df=0; this.addM=cs_addM; this.addL=cs_addL; } 
function cs_submenuOBJ(dis,link,sub) { 
  this.name=sub; 
  this.type=cs_M; this.dis=dis; this.link=link; this.df=0; 
 
  var x=cs_findMenu(sub); 
  this.items=x==null?new Array():x.items; 
 
  this.addM=cs_addM; this.addL=cs_addL; 
} 
function cs_linkOBJ(dis,link) { this.type=cs_L; this.dis=dis; this.link=link; } 
 
function cs_addM(dis,link,sub) { this.items[this.items.length]=new cs_submenuOBJ(dis,link,sub); } 
function cs_addL(dis,link) { this.items[this.items.length]=new cs_linkOBJ(dis,link); } 
 
function cs_showMsg(msg) { window.status=msg; } 
function cs_badContent(n) { cs_goodContent=false; cs_showMsg("["+n+"] Not Found."); } 
 
function cs_optionOBJ(text,value) { this.text=text; this.value=value; } 
function cs_emptyList(list) { for (var i=list.options.length-1; i>=0; i--) { list.options[i]=null; } } 
function cs_refreshList(list,opt,df) { 
  cs_emptyList(list); 
 
  for (var i=0; i<opt.length; i++) { 
    list.options[i]=new Option(opt[i].text, opt[i].value); 
  } 
 
  if (opt.length>0) { 
    list.selectedIndex=df; 
  } 
} 
function cs_getOptions(menu) { 
  var opt=new Array(); 
  for (var i=0; i<menu.items.length; i++) { 
    opt[i]=new cs_optionOBJ(menu.items[i].dis, menu.items[i].link); 
  } 
  return opt; 
} 
function cs_updateListGroup(content,idx,sidx,mode) { 
  var i=0, curItem=null, menu=content.menu; 
 
  while (i<idx) { 
    menu=menu.items[content.lists[i++].selectedIndex]; 
  } 
 
  if (menu.items[sidx].type==cs_M && idx<content.lists.length-1) { 
    var df=cs_getIdx(mode,content.cookie,idx+1,menu.items[sidx].df); 
 
    cs_refreshList(content.lists[idx+1], cs_getOptions(menu.items[sidx]), df); 
    if (content.cookie) { 
      cs_setCookie(content.cookie+"_"+(idx+1),df); 
    } 
 
    if (idx+1<content.lists.length) { 
      if (disable_empty_list) { 
        content.lists[idx+1].disabled=false; 
      } 
      if (hide_empty_list) { 
        content.lists[idx+1].style.display=""; 
      } 
 
      cs_updateListGroup(content,idx+1,df,mode); 
    } 
  } 
  else { 
    for (var s=idx+1; s<content.lists.length; s++) { 
      cs_emptyList(content.lists[s]); 
 
      if (disable_empty_list) { 
        content.lists[s].disabled=true; 
      } 
      if (hide_empty_list) { 
        content.lists[s].style.display="none"; 
      } 
 
      if (content.cookie) { 
        cs_setCookie(content.cookie+"_"+s,""); 
      } 
    } 
  } 
} 
function cs_initListGroup(content,mode) { 
  var df=cs_getIdx(mode,content.cookie,0,content.menu.df); 
 
  cs_refreshList(content.lists[0], cs_getOptions(content.menu), df); 
  if (content.cookie) { 
    cs_setCookie(content.cookie+"_"+0,df); 
  } 
 
  cs_updateListGroup(content,0,df,mode); 
} 
 
function cs_updateList() { 
  var content=this.content; 
  for (var i=0; i<content.lists.length; i++) { 
    if (content.lists[i]==this) { 
      if (content.cookie) { 
        cs_setCookie(content.cookie+"_"+i,this.selectedIndex); 
      } 
 
      if (i<content.lists.length-1) { 
        cs_updateListGroup(content,i,this.selectedIndex,""); 
      } 
    } 
  } 
} 
 
function cs_getIdx(mode,name,idx,df) { 
  if (mode) { 
    var cs_idx=cs_getCookie(name+"_"+idx); 
    if (cs_idx!="") { 
      df=parseInt(cs_idx); 
    } 
  } 
  return df; 
} 
 
function _setCookie(name, value) { 
  document.cookie=name+"="+value; 
} 
function cs_setCookie(name, value) { 
  setTimeout("_setCookie('"+name+"','"+value+"')",0); 
} 
 
function cs_getCookie(name) { 
  var cookieRE=new RegExp(name+"=([^;]+)"); 
  if (document.cookie.search(cookieRE)!=-1) { 
    return RegExp.$1; 
  } 
  else { 
    return ""; 
  } 
} 
 
// ---- 
function addListGroup(n,tm) { 
  if (cs_goodContent) { 
    cs_curTop=new cs_topmenuOBJ(tm); cs_curSub=null; 
 
    var c=cs_findContent(n); 
    if (c==null) { 
      cs_content[cs_content.length]=new cs_contentOBJ(n,cs_curTop); 
    } 
    else { 
      delete(c.menu); c.menu=cs_curTop; 
    } 
  } 
} 
 
function addList(n,dis,link,sub,df) { 
  if (cs_goodContent) { 
    cs_curSub=cs_findMenu(n); 
 
    if (cs_curSub!=null) { 
      cs_curSub.addM(dis,link||"",sub); 
      if (typeof(df)!="undefined") { cs_curSub.df=cs_curSub.items.length-1; } 
    } 
    else { 
      cs_badContent(n); 
    } 
  } 
} 
 
function addOption(n,dis,link,df) { 
  if (cs_goodContent) { 
    cs_curSub=cs_findMenu(n); 
 
    if (cs_curSub!=null) { 
      cs_curSub.addL(dis,link||""); 
      if (typeof(df)!="undefined") { cs_curSub.df=cs_curSub.items.length-1; } 
    } 
    else { 
      cs_badContent(n); 
    } 
  } 
} 
 
function initListGroup(n) { 
  var _content=cs_findContent(n), count=0; 
  if (_content!=null) { 
    content=new cs_contentOBJ("cs_"+n,_content.menu); 
    cs_content[cs_content.length]=content; 
 
    for (var i=1; i<initListGroup.arguments.length; i++) { 
      if (typeof(arguments[i])=="object" && arguments[i].tagName && arguments[i].tagName=="SELECT") { 
        content.lists[count]=arguments[i]; 
 
        arguments[i].onchange=cs_updateList; 
        arguments[i].content=content; arguments[i].idx=count++; 
      } 
      else if (typeof(arguments[i])=="string" && /^[a-zA-Z_]\w*$/.test(arguments[i])) { 
        content.cookie=arguments[i]; 
      } 
    } 
 
    if (content.lists.length>0) { 
      cs_initListGroup(content,content.cookie); 
    } 
  } 
} 
 
function resetListGroup(n) { 
  var content=cs_findContent("cs_"+n); 
  if (content!=null && content.lists.length>0) { 
    cs_initListGroup(content,""); 
  } 
} 
// ------ 


/*--- EndOfFile ---*/

