﻿$(document).ready(function() {
		// Flash-ek betöltése IE alatt:
		if ( $.browser.msie ) { makeFlash(); }
		// w3c szerint a target="_blank" nem szabványos
		$("a.popup").each( function() { $(this).attr('target','_blank'); });
		$("div.expandable dt").click( function() { $(this).parent().toggleClass("active"); } );
		// email címek védelmére:
		$("a.antispam").each( function(i, email) { email.href = email.href.replace('http://', 'mailto:').replace('.anti.spam.', '@').replace('/', ''); });
		
		// innit all the needed function
		galleryInit();
		apartmentProfileInnit();
		landingFormInnit();
							
		$("div.menu li").mouseover( function(){ $(this).addClass("hover"); }).mouseout( function(){ $(this).removeClass("hover"); } );
		
		
		// füles megoldás:
		$("div.multitab > div.tabbed").each( function(i, tabbed) {
			$("li", $(tabbed)).each( function(j, li) {
				$(li).click( function() {
					$("li", $(this).parent()).removeClass("active");
					$(this).addClass("active");
					// TODO: ezt át kellene írni szebbre:
					$(this).parent().parent().parent().children("div.tab").removeClass("visible");
					$($(this).parent().parent().parent().children("div.tab").get(j)).addClass("visible");
					$(this).blur();
					return false;
				});
			});
			// ha nincs kinyitva:
			if (!$("ul > active.li", tabbed).size()) {
				if( document.location.hash ) {
					var l = false;
					$("ul > li > a", tabbed).each( function(i, a) {
						if ($(a).attr("href") == document.location.hash) {
							$(a).parent().click();
							l = true;
						}
					});
					if (!l) $("ul > li:first", tabbed).click();
				} else {
					$("ul > li:first", tabbed).click();
				}
			}
		});
		menu_active();
	}
	
	
);

var lang = 'hu';
var labels = {};
function label(str) {
	if (typeof labels[str] == "string") return labels[str];
	return str;
}

function galleryInit() {
	$("div.gallery a").click( function() {
		var val_curImage = 0;
		var val_imageList = '';
		var val_galleryTitle = $(this).parents("div.gallery").children("h2").html();
		$t = $(this)
		$(this).parents("div.gallery").find("a").each( function(i, elem) {
			val_imageList += (val_imageList)?' '+ $(elem).attr("href") : $(elem).attr("href") ;
			if ($(elem).attr("href") == $t.attr("href")) {
				val_curImage = i;
			}
		});
		galleryOpen( val_curImage, val_imageList, val_galleryTitle );
		return false;
	});
	
	if ($("div.gallery a").size())return;
	
	
	var val_imageList = '';
	$("div.round_shadow a").each( function(i, elem) {
		val_imageList += (val_imageList)?' '+ $(elem).attr("href").replace('.jpg', '_600x600.php') : $(elem).attr("href").replace('.jpg', '_600x600.php') ;
	});
	
	$("div.round_shadow a").each( function(i, elem) {
		$(elem).click( function() { galleryOpen( i, val_imageList, ""); return false; } );
	});
}

function galleryOpen(cur,list,title, text) {
	if (is_ie) { hiddenAllSelect(); }
	if (! $('div#popupAlpha').size() ) {
		$(document.body).append('<div id="popupAlpha" class="popupAlpha"></div><div id="popupGallery" class="popupGallery"></div>');
	}
	$('div#popupAlpha').css( {opacity:0, display:"block"} );
	$('div#popupGallery').css( {display:"block"} );
	$('div#popupAlpha').animate( {opacity:.5}, 300 );
	var flashVars = 'lang='+lang+'&val_curImage='+cur+'&val_imageList='+list+'&val_galleryTitle='+title+'&val_textList='+text;
	var flashParam = {'src':'/flash/gallery.swf', 'flashVars':flashVars};
	appendFlash(  getFirstElementByClass('popupGallery',null,'div') , flashParam);
}
function galleryClose() {
	$('div#popupAlpha').animate( {opacity:0}, 300, null, function() {
		$('div#popupAlpha').remove();
		$('div#popupGallery').remove();
		if(is_ie){ visibleAllSelect(); }
	});
}
function galleryInit() {
	$("div.gallery a").click( function() {
		var val_curImage = 0;
		var val_imageList = '';
		var val_textList = '';
		var val_galleryTitle = $(this).parents("div.gallery").children("h2").html();
		$t = $(this)
		$(this).parents("div.gallery").find("a").each( function(i, elem) {
			val_imageList += (val_imageList)?' '+ $(elem).attr("href") : $(elem).attr("href") ;
			if ($(elem).attr("href") == $t.attr("href")) {
				val_curImage = i;
			}
		});
		$(this).parents("div.gallery").find("img").each( function(i, elem) {
			val_textList += (val_textList)?'::'+ $(elem).attr("alt") : $(elem).attr("alt") ;
		});
		galleryOpen( val_curImage, val_imageList, val_galleryTitle, val_textList );
		return false;
	});
}
var is_opera = (navigator.userAgent.indexOf('Opera')!=-1);
var is_ie = (!is_opera && navigator.userAgent.indexOf('MSIE')!=-1);
function getElementsByClass(searchClass,node,tag) {
	var classElements = [];
	if (node == null) node = document.body;
	if (tag == null) tag = '*';
	var elems = node.getElementsByTagName(tag);
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var i = 0;
	for (var j = 0; j < elems.length; j++) {
		if ( pattern.test(elems[j].className) ) {
			classElements[i++] = elems[j];
		}
	}
	return classElements;
}

function getFirstElementByClass(searchClass,node,tag) {
	if (node == null) node = document.body;
	if (tag == null) tag = '*';
	var elems = node.getElementsByTagName(tag);
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (var j = 0; j < elems.length; j++) {
		if ( pattern.test(elems[j].className) ) {
			return elems[j];
		}
	}
	return null;
}

