function stars(total){
	for(x = 1; x <= 10; x+=2) {
		if(x < total){
			document.write("<img src='\./images\\star_filled.gif'>");
		}else if(x == total){
			document.write("<img src='\./images\\star_half.gif'>");
		}else{
			document.write("<img src='\./images\\star_hollow.gif'>");
		}
	}
}

function numbers(total){
	for(x = 0;  x <= 10; x++){
		if(x == total){
			document.write("<option selected>" + x.toString() + "</option>");
		}else{
			document.write("<option>" + x.toString() + "</option>");
		}
	}
}

function isNumber(a){
  return typeof a == 'number' && isFinite(a);
 }

function starslide(div_id, input_id, total){
	var strIT = "";
	var intValue = Math.max(0, Math.min(10, total));
	
	for(x = 1; x <= 10; x+=2) {
		if(x < intValue){
			strIT += "<img src='\./images\\star_filled.gif'>";
		}else if(x == intValue){
			strIT += "<img src='\./images\\star_half.gif'>";
		}else{
			strIT += "<img src='\./images\\star_hollow.gif'>";
		}
	}
	
	document.all(input_id).value = intValue;
	document.all(div_id).innerHTML = strIT;
}

function IsValid(x){
	if(x != "" && x != undefined && x != "NaN")
		return true;
	return false;
}

function createRequestObject() {
  
  FORM_DATA = new Object();
    // The Object ("Array") where our data will be stored.
  
  separator = ',';
    // The token used to separate data from multi-select inputs
  
  query = '' + this.location;
  
  query = query.substring(0, query.indexOf('#'));
    // Get the current URL so we can parse out the data.
    // Adding a null-string '' forces an implicit type cast
    // from property to string, for NS2 compatibility.
    
  query = query.substring((query.indexOf('?')) + 1);
    // Keep everything after the question mark '?'.
  
  if (query.length < 1) { return false; }  // Perhaps we got some bad data?
  
  keypairs = new Object();
  numKP = 1;
    // Local vars used to store and keep track of name/value pairs
    // as we parse them back into a usable form.
    
  while (query.indexOf('&') > -1) {
    keypairs[numKP] = query.substring(0,query.indexOf('&'));
    query = query.substring((query.indexOf('&')) + 1);
    numKP++;
      // Split the query string at each '&', storing the left-hand side
      // of the split in a new keypairs[] holder, and chopping the query
      // so that it gets the value of the right-hand string.
  }

  keypairs[numKP] = query;
    // Store what's left in the query string as the final keypairs[] data.
  
  for (i in keypairs) {
    keyName = keypairs[i].substring(0,keypairs[i].indexOf('='));
      // Left of '=' is name.
    keyValue = keypairs[i].substring((keypairs[i].indexOf('=')) + 1);
      // Right of '=' is value.
    while (keyValue.indexOf('+') > -1) {
      keyValue = keyValue.substring(0,keyValue.indexOf('+')) + ' ' + keyValue.substring(keyValue.indexOf('+') + 1);
        // Replace each '+' in data string with a space.
    }
    
    keyValue = unescape(keyValue);
      // Unescape non-alphanumerics
      
    if (FORM_DATA[keyName]) {
      FORM_DATA[keyName] = FORM_DATA[keyName] + separator + keyValue;
        // Object already exists, it is probably a multi-select input,
        // and we need to generate a separator-delimited string
        // by appending to what we already have stored.
    } else {
      FORM_DATA[keyName] = keyValue;
        // Normal case: name gets value.
    }
  }

  return FORM_DATA;
}

FORM_DATA = createRequestObject();