//sandy@zymandia.com
document.phpurl = "sr_home.php"
qxpth = "./design/"
au = "auto"
debug = false
isIE = ((navigator.appName.indexOf("Microsoft Internet Explorer") > -1))
pgnms = new Object()
pgnms.hm = "Home"
pgnms.vc = "Vacancies"
pgnms.ct = "Client"
pgnms.co = "Contact"
pgnms.co_d = "Directions"
pgnms.co_so = "Satellite"
pgnms.co_da = "Disabled"
pgnms.co_eu = "Email"
pgnms.co_upload = "Send CV"
// pgnms.gr = "Graduate"
pgnms.ab = "About"
// pgnms.cl = "Client List"
pgnms.mr = "Recruitment"
pgnms.ns = "News"
pgnms.rectext_1 = "Successful interviews"
pgnms.rectext_2 = "10 point plan"
pgnms.rectext_3 = "Tough questions?"
var scn = new Object()
scn.mgc = mgcinit()
var vacrs = new Object()
vacrs.setv = function (){
	if(scn.skn && scn.skn.setv){
		scn.skn.dat = this.dat
		scn.skn.setv()
	}
}
scn.mgc.kzam(vacrs, "getdbvac", "0")
function recinit(){
	//alert("In recinit")////
//alert(scn.mgc.phpurl)
	var foo = scn.mgc
	var outr = document.getElementById("dv_outer")
	outr.onscn = function (tg){
			if(tg.id.indexOf("_jpg") > 0){
				if(!this.pstload)this.pstload = {}
				this.pstload[tg.id] = tg
			}
		}
	outr.dopstld = function (){
			if(this.pstload){
				for (el in this.pstload){
					var src = el.replace("__", "/")
					var src = src.replace("_jpg", ".jpg")
					this.pstload[el].src = src
				}
			}
		}
	scn = scanel(outr)
//alert(scn.mgc.phpurl)
	scn.mgc = foo
	setTimeout("scn.skn.dopstld()", 2000)
	scn.setv = scnsetv
	document.scn = scn
	scn.skn.setv = gotdbvac
	var pages = new Object()
	scn.dv_lynam.style.display = ( debug ? "block" : "none")
	
	// HOME
	pages.hm = scn.dv_home_outer
	//parseob(scn, true)
	pages.hm.bnnr = scn.dv_hm_banner
	pages.hm.lnks = scn.dv_hm_links
	pages.hm.feature = scn.dv_logo_feature
	
		//news
		pages.ns = scn.dv_news_outer
		pages.ns.bnnr = scn.dv_rct1_banner
		pages.ns.lnks = scn.dv_hm_links
		pages.ns.feature = scn.dv_logo_feature
		pages.ns.btn = scn.li_hm_btn
		
	// VACANCIES
	pages.vc = scn.dv_vacancies_outer
	pages.vc.bnnr = scn.dv_vc_banner
	pages.vc.lnks = scn.dv_vc_links
	pages.vc.oref = ""
	pages.vc.onshow = vcshw
	pages.vc.feature = scn.dv_need_help_feature
	
		// MILSOM RECRUITMENT
		pages.mr = scn.dv_milsomrec_outer
		pages.mr.bnnr = scn.dv_rca2_banner
		pages.mr.lnks = scn.dv_vc_links
		pages.mr.btn = scn.li_vc_btn
		pages.mr.feature = scn.dv_logo_feature
		
		// RECTEXT_1 Interview success...
		pages.rectext_1 = scn.dv_vc_interview
		pages.rectext_1.bnnr = scn.dv_rca2_banner
		pages.rectext_1.lnks = scn.dv_vc_links
		pages.rectext_1.feature = scn.dv_logo_feature
		pages.rectext_1.btn = scn.li_vc_btn
		
		// RECTEXT_2 Interview 10 point...
		pages.rectext_2 = scn.dv_vc_tenpoint
		pages.rectext_2.bnnr = scn.dv_rca2_banner
		pages.rectext_2.lnks = scn.dv_vc_links
		pages.rectext_2.feature = scn.dv_logo_feature
		pages.rectext_2.btn = scn.li_vc_btn
		
		// RECTEXT_3 Interview questions...
		pages.rectext_3 = scn.dv_vc_questions
		pages.rectext_3.bnnr = scn.dv_rca2_banner
		pages.rectext_3.lnks = scn.dv_vc_links
		pages.rectext_3.feature = scn.dv_logo_feature
		pages.rectext_3.btn = scn.li_vc_btn

		
		
	//CLIENT
	pages.ct = scn.dv_client_outer
	pages.ct.bnnr = scn.dv_rct1_banner
	pages.ct.lnks = scn.dv_ct_links
	pages.ct.feature = scn.dv_client_feature
	
	//CONTACT
	pages.co = scn.dv_contact_outer
	pages.co.bnnr = scn.dv_rct2_banner
	pages.co.lnks = scn.dv_co_links
	pages.co.feature = scn.dv_co_feature
	
		// directions
		pages.co_d = scn.dv_co_d_outer
		pages.co_d.bnnr = scn.dv_rct1_banner
		pages.co_d.lnks = scn.dv_co_links
		pages.co_d.feature= scn.dv_directions_feature
		pages.co_d.btn = scn.li_co_btn
		
		// satellite offices
		pages.co_so = scn.dv_co_so_outer
		pages.co_so.bnnr = scn.dv_rca2_banner
		pages.co_so.lnks = scn.dv_co_links
		pages.co_so.btn = scn.li_co_btn
		
		// disabled access
		pages.co_da = scn.dv_co_da_outer
		pages.co_da.bnnr = scn.dv_hm_banner
		pages.co_da.lnks = scn.dv_co_links
		pages.co_da.btn = scn.li_co_btn
		pages.co_da.feature = scn.dv_co_feature
		
		// email us
		pages.co_eu = scn.dv_co_eu_outer
		pages.co_eu.bnnr = scn.dv_hm_banner
		pages.co_eu.lnks = scn.dv_co_links
		pages.co_eu.btn = scn.li_co_btn
		
		// upload cv
		pages.co_upload = scn.dv_co_upload_outer
		pages.co_upload.bnnr = scn.dv_hm_banner
		pages.co_upload.lnks = scn.dv_co_links
		pages.co_upload.btn = scn.li_co_btn
		
	// ABOUT 
	pages.ab = scn.dv_about_outer
	pages.ab.bnnr = scn.dv_hm_banner
	pages.ab.lnks = scn.dv_hm_links
	pages.ab.feature = scn.dv_logo_feature
	pages.ab.btn = scn.li_hm_btn
	
	// CLIENT LIST ######## NOT USED ##########
	pages.cl = scn.dv_clientlist_outer
	pages.cl.bnnr = scn.dv_rct2_banner
	pages.cl.lnks = scn.dv_ct_links
	pages.cl.feature = scn.dv_logo_feature
	pages.cl.btn = scn.li_ct_btn
	//GRADUATE ######## NOT USED ##########
	pages.gr = scn.dv_graduate_outer
	pages.gr.bnnr = scn.dv_rca2_banner
	pages.gr.lnks = scn.dv_vc_links
	
	pages.qxhst = scn.qx_isle


	var qstr = window.location.search
	var qpg = "hm"
	var qspg = qstr.match(/pg=([^&]+)/)
	
	if(qspg && qspg[1]){
		if(qspg[1] != "vc"){
			qpg = qspg[1]
		}
		else{
			var qsrf = qstr.match(/rf=([^&]+)/)
			if(qsrf && qsrf[1])document.uref = qsrf[1]
		}
		
		//alert("uref\n" + document.uref + "\npage\n" + qpg)////
	}

	pages.show = showpage
	pages.show(qpg)
	scn.dv_content.pages = pages
	var jbtypslt = slctinit("dv_sch_jbtyp")
	jbtypslt.rs = rsob("jbtyp:V:Temporary:F:typid:V:Temporary:R:jbtyp:V:Permanent:F:typid:V:Permanent:R:jbtyp:V:Contract:F:typid:V:Contract")
	jbtypslt.pg = pages.vc
	jbtypslt.setv()
	var lctslt = slctinit("dv_sch_lctn")
	lctslt.pg = pages.vc
	
	if(vacrs.dat && !scn.skn.dat){
		scn.skn.dat = vacrs.dat
		scn.skn.setv()
		
	}
	document.gettin = new Date()
	pages.vc.srch = Object()
	
	pages.vc.srch.typsl = jbtypslt
	
	pages.vc.srch.locsl = lctslt
	pages.vc.rslts = scn.dv_vacancy_results
	pages.vc.rslts.tmpl = scn.tr_vcrs_tmpl
	pages.vc.rslts.nosrch = scn.tr_vcrs_nosrch
	pages.vc.rslts.totl = scn.dv_vc_total
	pages.vc.rslts.mtchg = scn.dv_vc_matching
	pages.vc.rslts.fill = vcrslfill
	pages.vc.rslts.pg = pages.vc
	pages.vc.doref = dovcoref
	pages.vc.dosrch = dovcsrch
	pages.vc.ap = scn.dv_app_form
	pages.vc.ap.pgs = pages
	pages.vc.ap.tabbox = scn.dv_apfm_tabbox
	pages.vc.ap.tabbox.init = mktabbox
	pages.vc.ap.tabbox.init()
	pages.vc.ap.tabbox.show(1)
	pages.vc.ap.tabbox.pgs = pages

	pages.vc.ap.gry = scn.dv_gry
	pages.vc.ap.cls = scn.dv_closedet
	pages.vc.ap.cls.apf = pages.vc.ap
	pages.vc.ap.cls.onclick = fadeaway
	pages.vc.ap.eml = scn.dv_apfm_email
	pages.vc.ap.eml.onclick = doapfeml
	pages.vc.ap.gry.apf = pages.vc.ap
	pages.vc.ap.gry.onclick = fadeaway
	pages.vc.ap.show = shwdtl
	scn.li_tc.blrb = scn.tc_outer
	scn.li_tc.blrb.cls =  scn.im_tc_cls
	scn.li_tc.blrb.show = shwdtl
	scn.li_tc.onclick = liclk
	scn.li_pp.blrb = scn.pp_outer
	scn.li_pp.blrb.cls =  scn.im_pp_cls
	scn.li_pp.blrb.show = shwdtl
	scn.li_pp.onclick = liclk
	scn.li_sr.blrb = scn.sr_outer
	scn.li_sr.blrb.cls =  scn.im_sr_cls
	scn.li_sr.blrb.show = shwdtl
	scn.li_sr.onclick = liclk
	pages.vc.ap.lnm = scn.dv_lynam
	
	pages.vc.dtl =  scn.dv_vacancy_selected
	pages.vc.dtl.dtlscn = scanel(pages.vc.dtl)
	/*pages.vc.dtl
	//pages.vc.dtl.gry = scn.im_gry
	pages.vc.dtl.gry = scn.dv_gry
	//pages.vc.dtl.grydv.dtl = pages.vc.dtl
	pages.vc.dtl.cls = scn.dv_closedet
	pages.vc.dtl.cls.dtl = pages.vc.dtl
	pages.vc.dtl.cls.onclick = fadeaway
	pages.vc.dtl.gry.dtl =  pages.vc.dtl
	pages.vc.dtl.gry.onclick = fadeaway
	pages.vc.dtl.show = shwdtl*/
	pages.vc.shwall = scn.dv_reset
	pages.vc.shwall.pg = pages.vc
	pages.vc.shwall.onclick = doshowall
	
	// cal stuff
	/*var DOBbtn = scn.dv_cal_btn
	DOBbtn.sk =scn.dv_cal
	DOBbtn.sk.tx = scn.tx_DOB
	DOBbtn.onclick = gscalinit
	
	var avlbtn = scn.dv_calav_btn
	avlbtn.sk =scn.dv_calav
	avlbtn.sk.tx = scn.tx_avl
	avlbtn.onclick = gscalinit*/
	
	scn.shwjb = showjob
	//scn.img_m_logo.onkeypress = logoninit
	document.onmousedown = logoninit
	scn.dv_lynam.innerHTML += "<br/>done recinit I reckon  "
	//alert("Off for data" + scn.skn.id)
}
function getbroch(url){
	self.brofd.fd = false	
	brochfd()
	window.open("sr_home.php?fnc=getbrchpdf&arg=" + escape(url), 'brioche')
	//document.scn.if_broch.src = "sr_home.php?fnc=getbrchpdf&arg=" + escape(url)
}
function brochfd(){
	if(self.brofd){
		if(!self.brotck)self.brotck = self.setInterval("brochfd()", brofd.tk)
		if(self.brofd.fd){
			if(self.brofd.opi < 11){
				setopcint(self.brofd, 1*(1*self.brofd.opi + 1*self.brofd.stpi))
			}
		}
		else{
			if(self.brofd.opi > 0){
				setopcint(self.brofd, 1*(self.brofd.opi - self.brofd.stpi))
			}
			else{
				var foo = self.brofd.fd
				self.brofd.op = 0
				self.brofd.opi = 0
				//self.clearInterval(self.brotck)
				self.brofd = ""
				//alert("Off")
			}
		}
		var bar = 1
		
	}
}
function dobrochure(btn){
	if(!btn.brch){
		var broch = document.scn.dv_brochure_sk.cloneNode(true)
		btn.parentNode.style.position = "relative"
		btn.parentNode.style.zIndex = 30
		var brh = btn.parentNode.appendChild (broch)
		btn.brch = brh
		btn.brch.stp = .1
		btn.brch.stpi = 1
		btn.brch.tk = 100 //milliseconds between ticks
		setopc(btn.brch, .3)
		btn.brch.style.display = "block"
		btn.brch.style.left = "120px"//btn.offsetWidth + "px"
		btn.brch.style.top = "-130px"//"-1*btn.brch.offsetHeight + "px"
		btn.brch.fde = function (bl){
							this.fd = bl
							self.brofd = this
							brochfd()
						}
		document.scn.dv_brochure_cl.onclick = function (){
							self.brofd.fd = false	
							brochfd()							
						}
	}
	var bl = (btn.brch.op < .5)
	btn.brch.fde(bl)
		//alert("brh.style.top " + btn.brch.style.top + "\nbrh.offsetHeight " + btn.brch.offsetHeight)
	
	/*var x = btn.offsetLeft + btn.offsetWidth
	var y = btn.offsetTop
	
	broch.style.Left = x + "px"
	broch.style.Top = y + "px"
	broch.style.display = "block"
function my_setInterval(one, two) {
	if (typeof(one) == "function") {
		function myFun(){} 
		myFun=one; 
		function newFun() {
			stopPopups('ontimer');
			myFun();
			startPopups('direct');
		} 
		try { 
		return orig_setInterval(newFun,two);
		} 
		catch (e) {
			
		} 
		
	} 
	else {
		try {
			return orig_setInterval("stopPopups('ontimer');"+one+";startPopups('direct');", two);
		} 
		catch (e) {
		} 
	}
}	
	
	
	*/
	
}



