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 "phonecode":
                valid = value.match(/^([0-9]{0,5})+$/) != null;
            break;
			case "phonenumber":
                valid = value.match(/^([0-9]{0,7})+$/) != null;
            break;
            case "email":
                valid = value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/) != null;
            break;
			case "serial":
                valid = value.match(/^([a-zA-Z])+([0-9]{3})+([a-zA-Z])+([0-9]{16})+$/) != 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);
}



function setProductID(){
document.getElementById('productID').value = getParam("version")+"_"+getParam("edition");
}
function setProductName(){
			var variable = getParam("version");
			if (variable == "english") variableName = "ABBYY Lingvo x3 Английская версия";
			else if (variable == "euro") variableName = "ABBYY Lingvo x3 Европейская версия";
			else if (variable == "multi") variableName = "ABBYY Lingvo x3 Многоязычная версия";
			document.getElementById('versionT').innerHTML = variableName;
			document.getElementById('version').value = variableName;
	}
function setEditionName(){
			var variable = getParam("edition");
			if (variable == "box") variableName = "Коробочная версия";
			else if (variable == "download") variableName = "Версия для скачивания";
			document.getElementById('productTypeT').innerHTML = variableName;
			document.getElementById('productType').value = variableName;
	}
function getParam(sParamName){ 
	var Params = location.search.substring(1).split("&"); 
	var variable = "";
	for (var i = 0; i < Params.length; i++){ 
		if (Params[i].split("=")[0] == sParamName){ 
			if (Params[i].split("=").length > 1) variable = Params[i].split("=")[1]; 
			
			return variable; 
		}
	} 
	return ""; 
}


abbyy.validateTextDistributor = function(input)
{
 	if (input.value == "" && document.order_form.distributor.value=="") document.getElementById("requireddistributor").src="/images/forms/invalid.gif";
	else document.getElementById("requireddistributor").src="/images/forms/valid.gif";
}


abbyy.validateTextIndustry = function(input)
{
	var industry = document.order_form.industry;
	checked = new Array();
 	for (i=0; i<industry.length; i++)
	{
		if (industry[i].checked == true)
		{
			checked.push("1");
		}
	}
	if (input.value == "" && checked.length == 0) abbyy.validateCheckboxInside('invalid');	
	else abbyy.validateCheckboxInside('valid');
}


abbyy.validateSelectCompany = function(elem)
{
	if (elem.value == "")
	{
		abbyy.form.empty(elem); return false;
	} 
	else {
		if (elem.value == "юридическое лицо") 
		{
			document.getElementById('requiredcompany').style.visibility='';
		}
		else document.getElementById('requiredcompany').style.visibility='hidden';
		abbyy.form.right(elem); return true;
	}
}

abbyy.validateSelect = function(elem)
{
	if (elem.value == "")
	{
		abbyy.form.empty(elem); return false;
	} else {
		abbyy.form.right(elem); return true;
	}
}

abbyy.validateSelectDistributor = function(elem)
{
	if (document.getElementById('distrib_yes').checked == true)
	{
		if (elem.value == "")
		{
			if (document.getElementById("distributorother").value == "") 
			{
				abbyy.form.empty(elem); return false;
			}
			else 
			{
				abbyy.form.right(elem); return true;
			}
		}
		else {
			abbyy.form.right(elem); return true;
		}
	}
	else return true;
}

abbyy.validateRadio = function(elem)
{
	sign = document.getElementById('sign');
	if (elem.checked == true) 
	{
		if (elem.value == "Да") document.getElementById('requireddistributor').style.visibility="visible";
		else document.getElementById('requireddistributor').style.visibility="hidden";
		abbyy.validateRadioInside('valid');
	}
	else abbyy.validateRadioInside('invalid');
}

