/* skrypty dla luxlux.pl */

function ssd() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;

	if (document.getElementById('paper_left_shadow')) {
		document.getElementById('paper_left_shadow').style.height = document.getElementById('paper').offsetHeight+40+'px';
	}

	if (document.getElementById('paper_right_shadow')) {
		document.getElementById('paper_right_shadow').style.height = (document.getElementById('paper').offsetHeight-39)+40+'px';
	}

	var max_height = 0;
	if (document.getElementById('column_left') && document.getElementById('column_left').offsetHeight > max_height)
		max_height = document.getElementById('column_left').offsetHeight;
	if (document.getElementById('column_center') && document.getElementById('column_center').offsetHeight > max_height)
		max_height = document.getElementById('column_center').offsetHeight;
	if (document.getElementById('column_right') && document.getElementById('column_right').offsetHeight > max_height)
		max_height = document.getElementById('column_right').offsetHeight;

	if (max_height > 0) {
		document.getElementById('left_vert_spacer').style.height = max_height+40+'px';
		document.getElementById('right_vert_spacer').style.height = max_height+40+'px';
	}

	var max_poll_height = 0;
	if (document.getElementById('poll_left') && document.getElementById('poll_left').offsetHeight > max_poll_height)
		max_poll_height = document.getElementById('poll_left').offsetHeight;
	if (document.getElementById('poll_center') && document.getElementById('poll_center').offsetHeight > max_poll_height)
		max_poll_height = document.getElementById('poll_center').offsetHeight;
	if (document.getElementById('poll_right') && document.getElementById('poll_right').offsetHeight > max_poll_height)
		max_poll_height = document.getElementById('poll_right').offsetHeight;

	if (max_poll_height > 0) {
		document.getElementById('poll_left').style.height = max_poll_height+'px';
		document.getElementById('poll_center').style.height = max_poll_height+'px';
		document.getElementById('poll_right').style.height = max_poll_height+'px';
	}

	var one_column = document.getElementById('global-one-column');
	if (one_column) {
		one_column.style.height = one_column.offsetHeight+40+'px';
	}


	var max_two_columns_height = 0;

	if (document.getElementById('column-left') && document.getElementById('column-left').offsetHeight > max_two_columns_height)
		max_two_columns_height = document.getElementById('column-left').offsetHeight;

	if (document.getElementById('column-right') && document.getElementById('column-right').offsetHeight > max_two_columns_height)
		max_two_columns_height = document.getElementById('column-right').offsetHeight;

	if (max_two_columns_height > 0) {
		document.getElementById('global-two-columns').style.height = max_two_columns_height+80+'px';
	}

}

function show_permalink(addr) {
	prompt('Ręcznie skopiuj poniższy link do schowka.\nDzięki niemu wybrany komentarz będzie można jednoznacznie wskazać.', addr);
}

function addEvent(obj, type, fn) {
	if (obj.addEventListener)
		obj.addEventListener(type, fn, false);
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() {obj["e"+type+fn](window.event); }
		obj.attachEvent("on"+type, obj[type+fn]);
	}
}

function popup_photo(url) {
	window.open(url, 'photo', 'toolbar=no,status=no,menubar=no,resizable=yes');
}

var reg_fields = new Array();
var reg_img = new Array();
var reg_ok = new Array();

