var anims = [];
var currentDiv = -1;
var currentPics = [];
var fotoAnims = [];
var initialised = false;

function startGallery() {
	var myGallery = new gallery($('myGallery'), { 
		timed: true,
		showArrows: false,
		showCarousel: false,
		embedLinks: false
	});
}

function initAnims() {
	if (!initialised){
		initialised = true;
		try {
			startGallery();
		}catch(err){
		}
	}else{
		//return;
	}
	try {
		currentPics = [];
		fotoAnims = [];
		for(i=0;i<150;i++){
			fotoAnims[i] = new Animator();
			fotoAnims[i].addSubject(new CSSStyleSubject(document.getElementById(i), "off", "on"));
		}	
	}catch(err){
		
	}
	return ;
	for(i=1;i<7;i++){
		anims[i] = new Animator();
		anims[i].addSubject(new CSSStyleSubject(document.getElementById('div' + i), "off", "on"));
	}
	showDiv(null, 1);
}

function showDiv(aElement, nr) {
	return;
	if(currentDiv == nr){
		return;
	}
	if (aElement){
		aElement.href = "#?id=" + Math.random();
	}
	
	if(currentDiv >= 0){
		anims[currentDiv].reverse();
	}
	anims[nr].play();
	currentDiv = nr;
}



//window.addEvent('domready', startGallery);

function initPage(){
	initAnims();
}

function animateTo(a){
	if (currentPics[0] == a[0]){
		return;
	}
	for (i=0;i<currentPics.length-1;i++){
		fotoAnims[currentPics[i]].reverse();
	}
	for (i=0;i<a.length-1;i++){
		fotoAnims[a[i]].play();
    }
	$('caption').innerHTML = captions[a[a.length-1]-1];
	currentPics = a;
}

var fieldnames = { 'question' : 'Treść pytania', 'surname' : 'Imię i Nazwisko', 'email':'Adres e-mail'};

function validateNotEmpty(fieldlist) {
	result = true;
	for (i=0;i<fieldlist.length;i++){
		if (fieldlist[i].value == ''){
			fieldlist[i].className = 'inputerror';
			result = false;
			document.getElementById('errors').innerHTML += "Wymagane pole: " +
				fieldnames[fieldlist[i].name] + "<br />";
		}else{
			fieldlist[i].className = 'inputok';
		}
	}
	return result;
}

function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]

	if (user.match(userPat)==null) {
	    return false
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false
			}
		}
	    return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
	    return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   return false
	}

	if (len<2) {
	   return false
	}

	return true;
}


function checkMyMail(field) {
	result = true;
	filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	//if (filter.test(field.value)){
	if(emailCheck(field.value)){
		field.className = 'inputok';
	}else{
		field.className = 'inputerror';
		result = false;
		document.getElementById('errors').innerHTML += "Niepoprawny adres email.<br />";
	}
	return result;
}

function validate(form){
	document.getElementById('errors').innerHTML = "";
	vresult = validateNotEmpty([form.surname, form.email, form.question]);
	vresult = checkMyMail(form.email) && vresult;
	if(!vresult){
		document.getElementById('errors').className = 'showerrors';
	}
	return vresult;
}
