
var preload_images_list = [];
var preload_images_count = 0;
var preload_images_basepath = 'layout/';

function preload_create_image(sciezka)
{
	preload_images_list.push(new Image());
	preload_images_list[preload_images_count].src = sciezka;
	preload_images_count++;
}

load_images = function()
{
}

window.onload = function()
{
	var els = document.getElementsByTagName('A');
	for(var i=0; i<els.length; i++)
	{
		els[i].onfocus = function() { this.blur(); }
	}
	load_images();

	var slidesContainer = document.getElementById('slidescontainer');
	try { slidesContainer.style.visibility = 'visible'; } catch(e) { }

	window.setTimeout(function() { bannflashload(); }, 500);
}

bannflashload = function()
{
}

checkEmail = function(email)
{
	return email.match(/^[a-zA-Z0-9\.\-_]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,}$/);
}

basename = function(path, suffix)
{
	var b = path.replace(/^.*[\/\\]/g, '');

	if (typeof(suffix) == 'string' && b.substr(b.length - suffix.length) == suffix)
	{
		b = b.substr(0, b.length - suffix.length);
	}

	return b;
}

/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */

function FormValidation(sFormID, hElValidate, bIsPostBack)
{
	this.messages = [];
	this.FormObj = document.getElementById(sFormID);
	this.ValidationHandler = hElValidate;
	this.IsPostBack = bIsPostBack;

	this.init();
}

FormValidation.CanBeValidated = /* static */ function(tag_name, f_type)
{
	tag_name = tag_name.toLowerCase();
	f_type = f_type.toLowerCase();

	if(tag_name == 'input' && (f_type == 'submit' || f_type == 'button'))
		return false;

	if(tag_name == 'input' || tag_name == 'select' || tag_name == 'textarea')
		return true;

	return false;
}

FormValidation.CheckMail = /* static */ function(mail)
{
	return mail.match(/^[a-zA-Z0-9\.\-_]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,}$/);
}

FormValidation.prototype.init = function(form_name, h_elValidate)
{
	if(typeof(this.FormObj) == 'object')
	{
		var self = this;

		this.FormObj.onsubmit = function() { return self.ValidateAll(true); }

		for(var i=0; i < this.FormObj.elements.length; i++)
		{
			var elTagName = self.FormObj.elements[i].tagName;
			var elType = self.FormObj.elements[i].type;

			if(FormValidation.CanBeValidated(elTagName, elType))
			{
				if((elType.toLowerCase() == 'checkbox') || (elType.toLowerCase() == 'radio'))
				{
					self.FormObj.elements[i].onclick = function() { this.blur(); self.ValidateElement(this, false); }
				}
				else
				{
					self.FormObj.elements[i].className = 'formvalel_css';
					self.FormObj.elements[i].onfocus = function() { this.className = 'formvalel_css_focus'; }
					self.FormObj.elements[i].onblur  = function() { self.ValidateElement(this, false); }
				}
				if(this.IsPostBack)
				{
					self.ValidateElement(this.FormObj.elements[i], false);
				}
			}
		}
	}
}

FormValidation.prototype.ValidateElement = function(elObj, showalert)
{
	var valret = {'err': false, 'msg': ''};
	var bChangeCssClass = true;
	var elObjTagName = elObj.tagName.toLowerCase();
	var elObjType = elObj.type.toLowerCase();

	if(elObjTagName == 'input' && (elObjType == 'checkbox' || elObjType == 'radio'))
		bChangeCssClass = false;

	if(this.ValidationHandler)
	{
		valret = this.ValidationHandler(elObj, showalert);
		if(typeof(valret) != 'object') valret = {'err': false, 'msg': ''}
	}

	if(!valret.err)
	{
		if(bChangeCssClass) try { elObj.className = 'formvalel_css'; } catch(e) { }

		return true;
	}

	if(showalert && (valret.msg != '')) alert(valret.msg);

	if(bChangeCssClass) try { elObj.className = 'formvalel_css_err'; } catch(e) { }
	try { if(showalert) elObj.focus(); } catch(e) { }

	return false;
}

FormValidation.prototype.ValidateAll = function(showalert)
{
	var self = this;
	var not_err = true;

	if(typeof(this.FormObj) == 'object')
	{
		for(var i=0; i < this.FormObj.elements.length; i++)
		{
			if(FormValidation.CanBeValidated(this.FormObj.elements[i].tagName, this.FormObj.elements[i].type))
			{
				not_err = not_err && self.ValidateElement(this.FormObj.elements[i], showalert);
			}
		}
		return not_err;
	}

	return false;
}

