		/*
	########################################################################
		### Generic element functions ##########################################
		########################################################################
		
		
		
Regular Expression Library
Label 	REGULAR EXPRESSION 	Example 	
Date Format (m/d/y)	^([\d]|1[0,1,2])/([0-9]|[0,1,2][0-9]|3[0,1])/\d{4}$	12/21/2005	TEST
Decimal Number	^\d*[0-9](\.\d*[0-9])?$	234.342	TEST
Document Filenames	^[a-zA-Z0-9-_\.]+\.(pdf|txt|doc|csv)$	world-domination.pdf	TEST
E-mail Address	^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$	info@netshiftmedia.com	TEST
HTML Color Codes	^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$	#00ccff	TEST
Image Filenames	^[a-zA-Z0-9-_\.]+\.(jpg|gif|png)$	new-pic_company.jpg	TEST
IP Address	^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$	192.168.0.1	TEST
Multimedia Filenames	^[a-zA-Z0-9-_\.]+\.(swf|mov|wma|mpg|mp3|wav)$	company-presentation.swf	TEST
MySQL Date Format	^\d{4}-(0[0-9]|1[0,1,2])-([0,1,2][0-9]|3[0,1])$	2005-09-02	TEST
Phone Number	^[2-9]\d{2}-\d{3}-\d{4}$	250-555-4542	TEST
Postal Code (CAD)	^([A-Z][0-9]){3}$	V2B2S3	TEST
Time Format (HH:MM)	^([0-1][0-9]|[2][0-3])(:([0-5][0-9])){1,2}$	12:29	TEST
URL	^(http[s]?://|ftp://)?(www\.)?[a-zA-Z0-9-\.]+\.(com|org|net|mil|edu|ca|co.uk|com.au|gov)$	http://www.nets
hiftmedia.com	TEST
Versatile Phone Number	^(([0-9]{1})*[- .(]*([0-9a-zA-Z]{3})*[- .)]*[0-9a-zA-Z]{3}[- .]*[0-9a-zA-Z]{4})+$


		
		
		
		*/
		
			/* -------------------------------------------------------------- */
			
			function gebid() {
				if (arguments.length==1)
					return document.getElementById(arguments[0]);
				else {
					var ids=Array();
					for (var i=0;i<arguments.length;i++) {
						ids.push(document.getElementById(argument[i]));
					}
					return ids;
				}			
			}
			
			/* -------------------------------------------------------------- */	
		
			
		/*
		########################################################################
		### DHTML Show/Hide Elements ###########################################
		########################################################################
		*/
		
			/* -------------------------------------------------------------- */	
			
			function show(frm,ht,spd) {                        
				var f=gebid(frm);        
				f.style.display="block";
				var distance=ht-f.offsetHeight;
				if (distance>spd) {
					f.style.height=f.offsetHeight+spd+"px";       
					setTimeout("show('"+frm+"',"+ht+","+spd+")",10);     
				} else {            
					f.style.height=ht+"px";
				}        
			}
			
			/* -------------------------------------------------------------- */    
			
			function hide(frm,spd) {       
				var f=gebid(frm);                
				var distance=f.offsetHeight;        
				if (distance>=spd) {
					f.style.height=f.offsetHeight-spd+"px";       
					setTimeout("hide('"+frm+"',"+spd+")",10);     
				} else {            
					f.style.height="0px";       
					f.style.display="none";
					
				}            
			}	
		
			/* -------------------------------------------------------------- */    
			
		/*
		########################################################################
		### Add Event Function #################################################
		########################################################################
		*/	
		
			/* -------------------------------------------------------------- */  
			
			function addEvent(elm,evType,fn,useCapture) {
				if (elm.addEventListener) {
					elm.addEventListener(evType,fn,useCapture);
					return true;
				} else if (elm.attachEvent) {
					var r = elm.attachEvent('on'+evType,fn);
					return r;
				} else {
					alert("Browser Does Not Full Support Event Handling");		
					return true;
				}
			}
			
			/* -------------------------------------------------------------- */  	
			
			function addEvents(e) {
			//	addEvent(gebid("txtIPSearch"),'keyup',validateIP,false);	
			
			}	
			
			/* -------------------------------------------------------------- */  		
			
			function toggleLibrary() {
				if (gebid('library').offsetHeight<=0) {
					gebid('library').style.display=="block";
					show('library',libraryHeight,spd);	
					gebid('imgLibrary').src='i/arrow-down.jpg';
				} else {
					hide('library',spd*2);
					gebid('imgLibrary').src='i/arrow-right.jpg';
				}
			}
		
			/* -------------------------------------------------------------- */  		
			
			function toggleResources() {
				if (gebid('resources').offsetHeight<=0) {
					gebid('resources').style.display=="block";
					show('resources',linksHeight,spd);
					gebid('imgResource').src='i/arrow-down.jpg';
				} else {
					hide('resources',spd*2);
					gebid('imgResource').src='i/arrow-right.jpg';					
				}
			}	
			
			/* -------------------------------------------------------------- */  		
			
		/*
		########################################################################
		### REGEXP Validationn #################################################
		########################################################################
		*/	
		
			/* -------------------------------------------------------------- */  
				
			function validateIP() {  
				var strPattern = '^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$';                
				var oTest1 = document.getElementById('txtIPSearch');
				var ignoreCase = true;
					
				var strOptions="";
				
				if (ignoreCase)
					strOptions+="i";				

				var oREGEXP = new RegExp(strPattern,strOptions);
				
				if (oREGEXP.test(oTest1.value))
				{
					setStatus(1,'txtIPSearch');
					return true;
				}
				else
				{
					setStatus(0,'txtIPSearch');
					return false;
				}
				

				  
			}
		
			/* -------------------------------------------------------------- */  	
		
			function setStatus(sts,elm) {
				if (sts==1)
					gebid(elm).className="ok";
				else
					gebid(elm).className="fail";
			}
			
			/* -------------------------------------------------------------- */  	
		

			
			/* -------------------------------------------------------------- */  	

			function hideHelp() {
				gebid('help').style.display="none";
			}
			
			/* -------------------------------------------------------------- */  				

			function showHelp() {
				gebid('help').style.display="block";
				hide('resources',spd*2);
				hide('library',spd*2);	
				gebid('imgLibrary').src='i/arrow-right.jpg';
				gebid('imgResource').src='i/arrow-right.jpg';			
			}			
			
			/* -------------------------------------------------------------- */  				
						
		/*-- Adds events on window load --*/
			addEvent(window, 'load', addEvents, false);	
		
			var libraryHeight=250;
			var linksHeight=150;
			var spd = 20;
			
			
			