function CheckCustomLength() { 
	var Mins = document.getElementsByName('MINCust'); 
	var Maxs = document.getElementsByName('MAXCust');
	var QTYS = document.getElementsByName('QTYCust');
	var CULengths = document.getElementsByName('CustLength');
	
	for (i= 0; i<QTYS.length; i++){
		if(QTYS[i].value != ''&& QTYS[i].value != 0 ){
			if (CULengths[i].value =='' || CULengths[i].value== 0){
				alert('You must select a Custom Length if you select a quantity for a custom rail');
				return false;
	}}}
		
	for (i=0;i<CULengths.length; i++){
	if(CULengths[i].value != ''&& CULengths[i].value != 0 ){
	var checkval = verifyval(QTYS[i].value,Mins[i].value,Maxs[i].value,CULengths[i].value);
	  if (checkval == false){
		  return checkval;
	  }
	var checkdec = checkdecimals(CULengths[i].value);
	   if (checkdec == false){
		 return checkdec;
	  }
	  }
	  }
	  
return true;
}




function verifyval(Quantity, Minimum, Maximum, TheLength){
	//alert(Quantity + '*' + Minimum + '*' + Maximum + '*' + TheLength);
if (Quantity == '0'){
alert('If you entered a custom length, you must enter a quantity');
return false;
}
var test = _checkrange(TheLength,Minimum,Maximum,true);
return test;
}

function _checkrange(object_value, min_value, max_value, required)
{
	
    object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');

    if( required )
    {
        if( object_value.length == 0 )
        {
		    alert('You must enter a length');
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }


	if (!_checknumber(object_value)){
	    alert('Please enter a proper number');
		return false;
		}
	else{
		return (_numberrange((eval(object_value)), min_value, max_value));}
		
	

	return true;
}

function checkdecimals(object_value){
	
	var decimalformat = ".";
//trim whitespace before we validate
    object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');
//remove numeric noise
	object_value = object_value.replace(/[$ŁĄ€,~+]?/g, '');
var numlength = object_value.length;
for (var i = 0; i < object_value.length; i++)
	{
		var somechar = object_value.charAt(i);
		if (somechar == '.' )
		{
		var presentspot = i + 1;
		var numplaces = numlength - presentspot;
		  if (numplaces > 1) {
			alert('Lengths can only be specified to one decimal place');
			return false;
		  }
	
		}
	}
return true
}

function _checknumber(object_value, required)
{
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var decimalformat = ".";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

	//trim whitespace before we validate
    object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');
	//remove numeric noise
	object_value = object_value.replace(/[$ŁĄ€,~+]?/g, '');


    if( required )
    {
        if( object_value.length == 0 )
        {
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }



	check_char = start_format.indexOf(object_value.charAt(0));

	if (check_char == 1)
		decimal = true;
	else if (check_char < 1)
		return false;

	for (var i = 1; i < object_value.length; i++)
	{
		check_char = number_format.indexOf(object_value.charAt(i));
		if (check_char < 0)
			return false;
		else if (check_char == 1)
		{
			if (decimal)
				return false;
			else
				decimal = true;
		}
		else if (check_char == 0)
		{
			if (decimal || digits)	
				trailing_blank = true;
		}
		else if (trailing_blank)
			return false;
		else
			digits = true;
	}	

	return true
}
function _numberrange(object_value, min_value, max_value, required)
{
    //trim whitespace before we validate
    //object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');

    if( required )
    {
        if( object_value.length == 0 )
        {
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }


	if (min_value != null)
	{
		if (object_value < min_value){
		    alert(' Length is smaller than the minimum value which is ' + min_value);
			return false;
		}
	}

	if (max_value != null)
	{
		if (object_value > max_value){
		    alert(' Length is larger than the maximum value which is ' + max_value);
			return false;
		}
	}

	return true;
}