function doapfeml(){
	//alert("do email")
	var sk = this.scn.dv_emdlg_sk
	if(sk.no){
		sk.no = false
	}
	else{
		this.scn.sp_emdlg_ref.innerHTML = this.eref
		this.scn.dv_emdlg_cls.sk = sk
		sk.style.display = "block"
		sk.parentNode.style.zIndex = 30
		this.scn.tx_emdlg_to.btn = this.scn.dv_emdlg_snd
		this.scn.tx_emdlg_to.chk = frmeml
		this.scn.tx_emdlg_to.onblur = function (){this.chk()}
		//debug
		this.scn.tx_emdlg_to.ondblclick = function (){this.value = "sandy@zymandia.com"}
		
		this.scn.dv_emdlg_snd.svr = this.scn.sp_emdlg_svr
		this.scn.dv_emdlg_snd.disabled = true
		this.scn.dv_emdlg_snd.setv = dnchk
		this.scn.dv_emdlg_snd.onclick = sndvaceml
		this.scn.dv_emdlg_cls.onclick = function (){
									//alert("close?\n" + this.sk.id)
									this.sk.style.display = "none"
									this.sk.no = true
									this.sk.parentNode.style.zIndex = 0
								}	//alert(this.eref)
	}
}
function sndvaceml(){
	var sk = this.scn.dv_emdlg_sk
	if(this.svr.innerHTML == "&nbsp;"){
		sk.no = true
		this.scn.tx_emdlg_to.chk()
		//alert("Need a valid e-mail")
	}
	if(this.svr.innerHTML.substr(0,4) == "mail"){
		var to = this.scn.tx_emdlg_to.value
		var sbj = this.scn.tx_emdlg_sbj.value
		var bod = "<a href='http://www.milsom.uk.com/sr_recruitment.htm?pg=vc&rf=" + this.scn.sp_emdlg_ref.innerHTML + "'>"
		bod += "This is a link to a vacancy at Milsom (Ref: " + this.scn.sp_emdlg_ref.innerHTML + ")</a><br/>"
		bod += "or<br/>http://www.milsom.uk.com/sr_recruitment.htm?pg=vc&rf=" + this.scn.sp_emdlg_ref.innerHTML + " <br/>if it isn't a link<br/><br/>"
		bod += this.scn.tx_emdlg_bod.value
		var arg = to + ":F:" + sbj + ":F:" + bod
		sk.setv = sntvceml
		//alert("Off to send\n" + arg)
		this.scn.mgc.kzam(sk, "sndvceml", arg)
	}
}
function sntvceml(){
	//alert(this.dat)
	this.style.display = "none"
	this.parentNode.style.zIndex = 0
}
function liclk(){
	this.blrb.show(true)
}
function logoninit(e){
	if (!e) var e = window.event
	
	if (e.target) targ = e.target
	else if (e.srcElement) targ = e.srcElement
	if (targ.nodeType == 3) targ = targ.parentNode// defeat Safari bug
	
	if(targ.id == "img_m_logo" && e.button == 2){
		//parseob(e, true)
		var tx = prompt("Attempting logon to Milsom website", "")
		targ.setv = gotlogon
		if(tx.indexOf("%") + 1){
			alert("Oooo, you and your SQL\nyou're so naughty!")
			return 0
		}
		targ.scn.mgc.kzam(targ, "dologon", tx)
	}
	
	
}

function gotlogon(){
	//alert("Logon\n" + this.dat)
	if(isNaN(this.dat)){
		if(this.dat.length < 4){
			this.scn.isadmin = this.dat
		}
		else{
			if(this.dat.indexOf(":CVS:") > 0){
				var bts = this.dat.split(":CVS:")
				var rs = rsob(bts[0])
			}
			else var rs = rsob(this.dat);
			var grd = {"bx":scn.dv_condat_bx, "tm":scn.dv_condat_tmpl}
			//parseob(rs.rws[1], true)
			for(var i=0;i < rs.l ; i++){
				if(!i && rs.rws[0].CONS_EMAIL){
					var con = rs.rws[0].CONS_EMAIL.replace(/@.+/, "")
					scn.sp_condat_nme.innerHTML = (bts[1].length > 2) ? con : "Milsom Web Applicants (" + rs.l + ")"
				}
				var dtrw = grd.bx.appendChild (grd.tm.cloneNode(true))
				dtrw.style.display = "block"
				dscn = scanel(dtrw)
				for(el in rs.rws[i])if(dscn["sp_condat_" + el])dscn["sp_condat_" + el].innerHTML = rs.rws[i][el]
				var apdv = dscn.sp_condat_ap_EMAIL
				var cvlnk = dscn.a_condat_cvlnk
				var cvdv = dscn.sp_condat_ap_CV
				var cnlnk = dscn.sp_condat_CONS_EMAIL
				var col1 = dscn.sp_condat_NAME.parentNode
				if(bts && bts[1].length > 2){
					var apml = rs.rws[i]["axj_ap_EMAIL"]
					apdv.apml = apml
					apdv.style.display = "block"
					cvdv
					cnlnk.style.display = "none"
					apdv.onclick = function (){
								self.location = "mailto://" + this.apml
							}
					var fl = apml.replace(/[.]/g, "--").replace(/[@]/g, "__")
					var flry = bts[1].split(fl)
					if(flry && flry[1]){
						var fltp = flry[1].replace(/(^[^:]+):.+/, "$1")
						cvlnk.href = "http://milsom.uk.com/upcvs/" + fl + fltp	
						cvlnk.style.display = "block";
						cvdv.style.display = "block";
					}
					else cvlnk.style.display = "none";
				//	col1.style.width = "85%"
				}
				else{
					apdv.style.display = "none"
					cvlnk.style.display = "none"
					cvdv.style.display = "none"
					cnlnk.innerHTML = cnlnk.innerHTML.replace(/@.+/, "")
					cnlnk.style.display = "block"
				//	col1.style.width = "85%"
				}
			}
			scn.dv_cons_dat.shw = shwdtl
			scn.dv_cons_dat.cls = scn.dv_condat_cls
			scn.dv_cons_dat.style.display = "block"
			scn.dv_cons_dat.shw(true)
			//alert("got cons data\n" + this.dat)
		}
	}
}

