//BROWSER DETECTION
var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;

function DetectBrowser(){ //Detectarea browserului folosit
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}
var bw=new DetectBrowser();

//BUTS
function imgBut(but, img){
	but.src = img;
}


//Reset Form
function resetForm(formName){
	if(ns6) form = eval("document.getElementById('"+formName+"')");
	else if(ns4) form = eval("document."+formName);
	else form = eval("document.all."+formName);
	form.reset();
}



function focus2(field){
	if(field.value == 0) field.value = '';
}	


function blur2(field){
	if(field.value == '') field.value = '0';
}	


function fieldValue(field_name){
	if(ns6) field = eval("document.getElementById('"+field_name+"')");
	else if(ns4) field = eval("document."+field_name);
	else field = eval("document.all."+field_name);
	return field.value;
}

function setFieldValue(field_name, val){
	if(ns6) field = eval("document.getElementById('"+field_name+"')");
	else if(ns4) field = eval("document."+field_name);
	else field = eval("document.all."+field_name);
	return field.value;
	field.value = val;
}

function writeIn(field_name, val){
	if(ns6) field = eval("document.getElementById('"+field_name+"')");
	else if(ns4) field = eval("document."+field_name);
	else field = eval("document.all."+field_name);
	field.innerHTML = val;
}



function formatNR(nr, dec)
{
str = "" + Math.round(eval(nr) * Math.pow(10,dec));
while(str.length < dec)
	str = "0" + str;
decidx = str.length - dec;
tmp = str.substring(0,decidx);
if(tmp == '')
	tmp = '0';
if(dec > 0)
	tmp = tmp + '.' + str.substring(decidx, str.length);
return(tmp);
}



function getkey(e)
{
if (window.event)
   return window.event.keyCode;
else if (e)
   return e.which;
else
   return null;
}


function goodchars(e, goods)
{
var key, keychar;
key = getkey(e);
if (key == null) return true;

// get character
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();
goods = goods.toLowerCase();

// check goodkeys
if (goods.indexOf(keychar) != -1)
	return true;

// control keys
if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
   return true;

// else return false
return false;
}



function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

function getSelectedCheckbox(buttonGroup) {
   // Go through all the check boxes. return an array of all the ones
   // that are selected (their position numbers). if no boxes were checked,
   // returned array will be empty (length will be zero)
   var retArr = new Array();
   var lastElement = 0;
   if (buttonGroup[0]) { // if the button group is an array (one check box is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            retArr.length = lastElement;
            retArr[lastElement] = i;
            lastElement++;
         }
      }
   } else { // There is only one check box (it's not an array)
      if (buttonGroup.checked) { // if the one check box is checked
         retArr.length = lastElement;
         retArr[lastElement] = 0; // return zero as the only array value
      }
   }
   return retArr;
} // Ends the "getSelectedCheckbox" function

function getSelectedCheckboxValue(buttonGroup) {
   // return an array of values selected in the check box group. if no boxes
   // were checked, returned array will be empty (length will be zero)
   var retArr = new Array(); // set up empty array for the return values
   var selectedItems = getSelectedCheckbox(buttonGroup);
   if (selectedItems.length != 0) { // if there was something selected
      retArr.length = selectedItems.length;
      for (var i=0; i<selectedItems.length; i++) {
         if (buttonGroup[selectedItems[i]]) { // Make sure it's an array
            retArr[i] = buttonGroup[selectedItems[i]].value;
         } else { // It's not an array (there's just one check box and it's selected)
            retArr[i] = buttonGroup.value;// return that value
         }
      }
   }
   return retArr;
} // Ends the "getSelectedCheckBoxValue" function
  

