var searchLocation=function(){var c,d=false,e=false;
var j=function(k){if(typeof geoEnabledCountries!="undefined"&&geoEnabledCountries){return geoEnabledCountries[k]
}else{return k=="us"
}};
var h=function(){searchLocationValue=c.searchLocationType[c.searchLocationType.selectedIndex].value;
if(searchLocationValue=="Y"){c.countryCode.disabled=true;
c.postalCode.disabled=true;
document.getElementById("postal-code-lookup").style.visibility="hidden";
if(d){c.distance.disabled=true
}}else{c.countryCode.disabled=false;
a();
g();
document.getElementById("postal-code-lookup").style.visibility="visible"
}var k=f(c.countryCode);
i(k)
};
var g=function(){if(c.postalCode.value==""||searchLocationValue=="Y"){c.distance.disabled=true
}else{c.distance.disabled=false
}};
var a=function(){if(!c.countryCode.disabled){var k=f(c.countryCode);
if(j(k)){c.postalCode.disabled=false;
if(d){c.distance.disabled=false
}i(k);
document.getElementById("postal-code-lookup").style.visibility="visible"
}else{c.postalCode.disabled=true;
if(d){c.distance.disabled=true
}document.getElementById("postal-code-lookup").style.visibility="hidden"
}}};
var b=function(l){var m=document.createElement("a");
var k=document.createTextNode(i18n.LOOKUP);
if(l=="ca"){m.href="http://www.canadapost.ca/cpotools/apps/fpc/personal/findByAdvanced?execution=e8s1"
}else{m.href="http://www.geonames.org/postalcode-search.html?q=&country="+l
}m.target="_blank";
m.appendChild(k);
document.getElementById("postal-code-lookup").appendChild(m)
};
var i=function(k){var l=document.getElementById("postal-code-lookup").getElementsByTagName("a");
if(k=="ca"){l[0].href="http://www.canadapost.ca/cpotools/apps/fpc/personal/findByAdvanced?execution=e8s1"
}else{l[0].href="http://www.geonames.org/postalcode-search.html?q=&country="+k
}};
var f=function(k){return k.options[k.selectedIndex].value
};
return{init:function(){if(!document.getElementById||!document.getElementById("searchForm")){return
}c=document.getElementById("searchForm");
b();
if(c.distance&&c.distance.tagName.toUpperCase()=="SELECT"){d=true
}if(c.proposalType){e=true
}if(c.searchLocationType&&c.searchLocationType.tagName.toUpperCase()=="SELECT"){YEvent.on(c.searchLocationType,"change",h);
h()
}if(c.countryCode){YEvent.on(c.countryCode,"change",a);
a()
}if(c.postalCode&&c.distance&&!document.forms.find_jobs){YEvent.on(c.postalCode,"keyup",g);
YEvent.on(c.postalCode,"blur",g);
g()
}powerSearch()
}}
}();
YEvent.on(window,"load",searchLocation.init);
var searchOptions={init:function(){if(!document.getElementById||!document.getElementById("advtable")){return
}searchOptions.hideGroups();
var a=YDom.getElementsByClassName("toggle-groups","a");
for(var b=0;
b<a.length;
b++){a[b].onclick=function(){searchOptions.toggleGroups();
return false
}
}},toggleGroups:function(){if(YDom.get("advtable").style.display=="none"){searchOptions.showGroups()
}else{searchOptions.hideGroups()
}},showGroups:function(){LI.show("advtable");
LI.hide("grps_show");
LI.show("grps_hide")
},hideGroups:function(){LI.hide("advtable");
LI.show("grps_show");
LI.hide("grps_hide")
}};
var powerSearch=function(){if(typeof excoonSearch=="undefined"||typeof sortCriteria=="undefined"){return false
}var b="#555";
var c;
function a(i){if(i==true){excoonSearch.disabled=true;
excoonSearch.parentNode.style.color=b;
excoonSearch.parentNode.title=disabledTitleText;
c=document.createElement("INPUT");
c.name=excoonSearch.name;
c.value=excoonSearch.value;
c.type="hidden";
c.id="excoonSearchHidden";
c.disabled=false;
excoonSearch.parentNode.insertBefore(c,excoonSearch)
}else{excoonSearch.disabled=false;
excoonSearch.parentNode.style.color="";
excoonSearch.parentNode.title="";
c=document.getElementById("excoonSearchHidden");
if(c){excoonSearch.parentNode.removeChild(c)
}}}for(var d=0;
d<sortCriteria.options.length;
d++){if(sortCriteria.options[d].value=="1"){var g=d;
var f=sortCriteria.options[d];
if(excoonSearch.checked===false){sortCriteria.remove(d)
}else{if(excoonSearch.checked===true&&sortCriteria.selectedIndex==d){a(true)
}}}}YEvent.on(excoonSearch,"click",h);
YEvent.on(excoonSearch,"keyup",h);
YEvent.on(sortCriteria,"change",e);
function e(){if(sortCriteria.options[sortCriteria.selectedIndex].value=="1"){excoonSearch.checked=true;
a(true)
}else{a(false)
}}function h(){if(excoonSearch.checked===false){sortCriteria.remove(g)
}else{if(sortCriteria.options[g].value!="1"){if(typeof sortCriteria.options.add=="undefined"){var i=new Option(f.text,f.value);
sortCriteria.insertBefore(i,sortCriteria.options[g])
}else{sortCriteria.options.add(f,g)
}}}}};