function fadeout() {
	$j("#fader").fadeOut(2000);
	setTimeout("fadein()", 4000);
}

function fadein() {
	$j("#fader").fadeIn(2000);
	setTimeout("fadeout()", 8000);
}

$j(document).ready(function() {
	setTimeout("fadeout()", 8000);
});

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function in_array(needle, haystack) {
    var found = false;
	var key;
 
    for (key in haystack) {
        if (haystack[key] == needle) {
            found = true;
            break;
        }
    }
 
    return found;
}

function array_search(needle, haystack) {
    var key = '';
 
    for(key in haystack){
        if(haystack[key] === needle){
            return key;
        }
    }
 
    return false;
}

$j(document).ready(function(){
	//$j("select").sexyCombo();
	
	var selected_gid;
	
	var maker_struct = $j("#maker").html();
	
	var evt = $j.browser.msie ? "click" : "change";
	
	$j("#group").bind(evt, function () {
		if(!$j.browser.mozilla) $j("#maker").html(maker_struct);
		
		//console.log('("#group").change()');
		
		$j("#group option:selected").each(function () {
			var gid = $j(this).val();
			
			selected_gid = gid;
			
			if(gid == '') {
				
				$j("#maker").children().removeClass('hidden');
				
			} else {
				
				var mkval = $j('#maker').val();
				
				$j("#maker").find(".from_db").each(function() {
					var value = trim($j(this).val());
					
					if(!in_array(value, mga[gid])) {
						$j(this).addClass('hidden');
						
						if(!$j.browser.mozilla) $j(this).remove();
						
						if(value == mkval) {
							$j('#maker').val(''); // Reset maker.
						}
						
					} else {
						$j(this).removeClass('hidden');
					}
				});
				
			}
			
		});
		
		$j("#maker").change().click();
	}).change().click();
	
	$j("#model_input").autocomplete();
	
	$j("#maker").bind(evt, function () {
		var maker = trim($j(this).val());
		
		var key = array_search(maker, mma_keys);
		
		//console.log(key);
		
		if(selected_gid == '') {
			
			var data = mma[key];
			
		} else {
			var data = [];
			
			var i;
			var n = 0;
			for(i in mma[key]) {
				//console.log(selected_gid+' == '+mma_gid[key][i]);
				if(selected_gid == mma_gid[key][i]) {
					data[n] = mma[key][i];
					n++;
				}
			}
		}
		
		//console.log(data);
		
		if(typeof(data) == "undefined") {
			$j("#model_input").flushCache();
		} else {
			$j("#model_input").setOptions({data: data});
		}
	}).change().click();
	
});