/**
 * (c) 2007 by Michal Ruzicka (admin@teenage.cz, http://php.teenage.cz)
 */


function isOk(el)
{
    if(el.type=='checkbox')
        return (el.checked?true:false);
    var val = el.value;
    if(val == '' || val == 0 || val == '0000-00-00' || val == '0000-00-00 00:00:00')
        return false;
    if(el.name.indexOf('email') > -1){
        var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
        return emailPattern.test(val);
    }
    return true;
}

function validateform(form, required){
	var first = 0;
	var elm = document.forms[form].elements;
	var to = required.length;

    for(i=0;i<to;i++){
    	if(!elm[required[i]])
    		continue;

    	if(!isOk(elm[required[i]])){
    		first = (first == 0 ? i : first);
    		if(elm[required[i]].type == 'checkbox')
    		   elm[required[i]].parentNode.className = 'rqrd';
    		else
    		   elm[required[i]].className = 'inp rqrd';
    		elm['save'].disabled = true;
    	}

    	elm[required[i]].onchange = elm[required[i]].onkeyup = function(){
            if(this.type == 'checkbox')
                this.parentNode.className = (isOk(this) ? '' : 'rqrd');
            else
                this.className = (isOk(this) ? 'inp' : 'inp rqrd');
    		checkit(this.form, required);
    	}
    }
}

function checkit(form, required){
	var fck = false;
	var elm = form.elements;
	for(i=0;i<required.length;i++){
		if(!isOk(elm[required[i]]))
			fck = true;
	}
	if(fck == true)
		form.onsubmit = function(){return false};
	else
		form.onsubmit = function(){return true};
	elm['save'].disabled = fck;
}

function getJS(url, callback)
{
    $.ajax({
        type: "GET",
        cache: true,
        url: url,
        async: false,
        dataType: "script",
        success: callback
    });
}