function scnsetv(){
	//alert("setv sez\n" + this.dat.replace(":RS:", "\n\n"))
	if(this.dat.indexOf("quawk") > 0) {
		alert(this.dat)
		return 0
	}
	var rss = (this.dat.indexOf(":RS:") > 0)? this.dat.split(":RS:") : Array(this.dat)
	var m = rss[0].match(/(\w+)~(.+)/)
	var nw = m[1]
	var chp = m[2]
	if(nw == "W")alert("Welcome back!")
	if(nw == "N")alert("Welcome to the Milsom website!")
	
	var rs = rsob(chp)
	var rw = rs.rws[0]
	document.pat.rsid = rw["ap_id"]
	//alert("setv sez\n" + nw + "\nid " + rw["ap_id"] + "\nchp " + chp.replace(/:F:/, "\n"))//
	for (el in this.frmels){
		
		if(rw["ap_" + el]){
			var dad = this.frmels[el].parentNode
			if(dad.setv)dad.setv(rw["ap_" + el])
		}
	}
	if(rss[1]){
		var cvrs = rsob(rss[1])
		for(var i = 0; i < cvrs.l ; i++){                
			if(cvrs.rws[i].cv_quals == "_"){
				this.btn_ed_cv_add.setv(cvrs.rws[i])
			}
		}
	}
	
	
	//alert("scn return sez\n" + this.dat)//
}
function edsetv(rw){
	if(this.bx && this.tmpl){
		var nd = this.tmpl.cloneNode(true)
		var edrw =  this.bx.appendChild(nd)
		edrw.style.display = "block"
		edrw.edscn = scanel(edrw)
		for(el in rw){
			if(edrw.edscn["tmp_ed_" + el])edrw.edscn["tmp_ed_" + el].innerHTML = rw[el]	
		}
	}
}
function initform(scn){
	var f = scn.frmels
	//parseob(f, true)
	var  m = "Form elems\n"
	try{
				/*var edbtn = scn.btn_ed_cv_add
				edbtn.flds= Object()
				edbtn.init = mkcved
				edbtn.doupd = frmupd
				edbtn.name = "ed_cv_add"
				edbtn.form = document.pat
				edbtn.tmpl = scn.dv_ed_cv_tmpl
				edbtn.bx = scn.dv_ed_cv_box
				edbtn.setv = edsetv*/
				var emlbtn = scn.btn_email_us
				emlbtn.disabled = true
				emlbtn.cmnt = scn.tx_eu_cmts
				emlbtn.eml = scn.tx_eu_email
				emlbtn.eml.btn = emlbtn
				emlbtn.nme = scn.tx_eu_name
				emlbtn.svr = scn.dv_eu_chk
				emlbtn.onclick = sndcmnt
				emlbtn.setv = dnchk
	for(el in f){		
		
		if(f[el].type && ( f[el].type.toLowerCase() ==  "file")){
			mkfile(f[el])			
		}
		else if(
				f[el] && f[el].id 
				&& (f[el].id.indexOf("_nws_") < 0) 
				&& (f[el].id.indexOf("_emdlg_") < 0) 
				&& (f[el].id.indexOf("_cveml") < 0) 
				&& (f[el].id.indexOf("_cvpfjb") < 0) 
				&& f[el].type 
				&& ( f[el].type.toLowerCase() !=  "button")
				&& ( f[el].type.toLowerCase() !=  "hidden")
				){			
			//if(el == "DOB")alert("got it")
			m += "\n" + el + " id: "+ (f[el].id ? f[el].id : "No ID " )+ " tp: " +  (f[el].type ? f[el].type : "No type")
			var dad = f[el].parentNode 
				f[el].style.position = "absolute"
			var nd = document.createElement("div")
			var dv = dad.appendChild (nd)
			dv.innerHTML = "&nbsp;"
			//dad.style.position = 
			dv.style.position = "relative"//"absolute"
			//dv.style.top = "-2px"
			/*dv.style.zIndex = au
			alert("boo") 0
			alert("hoo")
			dv.style.width = (parseInt(f[el].style.width) + 4) + "px"//(f[el].width + "px" : "auto")
			dv.style.height = (parseInt(f[el].style.height) + 4) + "px"*/
			if(isIE){
				//alert("Is IE")
				dv.className = "apfm_inputs_IE"
			//dv.style.top = "-12px"
				dv.style.width = (parseInt(f[el].style.width) - 0) + "px"//(f[el].width + "px" : "auto")
				var h = parseInt(f[el].style.height)
				//alert(h)
				if(h>30)dv.style.height = (h) + "px"
				////dv.style.
				//dv.style.top = "-4px"
			}
			else{
				dv.className = "apfm_inputs_FF"
				dv.style.width = (parseInt(f[el].style.width) -5) +  "px"//(f[el].width + "px" : "auto")
				dv.style.height = (parseInt(f[el].style.height) - 1) + "px"//f[el].style.height
			}
			
			
			//f[el].style.display = "none"
			f[el].oh = f[el].style.height
			f[el].ow = f[el].style.width
			f[el].ob = f[el].style.border = "1px solid #999999"
			f[el].style.overflow = "hidden"
			f[el].txshw = function (bl){
									this.style.height = (bl ? this.oh : "0px")
									this.style.width = (bl ? this.ow : "0px")
									this.style.border = (bl ? this.ob : "0px solid #FFFFFF")
								}
			f[el].txshw(false)
			dad.tx =  f[el]
			dad.dv = dv
			f[el].dad = dad
			if(f[el].id.substr(0,3) == "tx_") mktx(f[el])
			if(f[el].id.substr(0,4) == "ddl_") mkddl(f[el])
			if(f[el].id.substr(0,4) == "cal_") mkcal(f[el])
			if(el.indexOf("ed_cv_") > -1)edbtn.flds[el.substr(3,10)] = dad			
			dad.f = f
			dad.tx.doupd = (el.indexOf("eu_") == 0 ? frmeml : frmupd)
			dad.f.blr = function (fcs){
								var msg =""
								for(el in this){
									var elm = this[el]
									if(elm != fcs){										
										try{
											if(elm && elm.parentNode && elm.parentNode.onmseout){
												elm.parentNode.onmseout()
											}
										}
										catch(er){
											msg +="\n\nSquawk (initform) on " + el + "\n" + parseob(er)
										}
									}
									else{
										//alert("Focus is\n" + elm.id)
									}
								}
								if(msg)alert(msg)
							}
			dad.onmouseover = function (){
									if(this.dv.style.display != "none"){
										if(this.onmseover)this.onmseover()
										this.f.blr(this.tx)
									}
								}
			f[el].onmouseout = function (){
									if(this.dad.dv.style.display == "none"){
										this.scn.frmels.blr(this)
									}
								}
			f[el].onfocus = function (){
									if(this.dad.dv.style.display != "none"){
									//alert("onfocus!\n" + this.id)
										if(this.dad.onmseover)this.dad.onmseover()
										this.dad.f.blr(this)
									}
								}
			if(el == "EMAIL"){
				f[el].ondblclick = function (){
									this.value = "sandy@zymandia.com"
								}
			}
		}
	}

	//edbtn.init()
	//alert(m)
	}
	catch(er){
		if(el == "LOCATION")return 0
		alert("Oops on " + el + "\n" + parseob(er) + "\n\n" + m)
	}
}
function gotfil(msg){
	//alert("uploaded CV to : " + msg)//
	
	if(msg.indexOf("hank") + 1){
		var s = document.scn
		if(s.dv_co_upload_outer.style.display == "block"){
			s.sp_cvup_pls.style.display = "none"
			s.if_filup_onl.style.display = "none"
			s.sp_cvup_ta.style.display = "block"
		}
		else{
			var tbx = s.dv_apfm_tabbox
			tbx.cvok = true
			tbx.phpmsg = msg
			tbx.show(4)
		}
	}
	else if(msg.length > 3){
		alert("Oops \n" + msg + "\nPlease resubmit")
	}
}
function mkcved(){
	for (el in this.flds){
		
		if(el.indexOf("_")>0)this.flds[el].tx.doupd = nullfunc
	}
	this.onclick = function (){
					var ary = Array()
					for (el in this.flds){
						if(el.indexOf("_")>0){
							var val = this.flds[el].tx[this.flds[el].tx.dbval?"dbval":"value"]
							ary[ary.length]= el + ":v:" + val
						}
					}
					this.dbval = ary.join(":f:")
					if(this.dbval.indexOf(":v::f:") > -1){
						alert("Please let us know at least dates and place")
					}
					else{
						alert("Off we go\n" + this.dbval)
						this.doupd()
					}
				}
}
function frmeml(){
	if(this.name == "eu_email"
	   || this.name == "emdlg_to"
	   ){
		//alert("mAIL-CHECK")
		var m = this.value.match(/([^@]+)@([^.]+)[.](\w+)/)
		if(m && (m[3])){
			var arg =  escape(this.name + ":V:" + this.value)			
		//alert("mAIL-CHECK\n" + arg)//
			this.btn.svr.style.display = "block"
			//this.btn.svr.style.fontSize = "8px"
			this.btn.svr.innerHTML = "Checking " + this.value
			this.scn.mgc.kzam(this.btn, "emlchck", arg)
			//alert("off to server\n" + arg)
		}
		else{
			alert("We've never seen an e-mail like that!")
			
		}		
	}
}
function dnchk(){
	
	if(this.dat.indexOf(":V:") > 0){
		var rsl = this.dat.split(":V:")
		if(rsl[0] == 1){
			this.svr.innerHTML = "mail server at:<br/>" + rsl[1]
			this.disabled = false
		}
		else{
			this.svr.innerHTML = "&nbsp;"
			this.disabled = true
			alert("Please check E-mail address\nError:\n" + rsl[1])
		}
	}
	else{
		alert(this.dat) 
	}
}
function sndcmnt(){
	if(this.cmnt.value.length > 1){
		var qs = "eu_name=" + escape(this.nme.value ? this.nme.value : "Anon") 
		qs += "&eu_email=" + escape(this.eml.value) 
		qs += "&eu_cmnt=" + escape(this.cmnt.value) 
		this.scn.mgc.qs = qs
	//alert(qs)
		this.scn.mgc.kzam(this, "sndeml", 1)
	}
	else{
		alert("Hmm, taciturn type eh?\n Go on, say something ;)")
	}
}
function frmupd(){
	var vl = this.dbval? this.dbval :  this.value.txtohtm(true)
	if(this.form.rsid > 0){
		var arg =  this.name + ":V:" + vl + ":V:" + this.form.rsid
	}	
	else if(this.name == "EMAIL"){
		//alert("name is\n" + this.name + "\n" + this.oval  + "\n" + this.value)
		var m = this.value.match(/([^@]+)@([^.]+)[.](\w+)/)
		if(m && (m[3])){
			var arg =  this.name + ":V:" + vl + ":V:0" 
			//alert("off to server\n" + arg)
		}
		else{
			alert("We've never seen an e-mail like that!")
		}
	}
	else{
		alert("Please enter your e-mail first")
	}
	//alert("off to update\n" + arg)
	this.scn.mgc.kzam(this.scn, "fmupd", arg)
}
function mktx(el){				//if(el.name == "DOB")alert("got it\n" + el.style.display )
	//el.parentNode.style.zIndex = 0"auto"
	el.parentNode.onmseover = function (){
						if(this.dv.style.display !=  "none"){
							this.dv.style.display =  "none"
							this.tx.txshw(true)
							var htm = this.dv.innerHTML.txtohtm(false)
							this.tx.value = ((htm !="&nbsp;") ? htm : "")
							this.tx.oval = this.tx.value 
							this.tx.focus()
						}
					}
	el.parentNode.onmseout = function (){
						if(this.tx.style.width != "0px"){
							this.dv.style.display =  "block"
							this.tx.txshw(false)
							this.dv.innerHTML = this.tx.value.txtohtm(true)
							if(this.tx.oval != this.tx.value){
								this.tx.oval = this.tx.value
								this.tx.doupd()
							}
						}
					}
	el.parentNode.setv = function (htmvl){
							this.dv.innerHTML = htmvl
							this.tx.value = htmvl.txtohtm(false)
							this.tx.oval = this.tx.value 
						}
}
function mkddl(el){
	//alert("in mkddl\n" + el.name)
	var dad = el.parentNode
	dad.style.position = "relative"//
	dad.opts = Array()
	var nd = document.createElement("div")
	dad.optbx = dad.appendChild (nd)
	dad.optbx.style.zIndex = "30"
	dad.optbx.style.position = "absolute"
	dad.optbx.style.height = "300px"
	dad.optbx.style.display = "none"
	dad.optbx.style.backgroundColor = "#FFFFFF"
	dad.optbx.style.borderColor = "#999999"
	dad.optbx.style.border = "1px solid"

	
	dad.mkopt = function (vl, tx){
						var nd = document.createElement("div")
						var opto = this.optbx.appendChild (nd)
						var nd = document.createElement("div")
						var opt = opto.appendChild (nd)
						opt.dad = this
						opt.onclick = function (){
											this.dad.slct(this)
										}
						opt.val = vl
						opt.txv = (tx ? tx : vl)
						opt.innerHTML = opt.txv
						opt.style.cursor = "pointer"
						opt.style.padding = "3px"
						opt.style.width = "150px"
						return opt						
					}
	dad.slct = function (op){
					if(op.txv != "Other"){
						//alert("Selected\ntxv " + op.txv + "\ndbv " + op.val + "\noval "+ this.tx.oval)
						this.tx.value = op.txv
						this.tx.dbval = op.val	
						this.optbx.style.display = "none"
						this.dv.innerHTML = op.txv.txtohtm(true)
						if(op.txv != this.tx.oval){
							this.tx.oval = op.txv
							this.tx.doupd()
						}
					}
				}
	dad.onmseover = function (){
							//alert("display")
							this.optbx.style.display = "block"
							var htm = this.dv.innerHTML.txtohtm(false)
							this.tx.oval = ((htm !="&nbsp;") ? htm : "")	
							this.style.zIndex = "20"
						}
	dad.onmseout = function (){
							if(this.othbx && (this.othbx.tx.style.display == "block"))this.othbxmsout()
							if(this.optbx.style.display != "none")this.optbx.style.display = "none"
							this.style.zIndex = "0"
						}
	if(el.name == "TITLE"){
		var ttls = Array("Mr.", "Mrs.", "Miss", "Ms.", "Dr.", "Other")	
		dad.optbx.style.height = "auto"//"130px"
		for(var i = 0; i < ttls.length ; i++){ 
			var opt = dad.mkopt(ttls[i])
			opt.style.width = "96px"
			opt.className = "ddl_TITLE"
			dad.opts[dad.opts.length] = opt
			
		}
		dad.setv = function (htmvl){
							this.dv.innerHTML = htmvl
							this.tx.value = htmvl.txtohtm(false)
							this.tx.oval = this.tx.value 
						}
		var oth = dad.opts[dad.opts.length - 1]
		dad.othbx = oth.parentNode
		var nd = document.createElement("input")
		nd.type = "text"
		oth.tx = oth.parentNode.appendChild (nd)
		oth.tx.style.display = "none"
		oth.tx.style.width = "96px"//"96px"
		oth.tx.style.height = "18px"
		oth.tx.style.position = "relative"
		oth.tx.style.left = "1px"
		oth.parentNode.tx= oth.tx
		oth.parentNode.dv = oth
		oth.parentNode.msout = othmsout
		oth.parentNode.onmouseover =function (){
										if(this.tx.style.display != "block"){
											this.tx.style.display = "block"
											this.tx.focus()
											this.dv.style.display = "none"
										}
									}
		oth.parentNode.onmouseout =function (){
										this.msout() 
									}
	}
	if("xNATIONALITYxCOUNTRYx".indexOf(el.name) > 0){
		var ntns = el.scn.skn.ntnrs
		for(var i=0; i < ntns.l ; i++){
			var rw = ntns.rws[i]
			var txv = ((el.name == "NATIONALITY") ? rw["nationality"] : rw["country"] )
			var op = dad.mkopt(rw["id"], txv)
			op.style.height = "18px"
			dad.opts[rw["id2"]] = op
			dad.optbx.style.width = ((el.name == "NATIONALITY") ? "252px" : "252px" )
		}
		dad.optbx.style.overflow = "scroll"
		dad.optbx.style.top = "-300px"
		dad.setv = function (id){
						if(this.opts[id] && this.opts[id].txv){
						//alert("setting default nation\n" + el.id)
							this.dv.innerHTML = this.opts[id].txv
							this.tx.value = this.opts[id].txv.txtohtm(false)
							this.tx.oval = this.opts[id].txv.txtohtm(false)
							this.tx.dbval = this.opts[id].val
						}
					}
		dad.setv(1)
	}	
}
function othmsout(){
	if(this.tx.style.display != "none"){
		this.dv.style.display ="block"
		this.tx.style.display =  "none"
		if(this.tx.value.length){
			this.dv.val = this.tx.value
			this.dv.txv = this.tx.value
			this.dv.innerHTML = this.tx.value
		}
		this.dv.dad.slct(this.dv)//
	}
}/**/

