function validateNumbers(field) {
	var valid = "0123456789"
	var ok = true;
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = false;
	}
	if (ok==false) {
		field.focus();
		field.select();
		return false;
	}
	else {return true;}
}

function validateTicketUID(field, minSize) {
    if (field.value.length < minSize) {
        switch (document.forms[0].usr_lang_id.value){
            case "EN":{ 
                alert("Ticket Identifier must be 103-XXXX-XXXX");
                break;
            }
            case "ES":{
                alert("El Identificador del Ticket debe ser 103-XXXX-XXXX");
                break;
            }
            default:{
                alert("Ticket Identifier must be 103-XXXX-XXXX");
                break;
            }
        }
	    field.focus();
	    field.select();
	    return false;
    }else{
	    var valid = "0123456789-"
	    var ok = true;
	    var temp;
	    for (var i=0; i<field.value.length; i++) {
		    temp = "" + field.value.substring(i, i+1);
		    if (valid.indexOf(temp) == "-1") ok = false;
	    }
	    if (ok==false){
		    switch(document.forms[0].usr_lang_id.value){
                case "EN":{ 
                    alert("Error. Only numbers and a hyphen are accepted");
                    break;
                }
                case "ES":{
                    alert("Error. Solo numeros y un guión medio son aceptados");
                    break;
                }
                default:{
                    alert("Error. Only numbers and a hyphen are accepted");
                    break;
                }
            }
		    field.focus();
		    field.select();
		    return false;
	    }else{return true;}
    }
}

function validateNumbersPhone(field) {

if (field.value == "") {
     switch (document.forms[0].usr_lang_id.value) 
            {
            case "EN":
                { 
                  alert("Complete the fields please");
                  break;
                }
            case "ES":
                {
                alert("Complete los campos por favor");
                break;
                }
            default:
                {
                alert("Complete the fields please");
                break;
                }
            }

	field.focus();
	field.select();
	return false;
}
else
{
	var valid = "0123456789-/ "
	var ok = true;
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = false;
	}
	if (ok==false) {
		    switch (document.forms[0].usr_lang_id.value) 
            {
            case "EN":
                { 
                  alert("Error. Only numbers and this characters ( - / ) are accepted");
                  break;
                }
            case "ES":
                {
                alert("Error. Solo numeros y estos caracteres ( - / ) son aceptados");
                break;
                }
            default:
                {
                alert("Error. Only numbers and . y , / are accepted");
                break;
                }
            }
		
		field.focus();
		field.select();
		return false;
	}
	else {return true;}
}
}

function validateCombos(field) {

	if (field.value=="0")
        {
        switch (document.forms[0].usr_lang_id.value) 
            {
            case "EN":
                { 
                  alert("Select a valid option please");
                  break;
                }
            case "ES":
                {
                alert("Seleccione una opción válida");
                break;
                }
            default:
                {
                alert("Select a valid option please");
                break;
                }
            }
		field.focus();
		return false;
	}
	else {return true;}
}

function validateMinSizeWhithMsg(field, minSize){
    if (field.value.length < minSize){
        switch (document.forms[0].usr_lang_id.value){
            case "EN":
                {alert("Please complete the field. Thank you");
                 break;}
            case "ES":
                {alert("Por favor complete el campo requerido, Gracias");
                 break;}
            default:
                {alert("Please complete the field. Thank you");
                break;}
        }
        field.focus();
        field.select();
        return false;
    }else{
        return true;
    }
}

function validateMinSize(field, minSize, errMsg){
    if (errMsg == ""){errMsg = "Field required. Please check."}
    if (field.value.length < minSize){
         alert(errMsg);
        field.focus();
        field.select();
        return false;
    }else{
        return true;
    }
}

/*********************************************************************/

function validateMinSizeLog(field, minSize){
	if (field.value.length < minSize){
		alert("Complete the fields please");
		field.focus();
		field.select();
		return false;
	}else{
		return true;
	}
}

/*********************************************************************/

function validateMinSizeEmail(field, minSize){
    if (field.value.length < minSize){
        alert("A From-Email-Address is Required so We Can Respond");
        field.focus();
        field.select();
        return false;
    }else{
        return true;
    }
}

function validateMinSizeEditFAQ(field, minSize)  // ??  UNUSED
        {
            if (field.value.length < minSize)  
                {
                switch (document.forms[0].usr_lang_id.value) 
                    {
                    case "EN":
                        { 
                          alert("Complete the fields please");
                          break;
                        }
                    case "ES":
                        {
                        alert("Complete los campos por favor");
                        break;
                        }
                    default:
                        {
                        alert("Complete the fields please");
                        break;
                        }
                    }
              field.focus();
              field.select();
              return false;
              }
              else
                {
                    return true;
                }
        }
        
function validateCurrency(field) {
if (field.value == "") {
	alert("Complete the fields please");
	field.focus();
	field.select();
	return false;
}
else
{
	var valid = "0123456789.,"
	var ok = true;
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = false;
	}
	if (ok==false) {
		alert("Error. Invalid information");
		field.focus();
		field.select();
		return false;
	}
	else {return true;}
}  

}

function checkFormat(string, usr_lang_id)
    {
		var re =/^[\w][\w\.\- ]{1,12}$/i;   
		if(!re.test(string))
		{	switch (document.forms[0].usr_lang_id.value)
		        {
            case "EN":
                { 
                  alert("The 'FAQ Title' field can only contain letters and numbers.  No spaces or special characters are allowed.");
                  break;
                }
            case "ES":
                {
                alert("El titulo del tema puede contener solo letras y números. Espacios y caracteres especiales no son permitidos");
                break;
                }
            default:
                {
                alert("The 'FAQ Title' field can only contain letters and numbers.  No spaces or special characters are allowed.");
                break;
                }
            }return false;
			
		}
	return true;
    }   

