function $$(e){

	if(typeof e=='string')e=document.getElementById(e);

	return e;

};

function collect(a,f){

	var n=[];

	for(var i=0;i<a.length;i++){

		var v=f(a[i]);

		if(v!=null)n.push(v)

	}

	return n

};



ajax={};

ajax.x=function(){

	try{

		return new ActiveXObject('Msxml2.XMLHTTP')

	}catch(e){

		try{

			return new ActiveXObject('Microsoft.XMLHTTP')

		}catch(e){

			return new XMLHttpRequest()

		}

	}

};

ajax.serialize=function(f){

	var g=function(n){

		return f.getElementsByTagName(n)

	};

	var nv=function(e){

		if(e.name)return encodeURIComponent(e.name)+'='+encodeURIComponent(e.value);

		else return ''

	};

	var i=collect(g('input'),

	function(i){

		if((i.type!='radio'&&i.type!='checkbox')||i.checked)return nv(i)});var s=collect(g('select'),nv);var t=collect(g('textarea'),nv);return i.concat(s).concat(t).join('&');

};

ajax.send=function(u,f,m,a){

	var x=ajax.x();

	x.open(m,u,true);

	x.onreadystatechange=function(){

		if(x.readyState==4)f(x.responseText)

	};

	if(m=='POST')

	x.setRequestHeader('Content-type','application/x-www-form-urlencoded');

	x.send(a)

};

ajax.get=function(url,func){

	ajax.send(url,func,'GET')

};

ajax.gets=function(url){

	var x=ajax.x();

	x.open('GET',url,false);

	x.send(null);

	return x.responseText

};

ajax.post=function(url,func,args){

	ajax.send(url,func,'POST',args);

};

ajax.update=function(url,elm){

	var e=$$(elm);

	var f=function(r){

		e.innerHTML=r

	};

	ajax.get(url,f)

};

ajax.submit=function(url,elm,frm){

	var e=$$(elm);

	var f=function(r){

		e.innerHTML=r;

	};

	ajax.post(url,f,ajax.serialize(frm));

};





function jsUpload(upload_field)

{

    upload_field.form.submit();

    document.getElementById('upload_status').value = "uploading file...";

    upload_field.disabled = true;

}





var erroru = "";

var errore = "";

var Error = "";

var base_url = "http://www.upafterdusk.com/";

var img_url = "http://www.upafterdusk.com/";

var login_type = '';

var ltype = '';

var strError = '';



function ssResponse(response) {

	if(response) {

         document.getElementById("varesults").innerHTML = response;

    }

}



function esResponse(response) {

	if(response) {						      

         document.getElementById("eresults").innerHTML = response;

    }

}



function alistResponse(response) {

	if(response) {						      

         document.getElementById("alist_div").innerHTML = response;

    }

}



function venueResults(form,sstring){

	scroll(0, 300);

	document.getElementById("varesults").innerHTML = "<img src=\"" + img_url + "images/loadingAnimation.gif\">";

	if(sstring == ''){

  		ajax.post(base_url + 'handlers/search.php', ssResponse, ajax.serialize(form) + '&submit=submit');

	}else{

  		ajax.post(base_url + 'handlers/search.php', ssResponse, sstring + '&submit=submit');

	}

	registerClose();

}



function eResults(edate, sort, dir){

	document.getElementById("eresults").innerHTML = "<img src=\"" + img_url + "images/loadingAnimation.gif\">";

	document.getElementById("date").innerHTML = "Events on " + edate;

	document.getElementById("cal").innerHTML = "<a href=\"javascript:NewCal('" + edate + "','MMMddyyyy',false,12,'dropdown',true)\"><img src=\"" + img_url + "images/cal.gif\" width=\"16\" height=\"16\" border=\"0\" alt=\"Pick a date\" /></a>";

	document.getElementById("cal_text").innerHTML = "<a href=\"javascript:NewCal('" + edate + "','MMMddyyyy',false,12,'dropdown',true)\"></a> <a href=\"javascript:NewCal('" + edate + "','MMMddyyyy',false,12,'dropdown',true)\">Future Events</a>";

  	ajax.post(base_url + 'handlers/esearch.php', esResponse, 'date=' + edate + '&sort=' + sort + '&dir=' + dir + '&submit=submit');

}