/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------------------------- */

var LoginValidate = null;
var elValidate_badlogin = '';
var elValidate_badpass = '';

h_elValidate_login = function(elObj, showalert)
{
	switch(elObj.name)
	{
		case 'userlogin':
			// if((elObj.value == '') || !FormValidation.CheckMail(elObj.value)) return h_elValidate_login_BadLogin;
			if(elObj.value == '') return {'err': true, 'msg': elValidate_badlogin};
			break;

		case 'userpassword':
			if(elObj.value == '') return {'err': true, 'msg': elValidate_badpass};
			break;
	}

	return {'err': false, 'msg': ''};
}

/* --------------------------------------------------------------------------------------------- */

var UserDataValidate = null;
var elValidate_badusername = '';
var elValidate_bademail = '';
var elValidate_bademailrep = '';
var elValidate_bademailmatch = '';
var elValidate_badcurrentpass = '';
var elValidate_badpassrep = '';
var elValidate_badpassmatch = '';
var elValidate_usernamechangeq = '';
var elValidate_newsletterchangeq = '';

h_elValidate_userdata = function(elObj, showalert)
{
	var ret = {'err': false, 'msg': ''};

	switch(elObj.name)
	{
		case 'username':
			if(elObj.value == '') return {'err': true, 'msg': elValidate_badusername};
			else
			if(showalert && !b_elValidate_create)
			{
				var elObjCurr = document.getElementById('usernamecurr');

				if((elObj.value != elObjCurr.value) && !window.confirm(elValidate_usernamechangeq))
					return {'err': true, 'msg': ''};
			}
			break;

		case 'email':
			if(elObj.value == '') return {'err': true, 'msg': elValidate_bademail};
			break;

		case 'emailrep':
			if(elObj.value == '') return {'err': true, 'msg': elValidate_bademailrep};
			else
			{
				var oEmail = document.getElementById('email');

				if(oEmail.value != elObj.value) return {'err': true, 'msg': elValidate_bademailmatch};
			}
			break;

		case 'newpass':
			if(elObj.value != '' || b_elValidate_create)
			{
				var oPassRep = document.getElementById('newpassrep');
				var oPassCurrent = document.getElementById('currpass');

				if(b_elValidate_create)
				{
					if(elObj.value == '') return {'err': true, 'msg': elValidate_badpass};
					else if(oPassRep.value == '') return {'err': true, 'msg': elValidate_badpassrep};
					else if(oPassRep.value != elObj.value) return {'err': true, 'msg': elValidate_badpassmatch};
				}
				else
				{
					if(oPassRep.value == '') return {'err': true, 'msg': elValidate_badpassrep};
					else if(oPassRep.value != elObj.value) return {'err': true, 'msg': elValidate_badpassmatch};
					else if(oPassCurrent.value == '') return {'err': true, 'msg': elValidate_badcurrentpass};
				}
			}
			break;

		case 'newsletter':
			if(!elObj.checked && showalert && !b_elValidate_create)
			{
				if(!window.confirm(elValidate_newsletterchangeq))
					elObj.checked = 'checked';
			}
			break;
	}

	return {'err': false, 'msg': ''};
}

/* --------------------------------------------------------------------------------------------- */

var RegisterNewSrValidate = null;
var elValidate_emptyserial = '';

h_elValidate_regnewsr = function(elObj, showalert)
{
	switch(elObj.name)
	{
		case 'serial':
			if(elObj.value == '') return {'err': true, 'msg': elValidate_emptyserial};
			break;
	}
	return {'err': false, 'msg': ''};
}

/* --------------------------------------------------------------------------------------------- */

var PassRecValidate = null;
var elValidate_bademail = '';

h_elValidate_passrec = function(elObj, showalert)
{
	switch(elObj.name)
	{
		case 'email':
			if((elObj.value == '') || !checkEmail(elObj.value)) return {'err': true, 'msg': elValidate_bademail};
			break;
	}
	return {'err': false, 'msg': ''};
}

var NewsletterValidate = null;
h_elValidate_newsletter = h_elValidate_passrec;

/* --------------------------------------------------------------------------------------------- */

var PassRecValidate = null;
var elValidate_bademail = '';

h_elValidate_passrec = function(elObj, showalert)
{
	switch(elObj.name)
	{
		case 'email':
			if((elObj.value == '') || !checkEmail(elObj.value)) return {'err': true, 'msg': elValidate_bademail};
			break;
	}
	return {'err': false, 'msg': ''};
}

/* --------------------------------------------------------------------------------------------- */

