Event.observe(window, 'load', function() {
	if($$('div.topmenuitemleft') && $$('div.topmenuitemright')) {
		$$('div.topmenuitemleft').each(function(el){
			el.onmouseover  = function(){ this.className = 'topmenuitemleft_hover'; }
			el.onmouseout  = function(){ this.className = 'topmenuitemleft'; }
		});
		$$('div.topmenuitemright').each(function(el){
			el.onmouseover  = function(){ this.className = 'topmenuitemright_hover'; }
			el.onmouseout  = function(){ this.className = 'topmenuitemright'; }
		});
	}
	if($('registerbutton')) { Event.observe('registerbutton', 'click', userRegister); }
	if($('updatebutton')) { Event.observe('updatebutton', 'click', userUpdate); }
	
	if($('date')) {
		var samplecal = new scal('cal', 'date', { updateformat: 'mmmm dd, yyyy' });
	}
	
	makeItCount('commenttextarea', 500, false);
	makeItCount('updatenews', 500, false);
});

function userRegister(){
	if($('selectstate').style.display == 'block') {
		var city = $F('uscity');
	} else {
		var city = $F('city');
	}
	var parameters = 	"?n="+$F('name')+
						"&u="+$F('username')+
						"&p1="+$F('regpassword')+
						"&p2="+$F('regpassword2')+
						"&e1="+$F('email')+
						"&e2="+$F('email2')+
						"&recaptcha_challenge_field="+$F('recaptcha_challenge_field')+
						"&recaptcha_response_field="+$F('recaptcha_response_field')+
						"&ua="+$F('uacheckbox')+
						"&c="+$F('country')+
						"&ci="+city+
						"&s="+$F('state')+
						"&z="+$F('zip');
	ajaxer($('registerresponse'), 'doregister.php', parameters);
	window.scrollTo(0,0); //goto top to see notification
	Recaptcha.reload(); //refresh the captcha
}
function userUpdate(){
	if($('selectstate').style.display == 'block') {
		var city = $F('uscity');
	} else {
		var city = $F('city');
	}
	
	var parameters = 	"?n="+$F('name')+
						"&p1="+$F('regpassword')+
						"&p2="+$F('regpassword2')+
						"&e1="+$F('email')+
						"&e2="+$F('email2')+
						"&c="+$F('country')+
						"&ci="+city+
						"&s="+$F('state')+
						"&z="+$F('zip');
	ajaxer($('updateresponse'), 'doupdate.php', parameters);
}

function getPosts(gpt,user,postlen){
	if(!gpf) {
		var gpf=0;
	} else {
		gpf=gpf+10;
	}
	var parameters = 	"?gpf="+gpf+
						"&gpt="+gpt+
						"&user="+user+
						"&postlen="+postlen;
	ajaxer($('recentpostlist'), 'dogetposts.php', parameters);
}

function getAdminTask(mid){
	var parameters = 	"?mid="+mid;
	ajaxer($('taskdetails'), 'dogetadmintask.php', parameters);
}

function testUsername(){
	var parameters =	"?u="+$F('username');
	ajaxer($('testusername'), 'testusername.php', parameters);
}

function passwordStrength() {
	var strength = document.getElementById('strength');
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{7,}).*", "g");
	var pwd = document.getElementById("regpassword");
	if (pwd.value.length==0) {
		strength.innerHTML = ' ';
	} else if (false == enoughRegex.test(pwd.value)) {
		strength.innerHTML = '<span style="color:red"> Minimum length is 7 characters.</span>';
	} else if (strongRegex.test(pwd.value)) {
		strength.innerHTML = '<span style="color:green"> Strong!</span>';
	} else if (mediumRegex.test(pwd.value)) {
		strength.innerHTML = '<span style="color:orange"> Medium!</span>';
	} else { 
		strength.innerHTML = '<span style="color:red"> Weak!</span>';
	}
}

function passwordMatch() {
	var pwd1 = document.getElementById("regpassword");
	var pwd2 = document.getElementById("regpassword2");
	var pwdmatch = document.getElementById("passwordmatch");
	if (pwd2.value.length==0) {
		pwdmatch.innerHTML = ' ';
	} else if (pwd1.value != pwd2.value){
		pwdmatch.innerHTML = '<span style="color:red"> Passwords do not match!</span>';
	}
	else {
		pwdmatch.innerHTML = '<span style="color:green"> Successfull password match.</span>';
	}
}

