/*******************************************************************************
* Common.js
*
* These are common javascript functions used throughout the site.
*******************************************************************************/

function submitform()
{
	document.theForm.submit();
}

function findElement(name, doc)
{
	var index,element;  
	if (!doc) 
		doc=document;
		
	if ( (index=name.indexOf("?")) > 0 && parent.frames.length ) 
	{
    	doc=parent.frames[name.substring(index+1)].document; 
    	name=name.substring(0,index);
    }
        
  	if (!(element=doc[name]) && doc.all) 
  		element=doc.all[name]; 
  		
  	for (var i = 0; !element && i < doc.forms.length; i++) 
  		element=doc.forms[i][name];
  
  	for(var i = 0; !element && doc.layers && i < doc.layers.length; i++) 
  		element=findElement(name, doc.layers[i].document);
  		
  	if (!element && doc.getElementById) 
  		element=doc.getElementById(name); 
  		
 	return element;
 }


function validateForm()
{
	var index,name,test,num,min,max,errors='';
  	var args= validateForm.arguments;
  
  	for (var i = 0; i < (args.length - 2); i += 3) 
  	{ 
  		test = args[i+2];
  		element = findElement(args[i]);
    	if (element) 
    	{ 
    		name=element.name; 
    		if ((element=element.value)!="") 
    		{
      			if (test.indexOf('isEmail') != -1) 
      			{ 
      				index=element.indexOf('@');
        			if (index < 1 || index==(element.length-1)) 
        				errors += '- '+name+' must contain an e-mail address.\n';
      			} 
      			else if (test!='R') 
      			{ 
      				num = parseFloat(element);
        			if (isNaN(element)) 
        				errors+='- '+name+' must contain a number.\n';
        			if (test.indexOf('inRange') != -1) 
        			{ 
        				index=test.indexOf(':');
          				min=test.substring(8,index); 
          				max=test.substring(index+1);
          
          				if (num<min || max<num) 
          					errors+='- '+name+' must contain a number between '+min+' and '+max+'.\n';
   				 	} 
   				} 
   			} 
   			else if (test.charAt(0) == 'R') 
   				errors += '- '+name+' is required.\n'; 
   		}
  	} 
  	if (errors) 
  		alert('The following error(s) occurred:\n'+errors);
  	document.returnValue = (errors == '');
}

