
window.onload = function() {
    clearClassFormElements('');
	MM_preloadImages('images/cat_over.gif','images/cat.gif'); 
	MM_reloadPage(true);
};
	
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}


function getObj(name) {
	if (document.getElementById) this.obj = document.getElementById(name);
	else if (document.all) this.obj = document.all[name];
	else if (document.layers) this.obj = document.layers[name];
	return this.obj;
}

function submitform() {
	document.vote.submit();
}

function submitvote() {
	//document.vote.clickedVote.value = "true";
	document.vote.submit();
}

function activateStars(cat, score) {
	for(var i=1;i<6;i++) {
		if (document.images && i<=score) getObj(cat+'_'+i).src = star_on.src;
		else if (document.images && i>score) getObj(cat+'_'+i).src = star_off.src;
	}
	eval('document.vote.'+cat+'.value='+score);
}





/* add event function */
function addEvent(element, type, handler) {
    // assign each event handler a unique ID
    if (!handler.$$guid) handler.$$guid = addEvent.guid++;
    // create a hash table of event types for the element
    if (!element.events) element.events = {};
    // create a hash table of event handlers for each element/event pair
    var handlers = element.events[type];
    if (!handlers) {
        handlers = element.events[type] = {};
        // store the existing event handler (if there is one)
        if (element["on" + type]) {
            handlers[0] = element["on" + type];
        }
    }
    // store the event handler in the hash table
    handlers[handler.$$guid] = handler;
    // assign a global event handler to do all the work
    element["on" + type] = handleEvent;
};
// a counter used to create unique IDs
addEvent.guid = 1;

function removeEvent(element, type, handler) {
    // delete the event handler from the hash table
    if (element.events && element.events[type]) {
        delete element.events[type][handler.$$guid];
    }
};

function handleEvent(event) {
    // grab the event object (IE uses a global event object)
    event = event || window.event;
    // get a reference to the hash table of event handlers
    var handlers = this.events[event.type];
    // execute each event handler
    for (var i in handlers) {
        this.$$handleEvent = handlers[i];
        this.$$handleEvent(event);
    }
};


function clearClassFormElements(div) {
    if(div) {
        elements = document.getElementById(div);
    } else {
        elements = document;
    }

	if(elements.getElementsByTagName('form')) {
	    
		/* list all input elements in a form */
		var input = elements.getElementsByTagName('input');
		for (var i=0;i<input.length;i++) { 
			/* all list elements in array */
			var formelement = input[i];
			addEvent(formelement, 'change', function() {
				if(this.className == 'inputerror') {
					this.className = '';
				}
				
			});
			if(div) {
			   if(formelement.className == 'inputerror') {
					formelement.className = '';
				} 
			}
			
		}
		var select = elements.getElementsByTagName('select');
		for (var i=0;i<select.length;i++) { 
			/* all list elements in array */
			var formelement = select[i];
			addEvent(formelement, 'change', function() {
				if(this.className == 'inputerror') {
					this.className = '';
				}
			});
			if(div) {
			   if(formelement.className == 'inputerror') {
					formelement.className = '';
				} 
			}
		}
		var textarea = elements.getElementsByTagName('textarea');
		for (var i=0;i<textarea.length;i++) { 
			/* all list elements in array */
			var formelement = textarea[i];
			addEvent(formelement, 'change', function() {
				if(this.className == 'inputerror') {
					this.className = '';
				}
			});
			if(div) {
			   if(formelement.className == 'inputerror') {
					formelement.className = '';
				} 
			}
		}
	}
}


function checkSignup() {
	var error = false;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	form = document.getElementById('signup');
	
	if(form.signup_firstname.value=='') {
		form.signup_firstname.className="inputerror";
		error = true;
	} 
	if(form.signup_surname.value=='') {
		form.signup_surname.className="inputerror";
		error = true;
	}
	
	if(form.signup_gender.selectedIndex<1) {
		form.signup_gender.className="inputerror";
		error = true;
	}

	if(form.signup_dateofbirthday.selectedIndex <1) {
		form.signup_dateofbirthday.className="inputerror";
		error = true;
	}
	if(form.signup_dateofbirthmonth.selectedIndex <1) {
		form.signup_dateofbirthmonth.className="inputerror";
		error = true;
	}
	if(form.signup_dateofbirthyear.selectedIndex <1) {
		form.signup_dateofbirthyear.className="inputerror";
		error = true;
	}

	if(!filter.test(form.signup_email.value)) {
		form.signup_email.className="inputerror";
		error = true;
	}
	
	

	if(form.signup_password.value.length < 6) {
		form.signup_password.className="inputerror";
		error = true;
	} else if(form.signup_password_check.value.length<6) {
		form.signup_password_check.className="inputerror";
		error = true;
	} else if(form.signup_password_check.value!=form.signup_password.value) {
		form.signup_password.className="inputerror";
		form.signup_password_check.className="inputerror";
		error = true;
	} else {
		form.signup_password.className="input";
		form.signup_password_check.className="input";
	}
	
	if(form.signup_zipcode.value=='') {
		form.signup_zipcode.className="inputerror";
		error = true;
	}
	
	if(form.signup_city.value=='') {
		form.signup_city.className="inputerror";
		error = true;
	}
	
	if(form.signup_country.selectedIndex <1) {
		form.signup_country.className="inputerror";
		error = true;
	}

	if(form.signup_acceptterms.checked!=true) {
		document.getElementById('signup_term').className = "inputerror";
		error = true;
	} else {
		document.getElementById('signup_term').className = "input";
	}
	
	if(error) {
		document.getElementById('error').style.display = 'block';
		return false;
	} else {
		return true;
	}
}

