function popup(link,winname,width,height)
{
	var shiftX = (screen.availWidth - width)/2;
  var href;
  if (typeof(link) == 'string')
     href=link;
  else
     href=link.href;
  window.open(href,winname,'top=0,left='+shiftX+',toolbar=0,location=0,scrollbars=1,directories=0,fullscreen=0,status=0,menubar=0,resizable=1,width='+width+',height='+height);
  return false;
}

function getErrorTexts(error, language) {
  switch (language) {
    case "hu":
      switch (error) {
        case "fillall": alert("Kérjük, minden mezőt legyen szíves kitölteni."); break;
      	case "phoneshort": alert("Kérjük, ellenőrizze a telefonszám helyességét, mivel rövidebb, mint 6 karakter."); break;
        case "phoneillegal": alert("Kérjük, ellenőrizze a telefonszám helyességét. A telefonszámban csak szám, pluszjel, kötőjel és szóköz szerepelhet speciális karakterként."); break;
        case "emailillegal": alert("Kérjük, ellenőrizze az e-mailcím helyességét."); break;
        case "noapproval": alert("Ajánlat csak bepipált hozzájárulással kérhető."); break;
        default: break;
      }
      break;
    case "en":
      switch (error) {
        case "fillall": alert("Please, fill every field."); break;
      	case "phoneshort": alert("Please, verify the phone number, because it is shorter than 6 characters."); break;
        case "phoneillegal": alert("Please, verify the phone number. It can contain only +, - and space as special character."); break;
        case "emailillegal": alert("Please, verify the e-mail address."); break;
        case "noapproval": alert("Request can be processed only with accepted approval."); break;
        default: break;
      }
      break;
    default: break;
  }
}

function redirectMe (sel) {  
    var url = sel[sel.selectedIndex].value;
    window.location = url;
}

function field_error(val, error_text) {
		alert(error_text);
		val.focus();
		return false;
}

function empty_search_fields() {
	document.search_form.flat_size_min.value = '';
	document.search_form.flat_size_max.value = '';
	document.search_form.rooms_min.value = '';
	document.search_form.balcony_size_min.value = '';
	document.search_form.sort.value = 'areaBrutto';
	document.search_form.order.value = '1';
	document.search_form.floor.value = 'all';
	document.search_form.project.value = 'all';	
	saveSelections(document.search_form);
}

function check_search_fields() {
	field = document.search_form.flat_size_min;
	if (isNaN(field.value)) return field_error(field, "A lakásméret mező csak számot tartalmazhat!");
	field = document.search_form.flat_size_max;
	if (isNaN(field.value)) return field_error(field, "A lakásméret mező csak számot tartalmazhat!");
	field = document.search_form.rooms_min;
	if (isNaN(field.value)) return field_error(field, "A lakások száma mező csak számot tartalmazhat!");
	field = document.search_form.balcony_size_min;
	if (isNaN(field.value)) return field_error(field, "Az erkényméret mező csak számot tartalmazhat!");
	return true;
}

function saveSelections(frm) {
		var setvalue;
		var fieldType;
		var index;
		var formname = frm.name;

		// Expire cookie in 999 days.
		var today = new Date();
		var exp   = new Date(today.getTime()+999*24*60*60*1000);

		var string = "formname=" + formname + "|";
		var cookieName = formname;

		//alert(exp);
		//alert(formname);

		var n = frm.length;
		for (i = 0; i < n; i++)

		{
			e 	    = frm[i].name;
			fieldValue  = frm[i].value;
			fieldType   = frm[i].type;

			//alert(e);
			//alert(fieldType);
			//alert(fieldValue);

			//
			// RADIO BUTTON
			//
			if (fieldType == "radio") {
			//alert(frm.elements[e].length);
				for (x=0; x < frm.elements[e].length; x++) {
					if (frm.elements[e][x].checked)
					{
					index = x
					}
				}
			string = string + index + "\|";
			}

			//
			// TEXT, TEXTAREA, and DROPDOWN
			//
			if ((fieldType == "text") ||
			    (fieldType == "textarea") ||
			    (fieldType == "select-one"))
			{
		    	string = string + frm.elements[e].value + "\|";
		    	//alert("text");
			}

			//
			// CHECKBOX
			//
			if (fieldType == "checkbox")
			{
				if (frm.elements[e].checked==true) {
					var setvalue = "1";
					}
				if (frm.elements[e].checked==false) {
					var setvalue = "0";
					}
			string = string + setvalue + "\|";
			//alert("checkbox");
			}

			//
			// HIDDEN field
			//
			if (fieldType == "hidden")
			{
		    	string = string + frm.elements[e].value + "\|";
		    	//alert("text");
			}
		}

//alert(string);
setCookie(cookieName, string, exp); }

function loadSelections(frm) {
var e;
var z;
var x;
var cookieName;
var fieldArray;
var fieldValues;
var fieldValue;

var formname = frm.name;

// Retrieve form elements from cookie and split into array.

cookieName  = formname;
fieldValues = getCookie(cookieName);
fieldArray  = fieldValues.split("\|");

//alert(fieldArray);

		var n = frm.length;
		for (i = 0; i < n; i++) {
			e = frm[i].name;
			z = i;
			z++;
			var fieldType  = frm[i].type;
			var fieldValue = fieldArray[z];

			//
			// TEXT, TEXTAREA, and DROPDOWN
			//
			if ((fieldType == "text") ||
			    (fieldType == "textarea") ||
			    (fieldType == "select-one"))
			{
		    	frm.elements[e].value = fieldValue;
		    	//alert(e);
		    	//alert(fieldValue);
			}

			// CHECKBOX
			//
			if (fieldType == "checkbox")
			{
				fld_checkbox = fieldValue;
				if (fld_checkbox == "1") {
					frm.elements[e].checked = true;
				}
			}

			// RADIO BUTTON
			//
			if (fieldType == "radio") {
				x = fieldValue;
				//alert(x);
				frm.elements[e][x].checked = true;
			}

			//
			// HIDDEN field
			//
			if (fieldType == "hidden")
			{
		    	frm.elements[e].value = fieldValue;
		    	}
		}
}

