var months = new Array();
months[1] = "jan";
months[2] = "feb";
months[3] = "már";
months[4] = "ápr";
months[5] = "máj";
months[6] = "jún";
months[7] = "júl";
months[8] = "aug";
months[9] = "szep";
months[10] = "okt";
months[11] = "nov";
months[12] = "dec";

function changeLeaveSelects(year, month, day)
{
	$("select[id='leftYear'] :selected").removeAttr("selected");
	$("select[id='leftYear'] option[value="+year+"]").attr("selected","selected");
	$("select[id='leftMonth'] :selected").removeAttr("selected");
	$("select[id='leftMonth'] option[value="+month+"]").attr("selected","selected");
	$("select[id='leftDay'] :selected").removeAttr("selected");
	$("select[id='leftDay'] option[value="+day+"]").attr("selected","selected");
	
	afterReplace=false;
	$("#leftYear_ul").remove();
	rsSelectReplace(document.getElementById("leftYear"));
	$("#leftMonth_ul").remove();
	rsSelectReplace(document.getElementById("leftMonth"));
	$("#leftDay_ul").remove();
	rsSelectReplace(document.getElementById("leftDay"));
	afterReplace=true;
}
function checkDate(ul, index)
{
	if(afterReplace===true)
	{
		var selectId = ul.id.split('_');
		var li = ul.getElementsByTagName("li");

		$.ajax({
			   type: "POST",
			   url: "ajax/online_erdeklodes.php",
			   data: "leaveYear="+$('#leftYear :selected').text()+"&leaveMonth="+$('#leftMonth :selected').text()+"&leaveDay="+$('#leftDay :selected').text()+"&arriveYear="+$('#arriveYear :selected').text()+"&arriveMonth="+$('#arriveMonth :selected').text()+"&arriveDay="+$('#arriveDay :selected').text()+"&event=change&selectId="+selectId[0]+"&selectedValue="+li.item(index).innerHTML+"&index="+index,
			   success: function(msg){
					   var parsedMSG = jQuery.parseJSON(msg);
					   if(parsedMSG!=null)
					   {
						   for(var i=0; i<parsedMSG.length; i++)
						   {
							   switch(parsedMSG[i]['action'])
							   {
							   		case "changeAllLeaveSelects":
							   			changeLeaveSelects(parsedMSG[i]['leaveYear'], parsedMSG[i]['leaveMonth'], parsedMSG[i]['leaveDay']);
							   			break;
							   			
							   		case "changeArriveDays":
							   			changeArriveDays(parsedMSG[i]['fromArriveDay'], parsedMSG[i]['tillArriveDay']);
							   			break;
							   			
							   		case "changeLeftDays":
							   			changeLeaveDays(parsedMSG[i]['fromLeaveDay'], parsedMSG[i]['tillLeaveDay']);
							   			break;
							   			
							   		case "changeArriveMonths":
							   			changeArriveMonths(parsedMSG[i]['fromArriveMonth'], parsedMSG[i]['tillArriveMonth']);
							   			break;
							   			
							   		case "changeLeftMonths":
							   			changeLeftMonths(parsedMSG[i]['fromLeaveMonth'], parsedMSG[i]['tillLeaveMonth']);
							   			break;
							   }
						   }
					   }
			   }
			 });
	}
	return true;
}
function changeArriveMonths(from, to)
{
	from = parseInt(from);
	to 	 = parseInt(to);
	
	var selected = $("select[id='arriveMonth'] :selected").val();
	if(selected<from)
		selected=from;
	$("select[id='arriveMonth']").html('');
	for(var i=from; i<=to; i++)
	{
		if(i==selected)
			$("select[id='arriveMonth']").append('<option value="'+i+'" selected="selected">'+months[i]+'</option>');
		else
			$("select[id='arriveMonth']").append('<option value="'+i+'">'+months[i]+'</option>');
	}
	$("#arriveMonth_ul").remove();
	afterReplace=false;
	rsSelectReplace(document.getElementById("arriveMonth"));
	afterReplace=true;
}
function changeLeftMonths(from, to)
{
	from = parseInt(from);
	to 	 = parseInt(to);
	
	var selected = $("select[id='leftMonth'] :selected").val();
	selected = parseInt(selected);
	if(selected<from)
		selected=from;
	$("select[id='leftMonth']").html('');
	for(var i=from; i<=to; i++)
	{
		if(i==selected)
			$("select[id='leftMonth']").append('<option value="'+i+'" selected="selected">'+months[i]+'</option>');
		else
			$("select[id='leftMonth']").append('<option value="'+i+'">'+months[i]+'</option>');
	}
	$("#leftMonth_ul").remove();
	afterReplace=false;
	rsSelectReplace(document.getElementById("leftMonth"));
	afterReplace=true;	
}
function changeArriveDays(from, to)
{
	from = parseInt(from);
	to 	 = parseInt(to);
	
	var selected = $("select[id='arriveDay'] :selected").val();
	if(selected<from)
		selected=from;
	$("select[id='arriveDay']").html('');
	for(var i=from; i<=to; i++)
	{
		if(i==selected)
			$("select[id='arriveDay']").append('<option value="'+i+'" selected="selected">'+i+'</option>');
		else
			$("select[id='arriveDay']").append('<option value="'+i+'">'+i+'</option>');
	}
	$("#arriveDay_ul").remove();
	afterReplace=false;
	rsSelectReplace(document.getElementById("arriveDay"));
	afterReplace=true;
}
function changeLeaveDays(from, to)
{
	from = parseInt(from);
	to 	 = parseInt(to);
	
	var selected = $("select[id='leftDay'] :selected").val();
	if(selected<from)
		selected=from;
	$("select[id='leftDay']").html('');
	for(var i=from; i<=to; i++)
	{
		if(i==selected)
			$("select[id='leftDay']").append('<option value="'+i+'" selected="selected">'+i+'</option>');
		else
			$("select[id='leftDay']").append('<option value="'+i+'">'+i+'</option>');
	}
	$("#leftDay_ul").remove();
	afterReplace=false;
	rsSelectReplace(document.getElementById("leftDay"));
	afterReplace=true;
}
function rsSelectReplace(sel)
{
	var ie6 = (navigator.userAgent.search('MSIE 6.0') != -1);
	var ul = document.createElement('ul');
	ul.className = 'srList srCollapsed srBlur';
	ul.srSelect = sel;
	ul.id = sel.id+'_ul';
	sel.srReplacement = ul;
	sel.className += ' srReplacedSelect';
	sel.onfocus = function() { this.srReplacement.className = this.srReplacement.className.replace(/[\s]?srBlur/, ' srFocus'); }
	sel.onblur = function() {
		this.srReplacement.className = this.srReplacement.className.replace(/[\s]?srFocus/, ' srBlur');
	}
	sel.onchange = function()
	{
		var ul = this.srReplacement;
		ul.srSelectLi(ul.childNodes[this.selectedIndex]);
	}
	sel.onkeypress = function(e)
	{
		var i = this.selectedIndex;
		var ul = this.srReplacement;
		switch (e.keyCode) {
			case 9:
				this.srReplacement.srCollapse();
			break;
			case 37: // влево
			case 38: // вверх
				if (i - 1 >= 0)
					ul.srSelectLi(ul.childNodes[i - 1]);
			break;
			case 40: // вниз
				if(e.altKey)
				{
	
				}
			case 39: // вправо
				if (i + 1 < ul.childNodes.length)
					ul.srSelectLi(ul.childNodes[i + 1]);
			break;
			case 33: // Page Up
			case 36: // Home
				ul.srSelectLi(ul.firstChild);
			break;
			case 34: // Page Down
			case 35: // End
				ul.srSelectLi(ul.lastChild);
			break;
		}
	}
	ul.onmouseover = function() { this.className += ' srHoverUl'; }
	ul.onmouseout = function() { this.className = this.className.replace(/[\s]?srHoverUl/, ''); }
	ul.srSelectLi = function(li)
	{
		var ul = li.parentNode;
		if(ul.srSelectesIndex != null)
			ul.childNodes[ul.srSelectesIndex].className = '';
		ul.srSelectesIndex = li.srIndex;
		ul.childNodes[li.srIndex].className = 'srSelectedLi';
		checkDate(ul, li.srIndex);
		return li.srIndex;
	}
	ul.srExpand = function()
	{
		if(!this.srExpanded)
		{
			if(document.srExpandedList)
				document.srExpandedList.srCollapse();
			document.srExpandedList = this;
			this.className  = this.className.replace(/[\s]?srCollapsed/, ' srExpanded');
			this.srExpanded = true;
			this.srSelect.focus();
			if(ie6) 
			{
				var node = this.firstChild;
				var offset = 0;
				var height = node.clientHeight;
				while(node)
				{
					node.style.position = 'absolute';
					node.style.top = offset;
					offset += height; 
					node = node.nextSibling;
				}
			}
		}
	}
	ul.srCollapse = function(li)
	{	
		if(this.srExpanded)
		{
			document.srExpandedList = null;
			if(li)
				this.srSelect.selectedIndex = this.srSelectLi(li);
			this.srSelect.focus();
			this.className = this.className.replace(/[\s]?srExpanded/, ' srCollapsed');
			this.srExpanded = false;
			if(ie6)
			{
				var node = this.firstChild;
				while(node)
				{
					node.style.position = '';
					node = node.nextSibling;
				}
			}
		}
	}
	var options = sel.options;
	var len = options.length;
	for(var i = 0; i < len; i++)
	{
	    var li = document.createElement('li');
		li.appendChild(document.createTextNode(options[i].text));
		li.srIndex = i;
		li.onmouseover = function() { this.className += ' srHoverLi'; }
		li.onmouseout = function() { this.className = this.className.replace(/[\s]?srHoverLi/, ''); }
		ul.appendChild(li);
	}
	if(sel.selectedIndex == null)
		sel.selectedIndex = 0;
	ul.srSelectLi(ul.childNodes[sel.selectedIndex]);
	sel.parentNode.insertBefore(ul, sel);
}
function srAddEvent(obj, type, fn)
{ 
	if (obj.addEventListener)
		obj.addEventListener(type, fn, false);
	else if (obj.attachEvent)
		obj.attachEvent( "on"+type, fn );
}
function srOnDocumentClick(e)
{
	var target = (window.event) ? window.event.srcElement : e.target;
	if(document.srExpandedList)
	{
		if((target.srIndex || target.srIndex === 0)
			&& document.srExpandedList == target.parentNode	)
			document.srExpandedList.srCollapse(target);
		else
			document.srExpandedList.srCollapse();
	}
	else
	{
		if(target.srIndex || target.srIndex === 0)
			target.parentNode.srExpand();
	}
}
function srReplaceSelects()
{
	var s = document.getElementsByTagName('select');
	var len = s.length
	for (var i = 0; i < len; i++)
		rsSelectReplace(s[i]);
	srAddEvent(document, 'click', srOnDocumentClick);
	afterReplace = true;
}
srAddEvent(window, 'load', srReplaceSelects);
function ShowSelectedValues()
{
	var s = document.getElementsByTagName('select');
	var len = s.length
	var formElements = new Array();
	for (var i = 0; i < len; i++)
	{
		formElements[s[i].id] = s[i].options[s[i].selectedIndex].innerHTML;
	}
	if($('#erdeklodesName').val().length<3 && $('#erdeklodesMail').val().length<3)
	{
		alert("Hiba! Kérem adja meg nevét és e-mail címét!");
		return false;
	}
	if(formElements['ketfosNum']==0 && formElements['negyfosNum']==0 && formElements['hatfosNum']==0)
	{
		alert("Hiba! Nem lett apartman kiválasztva!");
		return false;
	}
	if($('#erdeklodesMail').val().indexOf('@')==-1)
	{
		alert("Hiba! Nem megfelelő e-mail cím!");
		return false;
	}
	$.ajax({
		   type: "POST",
		   url: "ajax/send_mail.php",
		   data: "leaveYear="+$('#leftYear :selected').text()+"&leaveMonth="+$('#leftMonth :selected').val()+"&leaveDay="+$('#leftDay :selected').text()+"&arriveYear="+$('#arriveYear :selected').text()+"&arriveMonth="+$('#arriveMonth :selected').val()+"&arriveDay="+$('#arriveDay :selected').text()+"&name="+$('#erdeklodesName').val()+"&email="+$('#erdeklodesMail').val()+"&ketfosNum="+$('#ketfosNum :selected').text()+"&negyfosNum="+$('#negyfosNum :selected').text()+"&hatfosNum="+$('#hatfosNum :selected').text(),
		   success: function(msg){
				   if(msg==1)
				   {
					   alert("Köszönjük szépen érdeklődését. Munkatársunk hamarosan jelentkezni fog a megadott elérhetőségek egyikén.");
					   return true;
				   }
				   else
					   alert("Sajnos nem sikerült felvenni érdeklődését! Kérjük próbálja meg később.");
				   return false;
		   }
		 });
}
