/**
 * Javascript code based prototype 1.5.1
 *
 * Author : Peter Wilcsinszky
 *
 */


/**
 * http://jehiah.cz/archive/prototype-powered-popup-script
 */
var CommonPopup = Class.create();

CommonPopup.prototype =
{

	initialize: function(options)
	{

    	this.options =
    	{
			url: '#',
			width: 600,
			height: 500,
			name: "_blank",
			location: "no",
			menubar: "no",
			toolbar: "no",
			status: "yes",
			scrollbars: "yes",
			resizable: "yes",
			left: 200,
			top: 200,
			normal: false
		};

		Object.extend(this.options, options || {});

		if (this.options.normal) {

			this.options.menubar = "yes";
			this.options.status = "yes";
			this.options.toolbar = "yes";
			this.options.location = "yes";
		}

		this.options.width = this.options.width < screen.availWidth ? this.options.width : screen.availWidth;

		this.options.height = this.options.height < screen.availHeight ? this.options.height : screen.availHeight;

		var openoptions = 'width=' + this.options.width
						+ ',height=' + this.options.height
						+ ',location=' + this.options.location
						+ ',menubar=' + this.options.menubar
						+ ',toolbar=' + this.options.toolbar
						+ ',scrollbars=' + this.options.scrollbars
						+ ',resizable=' + this.options.resizable
						+ ',status=' + this.options.status;

		if (this.options.top != "") {

			openoptions += ",top="+this.options.top;
		}

		if (this.options.left != "") {

			openoptions += ",left="+this.options.left;
		}

		this.name = window.open(this.options.url, this.options.name, openoptions);

		return false;
	}
}

/**
 * Needs script: JSONcookies.js
 *
 * http://www.lalit.org/lab/jsoncookies/
 */
try {
	var jar = new CookieJar('kedvencek', {
		expires: 3600 * 24 * 7,   // 7 days
			path: '/'
	});
} catch(err) {

}

function addKedvencH(value) {

	var kedvencek = jar.get('kedvencek_hasznalt');

	if(kedvencek == null) {

		kedvencek = new Array();
		kedvencek.push(value);

	} else {

		kedvencek.push(value);
		kedvencek = kedvencek.uniq();
	}

	jar.remove('kedvencek_hasznalt');
	jar.put('kedvencek_hasznalt', kedvencek);

	updateKedvencekHeaderCounter();
}

function removeKedvencH(value) {

	var kedvencek = jar.get('kedvencek_hasznalt');

	if(kedvencek != null) {

		kedvencek = kedvencek.without(value);
	}

	jar.remove('kedvencek_hasznalt');
	jar.put('kedvencek_hasznalt', kedvencek);

	updateKedvencekHeaderCounter();
}

function countKedvencH() {

	var kedvencek = jar.get('kedvencek_hasznalt');

	if(kedvencek) {
		return kedvencek.size();
	} else {
		return 0;
	}
}

function addKedvencU(value) {

	var kedvencek = jar.get('kedvencek_ujep');

	if(kedvencek == null) {

		kedvencek = new Array();
		kedvencek.push(value);

	} else {

		kedvencek.push(value);
		kedvencek = kedvencek.uniq();
	}

	jar.remove('kedvencek_ujep');
	jar.put('kedvencek_ujep', kedvencek);

	updateKedvencekHeaderCounter();
}

function removeKedvencU(value) {

	var kedvencek = jar.get('kedvencek_ujep');

	if(kedvencek != null) {

		kedvencek = kedvencek.without(value);
	}

	jar.remove('kedvencek_ujep');
	jar.put('kedvencek_ujep', kedvencek);

	updateKedvencekHeaderCounter();
}

function countKedvencU() {

	var kedvencek = jar.get('kedvencek_ujep');

	if(kedvencek) {
		return kedvencek.size();
	} else {
		return 0;
	}
}

function updateKedvencekHeaderCounter() {

	try {

		var kedvencekSum = 0;

		if(jar.get('kedvencek_ujep')) {
			//kedvencekSum += (jar.get('kedvencek_ujep')).size();
		}

		if(jar.get('kedvencek_hasznalt')) {
			kedvencekSum += (jar.get('kedvencek_hasznalt')).size();
		}

		if(kedvencekSum) {
			$('kedvencek_header_counter').update('Kedvenceim: ' + kedvencekSum);
		} else {
			$('kedvencek_header_counter').update('Kedvenceim');
		}

	} catch(err) {

		//console.log(err);
		return false;
	}
}

function populateTelepulesLista(myform, list, selected_id) {

	try {

		var telepules_select = $('telepules_id');
		if(!telepules_select) {
			telepules_select = $('telepules');
		} 

		for (x = telepules_select.options.length; x >= 0; x--) {
			telepules_select.options[x] = null;
		}
		
		telepules_select.options[0] = new Option('Bármely', 0, false, true);

		var telepulesek = list.evalJSON();

		$A(telepulesek).each(function(item){

			if(item.nev) {
	
				if(item.id == selected_id) {
	
					telepules_select.options[telepules_select.options.length] = new Option(item.nev, item.id, false, true);
	
				} else {
	
					telepules_select.options[telepules_select.options.length] = new Option(item.nev, item.id, false, false);
				}
			}
		});

	} catch(err) {

		console.log(err);
	}

	//document.forms['testform'].testselect.options[i] = new Option('new text','new value');
}

function getTelepulesLista(myform, megye_id, selected_id) {

	var url = '/common/telepuleslista.php?megye_id=' + megye_id;

	new Ajax.Request(url, {
		method: 'get',
		onCreate: function() {
			try {
				$('indicator').show();
			} catch(err) {
				
			}
		},
		onSuccess: function(transport) {
			populateTelepulesLista(myform, transport.responseText, selected_id);
		},
		onFailure: function(transport) {
			alert('A kiszolgáló pillanatnyilag nem elérhető!');
		},
		onComplete: function() {
			try {
				$('indicator').hide();
			} catch(err) {
				
			}
		}
	});
}

function getCountyId() {
	
	return Try.these(

		function() { return $F('property_search_county_select'); },
		function() { return $F('ib_location_county_select_project'); },
		function() { return null; }
	);
}