function artistResults(form,sstring){

	scroll(0, 300);

	if(sstring == ''){

  		ajax.post(base_url + 'handlers/search.php', ssResponse, ajax.serialize(form) + '&submit=submit');

	}else{

  		ajax.post(base_url + 'handlers/search.php', ssResponse, sstring + '&submit=submit');

	}

	registerClose();

}



function toggleSearchArea(type){

	scroll(0, 0);

	document.getElementById('search_div').style.display='block'; 

	transBody(); 

	document.getElementById("search_div").innerHTML = "<img src=\"" + img_url + "images/loadingAnimation.gif\">";

	ajax.update(base_url + 'handlers/search_area.php?type=' + type, 'search_div');

}



function clearSearch(){

	var mydate = new Date();

	mydate.setTime(mydate.getTime() - 1); 

	document.cookie = "UOTM_search_type=; expires=" + mydate.toGMTString() + "; domain=upafterdusk.com; path=/"; 

	document.cookie = "UOTM_search_value=; expires=" + mydate.toGMTString() + "; domain=upafterdusk.com; path=/"; 

	

}



function register(form) { 

	document.getElementById("register_div").innerHTML = "<img src=\"" + img_url + "images/loadingAnimation.gif\">";

	document.getElementById('register_div').style.display='block'; transBody(); 	

	//if(form){

	//	ajax.post(base_url + 'handlers/register.php',regResponse,ajax.serialize(form) + '&submit=submit');

	//}

	if(!form){

		ajax.update(base_url + 'handlers/register.php','register_div');

	}

}



function regResponse(response) {

	if(response) {

         document.getElementById("register_div").innerHTML = response;

    }

}



function checkAge(dateString,dateType) {

/*

   function getAge

   parameters: dateString dateType

   returns: boolean



   dateString is a date passed as a string in the following

   formats:



   type 1 : 19970529

   type 2 : 970529

   type 3 : 29/05/1997

   type 4 : 29/05/97



   dateType is a numeric integer from 1 to 4, representing

   the type of dateString passed, as defined above.



   Returns string containing the age in years, months and days

   in the format yyy years mm months dd days.

   Returns empty string if dateType is not one of the expected

   values.

*/



    var now = new Date();

    var today = new Date(now.getYear(),now.getMonth(),now.getDate());



    var yearNow = now.getYear();

    var monthNow = now.getMonth();

    var dateNow = now.getDate();



    if (dateType == 1)

        var dob = new Date(dateString.substring(0,4),

                            dateString.substring(4,6)-1,

                            dateString.substring(6,8));

    else if (dateType == 2)

        var dob = new Date(dateString.substring(0,2),

                            dateString.substring(2,4)-1,

                            dateString.substring(4,6));

    else if (dateType == 3)

        var dob = new Date(dateString.substring(6,10),

                            dateString.substring(3,5)-1,

                            dateString.substring(0,2));

    else if (dateType == 4)

        var dob = new Date(dateString.substring(6,8),

                            dateString.substring(3,5)-1,

                            dateString.substring(0,2));

    else

        return '';



    var yearDob = dob.getYear();

    var monthDob = dob.getMonth();

    var dateDob = dob.getDate();



    yearAge = yearNow - yearDob;



    if (monthNow >= monthDob)

        var monthAge = monthNow - monthDob;

    else {

        yearAge--;

        var monthAge = 12 + monthNow -monthDob;

    }



    if (dateNow >= dateDob)

        var dateAge = dateNow - dateDob;

    else {

        monthAge--;

        var dateAge = 31 + dateNow - dateDob;



        if (monthAge < 0) {

            monthAge = 11;

            yearAge--; 

        }

    }



    return yearAge;

}





function transBody(){

	document.getElementById('main_body').style.filter='alpha(opacity=30)'; 

	document.getElementById('main_body').style.mozOpacity='0.3'; 

	document.getElementById('main_body').style.opacity='0.3';

	document.getElementById('main_body').style.khtmlOpacity='.3'; 



}



function searchClose() {

	document.getElementById("search_div").style.display = "none";

	document.getElementById('main_body').style.filter='alpha(opacity=100)'; 

	document.getElementById('main_body').style.mozOpacity='1'; 

	document.getElementById('main_body').style.opacity='1'; 

}



