//var login_obj 												= null;
var menu_obj 												= null;
var hide_timer 												= null;
var show_timer 												= null;
//var login_input 											= false;
var sw														= null;
var pv_obj = null;
var img_obj = null;
function im_loaded(e){
	init_stuff();
}
var body = document.getElementsByTagName('BODY')[0];
if(body && body.readyState == 'loaded') {
	im_loaded(null);
} else {
	if (window.addEventListener) {  
		window.addEventListener('load', im_loaded, false);
	} else {
		window.attachEvent('onload', im_loaded);
	}
}
function init_stuff(){
	if ($("menu_item_01").addEventListener){  
		$("menu_item_01").addEventListener(	"mouseover", 	menu_hover, 		false);
		$("menu_item_01").addEventListener(	"mouseout", 	menu_out, 			false);
		$("menu_item_02").addEventListener(	"mouseover", 	menu_hover, 		false);
		$("menu_item_02").addEventListener(	"mouseout", 	menu_out, 			false);
		$("menu_item_03").addEventListener(	"mouseover", 	menu_hover, 		false);
		$("menu_item_03").addEventListener(	"mouseout", 	menu_out, 			false);
		$("menu_item_04").addEventListener(	"mouseover", 	menu_hover, 		false);
		$("menu_item_04").addEventListener(	"mouseout", 	menu_out, 			false);
		//$("menu_item_05").addEventListener(	"mouseover", 	menu_hover, 		false);
		//$("menu_item_05").addEventListener(	"mouseout", 	menu_out, 			false);
		$("menu_item_01").addEventListener(	"click", 		menu_click, 		false);
		$("menu_item_02").addEventListener(	"click", 		menu_click, 		false);
		$("menu_item_03").addEventListener(	"click", 		menu_click, 		false);
		$("menu_item_04").addEventListener(	"click", 		menu_click, 		false);
		//$("menu_item_05").addEventListener(	"click", 		menu_click, 		false);				
		//$("login_cover").addEventListener(	"mouseover", 	show_login, 		false);
		//$("login_cover").addEventListener(	"mouseout", 	mouse_out, 			false);
		//$("login_input").addEventListener(	"mouseover", 	mouse_over_input, 	false);
		//$("login_input").addEventListener(	"mouseout", 	mouse_out_input, 	false);
		//$("email_input").addEventListener(	"focus", 		input_focus, 		false);
		//$("email_input").addEventListener(	"blur", 		input_lost, 		false);
		//$("pass_input").addEventListener(	"focus", 		input_focus, 		false);
		//$("pass_input").addEventListener(	"blur", 		input_lost, 		false);
	} else if ($("menu_item_01").attachEvent){  
		$("menu_item_01").attachEvent(		"onmouseover", 	menu_hover, 		false);
		$("menu_item_01").attachEvent(		"onmouseout", 	menu_out, 			false);
		$("menu_item_02").attachEvent(		"onmouseover", 	menu_hover, 		false);
		$("menu_item_02").attachEvent(		"onmouseout", 	menu_out, 			false);
		$("menu_item_03").attachEvent(		"onmouseover", 	menu_hover, 		false);
		$("menu_item_03").attachEvent(		"onmouseout", 	menu_out, 			false);
		$("menu_item_04").attachEvent(		"onmouseover", 	menu_hover, 		false);
		$("menu_item_04").attachEvent(		"onmouseout", 	menu_out, 			false);
		//$("menu_item_05").attachEvent(		"onmouseover", 	menu_hover, 		false);
		//$("menu_item_05").attachEvent(		"onmouseout", 	menu_out, 			false);
		$("menu_item_01").attachEvent(		"onclick", 		menu_click, 		false);
		$("menu_item_02").attachEvent(		"onclick", 		menu_click, 		false);
		$("menu_item_03").attachEvent(		"onclick", 		menu_click, 		false);
		$("menu_item_04").attachEvent(		"onclick",		menu_click, 		false);
		//$("menu_item_05").attachEvent(		"onclick", 		menu_click, 		false);				
		//$("login_cover").attachEvent(		"onmouseover", 	show_login, 		false);
		//$("login_cover").attachEvent(		"onmouseout", 	mouse_out, 			false);
		//$("login_input").attachEvent(		"onmouseover", 	mouse_over_input, 	false);
		//$("login_input").attachEvent(		"onmouseout", 	mouse_out_input, 	false);
		//$("email_input").attachEvent(		"onfocus", 		input_focus, 		false);
		//$("email_input").attachEvent(		"onblur", 		input_lost, 		false);
		//$("pass_input").attachEvent(		"onfocus", 		input_focus, 		false);
		//$("pass_input").attachEvent(		"onblur", 		input_lost, 		false);
	}
	//login_obj 												= new login_area($("login"), $("login_lock"), $("login_txt"), $("login_arrow"), $("login_input"));
	//clearInterval(hide_timer);
	//hide_timer 												= setInterval("hide_login(null)", 2000);		
	menu_obj 												= new menu_area($("menu_inner_div"));
	clearInterval(show_timer);
	show_timer 												= setInterval("show_menu()", 2000);		
	menu_obj.item_click($(start_menu));
	//check_log_in();
	//$("pass_input").setAttribute("autocomplete", "off");
}
function menu_click(e){
	if(e.target){
		menu_obj.item_click(e.target);
	}else{
		menu_obj.item_click(event.srcElement);
	}
}
function show_menu(){
	clearInterval(show_timer);
	menu_obj.open_menu();
}
function input_focus(e){
	clearInterval(hide_timer);
}
function input_lost(e){
	mouse_out_input(null);
}
function mouse_over_input(e){
	clearInterval(hide_timer);
}
function mouse_out_input(e){
	clearInterval(hide_timer);
	hide_timer 												= setInterval("hide_login(null)", 2000);
}
function mouse_out(e){
	mouseDefault();
	mouse_out_input(null);
}
function hide_login(e){
	clearInterval(hide_timer);
	login_obj.close_input();
	login_obj.fade_out();
}
function show_login(e){
	login_obj.clean();
	clearInterval(hide_timer);
	mousePoint();
	login_obj.open_lock();
	login_obj.open_input();
}			
function menu_hover(e){
	mousePoint();
}
function menu_out(e){
	mouseDefault();
}
function check_log_in(){
	new Ajax.Request('rs/login.php',
	{
		method:'post',
		parameters:	$("login_form").serialize(true),
		onSuccess:	function(transport){
			var response = transport.responseText || "no response text";
			if(response == 1){
				$("login_lock").style.backgroundImage 		= "url('images/lock.png')";
				$("login_txt").innerHTML 					= "logged-in";
				logged_in();
			}
		},
		onFailure:	function(){}
	});
}
function log_in(){
	new Ajax.Request('rs/login.php',
	{
		method:'post',
		parameters:	$("login_form").serialize(true),
		onCreate: function(){
			$("cover_login").style.display					= "block";
		},
		onSuccess:	function(transport){
			var response 									= transport.responseText || "no response text";
			switch(response*1){
				case 0:
					$("login_error").innerHTML				= "Error: Bad user name or password.";
					break;
				case 1:
					$("login_lock").style.backgroundImage 	= "url('images/lock.png')";
					$("login_txt").innerHTML 				= "logged-in";
					logged_in();
					break;
				case 2:
					$("login_error").innerHTML				= "Error: Validation is needed. An email has been resent to you.";
					break;
				case 4:
					$("login_error").innerHTML				= "Error: Your account has been locked for 15 minutes due to too many failed attempts.";
					break;
				default:
					$("login_error").innerHTML				= "Error: Please try again.";
					break;
			}
			$("cover_login").style.display					= "none";
		},
		onFailure:	function(){}
	});
}
function logged_in(){
	new Ajax.Request('rs/basic_info.php',
	{
		method:'get',
		onSuccess:	function(transport){
			var response 									= transport.responseText || "no response text";
			var data										= response.split("//");
			$("login_inner").innerHTML 						= "<div style=''><a href='javascript:logout()'>log-out</a><br />"+data[0]+"</div>";
		},
		onFailure:	function(){}
	});
	menu_obj.item_click($("menu_item_01"));
}
function logout(){
	new Ajax.Request('rs/logout.php',
	{
		method:'get',
		onSuccess:	function(transport){
			var response 									= transport.responseText || "no response text";
			if(response == 1){
				window.location 							= "index.php";
			}
		},
		onFailure:	function(){}
	});
}
function register_user(){
	new Ajax.Request('rs/register.php',
	{
		method:'post',
		parameters:	$("register_form").serialize(true),
		onCreate: function(){
			$("reg_cover").style.display 					= "block";
		},
		onSuccess:	function(transport){
			var response = transport.responseText || "no response text";
			switch((response*1)){
				case 0:
					alert("The email address entered is already registered. Please try another or request that your password be sent to you.");
					Recaptcha.reload();
					$("reg_btn").disabled					= true;
					break;
				case 1:
					$("disp_div_"+slide_win_array[0].disp_id).innerHTML = "<div style='margin:50px auto;width:100%;font-family:arial,sans,helvetica;font-size:12px;color:#333;text-align:center;'><b>REGISTERED</b><br />A confirmation email has been sent to you.<br />Ensure that email from jbhcompany.com is not being sent to your junk folder.</div>";
					slide_win_array[0].my_timer_a  			= setInterval( function() {
						slide_win_array[0].close_disp();
					}.bind(slide_win_array[0]),10000);
					break;
				case 2:
					$("disp_div_"+slide_win_array[0].disp_id).innerHTML = "<div style='margin:50px auto;width:100%;font-family:arial,sans,helvetica;font-size:12px;color:#333;text-align:center;'><b>ALREADY REGISTERED BUT AWAITING ACTIVATION</b><br />A confirmation email has been re-sent to you.<br />Ensure that email from jbhcompany.com is not being sent to your junk folder.</div>";
					slide_win_array[0].my_timer_a 		= setInterval( function() {
						slide_win_array[0].close_disp();
					}.bind(slide_win_array[0]),10000);
					break;
				case 3:
					alert("Error: " + response);
					Recaptcha.reload();
					$("reg_btn").disabled					= true;
					break;
				case 4:
					alert("Error: The text entered in the captcha was incorrect. Please try again.");
					Recaptcha.reload();
					$("reg_btn").disabled					= true;
					break;
				case 5:
					alert("Error: Invalid email. Please re-enter.");
					Recaptcha.reload();
					$("reg_btn").disabled					= true;
					break;
				case 6:
					alert("Error: Please enter a valid full name.");
					Recaptcha.reload();
					$("reg_btn").disabled					= true;
					break;
				case 7:
					alert("Error: Please agree with the Terms of Use and Privacy Policy.");
					Recaptcha.reload();
					$("reg_btn").disabled					= true;
					break;
				case 8:
					alert("Error: Please enter a password with a minimum length of 6 characters.");
					Recaptcha.reload();
					$("reg_btn").disabled					= true;
					break;
				default:
					alert("Error: " + response);
					Recaptcha.reload();
					$("reg_btn").disabled					= true;
					break;
			}
			$("reg_cover").style.display 					= "none";
		},
		onFailure:	function(){}
	});
}
function send_pass(){
	new Ajax.Request('rs/send_pass.php',
	{
		method:'post',
		parameters:	$("forgot_form").serialize(true),
		onCreate: function(){
			$("reg_cover").style.display 					= "block";
		},
		onSuccess:	function(transport){
			var response = transport.responseText || "no response text";
			switch((response*1)){
				case 0:
					alert("The email address entered is either not active or not registered.");
					Recaptcha.reload();
					$("for_btn").disabled					= true;
					break;
				case 1:
					$("disp_div_"+slide_win_array[0].disp_id).innerHTML = "<div style='margin:50px auto;width:100%;font-family:arial,sans,helvetica;font-size:12px;color:#333;text-align:center;'><b>SUCCESS</b><br />A password reset email has been sent to you.<br />Ensure that email from jbhcompany.com is not being sent to your junk folder.</div>";
					slide_win_array[0].my_timer_a  			= setInterval( function() {
						slide_win_array[0].close_disp();
					}.bind(slide_win_array[0]),10000);
					break;
				case 2:
					alert("Error: The text entered in the captcha was incorrect. Please try again.");
					Recaptcha.reload();
					$("for_btn").disabled					= true;
					break;
				default:
					alert("Error: " + response);
					Recaptcha.reload();
					$("for_btn").disabled					= true;
					break;
			}
			$("reg_cover").style.display 					= "none";
		},
		onFailure:	function(){}
	});
}
function register_me(){
	sw 														= new slide_window(900, 450, "pages/register_user.php", "register");
}
function forgot_pass(){
	sw 														= new slide_window(500, 340, "pages/forgot_pass.php", "forgot");
}
function show_photos(d, a, p){
	if(pv_obj == null){
		pv_obj = new photo_view_obj();
	}
	var o = {
		height: 150,
		prior_fx: {
			open: { 
				items: { 
					ops: [ {
							obj: $(d+"_txt"), 
							ch: "innerHTML", 
							to: {
								is: null, 
								what: "( hide photos )"
							}
						}]
				}
			},
			close: {
				items: {
					ops: [ {
							obj: $(d+"_txt"), 
							ch: "innerHTML", 
							to: {
								is: null, 
								what: "( show photos )"
							}
						}]
				}
			}
		},
		after_fx: {
			open: {
				items: {
					ops: []
				}
			},
			close: {
				items: { 
					ops: []
				}
			}
		},
		flash: {
			swf: "swf/jbhPast.swf?pg="+a+"&pl="+p,
			name: "sub",
			width: "810",
			height: "150",
			ver: "10",
			bg: "#000",
			menu: "true",
			wmode: "transparent"
		}
	}
	pv_obj.pv = new pv_obj.photo_view(d, a, o);
}
function get_file(what, where){
	new Ajax.Request('rs/dlcheck.php',
	{
		method:'get',
		parameters: {name: what, place: where},
		onCreate: function(){
			//$("cover");
			//$("reg_cover").style.display = "block";
		},
		onSuccess:	function(transport){
			var response 									= transport.responseText || "no response text";
			switch(response*1){
				case 0:
					alert("No such file.");
					break;
				case 1:
					window.location = "rs/dl.php?name="+what+"&place="+where;
					break;
				case 2:
					alert("Please log in, if you wish to download files.");
					break;
				case 3:
					alert("You are not authorized to download this file.");
					break;
				default:
					alert("There was an error downloading the file.");
					break;
			}
		},
		onFailure:	function(){}
	});
}
function show_reg_info(w,t){
	new Ajax.Request('pages/'+w+'/index.php',
	{
		method:'get',
		parameters: {aj: true},
		onCreate: function(){
			$("reg_info").innerHTML							= "";
			$("reg_info").style.display 					= "block";
			$("reg_btns").innerHTML							= "<table  style=\"width:200px;text-align:center;margin:25px auto;\"><tr><td><input type=\"submit\" value=\"OK\" id=\"reg_privacy\" onclick=\"close_reg_info()\" /></td></tr></table>";	
			$("reg_title").innerHTML						= t;
		},
		onSuccess:	function(transport){
			var response 									= transport.responseText || "no response text";
			$("reg_info").innerHTML							= response;
		},
		onFailure:	function(){
			$("reg_info").style.display 					= "none";
			$("reg_btns").innerHTML							= "<table  style=\"width:200px;text-align:center;margin:25px auto;\"><tr><td><input type=\"submit\" value=\"Register\" id=\"reg_btn\" onclick=\"register_user()\" disabled /></td><td><input type=\"submit\" value=\"Cancel\" onclick=\"close_disp()\" /></td></tr></table>";	
			$("reg_title").innerHTML						= "REGISTER NEW USER";
		}
	});
}
function close_reg_info(){
	$("reg_info").style.display 							= "none";
	$("reg_btns").innerHTML									= "<table  style=\"width:200px;text-align:center;margin:25px auto;\"><tr><td><input type=\"submit\" value=\"Register\" id=\"reg_btn\" onclick=\"register_user()\" disabled /></td><td><input type=\"submit\" value=\"Cancel\" onclick=\"close_disp()\" /></td></tr></table>";
	$("reg_title").innerHTML								= "REGISTER NEW USER";
}
function show_photo(what, all){
	var data = all.split(",");
	if(img_obj == null){
		img_obj = new img_disp_obj();
	}
	var o = {
			div_style : "backgroundColor:#fff;border:10px #000 solid;padding:0;backgroundImage:url('images/loading.gif');backgroundPosition:center center;backgroundRepeat:no-repeat;",
			init_w: 250,
			init_h: 60,
			style_div_style : "backgroundImage:url('images/mid_border.png');position:absolute;top:0px;left:0px;width:100%;height:15px;",
			prev_thumb_div_style : "backgroundColor:#cccccc;backgroundImage:url('images/left_border.png');backgroundRepeat:repeat-y;backgroundPosition:top right;",
			next_thumb_div_style : "backgroundColor:#cccccc;backgroundImage:url('images/right_border.png');backgroundRepeat:repeat-y;",
			prev_thumb_img_style : "border:1px #000 solid;",
			next_thumb_img_style : "border:1px #000 solid;",
			img_div_style : "borderLeft:1px #000 solid;borderRight:1px #000 solid;",
			img_url_extra : "",
			thumb_url_extra : ""
		}
	if(!img_obj.creating){
		img_obj.creating = true;
		img_obj.pv = new img_obj.img_disp((what*1), data, o, img_obj);
	}
}
function close_disp(){
	sw.close_disp();
}
function check_user(e){
	var illegalChars 										= new RegExp(/[\(\)\<\>\$\'\*\^\%\#\!\`\~\+\=\&\/\{\}\|\,\;\:\\\"\[\]]/);
	var str 												= "";
	for(i=0;i<e.length;i++){
		if(!illegalChars.exec(e.charAt(i))){
			str 											+= e.charAt(i);
		}
	}
	return str;
}
function check_pass(e){
}
function check_general(e){
	var goodChars 											= new RegExp(/^[a-zA-Z0-9.,#':_ -]+$/);
	var str 												= "";
	for(i=0;i<e.length;i++){
		if(goodChars.exec(e.charAt(i))){
			str 											+= e.charAt(i);
		}
	}
	return str;
}
function check_char(e){
	var goodChars 											= new RegExp(/^[a-zA-Z -]+$/);
	var str 												= "";
	for(i=0;i<e.length;i++){
		if(goodChars.exec(e.charAt(i))){
			str 											+= e.charAt(i);
		}
	}
	return str;
}
function check_num(e){
	var goodChars 											= new RegExp(/^[0-9 -]+$/);
	var str 												= "";
	for(i=0;i<e.length;i++){
		if(goodChars.exec(e.charAt(i))){
			str 											+= e.charAt(i);
		}
	}
	return str;
}
function check_comp(){
	var str 												= check_general($("r_company").value);
	$("r_company").value 									= str;
	return;
}
function check_zip(){
	var str 												= check_num($("r_zip").value);
	$("r_zip").value 										= str;
	return;
}
function check_city(){
	var str 												= check_char($("r_city").value);
	$("r_city").value 										= str;
	return;
}
function check_street(){
	var str 												= check_general($("r_street1").value);
	$("r_street1").value 									= str;
	str 													= check_general($("r_street2").value);
	$("r_street2").value 									= str;
	return;
}
function check_name(e){
	var goodChars 											= new RegExp(/^[a-zA-Z.' ]+$/);
	var str 												= "";
	for(i=0;i<e.length;i++){
		if(goodChars.exec(e.charAt(i))){
			str 											+= e.charAt(i);
		}
	}
	return str;
}
function check_fname() {
	var name 												= check_name($("r_fname").value);
	$("r_fname").value 										= name;
	if( trim(name).length <= 0 ){
		$("register_fname_val").innerHTML 					= "<img src='images/bad.png'>";
	}else{
		$("register_fname_val").innerHTML 					= "<img src='images/good.png'>";
	}
	check_register();
	return;
}
function check_lname() {
	var name 												= check_name($("r_lname").value);
	$("r_lname").value 										= name;
	if( trim(name).length <= 0 ){
		$("register_lname_val").innerHTML 					= "<img src='images/bad.png'>";
	}else{
		$("register_lname_val").innerHTML 					= "<img src='images/good.png'>";
	}
	check_register();
	return;
}
function check_email() {
	var email 												= check_user(trim($("r_email").value));
	$("r_email").value 										= email;
	var atPos 												= email.indexOf("@");
	var dotPos 												= email.lastIndexOf(".");
	var afterDot 											= email.length - dotPos;
	if (email == "" || (atPos == -1 || dotPos == -1) || dotPos < atPos || dotPos - atPos == 1 || afterDot < 3 ) {
		$("register_email_val").innerHTML 					= "<img src='images/bad.png'>";
	}else{
		$("register_email_val").innerHTML 					= "<img src='images/good.png'>";
	}
	try{
		check_forgot();
	}catch(ex){}
	check_register();
	return;
}
function check_pass() {
	var pass1 												= $("r_pass1").value;
	var pass2 												= $("r_pass2").value;
	if(pass1.length < 6){
		$("register_pass1_val").innerHTML 					= "<img src='images/bad.png'>";
	}else{
		$("register_pass1_val").innerHTML 					= "<img src='images/good.png'>";
	}
	if(pass1 != pass2 || pass1.length <= 0){
		$("register_pass2_val").innerHTML 					= "<img src='images/bad.png'>";
	}else{
		$("register_pass2_val").innerHTML 					= "<img src='images/good.png'>";
	}
	check_register();
	return;
}
function check_register(){
	try{
		var error 												= false;
		var email 												= check_user(trim($("r_email").value));
		$("r_email").value 										= email;
		var atPos 												= email.indexOf("@");
		var dotPos 												= email.lastIndexOf(".");
		var afterDot 											= email.length - dotPos;
		if (email == "" || (atPos == -1 || dotPos == -1) || dotPos < atPos || dotPos - atPos == 1 || afterDot < 3 ) {
			error 												= true;
		}
		var pass1 												= $("r_pass1").value;
		var pass2 												= $("r_pass2").value;
		var name 												= check_name($("r_fname").value);
		$("r_fname").value 										= name;
		if(pass1.length < 6 || pass1 != pass2 || pass1.length <= 0 || trim(name).length <= 0){
			error 												= true;
		}
		name 													= check_name($("r_lname").value);
		$("r_lname").value 										= name;
		if( trim(name).length <= 0 || !$("r_agree").checked || trim($("recaptcha_response_field").value) == ""){
			error 												= true;
		}
		$("reg_btn").disabled 									= error;
	}catch(e){}
}
function check_forgot(){
	var error 												= false;
	var email 												= check_user(trim($("r_email").value));
	$("r_email").value 										= email;
	var atPos 												= email.indexOf("@");
	var dotPos 												= email.lastIndexOf(".");
	var afterDot 											= email.length - dotPos;
	if (email == "" || (atPos == -1 || dotPos == -1) || dotPos < atPos || dotPos - atPos == 1 || afterDot < 3 || trim($("recaptcha_response_field").value) == "") {
		error 												= true;
	}
	$("for_btn").disabled 									= error;
}
