
/*////////////////////////////////////////////////////////*/
/*#################### CLS.PAGE.FORMS ####################*/
/*////////////////////////////////////////////////////////*/

	Page.forms=new function()
	{
		/*////////////////////////////////////*/
		/*//////// PRIVATE.VARIABLES /////////*/
		/*////////////////////////////////////*/

		var Self	=this;
		var Parent	=Page;

		/*##############################################*/
		/*############## PRIVATE.CONTRUCT ##############*/
		/*##############################################*/

		/*////////////////////////////////////*/
		/*////////// THIS.CONSTRUCT //////////*/
		/*////////////////////////////////////*/

		this.construct=function(Args)
		{

		};

		/*##############################################*/
		/*############## PUBLIC.FUNCTIONS ##############*/
		/*##############################################*/

		/*////////////////////////////////////*/
		/*//////////// THIS.FOCUS ////////////*/
		/*////////////////////////////////////*/
		
		this.focus=function(Node,Event)
		{
			(Node?(Node.className=(Event.type=='focus'?(Node.className?Node.className:'')+' Focus':(Node.className?Node.className:'').replace(/\s?Focus/g,''))):null);

			Node.onblur=function(e){ Parent.forms.focus(this,e?e:event); };
		};

		/*////////////////////////////////////*/
		/*//////////// THIS.HOVER ////////////*/
		/*////////////////////////////////////*/
		
		this.hover=function(Node,Event)
		{
			(Node?(Node.className=(Event.type=='mouseover'?(Node.className?Node.className:'')+' Hover':(Node.className?Node.className:'').replace(/\s?Hover/g,''))):null);

			Node.onmouseout=function(e){ Parent.forms.hover(this,e?e:event); };
		};

		/*////////////////////////////////////*/
		/*//////// THIS.VALIDATEDATE /////////*/
		/*////////////////////////////////////*/
		
		this.validateDate=function(Node)
		{
			if(Node)
			{
				var Check	=Node.value.replace(/[^0-9]{1}/ig,'-').split('-');
					Check[0]=typeof(Check[0])!='undefined'?Check[0].toString():'';
					Check[1]=typeof(Check[1])!='undefined'?Check[1].toString():'';
					Check[2]=typeof(Check[2])!='undefined'?Check[2].toString():'';
				
				var TmpCheck=Check[2];
				
				Check[2]	=Check[0].length>2?Check[0]:Check[2];
				Check[0]	=Check[0].length>2?TmpCheck:Check[0];

				Check[0]	=(parseInt(Check[0])>31?31:Check[0]).toString();
				Check[0]	=Check[0].length==0?'00':(Check[0].length==1?'0'+Check[0]:Check[0].substr(0,2));
				Check[1]	=(Check[1].length==0 || parseInt(Check[1])==0) && Check[0]!='00'?(new Date()).getMonth().toString():Check[1];
				Check[1]	=(parseInt(Check[1])>12?12:Check[1]).toString();
				Check[1]	=Check[1].length==0?'00':(Check[1].length==1?'0'+Check[1]:Check[1].substr(0,2));
				Check[2]	=(Check[2].length==0 || parseInt(Check[2])==0) && Check[0]!='00'?(new Date()).getFullYear().toString():Check[2];
				Check[2]	=Check[2].length==0?'0000':(Check[2].length==1?'200'+Check[2]:(Check[2].length==2?'20'+Check[2]:(Check[2].length==3?'2'+Check[2]:Check[2].substr(0,4))));

				Node.value	=Check[0]+'-'+Check[1]+'-'+Check[2];
			}
		};

		/*////////////////////////////////////*/
		/*//////// THIS.VALIDATEDATE /////////*/
		/*////////////////////////////////////*/

		this.postObject=function(Url,Object,Handler)
		{
			var Data='';

			for(var a in Object)
			{
				Data+=escape(Parent.encoding.toUtf8(a)).replace(/\+/g,'%2B')+'='+escape(Parent.encoding.toUtf8(Object[a])).replace(/\+/g,'%2B')+'&';
			}

			Parent.urlRequest(Url,'POST',Data,Handler);
		};

		/*##############################################*/
		/*################ PRIVATE.HELP ################*/
		/*##############################################*/

		/*////////////////////////////////////*/
		/*////////// THIS.CONSTRUCT //////////*/
		/*////////////////////////////////////*/

		this.construct(arguments);
	};