function setCookie(name, value, expires, path, domain, secure) {
document.cookie= name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}

function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else {
begin += 2;
}
var end = document.cookie.indexOf(";", begin);
if (end == -1) {
end = dc.length;
}
return unescape(dc.substring(begin + prefix.length, end));
}

function set_page(pagenumber) {
	document.search_form.page.value = pagenumber;
	saveSelections(document.search_form);
	document.search_form.submit();
	//return true;
}

function set_search_order(column,order) {
	// not every column will work!
	document.search_form.sort.value = column;
	document.search_form.order.value = order;
//	document.search_form.search.value = 'keresés';
	saveSelections(document.search_form);
	document.search_form.submit();
	return true;
}

function getStyleObject(objectId) {
    if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
	return document.layers[objectId];
    } else {
	return false;
    }
}

function show_flat( imgname ) {
  var styleObject = getStyleObject("search_flat_preview");
  styleObject.visibility = "visible";
  document.flat_preview_img.src = imgname;
	return true;
}

function hide_flat() {
  var styleObject = getStyleObject("search_flat_preview");
  styleObject.visibility = "hidden";
  document.flat_preview_img.src = "images/loading.gif";
	return true;
}

function show_projectselectpopup() {
  var styleObject = getStyleObject("projectselectpopup");
  styleObject.visibility = "visible";
	return true;
}

function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function hide_projectselectpopup() {
  var styleObject = getStyleObject("projectselectpopup");
  styleObject.visibility = "hidden";
	return true;
}

function showInfoBox(e, txt) {
  var styleObject = getStyleObject("infobox");
  var htmlObject = document.getElementById("infobox");
//  var imgObject = htmlObject.getElementById("mapicon");
	var isIE = document.all;
	var mouseX = 0;
	var mouseY = 0;

  if (!e) e = window.event;
	mouseX = isIE ? (e.clientX + document.body.scrollLeft) : e.pageX;
	mouseY = isIE ? (e.clientY + document.body.scrollTop) : e.pageY;

  htmlObject.innerHTML = txt;
  styleObject.top = 16+mouseY+"px";
  styleObject.left = 16+mouseX+"px";
  styleObject.visibility = "visible";
	return true;
}

function showPreview(e, imagename, imagetitle) {
  var styleObject = getStyleObject("search_flat_preview");
  var htmlObject = document.getElementById("search_flat_preview");
	var isIE = document.all;
	var mouseX = 0;
	var mouseY = 0;
  var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth - 16;
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight);

  if (!e) e = window.event;
	mouseX = isIE ? (e.clientX + document.body.scrollLeft) : e.pageX;
	mouseY = isIE ? (e.clientY + document.body.scrollTop) : e.pageY;

  htmlObject.innerHTML = "<h3>"+imagetitle+"</h3><img src="+imagename+">";
  styleObject.width = 344;
  styleObject.Height = 344;

  xcoord = 16;
  ycoord = 16;
 
	if (docwidth - e.pageX < styleObject.width + 2*16){
		xcoord = e.pageX - xcoord - styleObject.width;
	} else {
		xcoord += e.pageX;
	}
	if (docheight - e.pageY < styleObject.Height + 2*16){
		ycoord += e.pageY - Math.max(0,(2*16 + styleObject.Height + e.pageY - docheight - truebody().scrollTop));
	} else {
		ycoord += e.pageY;
	}

  styleObject.top = ycoord+"px";
  styleObject.left = xcoord+"px";
  styleObject.visibility = "visible";
	return true;
}

function hideInfoBox() {
  var styleObject = getStyleObject("infobox");
  styleObject.visibility = "hidden";
	return true;
}

function hidePreview() {
  var styleObject = getStyleObject("search_flat_preview");
  styleObject.visibility = "hidden";
	return true;
}

function fill_request(intext, insubject) {
	document.requestform.reqmessage.value = intext;
	document.requestform.subject.value = insubject;
}

function checkRequest(form, language) {
	var error = "";
  //alert(language);
  //alert(form.name);
    
	if ( (form.reqmessage.value=="") ||
       (form.reqname.value=="") ||
       (form.reqemail.value=="") ||
       (form.reqtel.value=="")
       ) {
    getErrorTexts("fillall", language);
		return false;
	}

	if (form.reqtel.value.length < 6) {
    getErrorTexts("phoneshort", language);
		return false;
	}

	var stripped = form.reqtel.value.replace(/[\-\+\ ]/g, '');
  
  if ((form.reqtel.value.length > 0) && (isNaN(parseInt(stripped)))) {
     getErrorTexts("phoneillegal", language);
		 return false;
  }

  var emailFilter= /^.+@.+\..{2,3}$/
  if (!(emailFilter.test(form.reqemail.value))) { 
    getErrorTexts("emailillegal", language);
    return false;
  }
  else {
     var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
     if (form.reqemail.value.match(illegalChars)) {
       getErrorTexts("emailillegal", language);
       return false;
     }
  }

	if (form.reqapp.checked==false) {
		getErrorTexts("noapproval", language);
		return false;
	}

	//form.submit();
	return true;
}  