function mkcal(el){
	var btn = el.scn["dv_" + el.name +  "_btn"]
	var clbx = el.scn["dv_" + el.name]
	//alert("in mkcal\n" + el.name)
	if(btn && clbx){		
		el.dad.style.position = "relative"//
		clbx.style.position = "absolute"
		clbx.init = mkclbx
		clbx.init()
		clbx.setdt= setdatetime
		clbx.setdt()
		clbx.style.zIndex = 100
		el.dad.clbx = clbx
		el.dad.onmseover = function (){									
									if(this.clbx.style.display != "block"){
										this.clbx.style.display = "block"
										this.dv.innerHTML = "Click here when date is set"
										this.dv.onclick = donedate
										this.tx.value = clbx.yrval + "-" + clbx.mtval + "-" + clbx.dyval
										this.tx.dbval = this.tx.value
										this.tx.oval = this.tx.value
										this.clbx.parentNode.style.zIndex = 20
										//alert("val now\n" + this.tx.oval)
									}
								}
		el.dad.onmseout = function (){
									this.clbx.style.display = "none"
										this.dv.innerHTML = this.tx.value
										this.dv.onclick = nullfunc
										this.clbx.parentNode.style.zIndex = "0"
								}
		el.dad.setv = function (val){
							var bts = val.match(/(\d{4})-(\d\d)-(\d\d)/)
							if (bts && bts[3]){
								this.clbx.dtm = new Date(bts[1], (bts[2] - 1), bts[3])
								this.clbx.setdt()
								this.dv.innerHTML = this.clbx.dyval + " " + this.clbx.mthtx + " " + this.clbx.yrval
							}
							else{
								alert("Oops on DB date parsing\n" + val)
							}
						}
	}
	else{
		alert("No cal dv for\n" + el.name + "\nbtn : " + (btn? "OK" : "Grurg") + "\ncal : " + (cal? "OK" : "Grurg"))
	}
}

function donedate(){
	var clbx = this.parentNode.clbx
	var dbdte =  clbx.yrval + "-" + clbx.mtval + "-" + clbx.dyval
	clbx.style.display = "none"
	if(dbdte != this.parentNode.tx.oval){
		this.parentNode.tx.value = dbdte
		this.parentNode.tx.oval = dbdte
		this.parentNode.tx.dbval = dbdte
		this.parentNode.tx.doupd()
		this.innerHTML = (this.id.indexOf("_cv_") > 0 ? "" :clbx.dyval + " " ) + clbx.mthtx + " " + clbx.yrval
		//alert("date is:\n" + clbx.dyval + " " + clbx.mthtx + " " + clbx.yrval + "\nor\n" + clbx.yrval + "-" + clbx.mtval + "-" + clbx.dyval)
	}
	else{
		alert("dbdte is: " + dbdte + "\noval is " + this.parentNode.tx.oval)
	}
}


