////////////////////// checkForm ////////////////////////



function checkForm(form){
	var expression
	var ok = 1
	for (var i=0;i<form.elements.length;i++){
	//alert('length' + form.elements.length)
	//alert('i:' + i)
		for (var j=0;j < namesArray.length;j++){
			//alert('i:' + i + ' j:' + j)
			//alert('namesArray[j]: ' + namesArray[j] + ' form.elements[i].name: ' + form.elements[i].name)			
			if (namesArray[j] ==  form.elements[i].name){
				expression = form.elements[i].type
				//alert(namesArray[j])
				switch (expression){
					case 'hidden' :
						ok = checkText(form.elements[i].value, namesArray[j], displayArray[j])
						break;
				   	case 'text' : 
						ok = checkText(form.elements[i].value, namesArray[j], displayArray[j])
						break;
				   	case 'radio' : 
						ok = checkRadio(form.elements[namesArray[j]], namesArray[j], displayArray[j])				
						break;
				   	case 'select-one' : 
						ok = checkSelectOne(form.elements[namesArray[j]], namesArray[j], displayArray[j])				
						break;
				   	case 'checkbox' :
						ok = checkCheckBox(form.elements[i].value, namesArray[j], displayArray[j])								 
						break;
				   	case 'select-multiple' : 
						ok = checkSelectMultiple(form.elements[i], namesArray[j], displayArray[j])								
						break;
				   	case 'textarea' : 
						ok = checkText(form.elements[i].value, namesArray[j], displayArray[j])								
						break; 
				   	case 'password' :
						ok = checkText(form.elements[i].value, namesArray[j], displayArray[j])								 
   						break;		
				   	case 'file' : 
						ok = checkFile(form.elements[i].value, namesArray[j], displayArray[j])								
						break;				    											
					default:
						break;				
				}//switch
				//alert('oka is' + ok)
				if (ok == 0){
					//alert('ok0 is' + ok)
					break
				}	
				//alert('outside switch')
			}//if
				//alert('ok1 is' + ok)
				if (ok == 0){
					//alert('ok2 is' + ok)
					break
				}					
		}//for
		//alert('outside for')
		if (ok == 0){
			//alert('ok1 is' + ok)
			break
		}					
	}//for
	//alert('outside for 2 - ok is:' + ok)
	if (ok == 0){
		//alert('ok2 is' + ok)
		return false
	}else {
		//alert('ok3 is' + ok)	
		return true
	}		
}

////////////////////// checkText ////////////////////////
function checkText(input, name, display){
	var test = 0
	if (input == ''){
		alert('Please fill in the ' + display + ' field')
		test = 0
	}else{
		test = 1
	}
	return test
}

////////////////////// checkRadio ////////////////////////
function checkRadio(input, name, display){

    var checked = 0
	//alert('check radio length ' + input.length)
	
	for (var y=0;y < input.length;y++) {
		//alert('input[y].checked' + input[y].checked)
        if (input[y].checked == 1){
            checked = 1
        }
    }
	if (checked == 0){
		alert('Please make a ' + display + ' selection')
	}	
	return checked
}

////////////////////// checkSelectOne ////////////////////////
function checkSelectOne(input, name, display){
	var checked = 0

    if (input.selectedIndex != 0){
    	checked = 1
    }

	if (checked == 0){
		alert('Please make a ' + display + ' selection')
	}	
	return checked
}

////////////////////// setLocalRadio ////////////////////////
function setLocalRadio(input, val){
	for (var y=0;y < input.length;y++) {
		//alert('input[y].checked' + input[y].checked)
        if (input[y].value == val){
            input[y].checked = true
        }
    }
}

////////////////////// setLocalSelect ////////////////////////
function setLocalSelect(input, val){
	for (var y=0;y < input.length;y++) {
		//alert('input[y].checked' + input[y].checked)
        if (input.options[y].value == val){
            input.options[y].selected = true
        }
    }
}

////////////////////// nullTextObject ////////////////////////
function nullTextObject(input){
	input.value =''
}

function numberCheck(input){
	reg = /\$/ig
	var check
	var str = 	input.value
	newstr=str.replace(reg, '')
	if (isNAN(parseFloat(newstr))){
		alert('Dollar amounts must be numerical')
		check =  false
	}else{
		input.value = newstr
		check =  true
	}
	return check
}
////////////////////// checkRakID ////////////////////////
function checkRakID(id){
		var reg = /^wavigo|^Wavigo|^Raketu|^raketu|^Raketa|^raketa|^Rakety|^rakety|-rk$|-RK$|-rK$|-Rk$|-im$|-IM$|-iM$|-Im$|^wavago|^Wavago|wav$|Wav$/;
	if(reg.test(id)){
	//if ((id.indexOf("wav") > 0) || (id.indexOf("Wav") > 0)){
		alert("RakID cannot start with the reserved string 'Raketu', 'Raketa', or end with 'Wav' or '-rk'")		
		return false
	}
	if(id.length < 6){
		alert('RakID must be 6 or more characters')
		return false
	}
	if (id.indexOf(" ") > 0){
		alert('RakID cannot have spaces')
		return false
	}
	if (id.indexOf("|") > 0){
		alert('RakID has illegal character | ')
		return false
	}
	/*if (id.indexOf("raketu") > 0){
		alert("RakID cannot have the reserved word 'raketu' in it")
		return false
	}*/
	//var reg = new RegExp("/^[a-zA-Z]/")
	var reg = /^[A-Za-z]\w{4,}/;
	if(reg.test(id)){
		return true
	}else{
		alert('RakID must start with a letter')
		return false
	}		
}



////////////////////// checkPassword ////////////////////////
function checkPassword(p1, p2){

	if(p1.length < 6){
		alert('Password must be 6 or more characters')
		return false
	}
	if (p1.indexOf(" ") > 0){
		alert('Password cannot have spaces')
		return false
	}
	if (p1.indexOf("|") > 0){
		alert('Password has illegal character | ')
		return false
	}
	if ((p1 == '') || (p2 =='')){
		alert('Password and Confirming Password cannot be blank')
		return false
	}
	if (p1 != p2 ){
		alert('Password and Confirming Password must be the same')
		return false
	}
	if (is_numeric(p1)){
		alert('Password cannot be all numbers, it must contain at least one letter')
		return false
	}else{
		return true
	}	
}

////////////////////// checkEmail ////////////////////////
function checkEmail(p1, p2){
	if ((p1 == '') || (p2 =='')){
		alert('Email and Confirming Email cannot be blank')
		return false
	}
	if (p1 != p2 ){
		alert('Email and Confirming Email must be the same')
		return false
	}
	if ((p1.indexOf(".") > 0) && (p1.indexOf("@") > 0)){
		return true
	}else{
		alert('Invalid email address')
		return false
	}		
		
}

