// JavaScript Document
function showPopUp(divID){
	var divPopup=document.getElementById(divID);
	divPopup.style.display="inline";
	divPopup.style.visibility="visible";
	//divPopup.style.top=(document.body.clientHeight-divEdit.clientHeight);
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body
	var dsocleft=document.all? iebody.scrollLeft : pageXOffset
	var dsoctop=document.all? iebody.scrollTop : pageYOffset

	var screenpos=Number(((iebody.clientHeight-divPopup.clientHeight)/2)*1);
	var offset=Number(dsoctop);
	divPopup.style.top=(screenpos+offset)+"px";

	var screenpos=Number(((iebody.clientWidth-divPopup.clientWidth)/2)*1);
	var offset=Number(dsocleft);
	divPopup.style.left=(screenpos+offset)+"px";

	divPopup.style.zIndex=99;
	try{
		eval("onDisplay_"+divID+"();");
	}catch(e){
	}
}
function selectOptionByAttribute(selectObject, attributeName, value){
	for(var i=0;i<selectObject.options.length;i++){
		try{
				
			if (selectObject.options[i].attributes[attributeName].value==value){
				selectObject.selectedIndex=i;
			}
		}catch(e){
		}
	}
}
function disableOptionsByAttribute(selectObject, attributeName, value){
	for(var i=0;i<selectObject.options.length;i++){
		try{
				
			if (selectObject.options[i].attributes[attributeName].value==value){
				selectObject.selectedIndex=i;
			}
		}catch(e){
		}
	}
}
function hidePopUp(divID){
	document.getElementById(divID).style.visibility="hidden";
	document.getElementById(divID).style.zIndex=1;

}
function validateKeyStrokes(objEvent){
//
// To use to validate keystrokes against datatypes
//
// Set datatype property of input box to one of:
//		integer
//		float
//		currency
//		text
//
//	Set onkeydown = "validateKeyStrokes(event);"
//

	var objElement;
	var keyCode;
	var datatype;
	var shiftDown;
	objElement=getEventSource(objEvent);
	keyCode=getEventKeyCode(objEvent);
	lastKeyCode=keyCode;
/*	if (browser=="IE") {
	    objElement=objEvent.srcElement;
	    keyCode=objEvent.keyCode;
	    
	}else{
	    objElement=objEvent.target;
	    keyCode=objEvent.which;
	    
	}
*/
	if (keyCode==16){return}
	shiftDown=(objEvent.shiftKey!=false);
	datatype=objElement.attributes["datatype"].value;
//alert(datatype+" "+keyCode+" "+shiftDown+" "+objElement.readOnly);
    var ok=false;
    if (objElement.readOnly==false
    ) {
	    if (keyCode==9||keyCode==0){ //Tab (0 tab in firefox!)
	        //nextElement(objEvent);
	        return;
	    }
        // Check for Valid Control characters
		if(datatype!="readonly"){
			if(
			    (keyCode>=37 && keyCode<=40 ) || //Backspace and delete
			    keyCode==8 || keyCode==46 ||//Arrow keys
			    keyCode==35 || keyCode==36 //End or Home
			    ) {
			    return;
			}
		}
			
//alert(objElement.datatype.value);
//var x;
//for (var idx=0; idx<objElement.attributes.length; idx++){
//	x+=objElement.attributes[idx].name+"="+objElement.attributes[idx].value+"; ";
//}
//alert(x);
		
	    if (
		    	datatype=="integer" && 
	    		!shiftDown && 
			objElement.value.length<objElement.attributes["size"].value &&
			(
			    (keyCode>=48 && keyCode<=57 ) ||//Normal Keyboard numbers
			    (keyCode>=96 && keyCode<=105 ) //numeric keypad numbers
			)
            ) {
            //alert("good");
            return;
        }else{
            //alert("bad");
        }
	    if (datatype=="float" && (
    		    (keyCode>=48 && keyCode<=57 ) || //Normal Keyboard numbers
		        (keyCode>=96 && keyCode<=105 ) || //numeric keypad numbers
                (objElement.value.indexOf(".")==-1 && (keyCode==190||keyCode==110))  //. or KeyPad .
                )
            ) {
            return;
        }
	    if (datatype=="currency" && (
    		    (keyCode>=48 && keyCode<=57 ) || //Normal Keyboard numbers
		        (keyCode>=96 && keyCode<=105 ) || //numeric keypad numbers
                (objEvent.srcElement.value.indexOf(".")==-1 && (keyCode==190||keyCode==110)) //. or KeyPad .
		   ) && (
                (objElement.value.indexOf(".")==-1 || objElement.value.length-objElement.value.indexOf(".")<=2)
           )     
           ) {
            return;
        }
	    if (datatype=="text" && (
	            (keyCode!=192 || objEvent.shiftKey==true) &&
	    	    (keyCode!=39)
	            )
	        ) {
	        return;
	    }
	    if (objElement.tagName.toUpperCase()=="BUTTON" || objElement.type.toUpperCase()=="BUTTON"){
	        return;
	    }
	    
    }
//document.getElementById("txtMessage").value=keyCode;
	CancelBubble(objEvent);
	objEvent.returnValue = false;
	if (browserIsIE()){ 
		//alert(objEvent.cancelable);
		if (objEvent.cancelable){	
		//alert("canceling");
			try{
			objEvent.stopPropagation();
			objEvent.preventDefault();
			return false;
			}catch(e){
				alert(e);
			}
		}
	}
}
function CancelBubble(e){
	if (browserIsIE()){ 
		e.cancelBubble=true;
	}else{
		try {
			e.stopPropagation();
			e.preventDefault();
		} catch(ev){
		}
	}
}
function getEventSource(e){
	if (browserIsIE()){ 
	    return e.srcElement;
	    
	}else{
	    return e.target;
	}
}
function getEventKeyCode(e){
	if (browserIsIE()){ 
	    return e.keyCode;
	    
	}else{
	    return e.which;
	}
}
function browserIsIE(){
	return (navigator.appName == "Microsoft Internet Explorer")
}
function showIframe(url, width, height){
	var popup=document.getElementById("popup");
	popup.src=url;
	popup.style.height=height+"px";
	popup.style.width=width+"px";
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
	var dsocleft=document.all? iebody.scrollLeft : pageXOffset
	var dsoctop=document.all? iebody.scrollTop : pageYOffset

	var screenpos=Number(((iebody.clientHeight-popup.clientHeight)/2)*1);
	var offset=Number(dsoctop);
	popup.style.top=(screenpos+offset)+"px";

	var screenpos=Number(((iebody.clientWidth-popup.clientWidth)/2)*1);
	var offset=Number(dsocleft);
	popup.style.left=(screenpos+offset)+"px";
	popup.style.zIndex=99;
	//popup.style.borderStyle="solid";
	popup.style.visibility="visible";
}
function hideIframe(){
	document.getElementById("popup").style.visibility="hidden";
}
function clearlist(listid){
//alert("clearlist("+listid+")");
	while(document.getElementById(listid).options[0]) document.getElementById(listid).options[0]=null;
}
function addtolist(listid, id, name){
//alert("addtolist("+listid+", "+id+", "+name+")");
	list=document.getElementById(listid);
	list.options[list.length]=new Option(name,id);
}