function validateEmail() {
    var emailReg = "^[\\w-_\.+]*[\\w-_\.]\@([\\w]+\\.)+[\\w]+[\\w]$";
    var emailRegex = new RegExp(emailReg);
   	var email = document.getElementById("email");
   	var emailresponse = document.getElementById("validemail");
   	if (email.value.length==0) {
   		emailresponse.innerHTML = ' ';
   	} else if (false == emailRegex.test(email.value)) {
   		emailresponse.innerHTML = '<span style="color:red"> Email format is not valid!</span>';
   	} else {
   	   	emailresponse.innerHTML = '<span style="color:green"> Email format is valid!</span>';
	}
 }    
 
 function emailMatch() {	var email1 = document.getElementById("email");	
	var email2 = document.getElementById("email2");
	var emailmatch = document.getElementById("emailmatch");	
	if (email2.value.length==0) {		
		emailmatch.innerHTML = ' ';	
		} else if (email1.value != email2.value){		
			emailmatch.innerHTML = '<span style="color:red"> Emails do not match!</span>';	
		} else {		
			emailmatch.innerHTML = '<span style="color:green"> Successfull email match.</span>';	
		}
		validateEmail();
}

function showZipfield() {
	var indice = $F("country"); //$F() grabs the the value of the form element's given id
	if(indice == "United States") {
		document.getElementById("selectstate").style.display = 'block';
        document.getElementById("cityfield").style.display = 'none';
    }
    else{
		document.getElementById("selectstate").style.display = 'none';
        document.getElementById("cityfield").style.display = 'block';
    } 
}

function validateZip() {
	var zipcodereg = new RegExp("^[0-9]{5}$", "g");
	var zipcode = document.getElementById("zip");
	var zipcoderesponse = document.getElementById("zipresponse");
	if (zipcode.value.length<5) {
		zipcoderesponse.innerHTML = " ";
	} else if (false == zipcodereg.test(zipcode.value)) {
		zipcoderesponse.innerHTML = "<span style='color:red'>Zip code must contain only 5 numbers.</span>";
	} else {
		zipcoderesponse.innerHTML = " ";
	}
}

function validateusCity() {
	var uscityreg = new RegExp("^[a-zA-Z -]+$", "g");
	var uscity = document.getElementById("uscity");
	var uscityresponse = document.getElementById("uscityresponse");
	if (uscity.value.length==0) {
		uscityresponse.innerHTML = " ";
	} else if (false == uscityreg.test(uscity.value)) {
		uscityresponse.innerHTML = "<span style='color:red'>City names can only contain letters.</span>";
	} else {
		uscityresponse.innerHTML = "";
	}
}
function validateCity() {
	var cityreg = new RegExp("^[a-zA-Z -]+$", "g");
	var city = document.getElementById("city");
	var cityresponse = document.getElementById("cityresponse");
	if (city.value.length==0) {
		cityresponse.innerHTML = " ";
	} else if (false == cityreg.test(city.value)) {
		cityresponse.innerHTML = "<span style='color:red'>City names can only contain letters.</span>";
	} else {
		cityresponse.innerHTML = "";
	}
}
function validateName() {
	var namereg = new RegExp("^[a-zA-Z -]+$", "g");
	var name = document.getElementById("name");
	var nameresponse = document.getElementById("nameresponse");
	if (name.value.length==0) {
		nameresponse.innerHTML = " ";
	} else if (false == namereg.test(name.value)) {
		nameresponse.innerHTML = "<span style='color:red'>Names can only contain letters.</span>";
	} else {
		nameresponse.innerHTML = "";
	}
}
function ajaxer(container, url, options) {
	container.innerHTML = "<img id='loadingAnim' src='images/loadingAnim_bg.gif' />"; //makes it look like its actually doing something by putting that loading animation where the response is going to be
	var ajax = new Ajax.Updater(container, url, {method: 'get', parameters: options}); //update response
}


function divRemove(divname)
	{
	var images = document.getElementById('foodpics');
	var divremove = document.getElementById(divname);
	images.removeChild(divremove);
	}
	
function recentpostpreview(image,path)
	{
	var previewcell=document.getElementById('recentpreviewtable').rows[0].cells;
	if(image){
		previewcell[1].innerHTML = "<img src=resize.php?pic="+image+"&s=n&t=p&w=100&path="+path+"/>";
	} else {
		previewcell[1].innerHTML = "";
	}
	}