function showjob(ref){
	//alert("in shw jb\n" + this.skn.rs.l)
	//showpage('vc')
	var vc = this.dv_content.pages.vc
	var i = 0
	while((this.skn.rs.rws[i].OTHER_REF != ref) && (i < this.skn.rs.rws.length))i++
	//alert(i + "\n" + this.skn.rs.rws.length)
	if(this.skn.rs.rws[i] && this.skn.rs.rws[i].OTHER_REF == ref){
		//alert("got data\n" + ref)
		vc.ap.eml.eref = ref
		vc.oref = this.skn.rs.rws[i]
		//alert("off to doref  " + i)
		vc.doref()
		vc.ap.tabbox.ldprnt(1)
		vc.ap.tabbox.jref = ref
		vc.ap.tabbox.jttl = vc.oref["JOB_TITLE"]
		vc.ap.tabbox.cnml = vc.oref["CONS_EMAIL"]
		//alert("Done doref??")
	}
	else alert("Oops no longer there\n" + ref)
}
function mktabbox(){
	this.scn.dv_lynam.innerHTML += "<br/>In make tab box<br/>"
	var tabs = Array()
	var tbnm = "dv_apfm_tab"
	var i = 1
	while (this.scn[tbnm + i + "_on"]){
		var tbobj = new Object()
		tbobj.tbs = new Object()
		tbobj.tbs.on = (this.scn[tbnm + i + "_on"] || false)
		tbobj.tbs.off = this.scn[tbnm + i + "_off"]
		tbobj.tbs.dis = this.scn[tbnm + i + "_dis"]
		tbobj.tbs.tkon = this.scn[tbnm + i + "_tk_act"]
		tbobj.tbs.tkoff = this.scn[tbnm + i + "_tk"]
		tbobj.tbs.tkdis = this.scn[tbnm + i + "_tk_dis"]
		tbobj.tabbx =  this.scn[tbnm + i + "_bx"]
		tbobj.pag = this.scn[tbnm + i + "_page"]
		tbobj.dsply = function (im){
								this.tabbx.enb = ((im == "on" || im == "tkon") ? true : false)	
								for(el in this.tbs){									
									this.tbs[el].style.display = (el == im ? "block" : "none")				
								}
							}
		tbobj.tabbx.ind = i
		tbobj.tabbx.tbx = this
	this.scn.dv_lynam.innerHTML +=  i + " Ok,  "
		
		
		tbobj.tabbx.onclick =  function (){
								if(this.enb)this.tbx.show(this.ind)
							}
		
		tabs[i] = tbobj
		i ++
	}
	this.tabs = tabs
	//alert("i is " + i)
	this.show = shwtabs	
	this.apok = false
	this.ldprnt = loadprnt
	this.dtlnxt = this.scn.dv_dtls_nxt
	this.dtlnxt.tbx = this	
	this.dtlnxt.gotb2 = this.scn.dv_wsh_off
	this.dtlnxt.gotb4 = this.scn.dv_wsh_on
	this.dtlnxt.onclick = function (){
							this.tbx.show(2)
						}
	var apfnxt = this.scn.dv_apfm_nxt
	apfnxt.tbx = this	
	apfnxt.onclick = function (){
							this.tbx.show(3)
						}
}
function loadprnt(ind){
	var ifrp = self.frames.prntbx
	if(ifrp){
		//var htm = this.tabs[ind].pag.innerHTML
		ifrp.htm = this.tabs[ind].pag.innerHTML
		//var prbdy = ifrp.document.getElementById("dv_prnt_body")
		//prbdy.innerHTML = htm
		//this.prbdy = prbdy
	}
}
function doprint(prnbtn){
	var ifrp = self.frames.prntbx
	if(ifrp && ifrp.htm){
		var prbdy = ifrp.document.getElementById("dv_prnt_body")
		prbdy.innerHTML = ifrp.htm
		//this.prbdy = prbdy
		ifrp.dopr()
	}
}
function shwtabs(indx){
	var i = 1
	if(indx == 3){
		var f = this.scn.frmels
		if(f.EMAIL.value.length > 0){
			var a = Array()
			if(f.FIRST_NAME.value.length == 0){
				a[a.length] = "First Name"
			}
			if(f.LAST_NAME.value.length == 0){
				a[a.length] = "Last Name"
			}
			if(f.OTHER_TEL.value.length == 0){
				a[a.length] = "Phone"
			}
			if(a.length > 1){
				var msg = "This form is uncompleted and will be stored until you choose to finish it\n"
				msg += "Should you wish our consultants immediate attention, please fill in the following\n" + a.join("\n")
				alert(msg)
				return 0
			}
			else{
				this.apok = true
				//alert("setting apok")
			}
		}
	}
	while(this.tabs[i]){
		var bl = ((indx == i))		
	//alert("bl is " + bl)
		//this.tabs[i].tabbx.className = (bl ? "tab_on" : "tab_off")
		this.tabs[i].pag.style.display = (bl  ?  "block" : "none")
		
		//this.tabs[i].tabon.style.display = (bl ? "block" : "none")
		
			if(i ==1){
				/*this.tabs[1].tabon.style.display = "none"
				this.tabs[1].taboff.style.display = (bl ? "block" : "none")
				this.tabs[1].tabtk.style.display = (!bl ? "block" : "none")*/
				this.tabs[1].dsply(bl ? "off" : "tkon")
				this.dtlnxt.gotb2.style.display = (!this.cvok ? "block" : "none")
				this.dtlnxt.gotb4.style.display = (this.cvok ? "block" : "none")
				this.dtlnxt.onclick = function (){
												this.tbx.show(this.tbx.cvok ? 4 : 2)
											}
			}
			if(i ==2){
				/*this.tabs[2].taboff.style.display = (bl ? "block" : "none")
				this.tabs[2].tabtk.style.display = (!bl && this.apok ? "block" : "none")
				this.tabs[2].tabon.style.display = (!bl && !this.apok ? "block" : "none")*/
				var t = ""
				if(bl){
					t = this.apok ? "tkoff" : "off"
				}
				else{
					if(this.cvok){
						t = "tkdis"
					}
					else{
						t =( this.apok == true ? "tkon" : "on")
					}					
				}
				this.tabs[2].dsply(t)
			}
			if(i ==3){
				var t = ""
				if(bl){
					t = "off"
				}
				else{
					t = this.cvok ? "tkdis" : "on"
				}
				this.tabs[3].dsply(t)
			}
			if(i ==4){
				var t = ""
				if(bl){
					t = "tkoff"
					if(!this.tabs[4].wshlst){// inline initialization, probably naughty
						var wbx = this.scn.dv_wsh_bx
						wbx.tmpl = this.scn.dv_wsh_tmpl
						wbx.tbx = this
						wbx.chk = "XX"
						wbx.tbx.emlint = "__"				
						var gobrw = this.scn.dv_gobrws_btn
						gobrw.tbx = this
						gobrw.onclick = function (){
												this.tbx.pgs.vc.dosrch()
												this.tbx.pgs.show("vc")
												this.tbx.pgs.vc.ap.show(false)
												this.tbx.show(1)
											}
						var emlcon = this.scn.dv_emlcon_btn
						emlcon.tbx = this
						emlcon.setv = function (){
											if(isNaN(this.dat))alert("ln 1152" + this.dat)
										}
						emlcon.onclick = clkemcn
						wbx.setval = function (){
											var jr = this.tbx.jref
											var jt = this.tbx.jttl
											if(this.chk.indexOf(jr)<0){
												var nwb = this.appendChild (this.tmpl.cloneNode(true))
												nwb.style.display = "block"
												var nscn = scanel(nwb)
												nscn.sp_wsh_jrf.innerHTML = jr
												nscn.sp_wsh_jtl.innerHTML = jt
												this.chk += jr  + "XX"	
												this.tbx.emlint += jr  + ":" + jt + "__"
												nscn.dv_wsh_rmv.bx = this
												nscn.dv_wsh_rmv.onclick = function (){
																				this.bx.dormv(this.scn)
																			}
											}
											if(this.tbx.phpmsg){
												if(!this.apid)this.apid = this.tbx.phpmsg.replace(/^[^@]+@@/, "")
												if(this.apid > 0){
													//alert("off to add to x table")
													this.scn.mgc.kzam(this, "adint", escape(this.apid + "::" + jr + "::" + jt))
												}
												//else alert("no ap id\n" + this.tbx.phpmsg)//
											}
											//else alert("no iframe reply")
										}
						wbx.setv = function (){
											//if(isNaN(this.dat))alert("ln 1184" + this.dat)
											clkemcn.call(this.scn.dv_emlcon_btn)
										}
						wbx.dormv = function (wscn){
											var jr = wscn.sp_wsh_jrf.innerHTML
											var jt = wscn.sp_wsh_jtl.innerHTML
											var regr = new RegExp( jr + "XX")
											var regt = new RegExp(jr  + "\:.+?__")											
											this.chk = this.chk.replace(regr, "")
											this.tbx.emlint = this.tbx.emlint.replace(regt, "")
											var foo = this.removeChild(wscn.skn)
											if(this.apid > 0){
												this.scn.mgc.kzam(this, "nixint", escape(this.apid + "::" + jr))
											}
										}
						this.tabs[4].wshlst = wbx
					}
					this.tabs[4].wshlst.setval()
					//alert("Load X ref\n" + document.pat.rsid + "\n" + self.frames.filup_apf.pat.hd_jref.value )
				}
				else{
					t = this.cvok ? "tkon" : "dis"
				}
				//this.tabs[4].taboff.style.display = (bl ? "block" : "none")
				this.tabs[4].dsply(t)
			}
		
		i++	
	}
	this.ldprnt(indx)
	this.scn.dv_lynam.innerHTML += "<br/>In show tabs index " + indx + " for " + i + " tabs"
}
function clkemcn(){
	//alert("sending")
	var apeml = this.tbx.cnml + "__" + this.scn.frmels.EMAIL.value
	var arg = apeml + this.tbx.emlint
	if(this.scn.isadmin == "NJ")alert("Sending?\n" + arg.replace(/__/g, "\n"))
	this.scn.mgc.kzam(this, "doemlcon", escape(arg))
}

function fadeaway(){
	this.apf.show(false)
	//this.apf.pgs.show('hm')
}

function shwdtl(bl){
	////alert(this.id)
	if(bl && this.tabbox)this.tabbox.show(1)
	this.bgop = .6
	this.stepms =  (this.filters?100:10)
	this.opinc= .2*(bl?1:-2)
	this.op = (bl?0:1)
	this.gry = this.scn.dv_gry
	this.show = shwdtl
	this.gry.apf = this
	this.cls.blb = this
	this.cls.onclick = function (){
			this.blb.show(false)
		}
	this.style.display = "block"
	//alert(this.style.display)
	//var pghgt = document.scn.skn.style.height
	this.gry.style.display = "block"
	//this.grydv.style.display = "block"
	//alert("showin' details")
	document.fadediv = this
	//this.lnm.innerHTML += "<br/>in show details " + this.stepms
	window.setTimeout("fade()", this.stepms)/**/
}
function fade(){
	var apf  = document.fadediv
	var d = new Date()
	var t1= d.getTime()
	var dif = "hoo"
	if(apf.tm){
		var dif = t1 - apf.tm
	}
	apf.tm = t1
	apf.op += apf.opinc
	if(apf.op <= apf.bgop)setopc(apf.gry, apf.op)
	if(apf.op*(1 - apf.op) >= 0){
		setopc(apf, apf.op)
		window.setTimeout("fade()", apf.stepms)
	}
	var db = new Date()
	//apf.lnm.innerHTML += "<br/>in fade<br/>" + dif
	if(apf.op < 0){
		apf.style.display = "none"
		apf.gry.style.display = "none"
		//apf.grydv.style.display = "none"
	}

}
/*function fade(){
	var dtl  = document.scn.dv_vacancy_selected
	var d = new Date()
	var t1= d.getTime()
	var dif = "hoo"
	if(dtl.tm){
		var dif = t1 - dtl.tm
	}
	dtl.tm = t1
	dtl.op += dtl.opinc
	if(dtl.op <= dtl.bgop)setopc(dtl.gry, dtl.op)
	if((dtl.op - dtl.bgop)*(1 - dtl.op + dtl.bgop) >= 0){
		setopc(dtl, (dtl.op - dtl.bgop))
		
	}
	if((dtl.op)*(1 + dtl.bgop - dtl.op) >= 0){
		window.setTimeout("fade()", dtl.stepms)
	}
	var db = new Date()
	dtl.lnm.innerHTML += "<br/>in fade<br/>" + dif + "&nbsp;&nbsp;" + (dtl.op - dtl.bgop)*(1 - dtl.op + dtl.bgop)
	if(dtl.op < 0){
		dtl.style.display = "none"
		dtl.gry.style.display = "none"
		//dtl.grydv.style.display = "none"
		
	}
}*/

