function TestFileType(fileName) 
{
	//alert(fileName.value);
	fileName=fileName.value;
	//fileName='gigi.exe';
    fileName=fileName.toLowerCase();
	//alert(fileName);
    if(fileName==""){
		res=true;
		return res;
	//window.alert("Sunt in true");
    }else{
		res=null;
    }
    var fileTypes= new Array(5);
	fileTypes[0]='.zip';
	fileTypes[1]='.zip';
	
    if ((!fileName) || (fileName=="")) return;
    
    dots = fileName.split(".")    
    fileType = "." + dots[dots.length-1]; 
    rez=-1;
    n=1;
    for (i=0;i<=n;i++) {    
	if(!res){
	    res=fileType.match(fileTypes[i]);    	    
	}else{
	    
	}    
	
    }
    
    return res;
	
}


function getElement(name) {
	var element;
	
	if (document.getElementById) {
		element = document.getElementById(name);	
	} else if (document.all) {
		element = document.all[name];                           
	} else if (document.layers)   {
		element = document.layers[name]; 
	}
	
	return element;
}

function LTrim(str) {
	if (str==null){return str;}
	for (var i=0; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i++);
	return str.substring(i,str.length);
}
function RTrim(str) {
	if (str==null){return str;}
	for (var i=str.length-1; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i--);
	return str.substring(0,i+1);
}
function Trim(str) {
	return LTrim(RTrim(str));
}

function isDigit(num) {
	if (num.length>1){return false;}
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
}

function check_field(field) {
	var str = Trim(field.value);
		
	if (str == "") {
		return true;
	} else {		
		return false;
	}
}

function check_field_value(field, value) {
	var str = Trim(field.value);
	
	if (str != value) {
		return true;
	} else {		
		return false;
	}
}

function check_field_size(field, size) {
	var str = Trim(field.value);
	
	if (str.length < size) {
		return true;
	} else {		
		return false;
	}
}

function check_version(field) {
	var str = Trim(field.value);
	
	var count = 0;
	
	for(i=0; i<str.length; i++) {
		if (isDigit(str.charAt(i))) {
			count++;
		}
	}
	
	if (count < 4) {
		return true;
	} else {
		return false;
	}
}

function check_email(field) {
	var str = Trim(field.value);
	
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return !filter.test(str);
}

function check_form() {	
	var error = false;
	var error_msg = "";
	
	var valueList = new Array("kbfaq", "ohs");
	var normalList = new Array("login_type", "resolution", "os", "sp", "cputype", "cpuspeed", "ram",
							   "browser", "network", "fname", "lname", "features[]", "rights[]");
							
	var i = 0;
	for (i=0; i<valueList.length; i++) {
		var element = getElement(valueList[i] + "txt");
		
		if (check_field_value(getElement(valueList[i]), "yes")) {
			error = true;			
			element.className = "error";
		} else {
			element.className = "ok";
		}
	}
	
	for (i=0; i<normalList.length; i++) {
		var element = getElement(normalList[i] + "txt");
		
		if (check_field(getElement(normalList[i]))) {
			error = true;
			element.className = "error";
		} else {
			element.className = "ok";
		}
	}
		
	var element = getElement("descriptiontxt");		
	if (check_field_size(document.forms.supporticket.description, 20)) {
		error = true;
		element.className = "error";
	} else {
		element.className = "ok";
	}		
	
	var element = getElement("versiontxt");		
	if (check_version(getElement("version"))) {
		error = true;
		element.className = "error";
	} else {
		element.className = "ok";
	}
	
	var element = getElement("emailtxt");		
	if (check_email(getElement("email"))) {
		error = true;
		element.className = "error";
	} else {
		element.className = "ok";
	}
	var element = getElement("ticket_filetxt");
	//var el=getElement("ticket_file");
	//alert(el);
	//If("1"=="1"){
	    if (!TestFileType(getElement("ticket_file"))) {
    		    //alert('HeRE');
		    error = true;
		    element.className = "error";						
	    } else {
		element.className = "ok";
	    }    	
	//}else{
	//    element.className = "ok";
	//}
	

	if (error) {
		alert ("You did not complete all required fields. The incomplete sections are marked RED.");
	}
	
	return !error;
}

