function trim(str){
    if(!str || typeof str != 'string')
        return null;
    return str.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
}

function isNumber(value)
{
	var inpVal = parseFloat(value, 10);
	
	if (inpVal!=value)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}

function isEMailAddr(str) {
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        return 0;
    } else {
        return 1;
    }
}

function doesMatch(val, m_id)
{
	if(val == document.getElementById(m_id).value)
	{
		return 1;
	}
	else
	{
		return 0;
	}
}


function isIP(str) {
    var re = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
    if (!str.match(re)) {
        return 0;
    } else {
        return 1;
    }
}

function submitbutton(pressbutton, adminForm)
{
	var form = document.getElementById(adminForm);
	
	if (pressbutton == 'cancel') 
	{
		submitform( pressbutton );
		return;
	}

	
	msg = '\n';
	error_flag = 0;
	old_radio_set_name = '';
	rad_msg = '';
	
	for(i = 0 ; i < form.elements.length ; i++)
	{
		if(form.elements[i].type == 'file')
		{
			if(form.elements[i].getAttribute('required'))
			{
				if(form.elements[i].value=='')
				{
					inlineMsg(form.elements[i].getAttribute('name'),form.elements[i].getAttribute('title')+' is not given.',4);
					return false;
					error_flag = 1;
				}
				else
				{
					/*var filename = form.elements[i].value;
					var filelength = parseInt(filename.length) - 3;
					var fileext = filename.substring(filelength,filelength + 3);
					var fileext1 = filename.substring(filelength - 1,filelength + 3);
					if (fileext != "doc" && fileext != "pdf" && fileext1 != "docx")
					{
			inlineMsg(form.elements[i].getAttribute('name'),form.elements[i].getAttribute('title')+' is not in a valid format. (Please Upload in .doc, .pdf or .docx format)',4);
					return false;
					error_flag = 1;
					}*/
				}
			}
		}
		else
		if(form.elements[i].type == 'checkbox')
		{
			if(form.elements[i].getAttribute('needed'))
			{
				if(!form.elements[i].checked)
				{
					inlineMsg(form.elements[i].getAttribute('name'),form.elements[i].getAttribute('title')+' should be checked.',4);
					return false;
					error_flag = 1;
				}
			}
		}
		else
		if(form.elements[i].getAttribute('required'))
		{
			if(form.elements[i].value == '')
			{
				inlineMsg(form.elements[i].getAttribute('name'),form.elements[i].getAttribute('title')+' is missing.',4);
				return false;
				error_flag = 1;
			}
			else
				if(form.elements[i].getAttribute('exclusion') == form.elements[i].value)
				{
					inlineMsg(form.elements[i].getAttribute('name'),form.elements[i].getAttribute('title')+' is not selected.',4);
					return false;
					error_flag = 1;
				}
				else
				if(form.elements[i].getAttribute('numeric'))
				{
					if(!isNumber(form.elements[i].value))
					{
						inlineMsg(form.elements[i].getAttribute('name'),form.elements[i].getAttribute('title')+' should be a number.',4);
						return false;
						error_flag = 1;
					}
				}
				else
				if(form.elements[i].getAttribute('email'))
				{
					if(!isEMailAddr(form.elements[i].value))
					{
						inlineMsg(form.elements[i].getAttribute('name'),form.elements[i].getAttribute('title')+' is not a valid e-mail address.',4);
						return false;
						error_flag = 1;
					}
				}
				else
				if(form.elements[i].getAttribute('match'))
				{
					if(!doesMatch(form.elements[i].value, form.elements[i].getAttribute('match')))
					{
						inlineMsg(form.elements[i].getAttribute('name'),form.elements[i].getAttribute('title')+' does not match with '+document.getElementById(form.elements[i].getAttribute('match')).getAttribute('title')+'.',4);
						return false;
						error_flag = 1;
					}
				}
				else
				/* ended */
				if(form.elements[i].getAttribute('ip'))
				{
					if(!isIP(form.elements[i].value))
					{
						inlineMsg(form.elements[i].getAttribute('name'),form.elements[i].getAttribute('title')+' given is not a valid IP address.',4);
						return false;
						error_flag = 1;
					}
				}
				
			if(form.elements[i].type == 'radio')
			{
				current_radio_set_name = form.elements[i].name;
				if(current_radio_set_name != old_radio_set_name)
				{
					one_time = 0;
					radio_flag = 1;
					radio_error_flag = 1;
					if(form.elements[i].checked)
					{
						radio_error_flag = 0;
						rad_msg = '';
					}
				}
				else
				{
					if(!form.elements[i].checked && radio_error_flag != 0)
					{
						if(one_time == 0)
							rad_msg = ' - : '+form.elements[i].getAttribute('title')+' is missing.\n';
						radio_error_flag = 1;
						one_time = 1;
						error_flag = 1;
					}
					else
					{
						radio_error_flag = 0;
						rad_msg = '';
					}
				}
				old_radio_set_name = current_radio_set_name;
			}
		}
	}
	msg += rad_msg;
	var tm = document.getElementById('mce_editor_0');
	if(tm != null)
	{
		//alert(tinyMCE.getParam('name'));
		var text = tinyMCE.getContent();
		if(text == '')
		{
			msg += ' - : Description is missing.\n';
			error_flag = 1;
		}
	}

	if(error_flag == 1)
	{
		return false;
	}
	else
	{
		if(document.getElementById("paypal"))
		{
			if(document.getElementById("paypal").checked)
			{
				document.getElementById("payment_act").action="paypal/DoDirectPaymentReceipt.php";
			}
		}
		
		if(document.getElementById("autho"))
		{
			if(document.getElementById("autho").checked)
			{
				//alert("autho");
				document.getElementById("payment_act").action="authorise/autho.php";
			}
		}
		form.submit();
	}
}
