var qsLangUser = "&user=" + currUser + "&lang=" + currLang;

/* constructors */
function ProjectType( path, title, title_es ){
	this.path = path;
	this.title = title;
	this.title_es = title_es;
	ProjectType[ this.name ] = this;
	ProjectType.all[ ProjectType.all.length ] = this;
}
ProjectType.all = new Array();

function ProjectSubType( parent, path, title, title_es ){
	this.parent = parent;
	this.path = path;
	this.title = title;
	this.title_es = title_es;
	ProjectSubType[ this.name ] = this;
	ProjectSubType.all[ ProjectSubType.all.length ] = this;
}
ProjectSubType.all = new Array();


/* product finder */
function switchFinder( what ){
	Thing.all.proj.hide();
	Thing.all.ansi.hide();
	Thing.all.care.hide();
	Thing.all[ what ].show();
}

function writeProjectTypes(){
	var options = '';
	var title = '';
	for( var i=0; i < ProjectType.all.length; i++ ){
		title = ( currLang=="es" ) ? ProjectType.all[i].title_es: ProjectType.all[i].title;
		options += '<option value="' + ProjectType.all[i].path + '">' + title + '</option>';
	}
	document.write( options );
}

function writeProjectSubTypes( what ){
	var pf = document.forms.productFinder;
	var pt = pf.projectTypes;
	var pst = pf.projectSubTypes;
	if( what == "" ){	//reset project sub types
		pst.disabled = true;
		pst.options[0] = new Option( TXT_PROJECT_SUBTYPES, "projectSubTypes" );
		return;
	}
	for( var j=pst.options.length; j >= 0; j-- ){	//clear existing options
		pst.disabled = true;
		pst.options[j] = null;
	}
	var counter = 0;
	var title = '';
	for( var i=0; i < ProjectSubType.all.length; i++ ){		//make new options
		title = ( currLang == "es" ) ? ProjectSubType.all[i].title_es: ProjectSubType.all[i].title;
		if( ProjectSubType.all[i].parent == what ){
			pst.options[counter] = new Option( title, ProjectSubType.all[i].path );
			pst.disabled = false;
			counter ++;
		}
		if( pst.options.length == 0 ){
			pst.disable = true;
			pst.options[0] = new Option( TXT_CLICK_GO, "" );
		}
	}
}

function findProducts(){
	var frm = document.forms.productFinder;
	var finder = frm.finder;
	var loc = "/ProductCatalog/Results.aspx";
	var txt = "";
	for( var i=0; i<finder.length; i++ ){
		if( finder[i].checked ){ loc += "?searchBy=" + finder[i].value; }
		if( finder[i].checked && finder[i].value == "proj" ){	//by project type
			if( frm.projectTypes.selectedIndex > 0 ){
				loc += "&type=" + frm.projectTypes.options[frm.projectTypes.selectedIndex].value + "&subtype=" + frm.projectSubTypes.options[frm.projectSubTypes.selectedIndex].value + getProjectSearchTxt(frm) + qsLangUser;
			location.href=loc;
			}
			else{
				alert( TXT_SELECT_PROJECT_TYPE );
				return false;
			}
		}
		if( finder[i].checked && finder[i].value == "ansi" ){	//by ansi
			if( frm.ansiNumbers.selectedIndex > 0 ){
				loc += "&val=" + frm.ansiNumbers.options[frm.ansiNumbers.selectedIndex].value + getAnsiSearchTxt(frm) + qsLangUser;
				location.href=loc;
			}
			else{
				alert( TXT_SELECT_ANSI_NUM );
				return false;
			}
		}
		if( finder[i].checked && finder[i].value == "care" ){	//by care
			loc = "/ProductCatalog/TileCareWizard.aspx?" + qsLangUser;
			location.href=loc;
		}
	}
}

function getProjectSearchTxt( frm ){
	var s = "&text=";
	s += frm.projectTypes.options[frm.projectTypes.selectedIndex].innerHTML;
	s += ( frm.projectSubTypes.options[frm.projectSubTypes.selectedIndex].value=="" ) ? "" : ", " + frm.projectSubTypes.options[frm.projectSubTypes.selectedIndex].innerHTML;
	return s;
}

function getAnsiSearchTxt( frm ){
	var s = "&text=" + TXT_ANSI_SPEC_STD + " ";
	s += frm.ansiNumbers.options[frm.ansiNumbers.selectedIndex].innerHTML;
	return s;
}

/* project wizard */
function makeSubTypeOptions( what ){
	var pw = document.forms.projectWizard;
	var pt = pw.projectTypes;
	var pst = pw.projectSubTypes;
	for( var j=pst.options.length; j >= 0; j-- ){	//clear existing options
		pst.options[j] = null;
	}
	var counter = 0;
	var title = '';
	for( var i=0; i < ProjectSubType.all.length; i++ ){		//make new options
		title = ( currLang == "es" ) ? ProjectSubType.all[i].title_es: ProjectSubType.all[i].title;
		if( ProjectSubType.all[i].parent == what ){
			pst.options[counter] = new Option( title, ProjectSubType.all[i].path );
			counter ++;
		}
		if( pst.options.length == 0 ){
			pst.options[0] = new Option( TXT_CLICK_GO, "" );
			pst.options[0].selected = true;
		}
		pst.options[0].selected = true;
	}
}

