function DoAjax(url) {
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);	
	
	xhr_object.open("GET", '/_ajax/'+url, false);
	xhr_object.send(null);	

	if(xhr_object.readyState == 4){
		var res = xhr_object.responseText;
		//alert(res);
		return res;
	}
	else
		return "<div class=\"red_box\">This Operation cannot be performed for the moment</div>";
}

function GetId(id) {
	if(document.getElementById) // standardised method first
		return document.getElementById(id);
	else if(document.all)
		return document.all[id];
	else if(document.layers)
		return document.layers[id];
	else
		return null;
}


function Search(form_id){
	var err = 0;
	var keyword = GetId('k'+form_id).value;

	if(form_id == 'a') { // Advanced Form	
		for(i=1;i<=2;i++) {
			if(GetId('p'+i).value != '' && isNaN(GetId('p'+i).value)) {
				GetId('p'+i+'_box').className = 'error';
				GetId('p'+i+'_box').innerHTML = 'Price must be a numeric value or an empty value';
				GetId('p'+i).className = 'error';						   
				err++;		   
			}
			else {
				GetId('p'+i+'_box').className = '';
				GetId('p'+i+'_box').innerHTML = '';
				GetId('p'+i).className = '';						
			}
		}
		
		if(err == 0) {
			if(	GetId('p1').value != '' && GetId('p2').value != '') {
				if(GetId('p1').value > GetId('p2').value) {
					GetId('p1_box').className = 'error';
					GetId('p1').innerHTML = 'Min Price cannot be superior than max price!';
					GetId('p1').className = 'error';
					err++;
				}
				else {
					GetId('p1_box').className = '';
					GetId('p1_box').innerHTML = '';
					GetId('p1').className = '';						
				}
				if(GetId('p2').value < GetId('p1').value) {
					GetId('p2_box').className = 'error';
					GetId('p2_box').innerHTML = 'Max Price cannot be lower than min price!';
					GetId('p2').className = 'error';
					err++;
				}
				else {
					GetId('p2_box').className = '';
					GetId('p2').innerHTML = '';
					GetId('p2').className = '';						
				}				
			}
		}
	}
	else if(form_id == 's'){
		if (keyword == ""){
			GetId('k'+form_id+'_box').className = 'error';
			GetId('k'+form_id+'_box').innerHTML = 'Please insert a keyword';
			GetId('k'+form_id).className = 'error';
			err++;
		}
	}
	if(err == 0) {
		if(form_id == 'a')
			GetId(form_id+'_search_form').submit();
		else {
			var res = DoAjax('keyword.php?keyword='+keyword);
			document.location.href = '/search/';
		}
	}
}

function searchViaEnter(evt){
	evt = (evt) ? evt : event;
    var target = (evt.target) ? evt.target : evt.srcElement;
    var charCode = (evt.charCode) ? evt.charCode :
        ((evt.which) ? evt.which : evt.keyCode);
    if (charCode == 13)
		Search('s');
}