function checkFormatDB(obj)
{
    if (window.RegExp){
        var r2 = '"';
        var msAlert = "', %, "+r2;
	    var reg1str = "(\\')|(\\%)|(\\\")";
	    var reg1 = new RegExp(reg1str);
        if (!reg1.test(obj.value))
        {
	        return true;
        }else{
            switch (document.forms[0].usr_lang_id.value)
            {
            case "EN":
                { 
                  alert("No " + msAlert + " characters are allowed.");
                  break;
                }
            case "ES":
                {
                alert("No se permiten los caracteres " + msAlert);
                break;
                }
            default:
                {
                alert("No " + msAlert + " characters are allowed.");
                break;
                }
	        }
	        return false;
        }
	return false;
    }
}   

function validateCurrencyRequired(field) {
if (field.value == "" || field.value==0)  {
	alert("Complete the fields please");
	field.focus();
	field.select();
	return false;
}
else
{
	var valid = "0123456789.,"
	var ok = true;
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = false;
	}
	if (ok==false) {
		alert("Error. Invalid information");
		field.focus();
		field.select();
		return false;
	}
	else {return true;}
}  

}
function validateQty(field) {

if (field.value == 0) {
	alert("The quantity cannot be 0");
	field.focus();
	field.select();
	return false;
}
else {return true;}

}

function verifyEmail(mailStr)
{
    if (mailStr.value == "" || mailStr.value.indexOf("@") == -1 || mailStr.value.indexOf(".") == -1 || mailStr.value.length<6)
    {
    switch (document.forms[0].usr_lang_id.value) 
        {
        case "EN":
            { 
              alert("Invalid e-mail address");
              break;
            }
        case "ES":
            {
            alert("Dirección de e-mail inválida");
            break;
            }
        default:
            {
            alert("Invalid e-mail address");
            break;
            }
        }
    mailStr.focus(); 
    return false; 
    }else{
    return true;
    }
}

function verifyEmailFAQSubmitQuestion(mailStr)
{
    if (mailStr.value == "" || mailStr.value.indexOf("@") == -1 || mailStr.value.indexOf(".") == -1 || mailStr.value.length<6)
    {
    switch (document.forms[0].usr_lang_id.value) 
        {
        case "EN":
            { 
              alert("Your E-Mail Address Appears to Be Invalid. Please Correct Your Email Address");
              break;
            }
        case "ES":
            {
            alert("Aparementemente su Dirección de Email es Inválida. Por Favor Corrija su Dirección de Email");
            break;
            }
        default:
            {
            alert("Your E-Mail Address Appears to Be Invalid. Please Correct Your Email Address");
            break;
            }
        }
    mailStr.focus(); 
    return false; 
    }else{
    return true;
    }
}

function emailCheck (emailStr){
    var checkTLD=1;
    var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    var atom=validChars + '+';
    var word="(" + atom + "|" + quotedUser + ")";
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null) {
    return false;
    }
    var user=matchArray[1];
    var domain=matchArray[2];
    for (i=0; i<user.length; i++) {
    if (user.charCodeAt(i)>127) {
    return false;
       }
    }
    for (i=0; i<domain.length; i++) {
    if (domain.charCodeAt(i)>127) {
    return false;
       }
    }
    if (user.match(userPat)==null) {
    return false;
    }
    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null) {
    for (var i=1;i<=4;i++) {
    if (IPArray[i]>255) {
    return false;
       }
    }
    return true;
    }
    var atomPat=new RegExp("^" + atom + "$");
    var domArr=domain.split(".");
    var len=domArr.length;
    for (i=0;i<len;i++) {
    if (domArr[i].search(atomPat)==-1) {
    return false;
       }
    }
    if (checkTLD && domArr[domArr.length-1].length!=2 && 
    domArr[domArr.length-1].search(knownDomsPat)==-1) {
    return false;
    }
    if (len<2) {
    return false;
    }
    return true;
}

/*************************************************************************************************/

function validateEmail(field) {
    var regex = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    var address = field.value;
    if (address != "") {
        if (regex.test(address) == false) {
            alert('Please check the email format.');
            field.focus();
            return false;
        }
    } else {
        alert('Please enter your Email Address.');
        field.focus();
        return false;
    }
}

/*************************************************************************************************/

function validateString(field, len, msg) {
    if (field.value.length < len || field.value == null || /^\s+$/.test(field.value)) {
        alert(msg);
        field.focus();
        return false;
    }

    return true;
}

/*************************************************************************************************/

function validateEmailNew(field, msg, allowNull) {
    if (field == undefined) { alert('Sorry, an error occured. Please try refreshing your browser'); }
    if (allowNull == undefined) { allowNull = 'NO'; }
    if (msg == '' || msg == undefined) { msg = 'Invalid email address. Please check it'; }

    if (allowNull == 'NO') {
        if (field.value.length < 1) {
            field.focus();
            alert('Please type the email address');
            return false;
        }
        var regex = /^((?:(?:(?:[a-zA-Z0-9][\.\-\+_]?)*)[a-zA-Z0-9])+)\@((?:(?:(?:[a-zA-Z0-9][\.\-_]?){0,62})[a-zA-Z0-9])+)\.([a-zA-Z0-9]{2,6})$/;
        var address = field.value;
        if (regex.test(address) == false) {
            field.focus();
            alert(msg);
            return false;
        } else {
            return true;
        }
    }
}
