/////////////////////////////////////////////////////////////////////////////////
function check_form(form, fields) {
	var wrong = false; 
	
	for (var i = 0; i < fields.length; i++) {
		
		if (form[fields[i]].value == '') {
		
			form[fields[i]].style.border = "1px solid #f00";
			wrong = true;			
		} else {
		
			form[fields[i]].style.border = "1px solid #999999";
			
		}
	}
	
	if (wrong) alert('Заполнены не все необходимые поля');
	
	return !wrong;  
}



/*
 *	2009-04-16 Вязовский А.В
 *	функция, которая реализует примитивную валидность цены предложенной за квартиру
 *
 *	2009-10-12
 *	    допустимый дипазон цены:: 3% отклонения от предложенной цены
 *
 */
function checkPrice(form,fields,price,fprice){
	var ret;
	if (Number(form.price.value) != form.price.value){
		form.price.value	= "";
	}
	ret	= check_form(form, fields);
	if (ret){
		if (Number(form.price.value) >= price){
			alert("Цена предложения не имеет смысла. Вы можете обратиться в Компанию и приобрести квартиру по текущей цене (" + fprice + " руб.)");
			form.price.value	= price;
			ret					= false;
		}else if (Number(form.price.value) < price*0.97){
			alert("Цена, предложенная Вами, слишком низкая и не может быть принята к рассмотрению.");
			form.price.value	= price;
			ret					= false;
		}
	}
	return ret;
}


/////////////////////////////////////////////////////////
function change_visible(id) {
  document.getElementById(id).style.visibility == 'hidden' ? document.getElementById(id).style.visibility = "visible" : document.getElementById(id).style.visibility = "hidden";
}

/////////////////////////////////////////////////////////
function change_display(id) {
  document.getElementById(id).style.display == 'none' ? document.getElementById(id).style.display = "" : document.getElementById(id).style.display = "none";
}


/////////////////////////////////////////////////////////
function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}



/////////////////////////////////////////////////////////////////////
// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

/////////////////////////////////////////////////////////////////////
// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}


////////////////////////////////////////////   AJAX   /////////////////////////////////////////////
function ajax_load_flats(id_house, id_flat) {
		/*
		 *	2009-04-14 Вязовский А.В
		 *		модификация функции на предмет добавить всегда пустой элемент и позиционировать на выбранной квартире
		 *
		 */
    	document.getElementById("select_flat").length = 0;
    	
    	if (id_house) {
        	var y  = document.createElement('option');
        	y.text = "...";
			y.value = "";
        	
        	try  		 	{ document.getElementById("select_flat").add(y, null);    }
        	catch(ex)  		{ document.getElementById("select_flat").add(y);  } // IE only	
    
    	
        	JsHttpRequest.query(
              '/ajax/load_flats.php', 
              {
                'id_house': id_house  
              },
        
              function(result, errors) {
        		//document.getElementById("select_flat").length = 0;
        		
        		for (i = 0; i < result['flats'].length; i++) {
                	var y  = document.createElement('option');
                	y.text = result['flats'][i]['number'];
                	y.value = result['flats'][i]['id_flat'];
                	
                	try  		 	{ document.getElementById("select_flat").add(y, null);    }
                	catch(ex)  		{ document.getElementById("select_flat").add(y);  } // IE only	
                	if (id_flat == result['flats'][i]['id_flat']){
                		document.getElementById("select_flat").selectedIndex = i;
						document.getElementById("select_flat").options[document.getElementById("select_flat").length - 1].selected = true;
					}else{
						document.getElementById("select_flat").options[document.getElementById("select_flat").length - 1].selected = false;
					}
	       		}
              }
            );
        }
        return true;
    }

