// JavaScript Document

	var clsAjax = {
		initializeXmlHttp:function()
		{
			xmlhttp = false;
			try
			{
				if (window.XMLHttpRequest) {
				   xmlhttp = new XMLHttpRequest( );
				   xmlhttp.overrideMimeType('text/xml');
				} else if (window.ActiveXObject) {
				   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				}
			}catch(e)
			{
				try
				{
					xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");	
				}catch(e)
				{
					alert(e.message);	
				}
			}
			return xmlhttp;
		},
		cbfSubmit:function(jsonString)
		{
			try
			{	
				jsonObj = eval(jsonString);
				var	xmlhttp =  clsAjax.initializeXmlHttp();
				if ( 4 == xmlhttp.readyState  || 0 == xmlhttp.readyState )
				{
					xmlhttp.open(jsonObj.method.toUpperCase(), jsonObj.strUrl, true);
					xmlhttp.onreadystatechange = function()
					{
						if(4 == xmlhttp.readyState) 
						{
							if(200 == xmlhttp.status)
							{
								eval(jsonObj.funcRun + '(xmlhttp.responseText)');
							}else
							{
								alert('An error has occured in the system. \nerror number: ' + xmlhttp.status + '\nerror description: ' + xmlhttp.statusText );
								document.write(xmlhttp.responseText);
							}
						}
					}
		
					if('POST' == jsonObj.method.toUpperCase())
					{
						xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
						
					}
					
					if(jsonObj.strParram)
					{
						xmlhttp.send(jsonObj.strParram);
					}else
					{
						xmlhttp.send(null);
					}
				}else
				{
					alert('Server busy, try resubmitting your request at a latter time.');
				}
			}catch(e)
			{
				alert('An error has occured in function clsAjax.cbfSubmit. \n' + e.message);
			}
		},
		parram:function(strformid)
		{
			
			try
			{
				var objForm = document.getElementById(strformid);
				var strParram = '';
				if(objForm)
				{
					var objField = objForm.elements;
					for(intCounter = 0; intCounter < objField.length; intCounter++)
					{
						if((objField[intCounter].type != 'button') && (objField[intCounter].type != 'submit') && (objField[intCounter].type != 'reset') && (objField[intCounter].type != 'image'))
						{
							if(('checkbox' == objField[intCounter].type) || ('radio' == objField[intCounter].type))
							{
								if (true == objField[intCounter].checked)
								{
									if(strParram.length == 0)
									{
										strParram = objField[intCounter].name + '=' + escape(objField[intCounter].value)
									}else
									{
										strParram = strParram + '&' + objField[intCounter].name + '=' + escape(objField[intCounter].value)
									}
								}
							}else
							{
								if(0 < objField[intCounter].value.length)
								{
									if(strParram.length == 0)
									{
										strParram = objField[intCounter].name + '=' + escape(objField[intCounter].value)
									}else
									{
										strParram = strParram + '&' + objField[intCounter].name + '=' + escape(objField[intCounter].value)
									}
								}
							}
						}
					}
				}
				
				return strParram;
			}catch(e)
			{
				alert('An error has occured in function clsAjax.parram. ' + e.message);
			}
		}
	}

	// Check box Class
	var objcheckbox = {
		checkall:function(jsonString)
		{
			try
			{
				var jsonObj = eval(jsonString);
				var obj = document.getElementsByName(jsonObj.name); 
				var i;
				if(obj)
				{
					for(i = 0; i<obj.length; i++)
					{	
						if(obj[i].disabled == false)
						{
							obj[i].checked = jsonObj.parent.checked;
						}
					}
				}
			}catch(e)
			{
				alert('An error has occured. ' + e.message);
			}
		}
	}
	
	//clsDom
	var clsDOM = {
		createObject:function(jsonString)
		{
			try
			{
				var jsonObj = eval(jsonString);
				var myobj = document.createElement(jsonObj.tag);
				if (!jsonObj.parent){
					myobj.parent = document.body; 
				} 
				if(jsonObj.className){ 	myobj.className = jsonObj.className; } 
				if(jsonObj.id) { myobj.id = jsonObj.id; } 
				if(jsonObj.name) {	myobj.name = jsonObj.name; } 
				if(jsonObj.type) { myobj.type = jsonObj.type; } 
				if(jsonObj.value) { myobj.value = jsonObj.value;} 
				if(jsonObj.text) { myobj.text = jsonObj.text;} 
				if(jsonObj.method) { myobj.method = jsonObj.method; } 
				if(jsonObj.action) { myobj.action = jsonObj.action; } 
				if(jsonObj.innerhtml) { myobj.innerHTML = jsonObj.innerhtml; } 
				if(jsonObj.maxlength){ myobj.maxLength = jsonObj.maxlength; }
				if(jsonObj.size){ myobj.size = jsonObj.size; }
				if(jsonObj.disabled){ myobj.disabled = jsonObj.disabled; }
				if(jsonObj.style)
				{ 
					if(jsonObj.style.position){myobj.style.position  = jsonObj.style.position; }
					if(jsonObj.style.width){myobj.style.width  = jsonObj.style.width; }
					if(jsonObj.style.height){myobj.style.height  = jsonObj.style.height; }
					if(jsonObj.style.top){ myobj.style.top = jsonObj.style.top; }
					if(jsonObj.style.left){ myobj.style.left = jsonObj.style.left; }
					if(jsonObj.style.zIndex){ myobj.style.zIndex = jsonObj.style.zIndex; }
					if(jsonObj.style.background){ myobj.style.background = jsonObj.style.background; }
					if(jsonObj.style.filter){ myobj.style.filter = jsonObj.style.filter; }
					if(jsonObj.style.paddingTop){ myobj.style.paddingTop = jsonObj.style.paddingTop; }
					if(jsonObj.style.paddingBottom){ myobj.style.paddingBottom = jsonObj.style.paddingBottom; }
					if(jsonObj.style.paddingLeft){ myobj.style.paddingLeft = jsonObj.style.paddingLeft; }					
					if(jsonObj.style.paddingRight){ myobj.style.paddingRight = jsonObj.style.paddingRight; }	
					if(jsonObj.style.font){ myobj.style.font = jsonObj.style.font; }				
					if(jsonObj.style.fontWeight){ myobj.style.fontWeight = jsonObj.style.fontWeight; }		
					if(jsonObj.style.fontSize){ myobj.style.fontSize = jsonObj.style.fontSize; }		
					if(jsonObj.style.fontFamily){ myobj.style.fontFamily = jsonObj.style.fontFamily; }		
				}
				
				switch(jsonObj.position) 	{
					case 'top': jsonObj.parent.insertBefore(myobj,jsonObj.refChild) ; break;
					case 'buttom':jsonObj.parent.appendChild(myobj); break;
					case 'replace':	jsonObj.parent.replaceChild(myobj,jsonObj.parent) ; break;
					default:	jsonObj.parent.appendChild(myobj); break; 
				} 
				return myobj;
			}catch(e)
			{
				alert('An error has occured. ' + e.message);
			}
		},
		removeObject:function(jsonString)
		{
			var jsonObj = eval(jsonString);
			var objremove = document.getElementById(jsonObj.id);	
			if(objremove)
			{
				objremove.parentNode.removeChild(objremove);
			}
		}
	}
	
	var clsLoader = {
		lockScreen:function()
		{
			var objParent = document.body;
			clsLoader.lockControls(true);
		
			var objCbo = document.getElementsByTagName('select');
			for(i=0; i< objCbo.length; i++)
			{
					objCbo[i].style.visibility = 'hidden';
			}
			objParent.style.overflow='hidden';		
			var objBlackScreen = clsDOM.createObject({id:'BlackScreen',tag:'div',parent:objParent,style:{width:'300px',padding:'10px',background:'#FFFFFF' , position:'absolute',top:(document.body.offsetHeight / 2)  +'px',left:(document.body.offsetWidth / 2) -150 +'px',fontFamily:'Verdana',fontSize:'11px',fontWeight:'bold'},innerhtml:'<img src="graphic/ajax-loader.gif">PROCESSING REQUEST PLEASE WAIT...'})
		},
		unlockScreen:function()
		{
			var objParent = document.body;
			
			var objCbo = document.getElementsByTagName('select');
			for(i=0; i< objCbo.length; i++)
			{
					objCbo[i].style.visibility = '';
			}
			clsDOM.removeObject({id:'BlackScreen'});
			clsLoader.lockControls(false);
			objParent.style.overflow='auto';
		},
		lockControls:function(blnLocked)
		{
			var objControls = document.getElementsByTagName('input');
			for(i=0; i<objControls.length; i++)
			{
					objControls[i].disabled = blnLocked;
			}
			
			var objControls = document.getElementsByTagName('select');
			for(i=0; i<objControls.length; i++)
			{
					objControls[i].disabled = blnLocked;
			}
			
			var objControls = document.getElementsByTagName('radio');
			for(i=0; i<objControls.length; i++)
			{
					objControls[i].disabled = blnLocked;
			}
			
			var objControls = document.getElementsByTagName('checkbox');
			for(i=0; i<objControls.length; i++)
			{
					objControls[i].disabled = blnLocked;
			}
			
			var objControls = document.getElementsByTagName('textarea');
			for(i=0; i<objControls.length; i++)
			{
					objControls[i].disabled = blnLocked;
			}
		}
	}
	
	