function doshowall(){
	this.pg.srch.typsl.clear()
	this.pg.srch.locsl.clear()
	
	this.pg.dosrch()
	
	this.pg.ap.style.display = "none"
}
function dovcoref(){
	if(this.oref.OTHER_REF){		
		var cvdoc = self.frames.filup_apf.document
		//if(!cvpat)parseob(self.frames.filup_apf.document, true)
		
		self.location = "#top"
		this.ap.eml.eref = this.oref.OTHER_REF
		
		this.ap.tabbox.jref = cvdoc.jbrf = this.oref.OTHER_REF//cvpat.hd_jref.value = 
		this.ap.tabbox.jttl = cvdoc.jbtl = this.oref.JOB_TITLE//= cvpat.hd_jttl.value 
		this.ap.tabbox.cnml = cvdoc.cnml = this.oref.CONS_EMAIL
		this.scn.dv_lynam.innerHTML += "<br/>setting details"
		var dscn = this.dtl.dtlscn
		for(el in this.oref){
			if(dscn["td_vcsl_" + el]){
				var ad = ""
				if(el == "PAYMENT"  && this.oref["PAYMENT_TO"] && (this.oref["PAYMENT_TO"] != this.oref[el])){
					ad = "  to  " + this.oref["PAYMENT_TO"]
				}
				
				dscn["td_vcsl_" + el].innerHTML = this.oref[el] + ad
				this.scn.dv_lynam.innerHTML +="<br/>Done " + el
			}
		}
		this.scn.dv_apfm_job.innerHTML = this.oref.JOB_TITLE
		this.ap.show(true)
		//this.dtl.style.display = "block"
		
		
		//alert("this.oref " +this.oref.OTHER_REF)
	}
	else alert("no doref")
}
function dovcsrch(){
	var lk4typ = (this.srch.typsl.pckd) ?this.srch.typsl.pckd.typid : ""
	var lk4loc = (this.srch.locsl.pckd) ? this.srch.locsl.pckd.LOCATION : ""
	var rslrs = Object()
	rslrs.rws = Array()
	if(((lk4typ.length + lk4loc.length) > 0) || true){
		var dbrs = this.scn.skn.rs
		for(var i =0; i< dbrs.l; i++){
			rwob = dbrs.rws[i]
			var ok = true
			if(lk4typ &&(rwob.JOB_TYPE != lk4typ)){
				ok = false
			}
			if(lk4loc &&(rwob.LOCATION != lk4loc)){
				ok = false
			}
			if(ok){
				rslrs.rws[rslrs.rws.length] = rwob
			}			
		}
		if(true || (rslrs.rws.length > 0)){
			this.rslts.rs = rslrs
			this.rslts.rs.l = rslrs.rws.length
			this.rslts.tot = dbrs.l
			this.rslts.fill()
		}
		else{
			alert("no rs")
		}
	//alert("searchin" + "\ntyp" + lk4typ + "\nloc " + lk4loc + "\nrls length  " + this.rslts.rs.l)
	}
}
function vcrslfill(){
	//alert("in fill\n" + this.rs.l)
	
	if(this.rs.l > -1){
		var msg = ""
		for(var j =0; j < this.rs.l ;j++){
			if(!this.trs)this.trs = Array()
			if(!this.trs[j]){
				try{
				var nd = this.tmpl.cloneNode(true)
				var tr = this.tmpl.parentNode.appendChild (nd)
				tr.rscn = scanel(tr)
				tr.pg = this.pg
				this.trs[j] = tr
				
				}
				catch(er){
					alert("Oops " + er)
				}
			}
			this.trs[j].style.display = "block"
			for (el in this.trs[j].rscn){
				var trfld = el.substr(8)
				if(trfld){
					msg +=  "~~" + trfld					
					this.trs[j].rscn[el].innerHTML =( this.rs.rws[j][trfld] ? this.rs.rws[j][trfld] : "Not Given")
				}
			}
			this.trs[j].dat = this.rs.rws[j]
			this.trs[j].onclick = function (){
							//alert("oref? " + this.dat.OTHER_REF)
							this.pg.oref = this.dat
							this.pg.doref ()
								}
		}
		//alert("j is " + j + "\ntrs " + this.trs.length)
		while((j<this.trs.length)){
			this.trs[j].style.display = "none"
			j++
		}
		this.nosrch.style.display = ((this.rs.l == 0)?"block": "none")
		this.mtchg.innerHTML = this.rs.l
		//this.totl.innerHTML = this.tot
	}
	else{
		
	}
}
function gotdbvac(){
	//alert(this.dat)
	if(this.dat.indexOf(":RS:") < 0){
		this.rs = rsob(this.dat)
	}
	else{
		var datry = this.dat.split(":RS:")
		this.rs = rsob(datry[0])
		//alert("datry0 \n" + this.rs.l)
		if(datry[1]){
			this.ntnrs = rsob(datry[1])
			lctnfill()
		}
		else{
			alert("No Nation data")
		}
		if(datry[2]){
			this.nwrs = rsob(datry[2])
			initnws(this.scn)
		}
		else{
			alert("No News data")
		}
		if(datry[3]){
			this.hjstr = datry[3]
		}
	}
	if(document.gettin){
		var d = new Date()
		//alert("Server visit for all the data\n " + (d - document.gettin) + " ms\nlength " + this.dat.length + "\n\n" + this.dat.substr(this.dat.length -50))
	}
	this.scn.dv_vc_total.innerHTML = this.rs.l
	sliderinit(this.scn.dv_slider)
	htjbinit(this.scn.dv_htjb_sk)
	
	this.scn.dv_lynam.innerHTML += "<br/>Initted slider " 
	/*var ntnddl = this.scn.ddl_COUNTRY
	var nlyddl = this.scn.ddl_NATIONALITY*/
	initform(this.scn)
	this.scn.dv_lynam.innerHTML += "<br/>Initted form " 
	if(document.uref){
	this.scn.dv_lynam.innerHTML += "<br/>off to show url job ref " 
		//alert("in got vac\n" + document.uref + "\n" + this.rs.l)
		this.scn.shwjb(document.uref)
		document.uref = ""
	}
	
	/*for (var k=0;k< this.ntnrs.l;k++){
		
		var nd = document.createElement("option")
		
		var opt = ntnddl.appendChild (nd)
		
		opt.innerHTML =  this.ntnrs.rws[k].country  /// id is fieldname
		opt.value = this.ntnrs.rws[k].id
		var nd = document.createElement("option")
		var opt = nlyddl.appendChild (nd)
		opt.innerHTML =  this.ntnrs.rws[k].nationality  /// id is fieldname
		opt.value = this.ntnrs.rws[k].id
		
	}*/
	//alert("K is " +  k)
}
function htjbinit(hjsk){
	hjsk.tmp = hjsk.scn.dv_hjtm
	hjsk.bx = hjsk.scn.dv_htjb_bx
	hjsk.edtbx = hjsk.scn.dv_hjedtbx_sk
	hjsk.edtinit = hotjobedit
	hjsk.addhj = addhotjob
	hjsk.ttlbar = hjsk.scn.dv_htjb_ttlbr
	hjsk.ttlbar.hjsk = hjsk
	hjsk.ttlbar.ondblclick = function (){
									this.hjsk.doadmin()
								}
	hjsk.ary = Array()
	hjsk.bx.itms = Array()
	hjsk.setary = hjsetarray
	hjsk.doadmin = function (){
							if(this.scn.isadmin.indexOf("J") + 1){
								this.edtinit()
								this.edtbx.style.display = "block"
								this.setary()
							}
						}
	hjsk.edactclk = editaction
	hjsk.lfbtn = hjsk.scn.dv_hjbtnlf
	hjsk.lfbtn.htjsk = hjsk
	hjsk.lfbtn.onclick = function (){
								this.htjsk.edactclk(-1)
							}
	hjsk.mdbtn = hjsk.scn.dv_hjbtnmd
	hjsk.mdbtn.htjsk = hjsk
	hjsk.mdbtn.onclick = function (){
								this.htjsk.edactclk(0)
							}
	hjsk.rgbtn = hjsk.scn.dv_hjbtnrg
	hjsk.rgbtn.htjsk = hjsk
	hjsk.rgbtn.onclick = function (){
								this.htjsk.edactclk(1)
							}
	hjsk.svbtn = hjsk.scn.dv_hj_save
	hjsk.svbtn.htjsk = hjsk
	hjsk.edsavclk = edsavitclk
	hjsk.svbtn.onclick = function (){
								this.htjsk.edsavclk()
							}
	hjsk.nxbtn = hjsk.scn.dv_hj_cancel
	hjsk.nxbtn.htjsk = hjsk
	hjsk.ednixclk = ednixitclk
	hjsk.nxbtn.onclick = function (){
								this.htjsk.ednixclk()
							}
	hjsk.hjinsbf = hjinsertbefr
	//alert("hjstr\n" + hjsk.scn.skn.hjstr)
	if(hjsk.scn.skn.hjstr){
		var hjs = hjsk.scn.skn.hjstr.match(/:oth.+?:jbttl:[^:]+/g)
		var ary = Array()
		if(!(hjs && hjs.length>0))alert("No Hot Jobs\n" + hjsk.scn.skn.hjstr)
		for(var i=0;i<hjs.length;i++){
			var flds = hjs[i].match(/:othrf:([^:]+):pstwb:([^:]+):jbttl:([^:]+)/)
			ary[ary.length] = {"OTHER_REF":flds[1],
					"JOB_TITLE":flds[3],
					"POST_WEB":flds[2] }
		}		
		hjsk.ary = ary
	}
	else{
		var rs = hjsk.scn.skn.rs
		for(var i=0;i<rs.l;i++){
			if(rs.rws[i].POST_WEB > 1){
				var dv = ""
				var bxl = hjsk.ary.length
				for(var h=0 ; h < bxl ; h++){
					var ind = h
					if(rs.rws[i].POST_WEB > hjsk.ary[h].rnk){
						dv = hjsk.bx.ary[h]
						h = bxl
					}
				}
				var itmrs = {"OTHER_REF":rs.rws[i].OTHER_REF,
					"JOB_TITLE":rs.rws[i].JOB_TITLE,
					"POST_WEB":rs.rws[i].POST_WEB }
				hjsk.ary.splice(ind, 0, itmrs)
			}
			
		}
	}
	
	hjsk.setary()
	
}
function edsavitclk(){
	var a = this.ary
	var hstr = ""
	for(var i=0;i<a.length;i++){
		hstr += ":othrf:" + a[i].OTHER_REF + ":pstwb:" + (50 - 2*i) + ":jbttl:" + a[i].JOB_TITLE
	}	
	this.ttlbar.setv = hjttlret
	this.scn.mgc.kzam(this.ttlbar, "sethtjb", escape(hstr.replace(/\053/g, "&#43;")))
	//alert("Saving\n" + hstr.replace(/(:othr)/g, "\n$1"))
}
function hjttlret(){
	var msg = ((this.dat.indexOf("Squawk") > -1) ? "Oops\n" + this.dat : "Saved ok\n" + this.dat)
	alert(msg)
	this.hjsk.ednixclk()
}
function ednixitclk(){
	this.edtbx.style.display = "none"
	this.actvind = -1
	this.setary()
}
function editaction(x){
	if(!isNaN(this.actvind) && (this.actvind > -1)){
		if(x == 0){
			this.ary.splice(this.actvind, 1)
			this.actvind = -1
			//this.hjplcsk.style.display = "none"
		}
		if(x*x == 1){			
			var hld = this.ary[this.actvind] 
			var newactv = this.actvind + x
			this.ary[this.actvind] = this.ary[newactv]
			this.ary[newactv] = hld
			this.actvind = newactv		
		}
		this.setary()
	}
}
function hjsetarray(){
	var itmary = this.bx.itms
	var rsary = this.ary
	var isedit = (this.edtbx.style.display == "block")
	this.chkstr = "XX"
	for(var i=0;i<rsary.length;i++){
		if(!itmary[i])itmary[i] = this.hjinsbf(i)	
		var rw = rsary[i]
		itmary[i].onclick = isedit ? hjedclk : hjclk
		itmary[i].hjscn = scanel(itmary[i])
		itmary[i].hjscn.dv_hjtitle.innerHTML = rw.JOB_TITLE 
		itmary[i].rnk = rw.POST_WEB 
		itmary[i].ref = rw.OTHER_REF
		this.chkstr += rw.OTHER_REF + "XX"
		itmary[i].className = ((i == this.actvind )? "hj_active" : "hj_unactive")
		this.actvhjdv = ((i == this.actvind )? itmary[i] : "")
		
	}	
			this.lfbtn.style.display = (this.actvind == 0) ? "none" : "block"
			this.rgbtn.style.display = (this.actvind == (this.ary.length-1)) ? "none" : "block"	
	for(;i<itmary.length;i++)itmary[i].style.display = "none"
}
function addhotjob(rs){
	//alert("got " + rs.JOB_TITLE)
	if(this.chkstr.indexOf("X" + rs.OTHER_REF + "X") < 0){
		this.ary.unshift(rs)
		this.actvind = 0
		this.setary()
	}
	else{
		alert("Got That One!")
	}
}
function hotjobedit(){// Filling Hot Job Pick From box
	this.edtmp = this.scn.dv_hj_tmp_sk
	this.edallbx = this.scn.dv_hj_bx
	var rs = this.scn.skn.rs
	for(var i=0;i<rs.l;i++){
		var itm = this.edallbx.appendChild (this.edtmp.cloneNode(true))
		itm.sc = scanel(itm)
		itm.ref = itm.sc.dv_hj_tmp_jref
		itm.ttl = itm.sc.dv_hj_tmp_jttl
		itm.ref.innerHTML = rs.rws[i].OTHER_REF
		itm.ttl.innerHTML = rs.rws[i].JOB_TITLE
		itm.hjs = this
		itm.onclick = function (){
								this.hjs.addhj(this.rs)
							}
		itm.style.display = "block"
		itm.rs = {"OTHER_REF":rs.rws[i].OTHER_REF,
				"JOB_TITLE":rs.rws[i].JOB_TITLE,
				"POST_WEB":rs.rws[i].POST_WEB }
	}
}
function hjinsertbefr(ind){
	var nwb =  this.bx.appendChild (this.tmp.cloneNode(true))
	nwb.style.display = "block"
	nwb.ref = "Ooops"
	nwb.ind = ind
	nwb.hjsk = this
	nwb.onclick = hjclk
	return nwb
}
function hjclk(){
	this.parentNode.scn.shwjb(this.ref)
}
function hjedclk(){
	//if(this.hjsk.actvhjdv)this.hjsk.actvhjdv.className = "hj_unactive"
	this.hjsk.actvhjdv = this
	this.hjsk.actvind = this.ind
	//this.hjsk.actvhjdv.className = "hj_active"
	this.hjsk.setary()
	//alert("edclick")
}
function initnws(scn){
	var tmpl = scn.dv_ns_tmpl
	var box = scn.dv_ns_bx
	var bar = scn.dv_addnws
	var edt = scn.dv_edtnws
	var rs = scn.skn.nwrs
	if(!rs || !rs.l){
		alert("News init failed no records")
		return 0
	}
	var btnsnd = scn.btn_nws_send
	var btnnix = scn.btn_nws_nix
	var scns = Array()
	box.innerHTML = ""
	for(var i =0; i < rs.l ; i++){
		var nd = tmpl.cloneNode(true)
		var itm = box.appendChild(nd)
		var nwscn = scanel(itm)
		nwscn.bar = bar
		scns[scns.length] = nwscn
		nwscn.dv_ns_date.ondblclick = function (){
									this.scn.bar.doedt(this.scn)
								}
		itm.style.display = "block"
		nwscn.rw = rs.rws[i]
		nwscn.dv_ns_date.innerHTML = nwscn.rw.nw_date_f
		nwscn.dv_ns_body.innerHTML = nwscn.rw.nw_body
	}
	reg = new RegExp("<[^>]+>", "g")
	var hdn = scns[0].rw.nw_body.replace(reg, " ")////
	//alert(hdn)
	rega = new RegExp("((\\w+\\W+){20}[^.!]+[.!]).*(\\s*.*)*")
	var hdng = hdn.replace(rega, "$1..... ")//
	scn.dv_hdnews.innerHTML = hdng
	bar.scns = scns
	bar.ondblclick = function (){
									this.doedt(false)
								}
	bar.doedt = edtnwitm
	bar.edt = edt
	edt.bar = bar
	bar.setv = gotupd
	btnsnd.edt = edt
	btnsnd.onclick = edtclk
	btnnix.edt = edt
	btnnix.onclick = edtclk
	edt.send = edtsnd
}
function gotupd(){
	if(this.dat.indexOf("nw_date_f:V:") > -1){
		this.scn.skn.nwrs = rsob(this.dat)
		initnws(this.scn)
		msg = "Update fine\nOk to close editor\nCancel to continue editing"
		if(confirm(msg))this.doedt(false)
	}
	else{
		alert("gotupd:\n" + this.dat)
	}
}
function edtclk(){
	this.edt.send(this.itmid)
}
function edtsnd(itmid){
	var qs = "nw_id=" + itmid
	var dte = this.scn.tx_nws_dte.value
	var itm = this.scn.tx_nws_itm.value	
	/*if(!(dte.match(/20\d\d-\d\d-\d\d.+/))){
		alert("Not a Data Base friendly date!\ndte   " + dte + "\nitm:\n" + itm)
		return 0
	}*/
	if(itm.length < 2){
		alert("Any news ?\ndte   " + dte + "\nitm:\n" + itm)
		return 0		
	}
	if(itmid > -1){
		qs += "&nw_dte=" + dte + "&nw_body=" + escape(itm)
	}
	this.scn.mgc.qs = qs
	this.scn.mgc.kzam(this.bar, "edtsnd", 1)
	//alert(qs)
}
function edtnwitm(arg){
	if(this.scn.isadmin.indexOf("N") + 1){
		if(this.edt.style.display != "block"){
			this.edt.style.display = "block" 
			if(arg){
				this.scn.btn_nws_send.value = "Update"
				this.scn.tx_nws_dte.value = arg.rw.nw_date
				this.scn.tx_nws_itm.value = arg.rw.nw_body
				this.scn.btn_nws_send.itmid = arg.rw.nw_id
				this.scn.btn_nws_nix.itmid = -1*arg.rw.nw_id
				this.scn.btn_nws_nix.onclick = edtclk
			}
			else{
				this.scn.btn_nws_send.value = "Add"
				this.scn.btn_nws_send.itmid = 0
				this.scn.btn_nws_nix.onclick = function (){alert("Can't delete a new entry until it's been added")}
				d = new Date()
				this.scn.tx_nws_dte.value = d.getFullYear() + "-" + (d.getMonth()*1 + 1) + "-"
				this.scn.tx_nws_dte.value += String(100 + d.getDate()).substr(1,2) + " 00:00:00"
				this.scn.tx_nws_itm.value = ""
				
			}
		}
		else{
			this.edt.style.display = "none"
			
		}
	}
}


