var s = '';

function onCategoryKeyPress(e) {
	var code;

	if (!e) {
		var e = window.event;
	}

	if (e.keyCode) {
		code = e.keyCode;
	} else if (e.which) {
		code = e.which;
	}

	processCategoryKeyCode(code);
}

function processCategoryKeyCode(code) {
	if (code == 13) {
		submitForm('advanced_search');
	}
}

function onManufacturerKeyPress(e) {
	var code;

	if (!e) {
		var e = window.event;
	}

	if (e.keyCode) {
		code = e.keyCode;
	} else if (e.which) {
		code = e.which;
	}

	processManufacturerKeyCode(code);

	return false;
}

function processManufacturerKeyCode(code) {
	if (code == 13) {
		submitForm('advanced_search');
	} else {
		s += String.fromCharCode(code);
		selectElement('as_manufacturers_id');
	}
}

function onTopManufacturerKeyPress(e) {
	var code;

	if (!e) {
		var e = window.event;
	}

	if (e.keyCode) {
		code = e.keyCode;
	} else if (e.which) {
		code = e.which;
	}

	processTopManufacturerKeyCode(code);

	return false;
}

function processTopManufacturerKeyCode(code) {
	if (code == 13) {
		submitForm('advanced_search');
	} else {
		s += String.fromCharCode(code);
		selectElement('as_manufacturers_id');
	}
}

function selectElement(elementId) {
	selectOptions = document.getElementById(elementId).options;

	var isFound = false;
	if ((s.toUpperCase().indexOf('HP') == 0) && (!isFound)) {
		hpIndex = getOptionIndex(selectOptions, 'Hewlett');
		if (hpIndex >= 0) {
			selectOptions[hpIndex].selected = true;
			isFound = true;
		}
	}

	for (var i = 0; i < selectOptions.length; i++) {
		if ((selectOptions[i].text.toUpperCase().indexOf(s.toUpperCase()) == 0) && (!isFound)) {
			selectOptions[i].selected = true;
			isFound = true;
		} else {
			selectOptions[i].selected = false;
		}
	}
}

function getOptionIndex(selectOptions, optionText) {
	for (var i = 0; i < selectOptions.length; i++) {
		if (selectOptions[i].text.toUpperCase().indexOf(optionText.toUpperCase()) == 0) {
			return i;
		}
	}

	return -1;
}

function submitForm(formId) {
	document.getElementById(formId).submit();
}

function clearSearchString() {
	s = '';
}

function submitSelect(select){
    if (select.value != -1) {
      select.form.submit();
    }
}
/*
function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}
onkeyup="limitTextArea(this,350,0);" onkeydown="limitTextArea(this,350,0);" onblur="limitTextArea(this,350,0);" onfocus="limitTextArea(this,350,0);"
*/
function limitTextArea(what,limitNum,counter) {

	if (what.value.length > limitNum) {
		what.value=what.value.substring(0,limitNum);
	}
	if (counter == '' || counter == 0) {
	   counter = what.name + '_cnt';
	}
	var c = document.getElementById(counter);
	c.innerHTML = limitNum - what.value.length;
}

function onInputFocus(objInput, txtDefault) {
	if(objInput.value == txtDefault) { objInput.value = ''; objInput.style.color='#000000'; }
}

function onInputBlur(objInput, txtDefault) {
	if(objInput.value.replace(/^\s+$/g, '').length == 0){ objInput.value = txtDefault; objInput.style.color='#888888';}
}

function onSelectClick() {
	var ctgId = document.getElementById('as_categories_id'); 
	var mnfId = document.getElementById('as_manufacturers_id'); 
	
	if (ctgId != null && mnfId !=null) {
		if (ctgId.value != "" && ctgId.value !="-1" && mnfId.value != "" && mnfId.value !="-1") {
			//window.location = 'advanced_search.php?manufacturers_id='+mnfId.value +'&categories_id='+ctgId.value;
			
			var xmlHttp = getXMLHttp();
			xmlHttp.onreadystatechange = function()
			{
				if(xmlHttp.readyState == 4)
				{
					DisplayResponse(xmlHttp.responseText);
				}
			}
			
			xmlHttp.open("GET", "advanced_search_ajax.php?categories_id="+ctgId.value+"&manufacturers_id="+mnfId.value, true); 
			xmlHttp.send(null);
		}
		else {
			if ((ctgId.value == "" || ctgId.value !="-1") && mnfId.value != "" && mnfId.value !="-1" ) {
				alert(errSelectCategory);
			}
		
			if ((mnfId.value == "" || mnfId.value !="-1") && ctgId.value != "" && ctgId.value !="-1" ) {
				alert(errSelectManufacturer);
			}
		
			document.getElementById('brands').style.display='block';
			document.getElementById('main_page_text').style.display='block';
			document.getElementById('devices_list').style.display='none';		
		}		
	}
}

function getXMLHttp() {
	var xmlHttp

	try
	{
		//Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		//Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
				alert("Your browser does not support AJAX!")
				return false;
			}
		}
	}
	return xmlHttp;
}
	
function DisplayResponse(response)	{
	document.getElementById('devices_list').innerHTML = response;	
	if (response !='')
	{
		if (document.getElementById('brands'))	{ document.getElementById('brands').style.display='none'; }
		if (document.getElementById('main_page_text'))	{ document.getElementById('main_page_text').style.display='none'; };
		document.getElementById('devices_list').style.display='block';
	}
	else
	{
		if (document.getElementById('brands'))	{ document.getElementById('brands').style.display='block'; }
		if (document.getElementById('main_page_text'))	{ document.getElementById('main_page_text').style.display='block'; };
		document.getElementById('devices_list').style.display='none';
	}
}	
	
function onSearchClick(txtDefault) {
	var txtInput = document.getElementById('txtInputSearch');
	if (txtInput != null) { 
		if (txtInput.value != txtDefault) {
			var form = document.getElementById('mainPageQuickSearch');
			if (form !=null) { form.submit(); }
		}
	}
}