//Email Validation
function emailValid(email)
{
  var result = false
  var theStr = new String(email)
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function formSubmit(form, act){
	document.forms[form].action = act;
	document.forms[form].submit();
}



function fieldOb(field_name){
	if(ns6) field = eval("document.getElementById('"+field_name+"')");
	else if(ns4) field = eval("document."+field_name);
	else field = eval("document.all."+field_name);
	return field;
}

function changeRowColor(row, color){
	rOb = fieldOb(row);
	rOb.bgColor = color;  
}




//Just Validates a field without (alert & focus)
function JustValidateField(elem){
	if((elem.value == '')||(elem.value == 0))	return(false);
	else if(name.indexOf('email') != -1){
			 	if(!emailValid(elem.value)){
   	 				return(false);
				}
	}
	return(true);
}



//Login Form Check
function checkLogin(form){
   	if(form.login_user.value == '')	{
    		alert('Insert Username');
    		form.login_user.focus();
   	 	return(false);
   	}
   	if(form.login_pass.value == '')	{
    		alert('Insert Password');
    		form.login_pass.focus();
   	 	return(false);
   	}
	return(true);
}

//Super Login Form Check
function checkSuperLogin(form){
   	if(form.super_name.value == '')	{
    		alert('Insert Username');
    		form.super_name.focus();
   	 	return(false);
   	}
   	if(form.super_pass.value == '')	{
    		alert('Insert Password');
    		form.super_pass.focus();
   	 	return(false);
   	}
	return(true);
}

//Search Form Check
function checkSearch(form){
   /*
   if((form.price_search.value == '') && (form.bedrooms_search.value == '') && (form.bathrooms_search.value == '') )	{
    		alert('Please specify at least one search criterea!');
    		form.price_search.focus();
   	 	return(false);
   	}
	*/
	return(true);
}


function checkFormPass(form){
   	if(form.pass_veche.value == '')	{
    		alert('Enter current password!');
    		form.pass_veche.focus();
   	 	return(false);
   	}
	
   	if(form.pass_noua_1.value == '')	{
    		alert('Enter new password!');
    		form.pass_noua_1.focus();
   	 	return(false);
   	}
	
   	if(form.pass_noua_2.value == '')	{
    		alert('Reenter new password!');
    		form.pass_noua_2.focus();
   	 	return(false);
   	}
	
   	if(form.pass_noua_1.value != form.pass_noua_2.value)	{
    		alert('Error! You have reentered a different new password!');
    		form.pass_noua_1.focus();
   	 	return(false);
   	}

	return(true);
}

var allowed_file_types = '';
var err_msg = 'Warning: File type not allowed...';

function ValidateFile(form, file_var){
	fis = eval('form.' + file_var);
	fis = fis.value.toLowerCase();
	fis_parts = fis.split('.');
	if(fis_parts.length == 1) ext = '';
						 else ext = fis_parts[fis_parts.length - 1];

	if(fis == ''){
		alert('Warning: No file specified...');
		return false;
	}else if(ext == ''){
		alert(err_msg);
		return false;
	}else{
		valid = false;
		allowed_file_types2 = allowed_file_types.toLowerCase();
		allowed_file_types2 = allowed_file_types2.split(',');
		for(i=0; i<allowed_file_types2.length; i++){
			if(ext == allowed_file_types2[i]) valid = true;
		}
		if(!valid) alert(err_msg);
		return valid;
	}

	return true;
}


function GotoPage(pag, GET){
	if(ns6) form = eval("document.getElementById('formSearch')");
	else if(ns4) form = eval("document.formSearch");
	else form = eval("document.all.formSearch");
	form.action = PHP_SELF + "?"+GET+"&pag="+pag;
	form.submit();
}


function enables(eid)
{	
	if(document.getElementById(eid).style.display == "none")
	{			
		document.getElementById(eid).style.display = "";
	}
	else
	{   
		document.getElementById(eid).style.display="none";
	}
}


function enable(eid) {	
	if(eid)	
	  document.getElementById(eid).style.display = "";
}


function setTextsOrder(nr){
	if(nr == document.forms.frm.order.value){
		if(document.forms.frm.sort.value == 1) document.forms.frm.sort.value = 2;
			else document.forms.frm.sort.value = 1;
	}else document.forms.frm.order.value = nr;
	document.forms.frm.submit();
}

function orderListing(nr){
	order = MM_findObj('order'); sort = MM_findObj('sort');	
	if (order.value == nr) sort.value = 3 - sort.value; else order.value = nr;
	x = MM_findObj('change_occured'); x.value = 1;
	document.forms.frm.submit();
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function submitForm(frm){
	document.forms[frm].change_occured.value = 1;
	document.forms[frm].submit();
}


function NewSearch(form){
	document.forms[form].step.value = 1;
	document.forms[form].submit();
}


function changeDivColor(row_nr, bgcolor){
	ob = MM_findObj('row' + row_nr);
	ob.className = 'bgcolor' + bgcolor;
}

function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}

function CountryChanged(country){
  	// hide the rest
  	nodes = document.forms['frm'].elements;
	for (i = 0; i < nodes.length; i++)
	if (nodes[i].name.substr(0, 7) == 'region_')
		nodes[i].className = 'hide';
	if (country == '') country = 0;

  	obj = MM_findObj('region_'+country);
	obj.className = '';
	var county = obj.value; 		 
	
	RegionChanged(county);
}

function RegionChanged(region){
  	// hide the rest
  	nodes = document.forms['frm'].elements;
	for (i = 0; i < nodes.length; i++)
	if (nodes[i].name.substr(0, 7) == 'county_')
		nodes[i].className = 'hide';

 	obj = MM_findObj('county_'+region);
	if (typeof(obj) != 'undefined')
		 obj.className = '';
	else {
		obj = MM_findObj('region_0');
		obj.className = '';
	}
}

function AllYearCheck(){
	obj = MM_findObj('all_year');
	if (obj == null) return;
	checked = obj.checked;

	obj = MM_findObj('open_from');
	obj.disabled = checked;
	obj = MM_findObj('open_to');
	obj.disabled = checked;
}

