var ra = new Array();
var rx = new Array(
    '^\\d+$',
    '^\\w+$',
    '^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*$',
    '^[2-9]\\d{2}-\\d{3}-\\d{4}$',
    '(\\s*\\(?0\\d{4}\\)?(\\s*|-)\\d{3}(\\s*|-)\\d{3}\\s*)|(\\s*\\(?0\\d{3}\\)?(\\s*|-)\\d{3}(\\s*|-)\\d{4}\\s*)|(\\s*(7|8)(\\d{7}|\\d{3}(\\-|\\s{1})\\d{4})\\s*)',
    '((http\\://|https\://|ftp\://)|(www.))+(([a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(/[a-zA-Z0-9%:/-_\?\.\'~]*)?',
    '^((([A-PR-UWYZ])([0-9][0-9A-HJKS-UW]?))|(([A-PR-UWYZ][A-HK-Y])([0-9][0-9ABEHMNPRV-Y]?))\\s{0,2}(([0-9])([ABD-HJLNP-UW-Z])([ABD-HJLNP-UW-Z])))|(((GI)(R))\s{0,2}((0)(A)(A)))$'
    );
var ev = new Array(
    'Item marked \'*\' requires a number input,\nplease correct this item.',
    'Item marked \'*\' requires a text input,\nplease correct this item.',
    'Item marked \'*\' does not appear to be a valid email address in the format \'anyone@any.com\',\nplease correct this item.',
    'Item marked \'*\' does not appear to be a valid US phone number in the format \'800-555-5555\',\nplease correct this item.',
    'Item marked \'*\' does not appear to be a valid UK phone number in the format \'0208 993 5689\',\nplease correct this item.',
    'Item marked \'*\' does not appear to be a valid web address in the format \'http://www.diskusneforum.sk\',\nplease correct this item.',
    'Item marked \'*\' does not appear to be a valid UK post code in the format \'B18 6HU\',\nplease correct this item.'
    );
	    
    
function Validate(form)
{
	var es = document.getElementsByTagName('INPUT');
	
	while(ra.length > 0)
	{
	    if (document.all)
	        ra.shift().removeNode(true);
	    else
	    {
	        var node = ra.shift();
	        node.parentNode.removeChild(node);
	    }
	}

		
	for (var i = 0; i < es.length; i++)
	{
		if (es[i].getAttribute('type') == 'text' || es[i].getAttribute('type') == 'password')
		{
			if (es[i].getAttribute('sw_required') == 'true' && es[i].value == '')
			{
			    bError = true;
                try
                {
    			    ce(es[i]);
                }
                catch (e)
                {alert(e);
                }
	        }
		}
	}
	if (ra.length > 0)
	{
	    if (ra.length > 1)
	        alert('Items marked \'*\' are mandatory, please correct these items.');
	    else
	        alert('Item marked \'*\' is mandatory, please correct this item.');
	    return false;
	}
	else
	{
	    for (var i = 0; i < es.length; i++)
	    {
		    if ((es[i].getAttribute('type') == 'text' || es[i].getAttribute('type') == 'password') &&
		        es[i].value != '')
		    {
		        var validationID = es[i].getAttribute('sw_validation');
			    if (validationID != null)
			    {
			        var id = parseInt(validationID);
                                if (id != -1)
                                {
			            var re = new RegExp(rx[id]);
			            if (!es[i].value.match(re))
			            {
			                ce(es[i]);
				            alert(ev[id]);
				            return false;
			            }
                                }			            
			    }
			}
	    }
	}
		    
	return true;
}
function ce(e)
{
    var el = document.createElement("SPAN");
    el.style.color = '#FF0000';
    el.style.fontSize = '10pt';
    if (document.all)
        el.innerText = ' *';
    else
        el.textContent = ' *';
    if (e.nextSibling)
        e.parentNode.insertBefore(el, e.nextSibling);
    else
        e.parentNode.appendChild(el);
    ra.push(el);
}