function registerClose() {

  	document.getElementById("register_div").style.display = "none";

	document.getElementById("pass_recovery_div").style.display = "none";

	document.getElementById("login_div").style.display = "none";

	document.getElementById('main_body').style.filter='alpha(opacity=100)'; 

	document.getElementById('main_body').style.mozOpacity='1'; 

	document.getElementById('main_body').style.opacity='1'; 



}



function changed(field){

	var strError = "";

	var strNewError;

	var strName;

	var blnMatch;

	var age_ret = "";

		

	if(field.name == "first_name"){

		strError=checkFName(field.value);				

		if (strError==""){

			document["imgfirst_name"].src=imgCheck.src;

		}else

		{



			strLastError=strError;

			document["imgfirst_name"].src=imgBang.src;

		}

	}



	if(field.name == "last_name"){

		strError=checkLName(field.value);				

		if (strError==""){

			document["imglast_name"].src=imgCheck.src;

		}else

		{

			strLastError=strError;

			document["imglast_name"].src=imgBang.src;

		}

	}



	if(field.name == "email"){	

		strError=checkEmail(field.value);				

		if (strError==""){

			document["imgemail"].src=imgCheck.src;

		}else

		{



			strLastError=strError;

			document["imgemail"].src=imgBang.src;

		}

	}



	if(field.name == "user_name"){		

		strError=checkUsername(field.value);				

		if (strError==""){

			document["imguser_name"].src=imgCheck.src;

		}else

		{



			strLastError=strError;

			document["imguser_name"].src=imgBang.src;

		}

	}				



	if ((field.name=="pass_word2") || (field.name=="pass_word")) 

	{					

		strError=checkPassword1(field.value);

		//strError=checkPassword2(field.value);	

		if ((document.register_form.pass_word.value!="") && (document.register_form.pass_word2.value!=""))

		{						

			if (document.register_form.pass_word2.value!=document.register_form.pass_word.value)

			{

				strError="Passwords do not match";

				document["imgpass_word"].src=imgBang.src;

				document["imgpass_word2"].src=imgBang.src;

			}else{

				document["imgpass_word"].src=imgCheck.src;

				document["imgpass_word2"].src=imgCheck.src;

			}

		}

		if (checkPassword1(document.register_form.pass_word.value)=="")

		{

			document["imgpass_word"].src=imgCheck.src;								

		}	

		else

		{

			document["imgpass_word"].src=imgBang.src;								

		}

		if (document.register_form.pass_word2.value != ""){

			if (checkPassword2(document.register_form.pass_word2.value)=="")

			{

				document["imgpass_word2"].src=imgCheck.src;								

			}	

			else

			{

				document["imgpass_word2"].src=imgBang.src;								

			}

		}							

	}													

					

	if(field.name == "zip_code"){

		strError=checkZip(field.value);				

		if (strError==""){

			document["imgzip_code"].src=imgCheck.src;

		}else

		{

			document["imgzip_code"].src=imgBang.src;

		}

	}

	if(field.name == "month" || field.name == "day" || field.name == "year"){

		strError=checkDropdownM(document.register_form.month.options[document.register_form.month.selectedIndex].value);

		if(checkDropdownD(document.register_form.day.options[document.register_form.day.selectedIndex].value) != ""){

			strError="Please Select a Day";	

		}

		if(checkDropdownY(document.register_form.year.options[document.register_form.year.selectedIndex].value) != "" && checkDropdownD(document.register_form.day.options[document.register_form.day.selectedIndex].value) == ""){

			strError="Please Select a Year";	

		}				

		if (strError==""){

			document["imgbday"].src=imgCheck.src;

			var years_old = checkAge(document.register_form.year.options[document.register_form.year.selectedIndex].value + document.register_form.month.options[document.register_form.month.selectedIndex].value + document.register_form.day.options[document.register_form.day.selectedIndex].value, 1);

			//document.write(years_old);

			if(years_old < '21'){

				strError = 'You must be 21 or older to register';

				document["imgbday"].src=imgBang.src;

			}

		}else

		{

			strLastError=strError;

			document["imgbday"].src=imgBang.src;

		}





	}

	if(field.name == "gender"){

		strError=checkRadio(field.value);				

		if (strError==""){

			document["imggender"].src=imgCheck.src;

		}else

		{

			//document.register_form.last_name.focus();

			strLastError=strError;

			document["imggender"].src=imgBang.src;

		}

	}

	if(field.name == "drink"){

		strError=checkRadio(field.value);				

		if (strError==""){

			document["imgdrink"].src=imgCheck.src;

		}else

		{

			//document.register_form.last_name.focus();

			strLastError=strError;

			document["imgdrink"].src=imgBang.src;

		}

	}

	if(field.name == "venue_types"){

		strError=checkRadio(field.value);				

		if (strError==""){

			document["imgvenue_types"].src=imgCheck.src;

		}else

		{

			//document.register_form.last_name.focus();

			strLastError=strError;

			document["imgvenue_types"].src=imgBang.src;

		}

	}

	if(field.name == "notify"){

		strError=checkRadio(field.value);				

		if (strError==""){

			document["imgnotify"].src=imgCheck.src;

		}else

		{

			//document.register_form.last_name.focus();

			strLastError=strError;

			document["imgnotify"].src=imgBang.src;

		}

	}

	document.getElementById("message").innerHTML=strError;

	//if(strError == "")

	

					

}