function init_reg_form() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;

	// Collect handlers

	if (!edit_page) {
		reg_fields['username'] = document.getElementById("fLogin");
		reg_img['username'] = document.getElementById("img-status-login");
	}

	reg_fields['passwd'] = document.getElementById("fPass");
	reg_fields['passwd2'] = document.getElementById("fPass2");
	reg_img['passwd'] = document.getElementById("img-status-passwd");

	reg_fields['question'] = document.getElementById("fQuestion");
	reg_img['question'] = document.getElementById("img-status-question");

	reg_fields['answer'] = document.getElementById("fAnswer");
	reg_img['answer'] = document.getElementById("img-status-answer");

	reg_fields['nick'] = document.getElementById("fNick");
	reg_img['nick'] = document.getElementById("img-status-nick");


	reg_fields['email'] = document.getElementById("fEmail");
	reg_img['email'] = document.getElementById("img-status-email");


	reg_fields['public'] = document.getElementById("fPublic");
	reg_img['public'] = document.getElementById("img-status-public");


	reg_fields['bday'] = document.getElementById("fBday");
	reg_fields['bmonth'] = document.getElementById("fBmonth");
	reg_fields['byear'] = document.getElementById("fByear");
	reg_img['bday'] = document.getElementById("img-status-bday");

	// Attach events

	if (!edit_page) {
		reg_fields['username'].onblur = reg_check_username;
	}

	reg_fields['passwd'].onblur = reg_check_passwd;
	reg_fields['passwd2'].onblur = reg_check_passwd;

	reg_fields['question'].onblur = reg_check_qa;
	reg_fields['answer'].onblur = reg_check_qa;

	reg_fields['nick'].onblur = reg_check_nick;

	reg_fields['email'].onblur = reg_check_email;

	reg_fields['bday'].onblur = reg_check_bday;
	reg_fields['bmonth'].onblur = reg_check_bday;
	reg_fields['byear'].onblur = reg_check_bday;

	document.getElementById("form-register").onsubmit = reg_check_form;

}

function reg_set_status(obj, status, msg) {
	if (status == 0) {
		reg_img[obj].src = reg_path_img+"tick.gif";
		reg_ok[obj] = true;
	} else {
		reg_img[obj].src = reg_path_img+"cross.gif";
		reg_ok[obj] = false;
	}
}

function reg_check_username() {
	if (reg_fields['username'].value.length < 3 || reg_fields['username'].value.length > 32) {
		reg_set_status('username', true);
		return;
	}

	var url = 'ajax_sprawdz';
	var pars = 'co=username&dane=' + encodeURIComponent(reg_fields['username'].value);

	var myAjax = new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onComplete: reg_check_username_done
		});
}

function reg_check_username_done(originalRequest) {
	var answer = originalRequest.responseText;

	reg_set_status('username', answer);
}

function reg_check_nick() {
	if (reg_fields['nick'].value.length < 3 || reg_fields['nick'].value.length > 32) {
		reg_set_status('nick', true);
		return;
	}

	var url = 'ajax_sprawdz';
	var pars = 'co=username&dane=' + encodeURIComponent(reg_fields['nick'].value);

	if (edit_page) {
		pars += '&edit=1';
	}

	var myAjax = new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onComplete: reg_check_nick_done
		});
}

function reg_check_nick_done(originalRequest) {
	var answer = originalRequest.responseText;

		reg_set_status('nick', answer);

}

function reg_check_passwd() {
	if (edit_page && reg_fields['passwd'].value.length == 0) {
		reg_set_status('passwd', false);
		return;
	}

	if (reg_fields['passwd'].value == reg_fields['passwd2'].value && reg_fields['passwd'].value.length >= 5 && reg_fields['passwd'].value.length <= 16) {
		reg_set_status('passwd', false);
	} else {
		reg_set_status('passwd', true);
	}
}

function reg_check_qa() {
	if (reg_fields['question'].value.length == 0) {
		reg_set_status('question', true);
	} else {
		reg_set_status('question', false);
	}

	if (reg_fields['answer'].value.length == 0) {
		reg_set_status('answer', true);
	} else {
		reg_set_status('answer', false);
	}
}

