var advertisingrules = '<h2>Alapvető szabályok, iránymutatások</h2>\n\
	<p>A weboldalon jelenlévő látogatókra alapvetően a Zenészbörze.Hu szabályzata az irányadó, mely összhangban van a hatályos magyar törvényekkel jogszabályokkal.</p>\n\
	<p>Az apróhirdetések és az azokhoz kapcsolódó hozzászólások szabadon olvashatók.</p>\n\
	<p>A regisztrációval a felhasználó elfogadja a Zenészbörze.hu szabályzatát és vállalja, hogy maradéktalanul betartja a benne foglaltakat.</p>\n\
	<p>Az apróhirdetés és a hozzászólás tartalmáért kizárólag a hirdetés feladó és a hozzászóló felel.</p>\n\
	<p>A Zenészbörze.hu fenntartja a jogot jelen szabályzat egyoldalú módosítására, a regisztrált felhasználók értesítése nélkül.</p>\n\
	<h2>Kik hirdehetnek?</h2>\n\
	<p>HHirdetési felületünkön magánszemélyek és cégek hirdethetnek. Cégek esetében maximum 20 db hirdetés helyezhető el a rendszerben.</p>\n\
	<h2>Regisztráció</h2>\n\
	<p>Regisztrációkor a következő adatokat kérjük:</p>\n\
	<p>\n\
		-felhasználónév<br />\n\
		-jelszó<br />\n\
		-e-mail cím<br />\n\
		-teljes név<br />\n\
		-megye<br />\n\
		-telefonszám\n\
	</p>\n\
	<p>Ezekből az adatokból a hirdetéseknél a következők kerülnek megjelenítésre:</p>\n\
	<p>\n\
		-felhasználónév<br />\n\
		-megye<br />\n\
		-telefonszám<br />\n\
		-e-mail cím\n\
	</p>\n\
	<p>Az előbb felsorolt adatokat a valóságnak megfelelően kell megadni.</p>\n\
	<h2>Milyen hirdetést tiltunk, törlünk?</h2>\n\
	<p>Minden olyan hirdetést, amelyek jogszabályba vagy törvényi tilalomba ütközik.</p>\n\
	<p>Nem megfelelő kategóriába lett feladva a hirdetést.</p>\n\
	<p>A megfelelő kategóriába feladott hirdetésben, több egyéb eszköz hirdetése is található. A megfelelő kategóriába feladott hirdetésben plusz egy eszköz hirdetését engedélyezzük.</p>\n\
	<p>Csere hirdetések esetén, az amire cserélnék típusú hirdetéseket töröljük, amit cserélnék típusú hirdetéseket engedélyezzük.</p>\n\
	<p>Vélhetően nem a valóságnak megfelelő adatokat tartalmaz.</p>\n\
	<p>Fórum jellegű hozzászólásokat.</p>\n\
	<h2>Hozzászólások</h2>\n\
	<p>Minden hirdetésnél található egy Hozzászólások rész, melyben regisztrált felhasználóknak lehetőségük van kérdezni az eladótól. Csak az adott termékkel kapcsolatban lehet kérdést feltenni, egyéb kommentár nem megengedett.</p>\n\
	<h2>Hírlevél</h2>\n\
	<p>A regisztrációval egyidőben elfogadod, hogy a Zenészbörze.Hu alkalmanként hírlevelet küldjön Neked. A hírlevélről a törvényi szabályozásnak megfelelően a hírlevél alján található Leiratkozás gombbal tudsz leiratkozni. A hírlevél kategóriájába nem tartoznak bele a rendszer által küldött automatikus üzenetek.</p>\n\
	<h2>Adatvédelem</h2>\n\
	<p>A Zenészbörze.Hu a személyes adatokat az adatvédelmi törvény szerint kezeli és azokat harmadik fél részére nem szolgáltatja ki.</p>\n\
	<h2>Felelősség kizárás</h2>\n\
	<p>Az oldalon megjelent hirdetések és hozzászólások tartalmáért a Zenészbörze.Hu nem vállal felelősséget. A hirdetések és hozzászólások pontosságának, teljességének esetleges hiányából eredő közvetlen vagy közvetett károkért a Zenészbörze.Hu nem vállal felelősséget.</p>\n\
	<h2>Javaslatok</h2>\n\
	<p>Hirdetésed próbáld lényegretörően, de kellő információ tartalommal megfogalmazni.</p>\n\
	<p>Figyelj a helyesírási hibákra, mert sokat ront hirdetésed színvonalán, ha teli van hibákkal.</p>\n\
	<p>Fórum jellegű hozzászólásokat ne írj hirdetésként, mert azt mi töröljük, illetve a többi felhasználó se nézi jó szemmel az ilyen hirdetőket.</p>\n\
	<p>Soha ne menj bele előre utalásba, hisz semmilyen garancia nincs, hogy megkapod a terméket, amiért fizettél.</p>\n\
	<p>Járj el körültekintően a külföldről behozott áruk vásárlása esetén, hisz nem minden esetben érvényesíthető itthon a garancia.</p>\n\
	<div class="bezarasgomb"><a href="javascript:void(0)">Ablak bezárása</a></div>';
	
