// load all the functions
addOnLoad = function() {
	var wo = window.onload ? window.onload : function() {};
	var f = arguments;
		window.onload = function() {
			for (var i=0,j=f.length;i<j;i++) {
			f[i]();
		}
		wo();
	}
}

//validates forms with action "http://edirekt.creatim-rp.com/...", text fields only (notrequired class is not validated); email class also validates email
function validate() {

    var form;

    var fields = new Array();
    var fieldNum = 0;

    for (var i=0; i<document.forms.length; i++) {
        if (document.forms[i].action.search('http://edirekt.creatim-rp.com/') != -1) {
            for (var j=0; j<document.forms[i].elements.length; j++) {
                if (document.forms[i].elements[j].type == "submit") {
                    document.forms[i].elements[j].onclick = function() {
                        for (var z=0; z<fields.length; z++) {
                            if (fields[z].type == "text" && fields[z].className != "notrequired" ) {
                                if (fields[z].value == "") {
                                    alert("Vpišite manjkajoče podatke");
                                    fields[z].focus();
                                    return false;
                                }
                                else {
                                    if (fields[z].className == "email") {
                                        if (!checkEmail(fields[z].value)) {
                                            alert("Napačna e-pošta");
                                            fields[z].focus();
                                            return false;
                                        }
                                    }
                                }
                            }
                        }
                        return true;
                    };
                }
                else {
                    fields[fieldNum] = document.forms[i].elements[j];
                    fieldNum++;
                }
            }
        }
    }
};

function checkEmail(s) {
	return checkRegEx(s, /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
}

function checkRegEx(s, RE) {
	if (s.match(RE)) {
		return true;
	} else {
		return false;
	}
}

addOnLoad(validate);
/**************************** event handling **********************************/
var aeOL = [];
function addEvent(o, n, f, l) {
	var a = 'addEventListener', h = 'on'+n, b = '', s = '';
	if (o[a] && !l) return o[a](n, f, false);
	o._c |= 0;
	if (o[h]) {
		b = '_f' + o._c++;
		o[b] = o[h];
	}
	s = '_f' + o._c++;
	o[s] = f;
	o[h] = function(e) {
		e = e || window.event;
		var r = true;
		if (b) r = o[b](e) != false && r;
    if (typeof o[s] == 'function') {  // ie7 problem
      r = o[s](e) != false && r;
    }
		return r;
	};
	aeOL[aeOL.length] = { o: o, h: h };
};

addEvent(window, 'unload', function() {
	for (var i = 0; i < aeOL.length; i++) with (aeOL[i]) {
		o[h] = null;
		for (var c = 0; o['_f' + c]; c++)
			o['_f' + c] = null;
	}
});
