function submit_form(act)
{
	/* submit form only if a site is selected */
	if(document.trade.sit_id.value!="--")
	{
		/* IF "submit" button was clicked */
		if(act=='add')
		{
			/* save action */
			document.trade.act.value=act;
			
			/* validate form */
			var validated=validate_form();
		}
		else
			/* only changing site, go ahead */
			var validated=true;
		
		/* submit form, if validated */
		//alert("validated: " + validated)
		if(validated)
			document.trade.submit();
	}
	else
	{
		/* no sites selected */
		alert("Please select one of my sites to trade with.");
		document.trade.sit_id.focus();
	}
}

function validate_form()
{
	// list of element to check
	var checkList=new Array('domain','url','email','icq','nick');
	var checkListLen=checkList.length;
	
	// no error yet
	var found=false;
	
	// parse every element
	for(i=0; i<checkListLen; i++)
	{
		if(!found)
		{
			// make sure no empty fields posted (if no errors found yet)
			var checkItem=eval('document.trade.' + checkList[i] + '.value');
			if(checkItem=="")
			{
				// flag error
				found=true;
				// alert user
				alert("The field '" + checkList[i] + "' cannot be empty.");
				eval('document.trade.' + checkList[i] + '.focus()');
			}
		}
		
		if(!found)
		{
			// make sure no PHP nor JS code was inserted (if no errors found yet)
			var checkItem=eval('document.trade.' + checkList[i] + '.value');
			
			// list of TAGS to seek for
			var tags=new Array('<?', '?>', '<script', '</script>');
			var tagLen=tags.length;
			
			// parse every element
			for(j=0; j<tagLen; j++)
			{
				if(!found)
				{
					var test=eval('checkItem.indexOf(\'' + tags[j] + '\')');
					if(test>0)
					{
						// flag error
						found=true;
						// alert user
						alert("Please don't try injecting code.");
						eval('document.trade.' + checkList[i] + '.focus()');
					}
				}
			}
		}
	}
	
	// make sure valid email was provided
	if(!found)
	{
		if(!validateEmail(document.trade.email.value))
		{
			// flag error
			found=true;
			// alert user
			alert("Please provide a valid email address.");
			document.trade.email.focus();
		}
	}
	
	return !found;
}


function validateEmail(emailStr)
{
	//var objRegExp=/(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
	var objRegExp=/^[0-9a-z]([-_\.]?[0-9a-z]*)*@[0-9a-z]([-_\.]?[0-9a-z])*\.[a-z]{2,3}$/i;
	return objRegExp.test(emailStr);
}

function toggle_add()
{
    /* Make sure something's typed in "verification code" before enabling "submit button" */
  	var curr_code=document.trade.code.value;
	if(curr_code!='')
		document.trade.add.disabled=false;
	else
		document.trade.add.disabled=true;
}