﻿function viewtests(id, url)
{
var temp = document.getElementById(id)
    temp.src=url;
    temp.removeAttribute("alt");
    temp.removeAttribute("title");
    
    temp.setAttribute("alt",alttext);
    temp.setAttribute("title",alttext);
}

// How safe is your car ajax stuff

String.prototype.appendQueryString = function( name, value )
{
	var str = this;
	if( name != null && name != '' && value != '' && value != null )
	{
		if( str.indexOf("?") == -1 )
			str += '?';
		else
			str += '&';			
		str += name + '='+escape(value);		
	}
	return str;
}

function HSIYC_getParameter ( queryString, parameterName, defaultvalue )
{
	// Add "=" to the parameter name (i.e. parameterName=value)
	var parameterName = parameterName + "=";
	if ( queryString.length > 0 )
	{
		// Find the beginning of the string
		begin = queryString.indexOf ( parameterName );
		// If the parameter name is not found, skip it, otherwise return the value
		if ( begin != -1 )
		{
			// Add the length (integer) to the beginning
			begin += parameterName.length;
			// Multiple parameters are separated by the "&" sign
			end = queryString.indexOf ( "&" , begin );
			if ( end == -1 )
				end = queryString.length;
		
			// Return the string
			return unescape ( queryString.substring ( begin, end ) );
		}
	}
	// Return "null" if no parameter has been found
	return defaultvalue;
}

function HSIYC_init()
{

	var qs = "";
	if ( window.top.location.search != 0 )
		qs = window.top.location.search;

    var curclass = HSIYC_getParameter( qs, 'class', '' );
	var curmake = HSIYC_getParameter( qs, 'make', '' );
	var curmodel = HSIYC_getParameter( qs, 'model', '' );
	var curquery = HSIYC_getParameter( qs, 'q', '' );

	// alert( "HSIYC_init" );
	/*var cel = $('hsiyc-model');
	
	// cal.options = [];
	cel.options[0] = new Option( '- All models -', '' );
	
	for( var j=0; j<AssessmentDB.models.length; j++ )
	{	
		cel.options[j+1] = new Option( AssessmentDB.models[j].name, AssessmentDB.models[j].id );
	}
	
	var cei = 0;
	for( var j=0; j<cel.options.length; j++ )
		if( cel.options[j].value == curclass )
			cei = j;			
	cel.selectedIndex = cei;
	
	
		
	HSIYC_changeModel();
	
	
					   
	var mel = $('hsiyc-make');
	var mei = 0;
	for( var j=0; j<mel.options.length; j++ )
		if( mel.options[j].value == curmake )
			mei = j;			
	mel.selectedIndex = mei;
	
	
	var qel = $('hsiyc-query');
	qel.value = curquery;
	*/
	
	var clas = $('hsiyc-class');
	
	clas.options[0] = new Option( '- '+b_allclasses +'-', '' );
	
	for( var j=0; j<AssessmentDB.classes.length; j++ )
	{
	    clas.options[j + 1] = new Option(AssessmentDB.classes[j].name, AssessmentDB.classes[j].id);
	}
	
	var cei = 0;
		
	for( var j=0; j<clas.options.length; j++ )
		if( clas.options[j].value == curclass )
			cei = j;			
	clas.selectedIndex = cei;
	
	
	var make = $('hsiyc-make');
	
	// cal.options = [];
	make.options[0] = new Option( '- '+b_allmakes +' -', '' );
	
	for( var j=0; j<AssessmentDB.makes.length; j++ )
	{
	    make.options[j + 1] = new Option(AssessmentDB.makes[j].name, AssessmentDB.makes[j].id);
	}
	
	var cei = 0;
	for( var j=0; j<make.options.length; j++ )
		if( make.options[j].value == curmodel )
			cei = j;			
	make.selectedIndex = cei;
	
	var cei = 0;
	var model = $('hsiyc-model');
	
	// cal.options = [];
	model.options[0] = new Option( '- '+b_allmodels +' -', '' );
	
	for( var j=0; j<AssessmentDB.models.length; j++ )
	{
	    model.options[j + 1] = new Option(AssessmentDB.models[j].name, AssessmentDB.models[j].id);
	}
	
	var cei = 0;
	for( var j=0; j<model.options.length; j++ )
		if( model.options[j].value == curmake)
			cei = j;			
	model.selectedIndex = cei;
	
	
		
	//HSIYC_changeClass();
	
	
					   
	/*var mod = $('hsiyc-model');
	var mei = 0;
	for( var j=0; j<mod.options.length; j++ )
		if( mod.options[j].value == curmake )
			mei = j;			
	mod.selectedIndex = mei;

	var qel = $('hsiyc-query');
	qel.value = curquery;*/
	
	
	//HSIYC_changeMake();
	
}

