//<![CDATA[
function $WB(ident){
	return document.getElementById(ident);
}

/*
// AJAX object.
var ajaxRequest = createXmlHttpRequestObject();

// Return XMLHttpRequest object.
function createXmlHttpRequestObject() {
	// Object to handle XMLHttpRequest.
  	var ajaxRequest;

  	try { // Mozilla, Safari, Opera ...
		ajaxRequest = new XMLHttpRequest();
    }
    catch (e) {
    	try {
    		ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
    	}
    	catch (e) {
    		try { // IE
    			ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    		catch (e) {
				ajaxRequest = false;
    		}
    	}
	}

  	// Return result.
  	if (!ajaxRequest) {
		alert("AJAX is not supported by your browser");
    	return  false;
    }
  	else
    	return ajaxRequest;
}
*/
function bulbAjaxv2(actionMethod, parameters, functionResponse, formButton, resend) {
	// Make request
  	if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == 0) {
		// Lock send button.
		if (formButton != null) {
			// Value of formButton object.
			var formButton = document.getElementById(formButton);
			formButton.disabled = true;
		}

		// Make arguments list to send.
		var toSend = '';
		for (var i = 0; i < parameters.length; i++) {
			var parameter = document.getElementById(parameters[i]);
			toSend = toSend + parameters[i] + '=' + encodeURIComponent(parameter.value) + '&';
		}

  		// Execute requerst.
        ajaxRequest.open('GET', '/bulb_search_new.php?ajax=true&action=' + actionMethod + '&' + toSend + new Date().getTime(), true);

        // Set method to response.
        ajaxRequest.onreadystatechange = functionResponse;

        // Send data to server.
        ajaxRequest.send(null);
  	}
  	else if(resend == 1){
    	// Repeate request.
    	setTimeout('ajaxRequest(' + parameters + ', ' + functionResponse + ', ' + formButton + ')', 3000);
    }
}
/*
function ajaxResponseMethod(formButton) {
  	// If transaction is completed.
  	if (ajaxRequest.readyState == 4) {
    	// If transaction is completed successful.
    	if (ajaxRequest.status == 200) {
			// Unlock send button.
			if (formButton != null) {
				// Value of formButton object.
				var formButton = document.getElementById(formButton);
				formButton.disabled = false;
			}

			// Return response.
      		return trim(ajaxRequest.responseText);
    	}
    	// If transaction is completed failed.
    	else {
		  	alert("AJAX request faild: " + ajaxRequest.statusText);
    	}
  	}
}

function trim(str, chars) {
    if(typeof(str) != "undefined") return ltrim(rtrim(str, chars), chars);
    else return str;
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    if(typeof(str) != "undefined") return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
    else return str;
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    if(typeof(str) != "undefined") return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
    else return str;
}
*/

//////////////////////
//                  //
//  BULB functions  //
//                  //
//////////////////////


// Get model by car id
function getBulbv2_ModelByCar(that){
	var bMS = $WB('bulbManufacturerSelect');
	var bM = $WB('bulbManufacturer');
	var bModelS = $WB('bulbModelSelect');	
	var bModel = $WB('bulbModel');
	var bVS = $WB('bulbVersionSelect');
	var bV = $WB('bulbVersion');
	var bYS = $WB('bulbYearSelect');
	var bY = $WB('bulbYear');
	
	var bYS_row = $WB('bulbYearSelect_row');
	
	var i = 1;
	bModelS.selectedIndex = 0;
	bVS.selectedIndex = 0;
	bYS.selectedIndex = 0;
	for(i=bModelS.options.length;i>0;i--){bModelS.remove(i);}
	for(i=bVS.options.length;i>0;i--){bVS.remove(i);}
	for(i=bYS.options.length;i>0;i--){bYS.remove(i);}
	
	if(bMS.selectedIndex == 0){
		bM.value = 0;
		bModel.value = 0;
		bV.value = 0;
		bY.value = 0;
		bYS_row.style.display='none';
		return false;
	}
	
	bM.value = 0;
	bModel.value = 0;
	bV.value = 0;
	bY.value = 0;
	
	bModelS.disabled = true;
	bM.value = bMS.options[bMS.selectedIndex].value;
	
	bYS_row.style.display='none';
	
	var parameters = new Array('bulbManufacturer');
	bulbAjaxv2('getBulb_ModelByCar', parameters, getBulbv2_ModelByCar_response, 'bulbManufacturerSelect', 1);
}
// Get model by car id - ajax response method
function getBulbv2_ModelByCar_response(){
	var response = ajaxResponseMethod('bulbManufacturerSelect');
	if(typeof(response)!="undefined" && response != null){
		var bModelS = $WB('bulbModelSelect');
		response = response.split('::');

		if(response[0] && response[0] == '1'){
			var response_length = response.length;
			for( var i = 0; i < response_length; i++){
				var row_values = response[i].split('^^');
				
				if(row_values[0] && row_values[1]){
					// add data to select box
					bModelS.options[i] = new Option( row_values[1], row_values[0] );
				}else{
					// error getting data
					continue;
				}
			}
			bModelS.disabled = false;
		}else if(response[0] && response[0] == '-2'){
			// main error
			bModelS.disabled = false;
		}else if(response[0] && response[0] == '-1'){
			// no data for manufacturer/model/engine(year)
			bModelS.disabled = false;
		}else{
			// other
		}
	}
}