function lctnfill(){/// select distinct location
	var dbrs = document.scn.skn.rs
	var lcsel = document.scn.dv_sch_lctn_slct
	var rs = Object()
	rs.rws  = Array()
	var test  = "~~"
	for(var i =0; i < dbrs.rws.length ; i++){
		var loc = dbrs.rws[i].LOCATION
		if(loc && (test.indexOf("~~" + loc + "~~") < 0)){
			test +=  loc + "~~"
			var fl = Object()
			fl.LOCATION = loc
			rs.rws[rs.rws.length] = fl
		}
	}
	lcsel.rs = rs
	//alert("done loc fill \n" + rs.rws.length)
	lcsel.setv()
}

function vcshw(bl){
	//alert("this is\n" + this.id)
	//this.doref
	if(bl && !this.oref && this.dosrch){
		this.dosrch()
	}
}
function addhst(pg){
	var ltst = this.rw.insertBefore(this.tm.parentNode.cloneNode(true), this.hst[0])
	//this.hst[0].style.display = "block"
	ltst.w = 90
	//alert("w is " + this.tm.parentNode.style.width)
	this.hst.unshift(ltst)
	this.pg = pg
	if(this.hst.length > 10){
		var nix = this.rw.removeChild(this.hst.pop())
		
	}
	
	ltst.onopct = function (){
						var o = (isNaN(this.op)? 0 : this.op)
						
						
						this.style.fontSize = (2 +  20*o) + "px"
						//if(isNaN(this.w))alert("oops on w\n" + this.w)
						this.style.width = (.4 + o*.6)*this.w + "px"
					}//
	var kids = ltst.childNodes
	for(var i=0;i<kids.length;i++){
		if(kids[i].id && (kids[i].id.indexOf("btn_tmpl")+1)){
			ltst.btn = kids[i]
			kids[i].innerHTML = pgnms[pg] ? pgnms[pg] : "Ooops " + pg
			kids[i].bck = this
			kids[i].pg = pg
			kids[i].onclick = function (){
								if(this.bck.onchs)this.bck.onchs(this)
								this.bck.frcd =  true
								this.bck.fvis = this.bck.hst[1]
								this.bck.expd(-1)
								this.bck.pgs.show(this.pg)	
							}
			break
		}
	}
	if(this.hst[1] && this.hst[1].btn){
		this.onclick = function (){
							this.pgs.show(this.hst[1].btn.pg)//
						}
	}
	
}
bkfwbtns = Array("bck", "fwd")
function tmtck(){	
	for(var j=0;j<bkfwbtns.length;j++){
			var bck = document[bkfwbtns[j]]
		if(bck.epd != 0){
			//if(document[bkfwbtns[j]].id.indexOf("fwd") + 1)alert("have btn " + document[bkfwbtns[j]].id)//
			if((bck.epd > 0)&& !bck.frcd ){//expanding
				if(Math.round(10*bck.op) < 10)setopc(bck, (bck.op + bck.stp))
				if(bck.hst[1] && (bck.hst[1].style.display != "block")){
					setopc(bck.hst[1], 0)
					bck.hst[1].style.display = "block"
					bck.hst[1].fvis = true
				}
				try{
				for(var i=1; i< (bck.hst.length-1); i++){
					if(bck.hst[i].id.indexOf("_tmpl") +1){
						if(bck.hst[i].style.display == "block"){
							if(Math.round(10*bck.hst[i].op) < 10)setopc(bck.hst[i], (bck.hst[i].op + bck.stp))
							var nx = i + 1
							//alert("Op " + bck.hst[i].op)
							if((Math.round(10*bck.hst[i].op) == 3) && (nx < bck.hst.length-1)){						
								//alert("turning on " + nx)//
								setopc(bck.hst[nx], 0)
								bck.hst[nx].style.display = "block"
							}
						}
					}
				}
				}
				catch(e){
					alert("Ooops tmtck ")// + parseob(e)
				}
			}
			else{
				if(bck.hst){
					for(var i=(bck.hst.length-2);(i > 0); i--){			
						if(bck.hst[i].id.indexOf("_tmpl") +1){
							if(!((bck.hst[i+1].id.indexOf("_tmpl") +1) && (Math.round(10*bck.hst[i+1].op) > 7))){
								if(Math.round(10*bck.hst[i].op) > 0){
									setopc(bck.hst[i], (bck.hst[i].op - bck.stp))
									if(Math.round(10*bck.hst[i].op) == 0)bck.hst[i].style.display = "none"
								}
							}
						}
					}
				}
				if(!
				   		(
						 	(bck.fvis) &&  
							(bck.fvis.id.indexOf("_tmpl") +1) && 
							(Math.round(10*bck.fvis.op) > 7)
						)
					){
					// Return state of opacity
					if(Math.round(10*bck.op) > 4)setopc(bck, (bck.op - bck.stp))
				}
			}		
		}
		if((bck.fvis) && (Math.round(10*bck.fvis.op) == 0)){
			if(bck.frcd)bck.frcd = false
			bck.fvis = ""
			//alert("false  off\n" + bkfwbtns[j] + "\n" + bck.hst[1].style.display + "\n" + bck.hst[1].op)
			document.dotck = clearInterval(document.dotck)//
		}
	}
}
function expnd(bl){
	this.epd = bl//
	//if(this.id.indexOf("fwd") + 1)alert("hst " + this.hst.length + "\nbl " + bl)//
	var tck = 10 + 100/(1+this.hst.length)
	if(!document.dotck)document.dotck = setInterval("tmtck()", tck)
}
function mkhsbtn(btnid, pgs){
		var bck = document.scn[btnid]
		bck.sk = document.scn[btnid + "_sk"]
		bck.sk.bck = bck		
		bck.tm = document.scn[btnid + "_tmpl"]
		bck.hst = Array(document.scn[btnid + "_sf"])
		bck.rw = document.scn[btnid + "_rw"]
		bck.pgs = pgs
		// Original state opacity
		setopc(bck, 0.7)
	//alert("In shwpg\n" + pg)//
		bck.stp = .1
		bck.addpg = addhst
		bck.expd = expnd
		bck.epd = 0
		bck.frcd = false
			//alert("Setting ")
		if(isIE){
			//alert("Setting mouseleave") 
			bck.sk.onmouseenter = function (){
										if(!this.bck.frcd)this.bck.expd(1) 
									}
			bck.sk.onmouseleave = function (){
										var msg = "leaving\nh  " + this.offsetHeight + "\nw " + this.offsetWidth
										msg += "\nev.h " + event.offsetY + "\nev.w " + event.offsetX 
										//alert(msg)
										var bl = (event.offsetY*(this.offsetHeight - event.offsetY) > 0)
										bl = bl && (event.offsetX*(this.offsetWidth - event.offsetX) > 0)
										if(!(this.bck.frcd) && !bl)this.bck.expd(-1) 
									}			
		}
		else{
			bck.sk.onmouseover = function (){
										if(!this.bck.frcd)this.bck.expd(1) 
									}
			bck.sk.onmouseout = function (){
										if(!this.bck.frcd)this.bck.expd(-1) 
									}		
		}
		return bck//	
}
function bkchoose(hsbtn){
	for(var i =0;i<this.hst.length;i++){
		if(this.hst[i].btn){ 
			if(hsbtn != this.hst[i].btn){
				//alert("pg " + this.hst[i].btn.pg)
				document.fwd.addpg(this.hst[i].btn.pg)
			}		
			else{
				break
			}
		}
		
	}
	if(i==this.hst.length){
		alert("Ooops setting forward button")
	}
	else{
		this.dofwd = true
	}
}
function showpage(pg){
	
	var pgs = (this.hm ? this : document.scn.dv_content.pages)
	//alert("In shwpg\n" + pg)//
	/*
	#############  my attempt at history object
	if(!document.bck){
		document.bck = mkhsbtn("dv_bckbtn", pgs)//initilize back object
		document.bck.onchs = bkchoose
	}
	if(!document.fwd)document.fwd = mkhsbtn("dv_fwdbtn", pgs)	
	document.fwd.sk.style.display = (document.bck.dofwd  ?  "block" : "none")
	if(document.bck.dofwd)document.bck.dofwd = false
	
		document.bck.addpg(pg)*/
	
	/*if(document.bck.hst[1]  && (document.bck.hst[1].style.display ==  "block") ){
	//alert("forcing")
		document.bck.frcd = true
		document.bck.expd(-1)
	}
	else{
		document.bck.frcd = false
	}*/
	if(pg){
		self.location.hash = pg
	}
	else{
		pg = String(self.location.hash)
	}
	pgs.qxhst.value = pg
	if(pgs[pg] && pgs[pg].style.display != "block"){
		document.actvbtn = false
		for(el in pgs){		
			//alert(pgs[el].toString())
			//alert(pgs[el].toString().indexOf("ect HTM"))
	document.scn.dv_lynam.innerHTML += "<br/>in showpage " + pgs[el].toString()
			var ind = pgs[el].toString().indexOf("bject")
			if(pgs[el] && ind*(7 - ind) > 0 ){
			//alert(el)
				if(!pgs[el].btn){
					var btn = document.scn["li_" + el + "_btn"] 
					if(btn){
						btn.omv = btn.onmouseover
						btn.omt = btn.onmouseout
						btn.acl = "nav_active"
						btn.ncl = "nav_link"
						btn.pg = el
						btn.doact = function (bl){
							if(bl)document.actvbtn = this
							var bln = (this == document.actvbtn) || bl 
							this.className = bln ? this.acl : this.ncl
							this.onmouseover = bln ? "" : this.omv
							this.onmouseout = bln ? "" : this.omt
							//alert(this.pg)
						}
						pgs[el].btn = btn
					}
				}
				if(pgs[el].style)  pgs[el].style.display = ((el==pg)?"block":"none")
				if(pgs[el].bnnr)  pgs[el].bnnr.style.display = ((pgs[el].bnnr==pgs[pg].bnnr)?"block":"none")
				if(pgs[el].lnks && pgs[el].lnks.style)  pgs[el].lnks.style.display = ((pgs[el].lnks==pgs[pg].lnks)?"block":"none")
				if(pgs[el].feature)  pgs[el].feature.style.display = ((pgs[el].feature==pgs[pg].feature)?"block":"none")
				if(pgs[el].btn && pgs[el].btn.doact )  pgs[el].btn.doact((el==pg))
				if(pgs[el].onshow)  pgs[el].onshow((el==pg))
			}
		}
		//Left nav stuff
		if(!this.lnavob)this.lnavob = lvlkinit()
		if(!this.lnavob)alert("No ob!!")
		var ar = this.lnavob.lnks
		for(var i=0;i<ar.length;i++){
			if(ar[i].pg == pg){
				ar[i].dv.className = this.lnavob.actvcl
				ar[i].dv.oldmot = ar[i].dv.onmouseout
				ar[i].dv.oldmov = ar[i].dv.onmouseover
				ar[i].dv.onmouseout = ''
				ar[i].dv.onmouseover = ''
			}
			else{
				ar[i].dv.className = this.lnavob.nmcl
				if(!ar[i].dv.onmouseout)ar[i].dv.onmouseout = ar[i].dv.oldmot
				if(!ar[i].dv.onmouseover)ar[i].dv.onmouseover = ar[i].dv.oldmov
			}
				/*((ar[i].pg == pg) ?  : this.lnavob.)
			
			if(ar[i].dv && ar[i].dv.onmouseout)(ar[i].pg && (ar[i].pg == pg) ?  : )*/
			
		}	
		/*if(this.lnavob.dolnks){
			this.lnavob.dolnks(pg)
		}
		else{
			alert("pg is:" + pg)
		}*/
		
		
	}
}
function setState(stt){// let qx history change page
	//alert("setState\n" + stt)
	showpage(stt);
}
function slctinit(nm){
	var scn = document.scn
	try{
		var slct = scn[nm + "_slct"]
		slct.tmpl  = scn[nm + "_tmpl"]
		slct.bx  = scn[nm + "_bx"]
		slct.sk = scn[nm + "_sk"]
		slct.val = scn[nm + "_val"]
		slct.nm = nm
		slct.setv = fillselect
		slct.onset = slctchosen
		slct.onmouseover = function (){
							this.sk.style.display = "block"
						}
		slct.onmouseout = function (){
							this.sk.style.display = "none"
						}
		slct.clear = function (){
							this.val.innerHTML = "ALL"
							this.pckd = ""
						}
		return slct
	}
	catch(er){
		alert("Oops setting up " + nm)
	}
}