function HSIYC_changeModel()
{							  
	/*var cel = $('hsiyc-model');
	var c = cel.options[ cel.selectedIndex ].value;	
	
	var mel = $('hsiyc-make');	
	// var lastsel = mel.selectedIndex;
	var lastsel = '';
	if( mel.selectedIndex >= 0 )
		lastsel = mel.options[ mel.selectedIndex ].value;	
	var selindex = 0;
	
	// alert( "HSIYC_changeClass" );
				
	for( var j=mel.options.length-1; j>=0; j-- )
	{
		mel.options[j] = null;
	}
			  	  
	var ri = 0;
	mel.options[ri] = new Option( '- All makes -', '' ); ri ++;
	 
	for( var j=0; j<AssessmentDB.makes.length; j++ )
	{	
		var hits = 0;
		for( var k=0; k<AssessmentDB.assessments.length; k++ )
		{
			if( AssessmentDB.assessments[k].makeid == AssessmentDB.makes[j].id )
			{
				if( AssessmentDB.assessments[k].classid == c || c == "" )
					hits ++;
			}
		}			
	
		if( hits > 0 )
		{
			mel.options[ri] = new Option( AssessmentDB.makes[j].name, AssessmentDB.makes[j].id );
			if( lastsel == AssessmentDB.makes[j].id )
				selindex = ri;
				
			ri++;
		}
	}
	mel.selectedIndex = selindex;   
					*/	
		
	// update makes
}

function HSIYC_changeClass(){

    var cel = $('hsiyc-class');
	var c = cel.options[ cel.selectedIndex ].value;	
	
	var mel = $('hsiyc-make');	
	// var lastsel = mel.selectedIndex;
	var lastsel = '';
	if( mel.selectedIndex >= 0 )
		lastsel = mel.options[ mel.selectedIndex ].value;	
	var selindex = 0;
	
	// alert( "HSIYC_changeClass" );
				
	for( var j=mel.options.length-1; j>=0; j-- )
	{
		mel.options[j] = null;
	}
			  	  
	var ri = 0;
	mel.options[ri] = new Option( '- '+b_allmakes +' -', '' ); ri++;
	
	for( var j=0; j<AssessmentDB.makes.length; j++ )
	{	
		var hits = 0;
		
		for( var k=0; k<AssessmentDB.assessments.length; k++ )
		{
			if( AssessmentDB.assessments[k].makeid == AssessmentDB.makes[j].id )
			{
				if( AssessmentDB.assessments[k].classid == c || c == "" )
					hits ++;
			}
		}			
	
		if( hits > 0 )
		{
			mel.options[ri] = new Option( AssessmentDB.makes[j].name, AssessmentDB.makes[j].id );
			if( lastsel == AssessmentDB.makes[j].id )
				selindex = ri;
				
			ri++;
		}
	}
	mel.selectedIndex = selindex;
	
    //HSIYC_changeMake();
}