function preloadGlobal(){

	imgCheck=new Image(); 

	imgCheck.src=img_url + "images/check.gif";

	imgBang=new Image(); 

	imgBang.src=img_url + "images/bang2.gif";				

			

}



function comparePass(){

	if (document.register_form.pass_word2.value != document.register_form.pass_word.value)

	{

		strError="Passwords do not match";

		document["imgpass_word"].src=imgBang.src;

		document["imgpass_word2"].src=imgBang.src;

	}else{

		document["imgpass_word"].src=imgCheck.src;

		document["imgpass_word2"].src=imgCheck.src;

	}		

}



function passRecoverForm(rtype){

	document.getElementById('pass_recovery_div').style.display='block';

	document.getElementById('login_div').style.display='none';

	transBody();

	scroll(0,0);

   	ajax.update(base_url + 'handlers/pass_recovery.php?rtype=' + rtype, 'pass_recovery_div');

}



function loginForm(ltype, redirect){

	if(ltype != ''){

		login_type2 = "?login_type=" + ltype + "&redirectl=" + redirect;

	}else{

		login_type2 = "?redirectl=" + redirect;

	}

	document.getElementById('login_div').style.display='block';

	scroll(0,0);

	transBody();

   	ajax.update(base_url + 'handlers/login.php' + login_type2, 'login_div');

}



function incompleteReg(aid){

	editWindow(base_url + 'handlers/artist-register.php?inc_reg=true&aid='+ aid, '200', '200');

}



function loginResponse(response){

	var pattern=/ERROR/i;				

	if(pattern.test(response)){

		document.getElementById("err_message").innerHTML = '<font color="red"><b>' + response + '</b></font>';

	}else{

		window.location = response;

	}

}



function login(form){

	document.getElementById('login_div').style.display='block';

	scroll(0,0);

	transBody();

	ajax.post(base_url + 'handlers/login.php',loginResponse,ajax.serialize(form) + '&login=true');

}



function reg_login(form){

	document.getElementById('login_div').style.display='block';

	scroll(0,0);

	transBody();

	ajax.post(base_url + 'handlers/login.php',loginResponse,ajax.serialize(form) + '&login=true');

}



function rcPassResponse(response){

	var pattern=/ERROR/i;				

	if(pattern.test(response)){

		document.getElementById("pass_recovery_div").innerHTML = response;

	}else{

		window.location = response;

	}

}



function recoverPass(rtype,form){

	transBody();

	document.getElementById('pass_recovery_div').style.display='block';

	scroll(0,0);

	if(rtype == ''){

		rtype = form.rtype.options[form.rtype.selectedIndex].value;

	}

   	ajax.post(base_url + 'handlers/pass_recovery.php',rcPassResponse,ajax.serialize(form) + '&rtype=' + rtype);

}



