var ie6 = (window.external &&	typeof window.XMLHttpRequest == "undefined");
var ieblows=/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
var $frm_indep=false;
function gi(ctl){
	return document.getElementById(ctl);
}
//function ge(ctl){
	//return document.getElementById(ctl);
//}
function ge(ctl,vl,div,single,typ){
	if(isarray(ctl) || div){
		var v=[];
		var lbl;
		var invalid='',ni=0,min,minx,typ;
		if(div){
			ctl=document.getElementById(div).getElementsByTagName('INPUT');			
		}
		for(var i=0;i<ctl.length;i++){			
			if(vl){
				lbl=(vl[i]);
			}else{
				lbl=div?rip(ctl[i].id,'.',0):rip(ctl[i],'.',0);
			}
			targ=div?ctl[i]:document.getElementById(ctl[i]);
			if(targ){
				typ=typ?typ:0;
				v[lbl]=db_val(targ,typ,1);
				mag=targ.getAttribute('mag');
				min=targ.getAttribute('minlen');
				minx=min?(v[lbl].length-2<min):false;
				if(mag==99 && (v[lbl]=='Null' || minx)){
					ni++;
					lbl=targ.parentNode.childNodes[1].innerHTML;
					if(!lbl){
						lbl=targ.parentNode.innerHTML;
						lbl=rip(lbl,'>',0,true);
					}
					if(min){lbl+=' (minimum '+min+' characters)'}
					invalid+='\n&#9658; '+lbl+' &#9668;';
				}
			}
		}
		if(invalid){
			var s=(ni>1)?'s':'';
			var si=(ni>1)?'are':'is';
			valert('The following mandatory field'+s+' '+si+' not filled in correctly:\n  '+invalid);
			v='invalid';
		}else if(single){
			v=v[lbl];
		}
		return v;
	}else{
		return document.getElementById(ctl);
	}
}
function gec(classname,node){
	if(!node) node=document.getElementsByTagName("body")[0];
	var a=[];
	var re=new RegExp('\\b' + classname + '\\b');
	var els=node.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
	if(re.test(els[i].className))a.push(els[i]);
	return a;
}
function fire_event(targ,event){
	if(typeof(targ)!='object'){targ=ge(targ);}
	if (document.createEventObject){ // dispatch for IE
		var evt = document.createEventObject();
		if(ieblows){
			eval('targ.on'+event+'()');
		}else{
			return targ.fire_event('on'+event,evt)
		}
	}	else{	// dispatch for firefox + others
		var evt = document.createEvent("HTMLEvents");
		evt.initEvent(event, true, true ); // event type, bubbling, cancelable
		return !targ.dispatchEvent(evt);
	}
}
function key_code(e,fire13){
	var e=(e) ? e: ((event) ? event : null);
	if(fire13){
		if(key_code(e)==13){fire_event(ge(fire13),'click');}
	}else{
		return e.keyCode;
	}
}
function page_reload(){
	window.location.reload();
}
function f_pos(obj,tscro){
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	if(tscro){
		curleft-=tscro.scrollLeft;
		curtop-=tscro.scrollTop;
	}
	return [curleft,curtop];
}
function right(str,n){
  if (n <= 0)
    return "";
  else if (n > String(str).length)
    return str;
  else {
    var iLen = String(str).length;
    return String(str).substring(iLen, iLen - n);
  }
}
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
function zpad(tx,len){
	tx=tx+'';
	var n=tx.length;
	for(var i=n;i<len;i++){
		tx='0'+tx;
	}
	return tx;
}
function addslashes(str,quot){
	var tx=str.replace(/(["'\\])/g, "\\$1").replace(/\0/g, "\\0");
	if(quot){
		if(tx==''){
			tx="null";
		}else{
			tx="'"+tx+"'";
		}
	}
	return tx; 
}
function isnumeric(x) {
	var RegExp = /^(-)?(\d*)(\.?)(\d*)$/; 
	var result = x.match(RegExp);
	return result;
}
function isarray(v) {if(v.constructor.toString().indexOf("Array") == -1){return false;}else{return true;}}
function arraY(a){ //if in arraY(arr) to check existence
  var o={};
  for(var i=0;i<a.length;i++){
    o[a[i]]='';
  }
  return o;
}
function array_to_post(arr){
	var tx='';
	for(v in arr){
		if(tx){tx+='&';}
		tx+=v+'='+arr[v];
	}
	return tx;
}
function url_var(vari){
	var v=location.href;
	var p=v.indexOf('&'+vari);
	var len=v.length;
	if(p>0){
		p=p+vari.length+2;
		v=v.substring(p,len);
		p=v.indexOf('&');
		if(p==-1){
			p=v.length;
		}
		v=v.substring(0,p);
		return v;
	}else{
		return false;
	}
}
function ta_maxlength(targ){
	var mx=targ.getAttribute?parseInt(targ.getAttribute("maxlength")):"";
	if(targ.getAttribute && targ.value.length>mx){targ.value=targ.value.substring(0,mx);}
}
function set_opacity(targ,opacity){
  opacity=(opacity==100)?99.999:opacity;
  if(ieblows){
		targ.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+ opacity + ");";
	}else{
		targ.style.opacity = opacity/100;
	}
}
function center_pop(targ,top_adj,lft_adj,wid,hig,noscro,ret){
	if(typeof(targ)!='object'){targ=ge(targ);}
		top_adj=top_adj?top_adj:0;
		lft_adj=lft_adj?lft_adj:0;
		var doc=document.documentElement;
		var x=doc.clientWidth;
		var y=doc.clientHeight;
		var x_scro=doc.scrollLeft*1;
		var y_scro=doc.scrollTop*1;
		if(!wid){wid=targ.offsetWidth;}
		if(!hig){hig=targ.offsetHeight;}
		//var wid=targ.offsetWidth;
		//var hig=targ.offsetHeight;
		var top=(y/2)-(hig/2)-35+top_adj;
		if(top<0){top=y_scro;}
		var left=(x_scro+(x/2)-(wid/2)+lft_adj);
		if(ret){
			return {top:top,left:left}
		}else{
			targ.style.left=left+'px';
			targ.style.top=top+'px' ;	
		}
}
function center_show(targ,wid,hig,noscro){
	center_pop(targ,0,0,wid,hig,noscro);
	return;
	if(noscro){
		x=((x-wid)/2);
		y=((y-hig)/2-45);	
	}else{
		x=((x-wid)/2+document.documentElement.scrollLeft*1);
		y=((y-hig)/2-45+y_scro()*1);	
	}
}
function email_client(to,subject,body){
	var mailto_link = 'mailto:'+to+'?Subject='+subject+'&Body='+body;
	self.location = mailto_link;
	return false;
} 
function page_height(){
	var hgt=0;
	var whg=window.innerHeight?window.innerHeight:0;
	if(window.innerHeight && window.scrollMaxY){
		hgt=window.innerHeight + window.scrollMaxY;
	}else if(document.body.scrollHeight>document.body.offsetHeight){
		hgt=document.body.scrollHeight;
	}else{ 
		hgt=document.body.offsetHeight + document.body.offsetTop; 
	}	
	if(hgt>whg){
		return hgt;
	}else{
		return whg;
	}
}
function rip(tx,lead,tail,trim){
	p0=tx.indexOf(lead);
	if(p0==-1 || !lead){
		p0=0;
	}else{
		p0+=lead.length;
	}
	p1=tx.indexOf(tail,p0);
	if(!p1 || !tail){
		p1=tx.length;
	}
	tx=tx.substring(p0,p1);	
	if(trim){tx=tx.trim();}
	//alert(tx);
	return tx;
}	
function clear_val(targ){
	if(targ.value!=''){
		targ.value='';
		if(targ.id.substring(0,5)=='i_fli'){
			targ=gi(targ.id.substring(6,targ.id.length));
			targ.value='';
		}
		frm_dirty(targ);
	}
}
function form_date(dtx){
	return dtx.substr(6,2) + '-' + month_mmm(dtx.substr(4,2)*1) + '-' + dtx.substr(0,4);
}
function date_format(datex){
	var d=datex.split('-');
	var m=new Array(12);
	var rdate='!';
	m[1]='Jan';
	m[2]='Feb';
	m[3]='Mar';
	m[4]='Apr';
	m[5]='May';
	m[6]='Jun';
	m[7]='Jul';
	m[8]='Aug';
	m[9]='Sep';
	m[10]='Oct';
	m[11]='Nov';
	m[12]='Dec';
	for(var i=1; i<13; i++){
		if(d[1]==m[i]){
			rdate=d[2]*10000 + i*100 + d[0]*1;
			i=13;
		}
	}
	return rdate;
}
function form_date(dtx){
	return dtx.substr(6,2) + '-' + month_mmm(dtx.substr(4,2)*1) + '-' + dtx.substr(0,4);
}
function mmm_month(mo){
	var m=new Array(12);
	m['Jan']=1;
	m['Feb']=2;
	m['Mar']=3;
	m['Apr']=4;
	m['May']=5;
	m['Jun']=6;
	m['Jul']=7;
	m['Aug']=8;
	m['Sep']=9;
	m['Oct']=10;
	m['Nov']=11;
	m['Dec']=12;
	return m[mo];
}
function month_mmm(ix){
	var m=new Array(12);
	m[1]='Jan';
	m[2]='Feb';
	m[3]='Mar';
	m[4]='Apr';
	m[5]='May';
	m[6]='Jun';
	m[7]='Jul';
	m[8]='Aug';
	m[9]='Sep';
	m[10]='Oct';
	m[11]='Nov';
	m[12]='Dec';
	return m[ix];
}