var passremember = '<div class="bezaras"></div>\n\
						<p>A megadott e-mail címre kiküldjük az újonnan generált jelszót, ezzel be tudsz lépni, majd később meg tudod változtatni a saját jelszavadra!</p>\n\
						<form method="post" action="user_pass_rem.php" id="passremember">\n\
						<table class="form">\n\
							<tr>\n\
								<td><label for="email">E-mail cím: </label></td>\n\
								<td><input type="text" name="email" maxlength="50" class="text" /></td>\n\
							</tr>\n\
							<tr>\n\
								<td colspan="2" class="submit"><input name="submit" type="submit" value="Küldés" /><td>\n\
							</tr>\n\
						</table>\n\
						</form>';

function usernameValidate(value, element, userid) {
	text = '';
	$.ajax({
		type: 'POST',
		url: 'validate.php',
		data: {user:value,type:'user',id:userid},
		success: function(data){
			text = data;
		},
		async: false
	})
	return (text == 'valid' ? true : false);
}

function emailValidate(value, element) {
	text = '';
	$.ajax({
		type: 'POST',
		url: 'validate.php',
		data: {email:value,type:'email'},
		success: function(data){
			text = data;
		},
		async: false
	})
	return (text == 'valid' ? true : false);
}

function emailValidate2(value, element) {
	text = '';
	$.ajax({
		type: 'POST',
		url: 'validate.php',
		data: {email:value,type:'email'},
		success: function(data){
			text = data;
		},
		async: false
	})
	return (text == 'valid' ? false : true);
}

function phoneValidate(value, element) {
	if ( value.match(/^[-+/0-9]{6,16}$/) )
		{ return true; }
	else
		{ return false; }		
}

function numberValidate(value, element) {
	if ( (value.match(/^[0-9]+$/)) || (value == "") )
		{ return true; }
	else
		{ return false; }		
}

function recaptchaValidate(value, element) {
	text = '';
	$.ajax({
		type: 'POST',
		url: 'validate.php',
		data: {challenge: Recaptcha.get_challenge(),response: Recaptcha.get_response(),type:'captcha'},
		success: function(data){
			text = data;
		},
		async: false
	});
	if ( text == 'valid' ) { return true; } else { Recaptcha.reload(); return false; }
};

function confirmValidate(value, element, text) {
	if ( value == "" ) { var c = confirm(text); } else { var c = true; }
	if ( c == true) { return true; } else { return false; }
}

function premValidate(value, element, text) {
	var x = $('form#prem_ad_new input[type=file]:blank').length;
	if ( x > 0 ) { var c = confirm(text); } else { var c = true; }
	return c;
}

function containsValidate(value, element, text) {
	if ( (value.indexOf(text) != -1) || (value.length == 0) ) { return true; } else { return false; }
}

