var abbyy = {};

abbyy.validateTextCompany = function(input,required,format)
{
 	if (document.getElementById('youare').selectedIndex==1)
  	{
		return abbyy.validateText(input,required,format); 
 	}
	else return true;
}

abbyy.validateForm = function(form)
{
	var invalid=false;
	for(var k=0;k<form.elements.length;k++)
	{
		var input=form.elements[k];
		if(input.onchange!=null)
			input = !t.onchange()||i;
	}
	if(!invalid) form.submit();
	return false;
}

abbyy.validateText = function(input,required,format)
{
    var value = input.value;
    var valid = true;
    if(value != "")
    {
        switch (format)
        {
            case "phone":
                valid = value.match(/^[\d\-+\s();,*#]+$/) != null;
            break;
            case "email":
                valid = value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/) != null;
            break;
            case "name":
                q = v.match(/^[A-Za-zА-Яа-я\s]+$/) != null;
            break;
            default:     
            break;    
        }
    }
    if(!valid)
        abbyy.form.wrong(input);
    else if (required && value.match(/\S/) == null)
    {
        abbyy.form.empty(input);
    }
    else
        abbyy.form.right(input);
    return valid && !(required && value.match(/\S/) == null);
}



abbyy.validateSelect = function(elem,other)
{
	if (elem.value == "")
	{
		 abbyy.form.empty(elem); return false;
	} 
	else {
		if (elem.value == "a company") 
		{
			document.getElementById('requiredcompany').style.visibility='';
		}
		else if (elem.value == "an individual user")
		{
			document.getElementById('requiredcompany').style.visibility='hidden';
		}
		abbyy.form.right(elem); return true;
	}
}



abbyy.validateCheckbox = function(elem,imgID)
{
		var block = document.getElementsByName(elem.name);
		for (i=0; i<block.length; i++)
		{
			if (block[i].checked == true) 
			{
				block = true;
			}
		}
		if (block == true) 
		{
			abbyy.validateInside('valid',imgID);
			return true;
		}
		else 
		{
			block = false;
			abbyy.validateInside('invalid',imgID);
			return false;
		}
}



abbyy.validateRadio = function(elem,imgID)
{
		var block = document.getElementsByName(elem.name);
		for (i=0; i<block.length; i++)
		{
			if (block[i].checked == true) 
			{
				block = true;
			}
		}
		if (block == true) 
		{
			abbyy.validateInside('valid',imgID);
			return true;
		}
		else 
		{
			block = false;
			abbyy.validateInside('invalid',imgID);
			return false;
		}
}


abbyy.validateInside = function(img,imgID)
{
	sign = document.getElementById(imgID);
	sign.src=abbyy.form.img.baseurl + abbyy.form.img[img];
	sign.title = abbyy.form.msg[img];
	sign.alt = abbyy.form.msg[img];	
}


abbyy.validateSubmit = function(form)
{
var valid=true;
for(var k=0; k<form.elements.length; k++)
{
	var input = form.elements[k];
	if(input.onchange != null)
		valid = input.onchange() && valid;
}
if(valid)form.submit();
}



abbyy.validateDownload = function(form)
{
var valid=true;
var download=document.getElementById('download');
var urlAligner='http://fr7.abbyy.com/Aligner/ABBYY_Aligner_1.exe';
var urlLegalWP='http://abbyy.com/upload/files/ABBYY_Legal_Brochure.pdf';
for(var k=0; k<form.elements.length; k++)
{
	var input = form.elements[k];
	if(input.onchange != null)
		valid = input.onchange() && valid;
}
if(valid)
{
	if (download.value=='aligner')
	{
		window.open(urlAligner,'Download');
	}
	else if (download.value=='legalWP' && document.getElementById('industry').options[document.getElementById('industry').selectedIndex].value == 'legal')
	{
		window.open(urlLegalWP,'Download');
	}
	form.submit();
	
}
}



abbyy.form = {};

abbyy.form.empty = function(e)
{
	abbyy.form.setformimg("empty",e)
}
abbyy.form.wrong = function(e)
{
	abbyy.form.setformimg("invalid",e)
}
abbyy.form.right = function(e)
{
	abbyy.form.setformimg("valid",e)
}

abbyy.form.setformimg = function(img,e)
{
	var i=e.nextSibling;
	while(i!= null && i.nodeName.toLowerCase()!="img")
		i=i.nextSibling;
	if(i != null)
	{
		i.src = abbyy.form.img.baseurl + abbyy.form.img[img];
		i.title = abbyy.form.msg[img];
		i.alt = abbyy.form.msg[img];
	}
	else
	{
		i = new Image();
		i.src = abbyy.form.img.baseurl + abbyy.form.img[img];
		i.title = abbyy.form.msg[img];
		i.alt = abbyy.form.msg[img];
		e.parentNode.appendChild(i);
	}
}


abbyy.form.init = function()
{
	var i1 = new Image();
	i1.src = abbyy.form.img.baseurl + abbyy.form.img.required;

	var i2 = new Image();
	i2.src = abbyy.form.img.baseurl + abbyy.form.img.valid;

	var i3 = new Image();
	i3.src = abbyy.form.img.baseurl + abbyy.form.img.empty;

	var i4 = new Image();
	i4.src = abbyy.form.img.baseurl + abbyy.form.img.invalid;
}

abbyy.form.img = {};
abbyy.form.img.baseurl = "/images/forms/"
abbyy.form.img.required = "required.png";
abbyy.form.img.valid = "valid.png";
abbyy.form.img.invalid = "invalid.png";
abbyy.form.img.empty = "empty.png";


abbyy.form.msg = {};
abbyy.form.msg.required = "required";
abbyy.form.msg.valid = "valid";
abbyy.form.msg.invalid = "invalid";
abbyy.form.msg.empty = "required";

abbyy.form.init();