function fillselect(){
	if(!this.rs){
		//alert("dat isn" + this.dat)
		this.rs = rsob(this.dat)
	}
	if(this.rs){
		this.bx.innerHTML = ""
		var msg = "\nstartin' \n" +  this.rs.rws.length + "\n" + this.nm+ "\n"
		this.opts = Array()
		for (var i=0; i< this.rs.rws.length ; i++){
			var nd = this.tmpl.cloneNode(true)
			var opt = this.bx.appendChild (nd)
			var datobj = this.rs.rws[i]
			//parseob(datobj, true) ////     Crucial kit.js function to see what properties the object actually has. 2nd arg true for alert false to return msg
			var opscn = scanel(opt)
			for(el in datobj){
				if(opscn[this.nm + "_" + el]){
					opscn[this.nm + "_" + el].innerHTML = datobj[el]	
					msg += this.nm + "_" + el + "    val  " + datobj[el]	 + "\n"
				}
				else{
					msg += this.nm + "_" + el + "failed\n" + (datobj[el] ? datobj[el] : "No dat")
				}
			}
			opt.datob = datobj
			opt.slct = this
			this.opts[this.opts.length] = opt
			opt.style.display = "block"
			opt.onclick = function (){
					this.slct.pckd = this.datob
					this.slct.shw = this.innerHTML
					this.slct.val.innerHTML = this.innerHTML
					//parseob(this.slct, true)
					this.slct.onset()
				}
		}
		//alert("hmm " + msg)
	}
}

function slctchosen(){
	if(this.pckd){
		//alert("chosen")
		this.sk.style.display = "none"
		this.pg.dosrch()
	}
}

function nullfunc(){
	
}

function modifyimage(){
	
}