// Get Year (engine) by model id
function getBulbv2_EngineByModel(that){
	var bModelS = $WB('bulbModelSelect');	
	var bModel = $WB('bulbModel');
	var bVS = $WB('bulbVersionSelect');
	var bV = $WB('bulbVersion');
	var bYS = $WB('bulbYearSelect');
	var bY = $WB('bulbYear');
	
	var bYS_row = $WB('bulbYearSelect_row');
	
	var i = 1;
	bVS.selectedIndex = 0;
	bYS.selectedIndex = 0;
	for(i=bVS.options.length;i>0;i--){bVS.remove(i);}
	for(i=bYS.options.length;i>0;i--){bYS.remove(i);}
	
	if(bModelS.selectedIndex == 0){
		bModel.value = 0;
		bV.value = 0;
		bY.value = 0;
		bYS_row.style.display='none';
		return false;
	}
	
	bModel.value = 0;
	bV.value = 0;
	bY.value = 0;
	
	bVS.disabled = true;
	bModel.value = bModelS.options[bModelS.selectedIndex].value;
	
	bYS_row.style.display='none';
	
	var parameters = new Array('bulbModel');
	bulbAjaxv2('getBulb_EngineByModel', parameters, getBulbv2_EngineByModel_response, 'bulbModelSelect', 1);
}
// Get Year (engine) by model id - ajax response method
function getBulbv2_EngineByModel_response(){
	var response = ajaxResponseMethod('bulbModelSelect');
	if(typeof(response)!="undefined" && response != null){
		var bVS = $WB('bulbVersionSelect');	
		response = response.split('::');

		if(response[0] && response[0] == '1'){
			var response_length = response.length;
			for( var i = 0; i < response_length; i++){
				var row_values = response[i].split('^^');
				
				if(row_values[0] && row_values[1]){
					// add data to select box
					bVS.options[i] = new Option( row_values[1], row_values[0] );
				}else{
					// error getting data
					continue;
				}
			}
			bVS.disabled = false;
		}else if(response[0] && response[0] == '-2'){
			// main error
			bVS.disabled = false;
		}else if(response[0] && response[0] == '-1'){
			// no data for manufacturer/model/engine(year)
			bVS.disabled = false;
		}else{
			// other
		}
	}

}