function hiddenAllSelect() {
	var s = document.getElementsByTagName('select');
	for (i=0; i<s.length; i++) {
		s[i].style.visibility = 'hidden';
	}
}

function visibleAllSelect() {
	var s = document.getElementsByTagName('select');
	for (i=0; i<s.length; i++) {
		s[i].style.visibility = 'visible';
	}
}

//Flash Player 9 Fix (http://blog.deconcept.com/2006/07/28/swfobject-143-released/)
if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};});};

function getFlashVersion() {
	var v = 0;
	if ( navigator.plugins && navigator.mimeTypes.length ) {
		var x = navigator.plugins["Shockwave Flash"];
		if( x && x.description ) {
			var y = x.description;			
			var z = y.split(".");
			var k = z[0].split(" ");
			v = k;
			//v = y.charAt( y.indexOf( '.' ) - 1 );
		}
	} else {
		result = false;
		for( var i = 15; ( ( i >= 3 ) && ( result != true ) ); i-- ) {
			execScript('on error resume next: result = IsObject( CreateObject( "ShockwaveFlash.ShockwaveFlash.' + i + '" ) )', 'VBScript' );
			v = i;
		}
		if( v == 15) return 0;
	}
	return v;
}

jQuery.browser.flashVersion = getFlashVersion();
//alert ("flashv:"+jQuery.browser.flashVersion);
function appendFlash(obj, params) {
       // alapértelmezett paraméterek hozzáadása:
       var defaultParams = { version: 6, width: '100%', height: '100%', flashVars: '', wmode: 'transparent', scale: 'scale', salign: 'tl', name: ''};
       params = $.extend({}, defaultParams, params);
       // csak akkor számoljuk meg az OBJECT-eket, ha mindenképpen szükséges:
       if (!params.name) params.name = 'flash'+($('object').size()+1);
       // flash verzió ellenőrzése:
       if (jQuery.browser.flashVersion < parseInt(params.version) ) {
               $(obj).append('<a href="http://macromedia.com/go/flashplayer" target="_blank">'+label('Kérem töltse le a legújabb Flash lejátszót!')+'</a>');
               return;
       }
       // fájlnévhez a timestamp hozzáadása:
       params.src += (params.src.indexOf('?')!=-1?"&":"?")+(new Date()).getTime();
       // Flash beillesztése:
       $(obj).append('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+params.version+',0,0,0" width="'+params.width+'" height="'+params.height+'" id="'+params.name+'">'+
               '<param name="movie" value="'+params.src+'" />'+
               '<param name="scale" value="'+params.scale+'" />'+
               '<param name="wmode" value="'+params.wmode+'" />'+
               '<param name="salign" value="'+params.salign+'" />'+
               '<param name="quality" value="high" />'+
               '<param name="allowScriptAccess" value="sameDomain" />'+
               '<param name="quality" value="high" />'+
               '<param name="swliveconnect" value="true"/>'+
               '<param name="FlashVars" value="'+params.flashVars+'" />'+
               '<embed name="'+params.name+'" src="'+params.src+'" scale="'+params.scale+'" salign="'+params.salign+'" wmode="'+params.wmode+'" width="'+params.width+'" height="'+params.height+'" flashvars="'+params.flashVars+'" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" swLiveConnect="true" />'+
       '</object>');
}

function makeFlash() {
       $("div.makeflash").each( function(i, flash) {
               var p = {}; eval("p = {"+flash.title+"}");
               appendFlash(flash, p);
               flash.title = '';
       });
}

//change status in lakaslist
function changeFlatStatus(idParam){
	temp = $('#select_'+idParam+' option:selected').val();
	$.get("/admin/lakasok/changestatus", { id: idParam, status: temp },
  		function(data){
  	});
}


function menu_active(){
	url = document.location.href;
	temp = url.split('/');
	temp2 = temp[3].split('_');
	id = temp2[0];

	//$('[@id*=menu_]').removeClass('hover');
	//$('[@id*=menu_'+id+'] a').addClass('hover');
	$('#menu_'+id+' a').addClass('hover');
	$('#menu_'+id).addClass('hover');
}

function apartmentProfileInnit() {
	$('a[rel="profile"]').click( function() {
		var referer = $('.referer').html();
		var firstPage = $('.referer').html();
		$.post($(this).attr('href'), { referer: referer, firstPage: firstPage } );
		$("#profilecontainer").fadeIn("slow");
		$("#profilecontainer").height($(document).height()-137);
		$("#profilecontainer").load($(this).attr('href'), function() {
			
				// Innit Form Manager
				$('#profile_enquiry').formManager();
				
				// Default hide form
				$(".profile_enquiry").hide();
				
				// scroll the browser to the top
				$('html').animate({scrollTop:0}, 'slow'); 

				// close profile 
				$('#profilecontainer .closeprofile').click( function() {
				$("#profilecontainer").fadeOut("slow");
				});

				// enquiry
				$('#profilecontainer .profile .enquiry').click( function() {
					$(".profile_enquiry").slideToggle("slow");
				});

			});
		return false;			
	});
}

function landingFormInnit() {
	$("#profilecontainer").hide();
	$('a[rel="landingform"]').click(function() {
		$("#profilecontainer").fadeIn("slow");
		$("#profilecontainer").height($(".content").height());
		$("#profilecontainer").load($(this).attr('href'), function() {
			
			// Innit Form Manager
			$('#profile_enquiry').formManager();
			
			// close profile
			$('#profilecontainer .closeprofile').click( function() {
				$("#profilecontainer").fadeOut("slow");
			});
		});
		return false;		
	});
}