function isValidEMail(adres) {
	var urlRegex = /^[a-z0-9]+([_\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\.[a-z]{2,4}$/i;
	var match = adres.match(urlRegex);

	if (match != null) {
		return true;
	} else {
		return false;
	}
}

function reg_check_email() {
	if (isValidEMail(reg_fields['email'].value)) {
		reg_set_status('email', false);
	} else {
		reg_set_status('email', true);
	}
}

function reg_check_bday() {

	if (reg_fields['bday'].value != 0 && reg_fields['bmonth'].value != 0 && reg_fields['byear'].value != 0) {

		var url = 'ajax_sprawdz';
		var pars = 'co=date&year=' + reg_fields['byear'].value + "&month=" + reg_fields['bmonth'].value + "&day=" + reg_fields['bday'].value;

		var myAjax = new Ajax.Request(
			url,
			{
				method: 'get',
				parameters: pars,
				onComplete: reg_check_bday_done
			});

	} else if (reg_fields['bday'].value != 0 || reg_fields['bmonth'].value != 0 || reg_fields['byear'].value != 0) {
		reg_set_status('bday', true);
	} else {
		reg_set_status('bday', false);
	}
}

function reg_check_bday_done(originalRequest) {
	var answer = originalRequest.responseText;
	reg_set_status('bday', answer);
}

function reg_start_magic() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;

	init_reg_form();

	var sDate = new Date();
}

function reg_check_form() {
	if (!edit_page) {
		reg_check_username();
	}
	reg_check_passwd();
	reg_check_qa();
	reg_check_nick();
	reg_check_email();
	reg_check_bday();

	if (!edit_page) {
		if (reg_ok['username'] == false) return false;
	}
	if (reg_ok['passwd'] == false) return false;
	if (reg_ok['qa'] == false) return false;
	if (reg_ok['email'] == false) return false;
	if (reg_ok['nick'] == false) return false;
	if (reg_ok['bday'] == false) return false;

	return true;
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function comment_reply(obj) {
	if (!obj.hasChildNodes()) {
		return false;
	}

	fq = new filter_quote_class(obj);
	comment_field = document.getElementById('comment_form').fContent;

	if (comment_field.value.length) {
		comment_field.value += "\n";
	}

//	alert(obj.id);

	comment_str = fq.filter();

	comment_field.value += comment_str;

	window.scroll(0,0);
	comment_field.focus();
}

function filter_quote_class(obj) {
	this.obj = obj;

	this.filter = function() {

		this.comment_str = '';

		if (this.obj.hasChildNodes) {
			if (this.obj.id.substr(0,10) == 'komentarz_') {
				this.comment_id = this.obj.id.substr(10, this.obj.id.length);
			} else if (this.obj.className.substr(0,6) == 'quote_') {
				this.comment_id = this.obj.className.substr(6, this.obj.className.length);
			}

			if (this.comment_id) {
				this.comment_str = '[cytat komentarz="'+this.comment_id+'"]'+"\n";
			}

			for (this.i = 0; this.i < this.obj.childNodes.length; this.i++) {
				this.child_node = this.obj.childNodes[this.i];
//					alert('jestem w nodeName '+this.child_node.nodeName+' className '+this.child_node.className+' nodeValue '+this.child_node.nodeValue);

				if (this.child_node.nodeName.toLowerCase() == '#text' && this.obj.className == "comment_body") {
//					alert('dodaję nodeName '+this.child_node.nodeName+' className '+this.child_node.className+' nodeValue '+this.child_node.nodeValue);
					this.comment_str += this.child_node.nodeValue.trim();
				}

				if (this.child_node.nodeName.toLowerCase() == 'a' &&  (this.child_node.className == "comment_link" || this.child_node.className == "comment_email")) {
					this.comment_str += this.child_node.innerHTML.trim();
				}

				if (this.child_node.nodeName.toLowerCase() == 'blockquote' || (this.child_node.nodeName.toLowerCase() == 'div' && this.child_node.className == 'comment_body')) {
					this.fq = new filter_quote_class(this.child_node);
					this.comment_str += this.fq.filter();
//					this.tmp = this.fq.filter();
//					alert('zwócono '+this.tmp);
//					this.comment_str += this.tmp;
				}

			}

			if (this.comment_id) {
				this.comment_str += "\n"+'[/cytat]'+"\n";
			}

			return this.comment_str.replace(/<br( \/)?>/ig,"\n");

		} else {
			return '';
		}

	}
}

function comm_filter(obj) {
	if (!obj.hasChildNodes()) {
		return false;
	}

	if (obj.id.substr(0,10)=='komentarz_') {
		var comment_id = obj.id.substr(10, obj.id.length);
	} else if (obj.id.substr(0,6)=='quote_') {
		var comment_id = obj.id.substr(6, obj.id.length);
		if (prompt ("quote")) return;

	}

	var comment_str='[cytat komentarz="'+comment_id+'"]'+"\n";

	var j = 0;
	for (i = 0; i < obj.childNodes.length; i++) {
	j++;
	if (j > 10) break;
		if (obj.childNodes[i].nodeName.toLowerCase()=='p' && obj.childNodes[i].className!="quote_author") {
			comment_str += obj.childNodes[i].innerHTML.trim();
		}

		if (obj.childNodes[i].nodeName.toLowerCase()=='blockquote') {
			comment_str+= comm_filter(obj.childNodes[i]);
		}
	}

	comment_str+="\n"+'[/cytat]'+"\n";

	return comment_str;
}

function addBookmarkForBrowser(url) {

	if ((navigator.userAgent.toLowerCase().indexOf('msie') > 0) && window.external) {
		window.external.AddFavorite(url, document.title);
	}
	else if (window.sidebar) {
		window.sidebar.addPanel(document.title, url, "");
	}
	else {
		alert('Naci¶nij ctrl+d');
	}
	return false;
}

function set_as_homepage(obj, url) {

	if ((navigator.userAgent.toLowerCase().indexOf('msie') > 0)) {
		obj.style.behavior='url(#default#homepage)';
		obj.setHomePage(url);
	}

	return false;
}

function init_comm_emails() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;

	elems = document.getElementsByTagName("a");

	for (i = 0; i < elems.length; i++) {
		if (elems[i].className != 'comment_email') continue;
		var regex = /(.*)#(.*)/i;
		matches = elems[i].innerHTML.match(regex);
		elems[i].href = 'mailto:'+matches[1]+'@'+matches[2];
		elems[i].innerHTML = matches[1]+'@'+matches[2];
	}

}

function popup_resize(type) {

	photo1 = document.getElementById("photo");
	width = photo1.clientWidth;
	height = photo1.clientHeight;

	switch (type) {
		case 'gallery':
			window.resizeTo(width+50, height+110);
			break;
		case 'article':
			window.resizeTo(width+50, height+110);
			break;
		case 'comment':
			window.resizeTo(width+50, height+75);
			break;
	}
}

function raportuj(id) {

	if (!confirm("Na pewno chcesz zgłosić ten komentarz do usunięcia?")) {
		return;
	}

	var url = '/moderacja/ajax_raportuj';
	var pars = 'co=komentarz&dane=' + id;

	var myAjax = new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onComplete: raportuj_done
		});
}