abbyy.validateCheckbox = function(elem)
{
	var industry = document.order_form.industry;
	for (i=0; i<industry.length; i++)
	{
		if(industry[i].checked == true || document.getElementById('industryother').value !== "")
		{
			abbyy.validateCheckboxInside('valid');
			return true;	
		}
		else {
			abbyy.validateCheckboxInside('invalid');
		}
	}
}

abbyy.validateCheckboxInside = function(img)
{
	sign = document.getElementById('sign1');
	sign.src=abbyy.form.img.baseurl + abbyy.form.img[img];
	sign.title = abbyy.form.msg[img];
	sign.alt = abbyy.form.msg[img];	
}

abbyy.validateRadioInside = function(img)
{
	sign = document.getElementById('sign');
	sign.src=abbyy.form.img.baseurl + abbyy.form.img[img];
	sign.title = abbyy.form.msg[img];
	sign.alt = abbyy.form.msg[img];	
}


abbyy.validateInputCheckbox = 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.CheckboxCountry_rusOnclick = function(selectId, imgID)
{
	Country = document.getElementById(selectId);
	CountryImg = document.getElementById(imgID);
	if (!Country.disabled)
	{
		Country.disabled=true;
		CountryImg.style.visibility='hidden';
		return true;
	}
	else
	{
		Country.disabled=false;
		CountryImg.style.visibility='';
		Country.onchange = function()
		{
			if (!document.getElementById('Country_rus').checked && Country.selectedIndex!=0)
			{
				abbyy.form.right(Country); return true;
			}
			else
				abbyy.form.empty(Country); return false;
		}
	}
	if (Country.checked) 
	{
		requiredcountry = document.getElementById('requiredcountry');
		img = 'valid';
		requiredcountry.src=abbyy.form.img.baseurl + abbyy.form.img[img];
		requiredcountry.title = abbyy.form.msg[img];
		requiredcountry.alt = abbyy.form.msg[img];
		return true;
	}
}

abbyy.validateSelectCountry_rus = function(elem)
{
	if (!document.getElementById('Country_rus').checked && elem.selectedIndex!=0)
	{
		abbyy.form.right(elem); return true;
	}
	else
		abbyy.form.empty(elem); return false;
}


abbyy.validateInputRadio = 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 && !input.disabled)
			valid = input.onchange() && valid;
	}
	if (valid) form.submit();
}


abbyy.validateSubmitRadioCheckbox = function(form)
{
	var ind = false;
	var radio = false;
	var valid=true;
	
	
	for (i=0; i<document.order_form.industry.length; i++)
	{
		if(document.order_form.industry[i].checked == true || document.getElementById('industryother').value !== '')
		{
			ind = true;	
		}
	}
	if (ind == false) abbyy.validateCheckboxInside("invalid");
	
	
	for (i=0; i<document.order_form.selling.length; i++)
	{
		if (document.order_form.selling[i].checked == true)
		radio = true;
	}
	if (radio == false) abbyy.validateRadioInside("invalid");
	
	

	for(var k=0; k<form.elements.length; k++)
	{
		var input = form.elements[k];
		if(input.onchange != null)
			valid = input.onchange() && valid;
	}
	if(valid && ind==true && radio==true)form.submit();
}

abbyy.validateTickField = function(elem,imgID)
{
		var block = document.forms[elem.form.name][elem.name];
		for (i=0; i<block.length; i++)
		{
			if (block[i].checked == true) 
			{
				block = true;
			}
		}
		if (block == true) 
		{
			abbyy.form.right(elem,imgID);
			return true;
		}
		else 
		{
			block = false;
			abbyy.requiredFields(elem,imgID);
			return false;
		}
}

abbyy.validateDownload = 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)
{
	var url='http://fr7.abbyy.com/Aligner/ABBYY_Aligner_1.exe';
	window.open(url,'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 = "http://www.abbyy.ru/images/forms/"
abbyy.form.img.required = "required.gif";
abbyy.form.img.valid = "valid.gif";
abbyy.form.img.invalid = "invalid.gif";
abbyy.form.img.empty = "empty.gif";


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();