$(document).ready(function(){
	//--------------------------------------------- VALIDÁLÁS ---------------------------------------------
	// Validálási metódusok hozzáadása
	$.validator.addMethod('username',usernameValidate,'Már foglalt felhasználónév!');
	$.validator.addMethod('cemail',emailValidate,'Már foglalt e-mail cím!');
	$.validator.addMethod('cemail2',emailValidate2,'Nincs ilyen e-mail cím!');
	$.validator.addMethod('phone',phoneValidate,'Kérlek adj meg valós telefonszámot!');
	$.validator.addMethod('recaptcha',recaptchaValidate,'Kérlek írd be a megfelelő szavakat!');
	$.validator.addMethod('confirm',confirmValidate);
	$.validator.addMethod('cnumber',numberValidate);
	$.validator.addMethod('premium',premValidate);
	$.validator.addMethod('containstext',containsValidate);
	// Validálás alapbeállításai
	jQuery.validator.setDefaults({
		errorPlacement:function(error,element){
			var $row = element.parent().parent().before('<tr><td colspan="2"></td></tr>');
			$row.prev().children().append(error);
		},
		onkeyup: false,
		onfocusout: false
	});
	// Regisztráció validálás
	$('form#registerform').validate({
		rules:{
			username:{
				required:true,
				username:true
			},
			password:{
				required:true,
				minlength:6
			},
			password2:{
				equalTo:'form#registerform input[name="password"]'
			},
			email:{
				required:true,
				email:true,
				cemail:true
			},
			email2:{
				equalTo:'input[name="email"]'
			},
			name:'required',
			county:'required',
			phone:{
				required:true,
				phone:true
			},
			rules:'required',
			recaptcha_response_field:{
				required:true,
				recaptcha:true
			}
		},
		messages:{
			username:{
				required:'Nincs megadva felhasználónév!',
				username:'A felhasználónév már foglalt!'
			},
			password:{
				required:'Nincs megadva jelszó!',
				minlength:'A jelszónak legalább 6 karakter hoszúnak kell lennie!'
			},
			password2:{
				equalTo:'Nem egyezik a két jelszó!'
			},
			email:{
				required:'Nincs megadva e-mail cím!',
				email:'Az email címnek a következő formátumnak kell megfelelnie: pelda@domain.hu!'
			},
			email2:{
				equalTo:'Nem egyezik a két e-mail cím!'
			},				
			name:'Nincs megadva név!',
			county:'Nincs megye kiválasztva!',
			phone:{
				required:'Nincs megadva telefonszám!',
				phone:'A telefonszám csak számot és /,+,- karaktereket tartalmazhat 6-16 karakter hosszúságban!'
			},
			rules:'A szabályzatot el kell fogadni!',
			recaptcha_response_field:{
				required:'Nincsenek beírva a szavak!',
				recaptcha:'Nem megfelelő megoldás!'
			}
		}
	});
	// Adatmódosítás validálás
	$('form#user_data_edit').validate({
		rules:{
			username:{
				required:'input[name=firstlogin]',
				username:$.cookie('auth')
			},
			password:{
				minlength:6
			},
			password2:{
				equalTo:'form#user_data_edit input[name="password"]'
			},
			name: { required:'input[name=firstlogin]' },
			county: { required:'input[name=firstlogin]' },
			phone:{
				required:true,
				phone:true
			},
			rules: { required:'input[name=firstlogin]' }
		},
		messages:{
			username:{
				required:'Nincs megadva felhasználónév!',
				username:'A felhasználónév már foglalt!'
			},
			password:{
				minlength:'A jelszónak legalább 6 karakter hoszúnak kell lennie!'
			},
			password2:{
				equalTo:'Nem egyezik a két jelszó!'
			},		
			name: { required:'Nincs megadva név!' },
			county: { required:'Nincs megye kiválasztva!' },
			phone:{
				required:'Nincs megadva telefonszám!',
				phone:'A telefonszám csak számot és /,+,- karaktereket tartalmazhat 6-16 karakter hosszúságban!'
			},
			rules: { required:'A szabályzatot el kell fogadni!' }
		}
	});
	// Új hirdetés validálás
	$('form#ad_new').validate({
		rules:{
			name:'required',
			desc:'required',
			price:{
				required:'input[name="agreed"]:unchecked',
				cnumber:true
			},
			cat:'required',
			available:'required',
			photo:{
				confirm:'Kép nélkül akarod feltölteni a hirdetést?'
			},
			youtube:{
				containstext:'youtube.com'
			}
		},
		messages:{
			name:'Nincs megadva a hirdetés címe!',
			desc:'Nincs megadva a hirdetés leírása!',
			price:{
				required:'Árat meg kell adni!',
				cnumber:'Az ár csak számot tartalmazhat!'
			},
			cat:'Válassz kategóriát!',
			available:'Válassz érvényességi intervallumot!',
			photo:{
				confirm:'Nincs kép feltöltve!'
			},
			youtube:{
				containstext:'Nem megfelelő hivatkozás!'
			}
		}
	});
	// Új prémium hirdetés validálás
	$('form#prem_ad_new').validate({
		rules:{
			name:'required',
			desc:'required',
			price:{
				required:'input[name="agreed"]:unchecked',
				cnumber:true
			},
			cat:'required',
			available:'required',
			photo1: { premium:'Nincs feltöltve mind a négy kép! Biztos hogy így akarod?' }
		},
		messages:{
			name:'Nincs megadva a hirdetés címe!',
			desc:'Nincs megadva a hirdetés leírása!',
			price:{
				required:'Árat meg kell adni!',
				cnumber:'Az ár csak számot tartalmazhat!'
			},
			cat:'Válassz kategóriát!',
			available:'Válassz érvényességi intervallumot!',
			photo1: { premium:'Nincs minden kép feltöltve!' }
		}
	});
	// Egyenlegfeltöltési kérelem validálás
	$('form#billingreq').validate({
		rules:{
			billing_name:'required',
			billing_adress:'required',
			postal_adress:'required',
			amount:{
				required:true,
				cnumber:true
			}
		},
		messages:{
			billing_name:'Nincs megadva számlázási név!',
			billing_adress:'Nincs megadva számlázási cím!',
			postal_adress:'Nincs megadva postázási cím!',
			amount:{
				required:'Nincs megadva összeg!',
				cnumber:'Az összeg csak számokat tartalmazhat!'
			}
		}
	});
	// Hozzászólás validálás
	$('form#comment_new').validate({
		rules:{
			comment:'required'
		},
		messages:{
			comment:'Nem írtál be semmit a hozzászóláshoz!'
		},
		errorPlacement:function(error,element){
			element.before(error);
		}
	});
	//--------------------------------------------- ÁLTALÁNOS ---------------------------------------------
	// Linkek átalakítása
	$('a').each(function() {
		if ($(this).attr('href') == '#') $(this).attr('href', 'javascript:void(0)');
	});
	//--------------------------------------------- BEJELENTKEZÉS ---------------------------------------------
	// Bejelentkezés
	$('div.login input[type!=checkbox]').each(function() {
		$(this).focus(function() {
			var $label = $('div.login label#' + $(this).attr('name') + '_l');
			if ($label.css('left') != 0)
				$label.animate({left: 0, opacity: '0.7'}, 'normal');
		}).blur(function() {
			var $label = $('div.login label#' + $(this).attr('name') + '_l');
			if ($(this).attr('value') == '')
				$label.animate({left: '95px', opacity: 1}, 'normal');
		});
	});
	//--------------------------------------------- MENÜ ---------------------------------------------
	// Menü animálása
	var animido = 400;
	var pozicio = 0;
	$('ul.menu li a').each(function(){
		$(this).attr('szelesseg', $(this).width()+36);
		$(this).attr('pozicio', pozicio);
		pozicio += $(this).width()+36;
	});	
	var aktszelesseg = $('a.aktualis').attr('szelesseg');
	var aktpozicio = $('a.aktualis').attr('pozicio');
	aktpozicio = parseInt(aktpozicio) + 10;
	$('div#csuszka').stop().css({left: aktpozicio + 'px', width: aktszelesseg + 'px'});
	$('ul.menu li a').mouseover(function() {
		var szelesseg = $(this).attr('szelesseg');
		var pozicio = $(this).attr('pozicio');
		pozicio = parseInt(pozicio) + 10;
		$('div#csuszka').stop().animate({left: pozicio + 'px', width: szelesseg + 'px'}, animido);
	}).mouseout(function() {
		var szelesseg = $('a.aktualis').attr('szelesseg');
		var pozicio = $('a.aktualis').attr('pozicio');
		pozicio = parseInt(pozicio) + 10;
		$('div#csuszka').stop().animate({left: pozicio + 'px', width: szelesseg + 'px'}, animido);
	});
	//--------------------------------------------- BAL OSZLOP ---------------------------------------------
	// Kategóriák
	$('ul.fokat ul.alkat, ul.fokat ul.alalkat').hide();
	$('ul.fokat ul.mutat').show();
	$('ul.fokat ul.alalkat').each(function(){
		if ( $(this).hasClass('mutat') ) { $(this).parent().parent().show(); }
	});	
	$('ul.fokat img.lenyit').each(function() {
		if (($(this).siblings('ul').css('display') == 'block')) {
			$(this).attr('src', 'img/i_minus.jpg');
		} else {
			$(this).attr('src', 'img/i_plus.jpg');
		}
	});
	$('ul.fokat li.fokat:has(ul), ul.fokat li.alkat:has(ul)').each(function() {
		$(this).children('img.lenyit').click(function() {
			$(this).siblings('ul').slideToggle('normal', function() {
				if (($(this).css('display') == 'block')) {
					$(this).siblings('img.lenyit').attr('src', 'img/i_minus.jpg');
				} else {
					$(this).siblings('img.lenyit').attr('src', 'img/i_plus.jpg');
				}
			});
		});
	});
	//--------------------------------------------- REGISZTRÁCIÓ ---------------------------------------------
	// Recaptcha megjelenítése
	if ( $('div#recaptcha_widget').length ) {
		Recaptcha.create('6Lf3CgsAAAAAAOzylNRgGiuO9WLA-fYC4T5GMyVG','',{theme: 'custom'});
	};
	//--------------------------------------------- HIRDETÉS FELADÁS ---------------------------------------------
	// Js detektálás
	if ( $('input#jsdetect').length ) {
		$('input#jsdetect').val('on');
	};
	//--------------------------------------------- OVERLAY ---------------------------------------------
	// Bejelentkezési overlay
	loginoverlay = $('div.login span.jelszo').overlay({
		expose: {
			color: '#333',
			loadSpeed: 200,
			opacity: 0.9
		},
		closeOnClick: false,
		target: 'div#jelszooverlay',
		api: true
	});
	$('div.login span.jelszo').click(function(){
		$('div#jelszooverlay').html(passremember);
		$('form#passremember').validate({
			rules:{
				email:{ cemail2:true }
			},
			messages:{
				email: { cemail2:'Nincs ilyen regisztrált e-mail cím!' }
			}
		});
		$('div#jelszooverlay div.bezaras').click(function(){ loginoverlay.close(); });
		loginoverlay.load();
	});
	// Képek overlay
	if ( $('div.trigger').length ) {
		$('div#kepoverlay').html('<a class="prev">előző</a><a class="next">következő</a><img class="progress" src="../img/loading.gif" />');
		$('div.trigger').each(function(){
			if ( $('a',this).length ) { $('a',this).overlay({target: 'div#kepoverlay'}).gallery({autohide: false}); }
		});
	}
	// Hirdetési szabályzat overlay
	rulesoverlay = $('a#foo').overlay({
			expose: {
			color: '#333',
			loadSpeed: 200,
			opacity: 0.9
		},
		closeOnClick: false,
		target: 'div#szabalyzatoverlay',
		api: true
	});
	$('a.hirdetesiszabalyzat').each(function(){
		$(this).click(function(){
			$('div#szabalyzatoverlay').html(advertisingrules);
			$('div#szabalyzatoverlay div.bezarasgomb a').click(function(){ rulesoverlay.close(); });
			rulesoverlay.load();
		});
	});
});

$(window).load(function(){
	//Bejelentkezés
	if ($('div.login input#username').val()) {
		$('div.login label#username_l').stop().animate({left: 0, opacity: '0.7'});
	}
	if ($('div.login input#password').val()) {
		$('div.login label#password_l').stop().animate({left: 0, opacity: '0.7'});
	}
	//Errorok
	if ( $.getURLParam('loginerror') == 'wrong' ) alert('Nem megfelelő felhasználónév/jelszó!');
});
