//VALERT
var $valert=false;
var $valert_click=false;
function valert(con,til,act,dgb,fnc,lbl_0,lbl_1,lbl_2){ //if two functions (yes/no), send separated by ^ delimeter
	if(!con){act='close';}
	var typ=false;
	shad=ge('page_shade');
	targ=ge('valert');
	act=act?act:'show';
	typ=act;
	if(typ=='yesno' || typ=='yesino' || typ=='input' || typ=='punter' || typ=='pop'){
		act='show';
	}
	ge('vad_ok0').style.display='none';
	ge('vad_inp').style.display='none';
	ge('vad_yca').style.display='none';
	var bx0=ge('vad_box');bx0.style.display='none';
	var bx1=ge('vad_bx1');bx1.style.display='none';
	var bx2=ge('vad_bx2');bx2.style.display='none';
	var ib0=ge('vai_box');ib0.value='';
	var ib1=ge('vai_bx1');ib1.value='';
	var ib2=ge('vai_bx2');ib2.value='';
	ge('vad_lbl').innerHTML=lbl_0?lbl_0:'';
	ge('vad_lb1').innerHTML=lbl_1?lbl_1:'';
	ge('vad_lb2').innerHTML=lbl_2?lbl_2:'';
	ge('vad_tlr').innerHTML="<div id='vad_clo' onclick=\"valert(0);\"></div>";	
	var iflag=false;
	switch(act){
		case 'show':
			targ.style.display='block';
			if(typ=='yesno' || typ=='yesino'){				
				var yes=ge('vvv_yes')
				var cancel=ge('vvv_can')
				var fn=fnc.split('^');
				ge('vad_yca').style.display='block';
				if(fn.length==1){fn[1]='';}
				fn[0]+=(right(fn[0],1)!=';')?';':'';
				lbv=lbl_0?'<p>'+lbl_0+'</p>':'<p>YES</p>';
				if(typ=='yesno'){fn[0]+="valert(0);";}
				yes.innerHTML="<div id='vad_yes' class='ibt_M' onclick=\""+fn[0]+"\">"+lbv+"</div>"
				ge('vad_tlr').innerHTML="<div id='vad_clo' onclick=\"valert(0,0,'close',true);"+fn[1]+"\"></div>";								
				lbv=lbl_1?'<p>'+lbl_1+'</p>':'<p>CANCEL</p>';
				cancel.innerHTML="<div id='vad_can' class='ibt_M' onclick=\"valert(0);"+fn[1]+"\">"+lbv+"</div>"								
			}else if(typ=='input' || typ=='punter'){
				iflag=true;
				bx0.style.display='block';
				if(typ=='punter'){
					bx1.style.display='block';
					if(lbl_2){
						bx2.style.display='block';
					}
				}
				ge('vad_inp').style.display='block';
				ge('vvv_ien').innerHTML="<div id='vad_ien' class='ibt_M' onclick=\""+fnc+"\"><p>ENTER</p></div>";
			}else if(typ=='pop'){
			}else{
				if(lbl_0 && typ=='show'){ge('vad_ok1').innerHTML='<p>'+lbl_0+'</p>';}
				ge('vad_ok0').style.display='block';
			}
			con+='';
			con=con.replace(/\n/g, '<br>')
			var doc=document.documentElement;
			try{sys_v!=false;}catch(err){sys_v=false;}
			ge('vad_til').innerHTML=til?til:((sys_v=='sav')?$prog:sys_v);
			ge('vad_con').innerHTML=con?con:'<br><br>';			
			var x=doc.clientWidth;
			var y=doc.clientHeight;
			var x_scro=doc.scrollLeft*1;
			var y_scro=doc.scrollTop*1;
			var wid=targ.offsetWidth;
			var hig=targ.offsetHeight;
			//var top=y_scro+(y/2)-(hig/2)-35; ?????
			var top=(y/2)-(hig/2)-35;
			if(top<0){top=y_scro;}
			targ.style.left=(x_scro+(x/2)-(wid/2))+'px';
			targ.style.top=top+'px' ;	
			$valert=true;			
			targ.style.visibility='visible';
			shad.style.display='block';
			var ifo=ge('ifo');
			if(ifo){
				if(ifo.scrollHeight!=ifo.clientHeight){
					ifo.style.width=(ifo.clientWidth+25)+'px'
				}
			}
			if(iflag){ib0.focus();$computer=false;} //convoluted shit because of IE
			break;	
		case 'close':		
			targ.style.display='none';
			targ.style.visibility='hidden';
			shad.style.display='none';
			$drag_block=dgb;
			//if($prev_status && $prev_status!='03'){frm_status($prev_status);}			
			$valert=false;
			$valert_click=true;
			if($computer!='!'){if(!$computer && $db!=1){$computer=true;computer();}}
			break;		
	}
}
function fmu_valert(act,ix,til,l1,l2){
	var con;
	if(act=='show'){
		con=ge('fmu_'+ix);
		l1=l1?l1:"ENTER";
		l2=l2?l2:"CANCEL";
		valert(con.innerHTML.replace(/\n/g,''),til,'yesino','',"fmu_valert('data','"+ix+"',false)",l1,l2);
		id_set();
	}else if(act=='data'){
		var v=data();
		eval(ix+"('fmu',v)");
	}
	function id_set(){
		var div=ge('vad_con').getElementsByTagName('DIV');
		var max=div.length;
		for(var i=0;i<max;i++){
			targ=div[i].childNodes[0];
			targ.setAttribute('id',targ.getAttribute('idx'));
		}
	}
	function data(){
		if(ge('vad_yes').innerHTML=="<p> </p>"){return;}
		var v=[];
		var p2,vld,vlt,ix,msg;
		var div=ge('vad_con').getElementsByTagName('DIV');
		a=0;
		var max=div.length;
		var val;
		for(var i=0;i<max;i++){
			targ=div[i].childNodes[0];
			if(!targ.getAttribute('noc')){
				p2=targ.id.indexOf('#');
				p2=(p2>-1)?p2:targ.id.length;
				val=(targ.tagName=='A')?targ.getAttribute('val'):targ.value;
				val=val.trim();
				if(targ.getAttribute('ctl')=='dtx'){val=date_format(val);}
				ix=targ.id.substring(6,p2);
				vld=targ.getAttribute('vld');
				if(vld){
					vlt=targ.getAttribute('vlt');
					if(vld==2){if(!val){alert(vlt+' must be specified.');return "err";}}
					msg=validate(targ,val,vlt);
					if(msg){alert(msg);return "err";}
				}
				v[ix]=val;
			}
		}
		return v;
	}
	function validate(targ,val,vlt){
		var msg='';
		var typ=targ.getAttribute('typ');
		var min=targ.getAttribute('min');
		var max=targ.getAttribute('max');
		switch(typ){
			case 'm': //string in textareawith max len
				if(max!=''){
					if(targ.value.length > max*1){
						msg='Your text entry may not exceed ' + max + ' characters.\n\n';
					}
				}
				break;
			case "n": //number
				if(min=='!'){
					return false;
				}
				num=isnumeric(targ.value);
				if(num!=",,,,"){
					if(num == null){
						msg=vlt+" specified is not a number.";
					}else{
						var num=targ.value*1;
						if (num<min*1 || num>max*1){
							msg=vlt+" specified is out of range.";
						}
					}
				}
				if(msg != ""){
					msg+= '\n\n' + 'please key in a value between: ' + min + ' and ' + max + '\n\n';
				}
				break;
		 }			
		 return msg;
	}	
}
function frm_valert(act,fnc,opt,til,msg,v){
	var id,x;
	if(opt){
		a=(opt[0]=='a')?opt[1]:false;
		u=(opt[0]=='u')?opt[1]:false;
	}else{
		a=false;u=false;
	}	
	if(act=='show'){
		var pad=msg?'10':'3';
		if(a){
			fnc="frm_valert('a','"+fnc+"','"+a+"')";
		}else if(u){
			fnc="frm_valert('u','"+fnc+"','"+u+"')";
		}else{
			fnc="frm_valert('return','"+fnc+"',false)";
		}
		msg+=msg?'<br><br>':'';
		msg+="<div id='vai_boxes' style='margin:10px auto "+pad+"px auto;display:block;text-align:center'>";
		for(i in v){
			if(v[i].indexOf('=')>-1){
				x=v[i].split('=');
				id=x[0];
				msg+="<input id='vai_"+id+"' type='hidden' class='vaii' value='"+x[1]+"'></div>";			
			}else{
				id=v[i].replace(/ /g, '_');
				val='';
				msg+="<div class='vad_box'><input id='vai_"+id+"' class='txt_00 vaii' style='text-align:center;' value=''></div><div class='vad_lbl'>"+v[i]+"</div>";			
			}			
		}
		msg+="</div>";				
		valert(msg,til,'yesino',false,fnc,'ENTER','CANCEL','');
	}else{	
		
		if(ieblows){
			var v=[];
			var inp=ge('vai_boxes').getElementsByTagName("INPUT");
			var i=0;
			for(ix in inp){
				if(inp[ix].className=='vaii'){
					v[i]=inp[ix];
					i++;
				}
			}
		}else{
			var v=document.getElementsByClassName('vaii');  
		}
				
		if(act=='a'){
			dat='';
		}else{
			dat=[];
		}
		for(i=0;i<v.length;i++){			
			if(act=='a'){
				dat+=dat?'&':'';
				dat+=v[i].id.substring(4,v[i].id.length)+"="+v[i].value;
			}else{
				dat[v[i].id.substring(4,v[i].id.length)]=v[i].value;
			}
		}
		if(act=='a'){	
			$aji=opt;
			$ajx=fnc+"(rsp)";
			ajax_post('a_data.php',dat);	
		}else if(act=='u'){	
			valert(0);
			u_repo_sql(fnc,opt,false,false,dat);
		}else{
			valert(0);
			return dat;
		}
	}
}

//FRM
function frm_status(status){
	var targ=ge('db');
	if(targ){
		if(status=='get'){
			return right(targ.className,2);
		}else{
			targ.className ='frm_status_'+status;
		}
	}else{
		var targ=ge('db_nav_outer');
		if(targ){
			if(status=='get'){
				return right(targ.className,2);
			}else{
				targ.className ='status_'+status;
			}
		}else{
			return false;
		}
	}
}