function editWindow(url, width, height){

	var str="";

 	str += "height=" + height;

  	str += ",innerHeight=" + height;

  	str += ",width=" + width;

  	str += ",innerWidth=" + width;

 	str += ",menubar=1";

  	str += ",resizable=1";

  	str += ",scrollbars=1";

 	window.open (url,"editwindow",str);

}



function submit_forma(form, num){

	var Error = "";

	var drinks_checked = false;

	var venue_types_checked = false;

	var notify_checked = false;

	if(num == 1){

		// Open PHP script for requests

   		httpu2.open('get', base_url + '/handlers/check_used.php?form=artist&type=user_name&check='+document.register_form.user_name.value, false);

		httpu2.send(null);

		if(httpu2.status == 200){

			// Text returned FROM the PHP script

      		var response = httpu2.responseText;

			if(response) {

				if(response == '0'){

					Error = "This username is already taken!<br>Please try a different one.<br><br>";

					document["imguser_name"].src=imgBang.src;

				}else{

					document["imguser_name"].src=imgCheck.src;

				}

      		}

		}

		// Open PHP script for requests

   		httpu.open('get', base_url + '/handlers/check_used.php?form=artist&type=email&check='+document.register_form.email.value, false);

		httpu.send(null);

		if(httpu.readyState == 4 && httpu.status == 200){

			// Text returned FROM the PHP script

      		var response = httpu.responseText;

			if(response) {

				if(response == '0'){

					Error += "This email already exists in the database!<br><br>";

					document["imgemail"].src=imgBang.src;

				}else{

					document["imgemail"].src=imgCheck.src;

				}

			}

		}



		Error += checkFName(document.register_form.first_name.value);

		Error += checkLName(document.register_form.last_name.value);

		Error += checkUsername(document.register_form.user_name.value);

		Error += checkPassword1(document.register_form.pass_word.value);

		Error += checkPassword2(document.register_form.pass_word2.value);

		//Error += checkZip(document.register_form.zip_code.value);



		Error += checkEmail(document.register_form.email.value);



	}

	if(Error == ""){

		form.submit();

	}else{

		strError = "The Form is not yet finished.<br><br>" + Error;

		document.getElementById("message").innerHTML=strError;

	}

}



function submit_form(form, num){

	var Error = "";

	if(num == 1){

   		var response = ajax.gets(base_url + '/handlers/check_used.php?type=user_name&check='+document.register_form.user_name.value);

			if(response) {

				if(response == '0'){

					Error = "This username is already taken!<br>Please try a different one.<br><br>";

					document["imguser_name"].src=imgBang.src;

				}else{

					document["imguser_name"].src=imgCheck.src;

				}

      		}



   		var response2 = ajax.gets(base_url + '/handlers/check_used.php?type=email&check='+document.register_form.email.value);

			if(response2) {

				if(response2 == '0'){

					Error += "This email already exists in the database!<br><br>";

					document["imgemail"].src=imgBang.src;

				}else{

					document["imgemail"].src=imgCheck.src;

				}

			}



		var gender_checked = false;

		Error += checkFName(document.register_form.first_name.value);

		Error += checkLName(document.register_form.last_name.value);

		Error += checkUsername(document.register_form.user_name.value);

		Error += checkPassword1(document.register_form.pass_word.value);

		Error += checkPassword2(document.register_form.pass_word2.value);

		Error += checkZip(document.register_form.zip_code.value);

		Error += checkDropdownM(document.register_form.month.options[document.register_form.month.selectedIndex].value);

		Error += checkDropdownD(document.register_form.day.options[document.register_form.day.selectedIndex].value);

		Error += checkDropdownY(document.register_form.year.options[document.register_form.year.selectedIndex].value);

		Error += checkEmail(document.register_form.email.value);

		var years_old = checkAge(document.register_form.year.options[document.register_form.year.selectedIndex].value + document.register_form.month.options[document.register_form.month.selectedIndex].value + document.register_form.day.options[document.register_form.day.selectedIndex].value, 1);

		if(years_old < '21'){

			Error += 'You must be 21 or older to register<br>';

		}

    	for (var i = 0; i < document.register_form.gender.length; ++i) {

			if (document.register_form.gender[i].checked){

				gender_checked = true;	 

			}

		}

		if(gender_checked != true){

			Error += 'Please select a gender.';

		}

	}

	if(Error == ""){

		//register(form);

		ajax.post(base_url + 'handlers/register.php',regResponse,ajax.serialize(form) + '&submit=submit');

	}else{

		strError = "The Form is not yet finished.<br><br>" + Error;

		document.getElementById("message").innerHTML=strError;

	}

}



