// JavaScript Document
var category;
var order = 'position asc';
var action = '';
var maincontent = 'content';
var _search = '';
var _searchtab = '';

var addadlink = '<a class="addNoticeBut" title="dodaj ogłoszenie" href="javascript:adduserad();">dodaj ogłoszenie!</a>';
var hideadlink = '<a class="addNoticeBut" title="ukryj formularz" href="javascript:hideuseradsform();">ukryj formularz (X)</a>';

var newscat_action = 'newscat';
var adscat_action = 'adscat';
var kursycat_action = 'kursycat';
var search_action = 'searchaction';

var reviewCallback = {
    hello: function(result) {
		alert(result);
    },
	jmpnext: function(result) {
		activatepagination();
    },
	jmpprev: function(result) {
		activatepagination();
    },
	jmpfirst: function(result) {
		activatepagination();
    },
	jmplast: function(result) {
		activatepagination();
    },
	/*========= engine =============*/
	listcategory: function(result) {
		$(maincontent).innerHTML = result;
		setupZoom();
    },
	searchservice: function(result) {
		$(maincontent).innerHTML = result;
    },
	adduserad: function(result) {
		$('adduserad').innerHTML = result;
    },
	doaddads: function(result) {
		if (result != 0) $('alert').innerHTML = result;
		else {
			$('adduserad').innerHTML = '<span class="addNoticeThx">Dziękujemy! Ogłoszenie zostało dodane i czeka na akceptację</span>';
			$('userformcontrols').innerHTML = addadlink;
		}
    },
	/*========= wysyłanie mejla ====*/
	sendEmail: function(result) {
		document.getElementById('info').innerHTML = result;
		document.getElementById('fld1').value = '';
		document.getElementById('fld2').value = '';
		document.getElementById('fld3').value = '';
		document.getElementById('fld4').value = '';
		document.getElementById('fld5').value = '';
    },
    nodeList: []
}

var main = new Main(reviewCallback);
var baza = new Baza(reviewCallback);
var engine = new Engine(reviewCallback);
var ads = new Ads(reviewCallback);
var remoteEmail = new Email(reviewCallback);

//============================obsługa programu===================================================
function hello(ret){
	main.hello(ret);
}
function jmpnext(){
	showloading();
	baza.jmpnext();
}
function jmpprev(){
	showloading();
	baza.jmpprev();
}
function jmpfirst(){
	showloading();
	baza.jmpfirst();
}
function jmplast(){
	showloading();
	baza.jmplast();
}
function getPayload(form){
	var payload = new Object();
    for(var i = 0; i < form.elements.length; i++) {
        if (form.elements[i].id) {
			payload[form.elements[i].id] = form.elements[i].value;
		}
    }
	return payload;
}
function getPayloadName(form){
	var payload = new Object();
    for(var i = 0; i < form.elements.length; i++) {
        if (form.elements[i].name) {
			payload[form.elements[i].name] = form.elements[i].value;
		}
    }
	return payload;
}
function setY(){
	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var d = document;
	var pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
	document.documentElement.scrollTop : document.body.scrollTop;
	return pY;
}
function showloading(txt){
	if ($('loader')) {
		if (txt) $('loadertxt').innerHTML = txt;
		else $('loadertxt').innerHTML = 'czekaj...';
		
		$('loader').style.marginTop = parseInt(setY()-10)+'px';
		$('loader').style.visibility = 'visible';
	}
}
function hideloading(){
	if ($('loader')) $('loader').style.visibility = 'hidden';
}
function activatepagination(){
	if (action == search_action) {
		searchservice(order);
	}
	else {
		//alert(category+' '+action.substr(0, action.indexOf('cat'))+' '+order);
		listcategory(category, action.substr(0, action.indexOf('cat')), order);
	}
}
/*====== engine ===========*/
function listcategory(cat, tab, ord){
	showloading();
	order = ord;
	engine.listcategory(cat, tab, ord);
}
function searchservice(ord){
	showloading();
	order = ord;
	engine.searchservice(_searchtab, _search, ord, 1);
}
function hideuseradsform(){
	$('userformcontrols').innerHTML = addadlink;
	$('adduserad').innerHTML = '';
}
function adduserad(){
	$('userformcontrols').innerHTML = hideadlink;
	showloading();
	engine.adduserad();
}
function doadduserad(form){
	showloading();
	payload = getPayload(form);
	payload['resources'] = getresources(form);
	payload['content'] = payload['adcontent'];
	if (!validatemail($('email').value)){
		$('alert').innerHTML = 'Niepoprawny format adresu e-mail';
		$('email').focus();
		return;
	}
	ads.doaddads(payload);
}
function getresources(form){
	var string = '';
	for(var i = 0; i < form.elements.length; i++) {
        if (form.elements[i].id && form.elements[i].id.indexOf('check_') != -1 && form.elements[i].checked) {
			if (string == '') string = form.elements[i].value;
			else string += '|'+form.elements[i].value;
		}
    }
	return string;
}

function sortcombo(){
	if (action == search_action) searchservice($('sortselect').value);
	else listcategory(category, action.substr(0, action.indexOf('cat')), $('sortselect').value);
}
/*====== nesletter=========*/
function checknewsletter(){
	if ($('newslettername').value == ''){
		$('newsletteralert').innerHTML = 'Podaj imię i nazwisko';
		$('newslettername').focus();
		return false;
	}
	else if ($('newsletteremail').value == ''){
		$('newsletteralert').innerHTML = 'Podaj adres e-mail';
		$('newsletteremail').focus();
		return false;
	}
	else if (!validatemail($('newsletteremail').value)){
		$('newsletteralert').innerHTML = 'Podaj poprawny adres e-mail';
		$('newsletteremail').focus();
		return false;
	}
	return true;
}
function validatemail(email){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email)) return true;
	else return false;
}
function sendEmail(form){
	remoteEmail.sendEmail(getPayloadName(form));
}
function checkfields(nr, total){
	var flag = true;
	for (var i = 1; i <= total; i++){
		if (i < nr){
			var innerflag = true;
			if (document.getElementById('fld'+i).value == "") {
				document.getElementById('statusfld'+i).innerHTML = '<font class="errorContact">Wypełnij pole!</font>';
				flag = false;
				innerflag = false;
			}
			if (document.getElementById('fld'+i).name.indexOf("email") != -1){
				if (!validatemail(document.getElementById('fld'+i).value)){
					document.getElementById('statusfld'+i).innerHTML = '<font class="errorContact">niepoprawny adres email!</font>';
					flag = false;
					innerflag = false;
				}
			}
			if (innerflag) document.getElementById('statusfld'+i).innerHTML = '<font class="goodContact">OK ;)</font>';
		}
		else document.getElementById('statusfld'+i).innerHTML = '';
	}
	document.getElementById('info').innerHTML = '<br />';
	return flag;
}
function getsearch(){
	document.location = loc+'/szukaj/strony/'+document.getElementById('szukaj').value;
	return false;
}