function raportuj_done(originalRequest) {
	var answer = originalRequest.responseText;
	alert(answer);
}

function init_logo_replace() {
	function pad(n){return n<10 ? '0'+n : n}
	var data = new Date();
	var md = pad(data.getMonth()+1) + '' + pad(data.getDate());
	var ymd = data.getFullYear() + '' + pad(data.getMonth()+1) + '' + pad(data.getDate());
	if (md == '0214') {
		document.getElementById('top_logo').style.backgroundImage = 'url(/img/logo_luxlux_walentynki.gif)';
	}
	if (ymd == '20100301') {
		document.getElementById('top_logo').style.backgroundImage = 'url(/img/logo_luxlux_chopin.gif)';
	}
	if (md == '0308') {
		document.getElementById('top_logo').style.backgroundImage = 'url(/img/logo_luxlux_kobiety.gif)';
	}
	if (ymd >= '20100331' && ymd <= '20100405') {
		document.getElementById('top_logo').style.backgroundImage = 'url(/img/logo_luxlux_wielkanoc.gif)';
	}
	if (ymd <= '20100418') {
		document.getElementById('top_logo').style.backgroundImage = 'url(/img/logo_luxlux_zaloba.jpg)';
	}
	if (md >= '0502' && md <= '0503') {
		document.getElementById('top_logo').style.backgroundImage = 'url(/img/logo_luxlux_maj.gif)';
	}
	if (md == '0526') {
		document.getElementById('top_logo').style.backgroundImage = 'url(/img/logo_luxlux_dzienmatki.gif)';
	}
	if (ymd == '20100611' || ymd == '20100612' || ymd == '20100711') {
		document.getElementById('top_logo').style.backgroundImage = 'url(/img/logo_luxlux_mundial.gif)';
	}
}

document.observe("load", ssd);
document.observe("dom:loaded", init_comm_emails);
document.observe("dom:loaded", init_logo_replace);

document.observe("dom:loaded", function() {
	window.fbAsyncInit = function() {
		FB.init({appId: 'a9d92ba216c544f61a752bf756df9a10', status: true, cookie: true,
			xfbml: true});
	};
	(function() {
		var e = document.createElement('script'); e.async = true;
		e.src = document.location.protocol +
		'//connect.facebook.net/pl_PL/all.js';
		document.getElementById('fb-root').appendChild(e);
	}());
});