function getBulbv2_CheckVersion(that){
	var bModelS = $WB('bulbModelSelect');	
	var bModel = $WB('bulbModel');
	var bVS = $WB('bulbVersionSelect');
	var bV = $WB('bulbVersion');
	var bYS = $WB('bulbYearSelect');
	var bY = $WB('bulbYear');
	
	var bYS_row = $WB('bulbYearSelect_row');
	
	var i = 1;
	bYS.selectedIndex = 0;
	for(i=bYS.options.length;i>0;i--){bYS.remove(i);}
	
	if(bVS.selectedIndex == 0){
		bV.value = 0;
		bY.value = 0;
		bYS_row.style.display='none';
		return false;
	}
	
	bV.value = 0;
	bY.value = 0;
	
	bV.value = bVS.options[bVS.selectedIndex].value;
	
	bYS_row.style.display='none';
	
	var parameters = new Array('bulbVersion');
	bulbAjaxv2('getBulb_CheckVersion', parameters, getBulbv2_CheckVersion_response, 'bulbVersionSelect', 1);
}
// Get Year (engine) by model id - ajax response method
function getBulbv2_CheckVersion_response(){
	var response = ajaxResponseMethod('bulbVersionSelect');
	if(typeof(response)!="undefined" && response != null){
		var bYS_row = $WB('bulbYearSelect_row');
		var bY = $WB('bulbYear');
		response = response.split('::');

		if(response[0] && response[0] == '1'){ // s± roczniki do wy¶wietlenia
			var bYS = $WB('bulbYearSelect');	
			var response_length = response.length;
			for( var i = 0; i < response_length; i++){
				var row_values = response[i].split('^^');
				
				if(row_values[0] && row_values[1]){
					// add data to select box
					bYS.options[i] = new Option( row_values[1], row_values[0] );
				}else{
					// error getting data
					continue;
				}
			}
			bYS.disabled = false;
			bYS_row.style.display='';
		}else if(response[0] && response[0] == '3'){ // nie ma nic do wy¶wietlenia -> umo¿liw wyszukiwanie
			var bES = $WB('bulbEnableSearch');
			bES.value = 1;
			bY.value = -1;
		}else if(response[0] && response[0] == '-2'){
			// main error
			bYS_row.style.display='none';
			bY.value = 0;
		}else if(response[0] && response[0] == '-1'){
			// no data for manufacturer/model/engine(year)
			bYS_row.style.display='none';
			bY.value = 0;
		}else{
			// other
		}
	}
}

function getBulbv2_EnableSearch(that){
	var bYS = $WB('bulbYearSelect');	
	var bY = $WB('bulbYear');
	bY.value = bYS.options[bYS.selectedIndex].value;
}


// Validate search form
function getBulbv2_CheckForm(variant){
	var bM = $WB('bulbManufacturer');
	var bModel = $WB('bulbModel');
	var bV = $WB('bulbVersion');
	var bY = $WB('bulbYear');
	var msg = 'Venligst udfyld alle nødvendige felter:';
	var error_count = 0;

	if(bM.value <= 0){
		error_count += 1;
		msg += '\r\n- Bil mærke';
	}
	if(bModel.value <= 0){
		error_count += 1;
		msg += '\r\n- Bil model';
	}
	if(bV.value <= 0){
		error_count += 1;
		msg += '\r\n- Bil version';
	}
	
	if(bY.value == 0){
		error_count += 1;
		msg += '\r\n- Bil year';
	}

	if(error_count > 0){
		alert(msg);
		return false;
	}else{
		if(typeof(variant) == "undefined"){
			var urlToOpen = '/wbApp/bulbApp.php?ma='+bM.value+'&mo='+bModel.value+'&v='+bV.value+'&yr='+bY.value;
			wb_open(urlToOpen, 'bulbSearch');
		}
		return true;
	}
		
}



///////////////////////
//                   //
//  WIPER functions  //
//                   //
///////////////////////


// Get model by car id
function getWiper_ModelByCar(that){
	var bMS = $WB('wiperManufacturerSelect');
	var bM = $WB('wiperManufacturer');
	var bModelS = $WB('wiperModelSelect');	
	var bModel = $WB('wiperModel');
	var bYS = $WB('wiperYearSelect');
	var bY = $WB('wiperYear');
	
	var i = 1;
	bModelS.selectedIndex = 0;
	bYS.selectedIndex = 0;
	for(i=bModelS.options.length;i>0;i--){bModelS.remove(i);}
	for(i=bYS.options.length;i>0;i--){bYS.remove(i);}
	
	if(bMS.selectedIndex == 0){
		bM.value = 0;
		bModel.value = 0;
		bY.value = 0;
		return false;
	}
	
	bM.value = 0;
	bModel.value = 0;
	bY.value = 0;
	
	bModelS.disabled = true;
	bM.value = bMS.options[bMS.selectedIndex].value;
	
	var parameters = new Array('wiperManufacturer');
	bulbAjaxv2('getWiper_ModelByCar', parameters, getWiper_ModelByCar_response, 'wiperManufacturerSelect', 1);
}
// Get model by car id - ajax response method
function getWiper_ModelByCar_response(){
	var response = ajaxResponseMethod('wiperManufacturerSelect');
	if(typeof(response)!="undefined" && response != null){
		response = response.split('::');
		var bModelS = $WB('wiperModelSelect');

		if(response[0] && response[0] == '1'){
			var response_length = response.length;
			for( var i = 0; i < response_length; i++){
				var row_values = response[i].split('^^');
				
				if(row_values[0] && row_values[1]){
					// add data to select box
					bModelS.options[i] = new Option( row_values[1], row_values[0] );
				}else{
					// error getting data
					continue;
				}
			}
			bModelS.disabled = false;
		}else if(response[0] && response[0] == '-2'){
			// main error
			bModelS.disabled = false;
		}else if(response[0] && response[0] == '-1'){
			// no data for manufacturer/model/engine(year)
			bModelS.disabled = false;
		}else{
			// other
		}
	}
}