function alist(action, user_id, venue_id){

	scroll(0, 450);

	document.getElementById("alist_div").innerHTML = "<img src=\"" + img_url + "images/loadingAnimation.gif\">";

	if(action == 'add'){

		ajax.post(base_url + 'handlers/alist.php', alistResponse, 'action=add&venue_id=' + venue_id + '&user_id=' + user_id + '&submit=submit');

	}

	if(action == 'remove'){

  		ajax.post(base_url + 'handlers/alist.php', alistResponse, 'action=remove&venue_id=' + venue_id + '&user_id=' + user_id + '&submit=submit');

	}

	if(action == ''){

  		ajax.get(base_url + 'handlers/alist.php?venue_id=' + venue_id, alistResponse);

	}

}



function postReview(action, user_id, venue_id, form){

	scroll(0, 450);

	document.getElementById("alist_div").innerHTML = "<img src=\"" + img_url + "images/loadingAnimation.gif\">";

	if(action == 'add'){

		var ratings = 0;

		for( i = 0; i < form.rating.length; i++ )

		{

			if( form.rating[i].checked == true )

			ratings = form.rating[i].value;

		}

		ajax.post(base_url + 'handlers/venue_reviews.php', alistResponse, 'action=add&venue_id=' + venue_id + '&user_id=' + user_id + '&title=' + form.title.value + '&rating=' + ratings + '&review=' + form.review.value + '&submit=submit');

	}

	if(action == ''){

  		ajax.get(base_url + 'handlers/venue_reviews.php?venue_id=' + venue_id, alistResponse);

	}

}



function deleteAlist(id, vname)

{

	if (!confirm("\nAre you sure you wish to delete (" + vname + ") from your A-lists?")){

	}

	else

	{

		location.href="./useraccess.php?action=remove_alist&id=" + id;

	}

}



function delete_mail(type, id)

{

	if (!confirm("\nAre you sure you wish to delete this mail?")){

	}

	else

	{

		location.href="./useraccess.php?action=delete_mail&type=" + type + "&id=" + id;

	}

}

//new front page 21 verification stuff

function checkAgeFront(form){
	var years_old = checkAge(form.year.value + form.month.value + form.day.value, 1);
	if(form.year.value == '' || form.month.value == '' || form.day.value == ''){
		if(form.year.value == ''){
			alert("Please put in a year");
		}
		if(form.month.value == ''){
			alert("Please put in a month");
		}
		if(form.day.value == ''){
			alert("Please put in a day");
		}
		return false;
	}
	else if(form.year.value == 'yyyy' || form.month.value == 'mm' || form.day.value == 'dd'){
		if(form.year.value == 'yyyy'){
			alert("Please put in a year");
		}
		if(form.month.value == 'mm'){
			alert("Please put in a month");
		}
		if(form.day.value == 'dd'){
			alert("Please put in a day");
		}
		return false;
	}
	else{
		if(years_old < '21'){
			ajax.update(base_url + "not_21.html", "age_form");
		}else{
			if(document.getElementById("remember_me").getAttribute("rel") == '1'){
				setCookie("21_remember_me","1",180);
				setCookie("21_month",form.month.value,180);
				setCookie("21_day",form.day.value,180);
				setCookie("21_year",form.year.value,180);
			}else{
				setCookie("21_remember_me","");
				setCookie("21_month","");
				setCookie("21_day","");
				setCookie("21_year","");
			}
			window.location.href=base_url + "venue-search/New-Jersey/";	
		}
	}
	return false;
}

function changeRememberMe(){
	if(document.getElementById("remember_me").getAttribute("class") == "check_t"){
		document.getElementById("remember_me").setAttribute("class", "check_f");
		document.getElementById("remember_me").setAttribute("rel", "0");
	}else{
		document.getElementById("remember_me").setAttribute("class", "check_t")
	}
}

onload=preloadGlobal;