function HSIYC_changeMake()
{
	// alert( "HSIYC_changeMake" );
	
	var make = $('hsiyc-make');
	var selmake = make.options[ make.selectedIndex ].value;	
	
	var cls = $('hsiyc-class');
	var selclass = cls.options[ cls.selectedIndex ].value;
	
	var mod = $('hsiyc-model');	
	
	var lastsel = '';
	if( mod.selectedIndex >= 0 )
		lastsel = mod.options[ mod.selectedIndex ].value;	
	var selindex = 0;
	
	// alert( "HSIYC_changeClass" );
				
	for( var j=mod.options.length-1; j>=0; j-- )
	{
		mod.options[j] = null;
	}
			  	  
	var ri = 0;
	mod.options[ri] = new Option( '- '+b_allmodels +' -', '' ); ri++;
	
	
	for( var j=0; j<AssessmentDB.models.length; j++ )
	{
	    var hits = 0;	
	    
	    for( var k=0; k<AssessmentDB.assessments.length; k++ )
		{
			if( AssessmentDB.assessments[k].modelid == AssessmentDB.models[j].id )
			{
				if( AssessmentDB.assessments[k].makeid == selmake || selmake == "" )
				{
				    if(AssessmentDB.assessments[k].classid == selclass || selclass == "")
				        hits++;
				}
			}
		}			
	
		if( hits > 0 )
		{
			mod.options[ri] = new Option( AssessmentDB.models[j].name, AssessmentDB.models[j].id );
			if( lastsel == AssessmentDB.models[j].id )
				selindex = ri;
				
			ri++;
		}
	}
	
	mod.selectedIndex = selindex;   
					
					
		
	// update makes
	
}

function HSIYC_changeQuery()
{
	// alert( "HSIYC_changeQuery" );
}

function HSIYC_advancedsearch()
{	
    var cls = $('hsiyc-class');	
	var cel = $('hsiyc-model');	 
	var mel = $('hsiyc-make');
	var qel = $('hsiyc-query');
	var c = cel.options[ cel.selectedIndex ].value;	
	var s = cls.options[ cls.selectedIndex ].value;	
	var m = mel.options[ mel.selectedIndex ].value;	
	var q = qel.value;
	
	var u = '';
	u = g_Root+b_advsearch;	
	u = u.appendQueryString( 'class', s );
	u = u.appendQueryString( 'model', c );
	u = u.appendQueryString( 'make', m );
	u = u.appendQueryString( 'q', q );
	location = u;
	//alert( u );
}

				  
function HSIYC_alltests()
{	
	var u = '';
	u = g_Root+b_carsearch;	
	location = u;
	//alert( u );
}


function HSIYC_go()
{
    var cls = $('hsiyc-class');	
	var mel = $('hsiyc-model');	 
	var cel = $('hsiyc-make');
	var qel = $('hsiyc-query');
	var s = cls.options[ cls.selectedIndex ].value;	
	var c = cel.options[ cel.selectedIndex ].value;	
	var m = mel.options[ mel.selectedIndex ].value;	
	var q = qel.value;
	 //alert( "HSIYC_go, c="+c+", m="+m+", q="+q +", class="+s);
	var u = '';
			 
	if(c != "" && m == "" && q == "" )
	{
		// direkt till klasssidan
		for( var k=0; k<AssessmentDB.makes.length; k++ )
		{
			if( AssessmentDB.makes[k].id == c )
			{
			    u = AssessmentDB.makes[k].link;
				if(s != "")
				    u = u.appendQueryString('class', s);
				//u = u.appendQueryString( 'make', c );
		        //u = u.appendQueryString( 'model', m );
		        //u = u.appendQueryString( 'q', q );	
			}
		}
	}
	/*else if(m != "" && c != "" || c == "" && m != "")
	{
	    for( var j=0; j<AssessmentDB.models.length; j++ )
		{
			if( AssessmentDB.models[j].id == m )
			{
				u = AssessmentDB.models[j].link;
				u = u.appendQueryString( 'make', c );
		        u = u.appendQueryString( 'model', m );
		        u = u.appendQueryString( 'q', q );	
			}
		}
	}*/
	else if(m != "" && q == "" )
	{
		for( var j=0; j<AssessmentDB.models.length; j++ )
		{
			if( AssessmentDB.models[j].id == m )
			{
				u = AssessmentDB.models[j].link;
				if(s != "")
				    u = u.appendQueryString('class', s);
				/*u = u.appendQueryString( 'make', c );
		        u = u.appendQueryString( 'model', m );
		        u = u.appendQueryString( 'q', q );*/
			}
		}
	}
	else
	{
		u = g_Root+b_carsearch;	
		u = u.appendQueryString( 'class', s );
		u = u.appendQueryString( 'make', m );
		u = u.appendQueryString( 'model', c );
		u = u.appendQueryString( 'q', q );	
	}
	//alert(u);
	location = u;
	// alert( u );
}

function CAR_key( e ) {
   if( e.keyCode == Event.KEY_RETURN )
	{
		HSIYC_go();
		return false;
	}
	return true;
}