// Get Year (engine) by model id
function getWiper_EngineByModel(that){
	var bModelS = $WB('wiperModelSelect');	
	var bModel = $WB('wiperModel');
	var bYS = $WB('wiperYearSelect');
	var bY = $WB('wiperYear');
	
	var i = 1;
	bYS.selectedIndex = 0;
	for(i=bYS.options.length;i>0;i--){bYS.remove(i);}
	
	if(bModelS.selectedIndex == 0){
		bModel.value = 0;
		bY.value = 0;
		return false;
	}
	
	bModel.value = 0;
	bY.value = 0;
	
	bYS.disabled = true;
	bModel.value = bModelS.options[bModelS.selectedIndex].value;
	
	var parameters = new Array('wiperModel');
	bulbAjaxv2('getWiper_EngineByModel', parameters, getWiper_EngineByModel_response, 'wiperModelSelect', 1);
}
// Get Year (engine) by model id - ajax response method
function getWiper_EngineByModel_response(){
	var response = ajaxResponseMethod('wiperModelSelect');
	
	if(typeof(response)!="undefined" && response != null){
		response = response.split('::');
		var bYS = $WB('wiperYearSelect');

		if(response[0] && response[0] == '1'){
			var response_length = response.length;
			for( var i = 0; i < response_length; i++){
				var row_values = response[i].split('^^');
				
				if(row_values[0] && row_values[1]){
					// add data to select box
					bYS.options[i] = new Option( row_values[1], row_values[0] );
				}else{
					// error getting data
					continue;
				}
			}
			bYS.disabled = false;
		}else if(response[0] && response[0] == '-2'){
			// main error
			bYS.disabled = false;
		}else if(response[0] && response[0] == '-1'){
			// no data for manufacturer/model/engine(year)
			bYS.disabled = false;
		}else{
			// other
		}
	}

}

function getWiper_EnableSearch(that){
	var bYS = $WB('wiperYearSelect');	
	var bY = $WB('wiperYear');
	bY.value = bYS.options[bYS.selectedIndex].value;
}


// Validate search form
function getWiper_CheckForm(variant){
	var bM = $WB('wiperManufacturer');
	var bModel = $WB('wiperModel');
	var bY = $WB('wiperYear');
	var msg = 'Venligst udfyld alle nødvendige felter:';
	var error_count = 0;

	if(bM.value <= 0){
		error_count += 1;
		msg += '\r\n- Bil mærke';
	}
	if(bModel.value <= 0){
		error_count += 1;
		msg += '\r\n- Bil model';
	}
	if(bY.value <= 0){
		error_count += 1;
		msg += '\r\n- Bil motor';
	}

	if(error_count > 0){
		alert(msg);
		return false;
	}else{
		if(typeof(variant) == "undefined"){
			var urlToOpen = '/wbApp/wiperApp.php?marka='+bM.value+'&model='+bModel.value+'&rocznik='+bY.value;
			wb_open(urlToOpen, 'wiperSearch');
		}
		return true;
	}
		
}



function wb_open(wUrl, wName){
	var wWidth = 1024;
	var wHeight = 768;
	if(typeof(window.outerHeight) != "undefined" && typeof(window.outerWidth) != "undefined"){
		wWidth = window.outerWidth;
		wHeight = window.outerHeight;
	}else if(typeof(screen.availHeight) != "undefined" && typeof(screen.availWidth) != "undefined"){
		wWidth = screen.availWidth;
		wHeight = screen.availHeight;
	}
	var parameters = 'height='+wHeight+',width='+wWidth+',resizable=yes,scrollbars=yes,location=yes,menubar=yes,status=yes,titlebar=yes,toolbar=yes,top=0,left=0';
	var wNew = window.open(wUrl, wName, parameters);
	wNew.focus();
}