function goToProject( frm ){
	var pt = frm.projectTypes;
	var pst = frm.projectSubTypes;
	var ptIsSelected = false;
	for( var i=0; i < pt.options.length; i++ ){
		if( frm.projectTypes.options[i].selected ) ptIsSelected = true;
	}
	var pstIsSelected = false;
	for( var j=0; j < pst.options.length; j++ ){
		if( frm.projectSubTypes.options[j].selected ) pstIsSelected = true;
	}
	if( ptIsSelected && pstIsSelected ){
		var loc = frm.projectTypes.options[frm.projectTypes.selectedIndex].value + '/' + frm.projectSubTypes.options[frm.projectSubTypes.selectedIndex].value;
		location.href = loc + '?' + qsLangUser;
	}
	else{
		alert( TXT_SELECT_PROJECT_TYPE );
	}
	return false;
}

/* tile care wizard */
function resetAllTileCareRadios(){
	if( location.href.indexOf( "CustomAdmin" ) == -1 ){
		var surface = document.forms.tileCareWizard.surface_types;
		var task = document.forms.tileCareWizard.task_types;
		for( var i=0; i<surface.length; i++ ){
			surface[i].checked = false;
		}
		for( var j=0; j<task.length; j++ ){
			task[j].disabled = true;
			task[j].checked = false;
		}
	}
}

function setTileCareRadios( what ){
	var frm = document.forms.tileCareWizard;
	var surface = frm.surface_types;
	var task = frm.task_types;
	for( var i = 0; i<task.length; i++ ) task[i].disabled = false; //set all tasks to active

	//surface data arrays
	var task_types_array = new Array( 'task_protect', 'task_apply_finish', 'task_clean', 'task_heavyduty_clean', 'task_rem_grout_haze', 'task_remove_stains', 'task_remove_etching', 'task_rem_deposits', 'task_restore_stone', 'task_recolor_grout' );
	var surface_agglomerate_cement = 	new Array( 1, 0, 1, 1, 1, 1, 1, 1, 1, 0 );
	var surface_agglomerate_epoxy = 	new Array( 1, 0, 1, 1, 1, 1, 1, 1, 0, 0 );
	var surface_brick = 				new Array( 1, 1, 1, 1, 1, 1, 0, 1, 0, 0 );
	var surface_ceramic_smooth = 		new Array( 0, 0, 1, 1, 1, 0, 0, 1, 0, 0 );
	var surface_ceramic_textured = 		new Array( 1, 1, 1, 1, 1, 0, 0, 1, 0, 0 );
	var surface_concrete_tile = 		new Array( 1, 1, 1, 1, 1, 1, 0, 1, 0, 0 );
	var surface_granite_polished = 		new Array( 1, 0, 1, 1, 1, 1, 0, 1, 0, 1 );
	var surface_granite_honed = 		new Array( 1, 1, 1, 1, 1, 1, 0, 1, 0, 0 );
	var surface_grout = 				new Array( 1, 0, 1, 1, 1, 1, 0, 1, 0, 1 );
	var surface_limestone_polished = 	new Array( 1, 0, 1, 1, 1, 1, 1, 1, 1, 0 );
	var surface_limestone_honed = 		new Array( 1, 0, 1, 1, 1, 1, 0, 1, 1, 0 );
	var surface_marble_polished = 		new Array( 1, 0, 1, 1, 1, 1, 1, 1, 1, 0 );
	var surface_marble_honed = 			new Array( 1, 0, 1, 1, 1, 1, 0, 1, 1, 0 );
	var surface_porcelain_polished = 	new Array( 1, 0, 1, 1, 1, 0, 0, 1, 0, 1 );
	var surface_porcelain_textured = 	new Array( 1, 1, 1, 1, 1, 0, 0, 1, 0, 0 );
	var surface_saltillo_terracotta = 	new Array( 1, 1, 1, 1, 1, 1, 0, 1, 0, 0 );
	var surface_sandstone = 		new Array( 1, 1, 1, 1, 1, 1, 0, 1, 0, 0 );
	var surface_slate = 				new Array( 1, 1, 1, 1, 1, 1, 0, 1, 0, 0 );
	var surface_terrazzo_cement = 		new Array( 1, 0, 1, 1, 1, 1, 1, 1, 1, 0 );
	var surface_terrazzo_epoxy = 		new Array( 0, 0, 1, 1, 1, 1, 0, 1, 0, 0 );
	var surface_travertine_polished = 	new Array( 1, 0, 1, 1, 1, 1, 1, 1, 1, 0 );
	var surface_travertine_honed = 		new Array( 1, 0, 1, 1, 1, 1, 0, 1, 1, 0 );
	
	//set care radios per surface data
	for( var j = 0; j<task_types_array.length; j++ ){
		if( eval(what)[j] == 0 ){
			eval("frm."+task_types_array[j]).disabled = true;
			eval("frm."+task_types_array[j]).checked = false;
		}
	}
}

function submitTileCareWizard(){
	var loc = "/ProductCatalog/TileCareWizardResults.aspx?searchBy=care";
	var surface = document.forms.tileCareWizard.surface_types;
	var task = document.forms.tileCareWizard.task_types;
	var surfaceChecked = false;
	var taskChecked = false;

	for( var i=0; i<surface.length; i++ ){
		if( surface[i].checked ){
			loc += "&surface_types=" + surface[i].value + "&text=" + document.getElementById("lbl_"+surface[i].value).innerHTML;
			surfaceChecked = true;
		}
	}
	if( !surfaceChecked ){
		alert( TXT_SELECT_SURFACE );
		return false;
	}
	for( var j=0; j<task.length; j++ ){
		if( task[j].checked ){
			loc += ":" + document.getElementById("lbl_"+task[j].value).innerHTML + "&task_types=" + task[j].value;
			taskChecked = true;
		}
	}
	if( !taskChecked ){
		alert( TXT_SELECT_TASK );
		return false;
	}
	var goURL = loc + qsLangUser;
	location.href = goURL;
	return false;
}
