//*****************  preload images
var menu1 = new Image;
var menu2 = new Image;
var menu3 = new Image;
var menu4 = new Image;
var menu5 = new Image;
var menu6 = new Image;
var menu7 = new Image;
var menu8 = new Image;
var menu1_1 = new Image;
var menu2_1 = new Image;
var menu3_1 = new Image;
var menu4_1 = new Image;
var menu5_1 = new Image;
var menu6_1 = new Image;
var menu7_1 = new Image;
var menu8_1 = new Image;		
var get_password = new Image;		
		
menu1.src = "img/menu/about_1.gif";
menu1_1.src = "img/menu/about_2.gif";
menu2.src = "img/menu/bbq_sauces_1.gif";
menu2_1.src = "img/menu/bbq_sauces_2.gif";
menu3.src = "img/menu/catering_1.gif";
menu3_1.src = "img/menu/catering_2.gif";
menu4.src = "img/menu/contact_us_1.gif";
menu4_1.src = "img/menu/contact_us_2.gif";
menu5.src = "img/menu/locations_1.gif";
menu5_1.src = "img/menu/locations_2.gif";
menu6.src = "img/menu/news_offers_1.gif";
menu6_1.src = "img/menu/news_offers_2.gif";
menu7.src = "img/menu/order_now_1.gif";
menu7_1.src = "img/menu/order_now_2.gif";
menu8.src = "img/menu/private_events_1.gif";
menu8_1.src = "img/menu/private_events_2.gif";
get_password.src = "img/button/get_password.gif";

//*****************  zip codes
var br = new Array('11201', '11231', '11217');
var mh = new Array('10001', '10003', '10010', '10011', '10012', '10013', '10004', '10005', '10014', '10038');

//*****************  get Element By Id
function get (el) {
	return document.getElementById(el);
}
//*****************  show status indicator
function show_indicator (id) {
	get(id).innerHTML = '<div id="process">Please wait...</div>';
}
//*****************  original radio buttons
var radio_on = new Image;
var radio_off = new Image;
var check_on = new Image;
var check_off = new Image;
		
radio_on.src = "img/bg/radio_on.gif";
radio_off.src = "img/bg/radio_off.gif";
check_on.src = "img/bg/check_on.gif";
check_off.src = "img/bg/check_off.gif";

//***************** 
function radio (num, field) {
	if (get(field)) {
		sel = get(field).value;
		if (num != sel) {		
			if (get('div' + sel + '_' + field))
				get('div' + sel + '_' + field).className = 'radio_off';
			get('div' + num + '_' + field).className = 'radio_on';
			get(field).value = num;
		}
	}
}

//***************** order form on index page
function checked (num) {
	sel = document.getElementById("order_delivery").value;
	if (num != sel) {
		if (num == 0) {	
			get("div1").className = 'radio_off';
			get("div0").className = 'radio_on';
		} else {
			get("div1").className = 'radio_on';
			get("div0").className = 'radio_off';
		}
		get("order_delivery").value = num;
	}
}

//***************** rules for nonstandard checkboxes
function checkbox (box) {
	var value = get(box).value; 
	if (value == 1) {
		get('div_' + box).className = 'check_off';
		get(box).value = 0;
	} else {
		get('div_' + box).className = 'check_on';
		get(box).value = 1;
	}
}

//*****************  get position of object on page
function getAbsolutePos(el) {
   var r = { x: el.offsetLeft, y: el.offsetTop };
   if (el.offsetParent) {
       var tmp = getAbsolutePos(el.offsetParent);
       r.x += tmp.x;
       r.y += tmp.y;
   }
   return r;
}

//*****************  get width of current screen
function getClientWidth() {
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

//*****************  get height of current screen
function getClientHeight() {
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}
//*****************  change images on main menu
function menu (id, action) {
	if (get(id)) {
		var current_page = get ("current_page");
		if (action == 0) {
			get(id).src = 'img/menu/' + id + '_2.gif';
		} else {
			if (current_page == id)
				get(id).src = 'img/menu/' + id + '_1.gif';
			else
				get(id).src = 'img/menu/' + id + '_0.gif';
		}
	}
}
//*****************  show or hide block
function showBlock (type, block) {
	if (get(block)) {
		if (type == 1)
			get(block).style.display = 'block';
		else
			get(block).style.display = 'none';
	}
}
//*****************  show form for lost password
function lostPassword () {
	showBlock ('0', 'login_error');
	showBlock ('0', 'login_form');
	showBlock ('1', 'lost_password_form');
	get("drag-handle").style.backgroundImage = "url('js/subwindow/modalfiles/password.gif')";
	get("login_action").innerHTML = "<a onClick=\"loginForm()\" title=\"Return to log in form\" class=\"return\">Return to log in form</a>";
	get("login_img").innerHTML = "<img src=\"img/button/get_password.gif\" alt=\"Get Password\" onClick=\"change_password_form('');\" />";
}
//*****************  show form for login form
function loginForm () {
	showBlock ('0', 'login_error');
	showBlock ('1', 'login_form');
	showBlock ('0', 'lost_password_form');
	get("drag-handle").style.backgroundImage = "url('js/subwindow/modalfiles/login.gif')";
	get("login_action").innerHTML = "<a onClick=\"lostPassword()\" title=\"Forgot your password?\">Forgot your password?</a>";
	get("login_img").innerHTML = "<img src=\"img/button/login.gif\" alt=\"Log In\" onClick=\"return checkForm('1');\" />";
	get('lost_password_form').innerHTML = '<img src="img/indicator.gif">';
	hash = get('hash').value;
	ajaxdisplay('inc/request.php?action=change_password&email=&hash=' + hash, '', 'lost_password_form');
}
//*****************/ drop spaces in string
function drop_spaces (str) {
    var newstr = trim (str);
    return newstr.replace(/(\s)+/g, ""); 
}
//***************** drop spaces in string
function trim (str) {
    var newstr = str.replace(/^\s*(.+?)\s*$/, "$1");
    if (newstr == " ") {
        return "";
    }
    return newstr;
}
//***************** check email
function check_email (email) {
    var template = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z])+$/;
    if (template.test(email)) {
        return true;
    }
    return false; 
}
//***************** functions for check login form
function checkForm(type) {

	var err = true;
	var error_class = 'form_error';
	var error_field = 'error_field';
	var error1 = '';
	var error2 = '';
	var error3 = '';
	var error4 = '';
	var error5 = '';
	var error6 = '';
	var error7 = '';
	var fill = 'Please fill in all mandatory items marked with *<br>';
	// login form
	if (type == 1) {
		if (drop_spaces(trim(get('login_password').value)) == '') {		
			get("login_password").value = '';
			error2 = 'Please fill all fields.';
			err = false;
		}
		var email = get("login_email").value; 
		if (email != '') {
			if (!check_email(email)) {			
				error1 = 'You have entered an incorrect email.<br>';
				if (drop_spaces(trim(get('login_email').value)) == '') {
					get("login_email").value = '';
				}
				err = false;
		  	}
		} else {
			error2 = 'Please fill all fields.';
			err = false;
		}
		if (!err) {
			get("login_error").innerHTML = error1 + error2;
			showBlock('1','login_error');
		} else {
			
			var hash = get('hash').value;
			var target = get('target').value;
			var password = drop_spaces(trim(get('login_password').value));
			//alert('inc/request.php?action=login&target=' + target + '&email=' + email + '&password=' + password + '&hash=' + hash);
			ajaxdisplay('inc/request.php?action=login&target=' + target + '&email=' + email + '&password=' + password + '&hash=' + hash, '', 'loginbox');
			//showBlock('1','login_error');
			//window.location.href = "checkout.html";
			//get("login_error").innerHTML = 'Incorrect email address or password. If you have lost your password, please <a onClick="lostPassword()">click here</a>.';
			//showBlock ('1', 'login_error');
		}
	}
	
	// survey form
	if (type == 3) {
		
		var email = get("email").value; 
		if (email != '') {
			if (!check_email(email)) {			
				error5 = 'You have entered an incorrect email<br>';
				get("email").className = error_field;
				get("f_email").className = error_class;
				if (drop_spaces(trim(get('email').value)) == '') {
					get("email").value = '';
					get("email").className = error_field;
					get("f_email").className = error_class;
				}
				err = false;
		  	}
		} else {
			get("email").className = error_field;
			get("f_email").className = error_class;
			error1 = fill;
			err = false;
		}
		
		var fn = get("fn").value; 
		if (drop_spaces(trim(get("fn").value)) == '') {
			get("fn").value = '';
			get("fn").className = error_field;
			get("f_fn").className = error_class;
			error1 = fill;
			err = false;
		}
		
		var ln = get("ln").value; 
		if (drop_spaces(trim(get("ln").value)) == '') {
			get("ln").value = '';
			get("ln").className = error_field;
			get("f_ln").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("bd").value)) == '') {
			get("bd").value = '';
			get("bd").className = error_field;
			get("f_bd").className = error_class;
			error1 = fill;
			err = false;
		} else {
			var bd = drop_spaces(trim(get("bd").value));
			bd = str_replace ('/', '', bd);
			var today=new Date();
			var day = today.getDate();
			var month = today.getMonth()+1;
			var year = today.getFullYear();
			if (day < 10)
				day = '0'+ day;
			current_date = month + '' + day + '' + year;
			if (current_date <= bd) {
				error6 = 'Date of Birth is incorrect<br>';
				get("bd").className = error_field;
				get("f_bd").className = error_class;
				err = false;
			}
		}
		if (drop_spaces(trim(get("phone").value)) == '') {
			get("phone").value = '';
			get("phone").className = error_field;
			get("f_phone").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("zip").value)) == '') {
			get("zip").value = '';
			get("zip").className = error_field;
			get("f_zip").className = error_class;
			error1 = fill;
			err = false;
		} else {
			zip = drop_spaces(trim(get("zip").value));
			if (!checkZipCode(zip)) {
				get("zip").className = error_field;
				get("f_zip").className = error_class;
				error2 = 'You have entered wrong zip code<br>';
			}
		}
		
		if (drop_spaces(trim(get("how").value)) == '4') {
			if (drop_spaces(trim(get("other").value)) == '' || drop_spaces(trim(get("other").value)) == 'Pleasespecify') {
				error3 = 'Please specify website<br>';		
				get("other").className = error_field;
				get("f_other").className = error_class;	
				err = false;
			}
		}
		if (drop_spaces(trim(get("string_0").value)) == 0 || drop_spaces(trim(get("string_1").value)) == 0) {
			get("f_rate").className = error_class;
			error4 = 'Please rate all items<br>';		
		}

		if (get("delivery").value == 1) {
			if (drop_spaces(trim(get("string_2").value)) == 0) {
				get("f_rate").className = error_class;
				error4 = 'Please rate all items<br>';		
			}
		}
		
		if (!err) {
			get("result").innerHTML = error1 + error2 + error3 + error4 + error5 + error6;
			get("result").style.display = 'block';
		}
	}
	
	// contact form
	if (type == 4) {

		var email = get("email").value; 
		if (email != '') {
			if (!check_email(email)) {			
				error5 = 'You have entered an incorrect email<br>';
				get("email").className = error_field;
				get("f_email").className = error_class;
				if (drop_spaces(trim(get('email').value)) == '') {
					get("email").value = '';
					get("email").className = error_field;
					get("f_email").className = error_class;
				}
				err = false;
		  	}
		} else {
			get("email").className = error_field;
			get("f_email").className = error_class;
			error1 = fill;
			err = false;
		}
		
		var fn = get("fn").value; 
		if (drop_spaces(trim(get("fn").value)) == '') {
			get("fn").value = '';
			get("fn").className = error_field;
			get("f_fn").className = error_class;
			error1 = fill;
			err = false;
		}
		
		var ln = get("ln").value; 
		if (drop_spaces(trim(get("ln").value)) == '') {
			get("ln").value = '';
			get("ln").className = error_field;
			get("f_ln").className = error_class;
			error1 = fill;
			err = false;
		}

		if (drop_spaces(trim(get("phone").value)) == '') {
			get("phone").value = '';
			get("phone").className = error_field;
			get("f_phone").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("address").value)) == '') {
			get("address").value = '';
			get("address").className = error_field;
			get("f_address").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("city").value)) == '') {
			get("city").value = '';
			get("city").className = error_field;
			get("f_city").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("message").value)) == '') {
			get("message").value = '';
			get("message").className = error_field;
			get("f_message").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (get("subject").value == '0') {
			get("subject").className = error_field;
			get("f_subject").className = error_class;
			error3 = 'Please select a subject<br>';
			err = false;
		}

		if (get("state").value == '0') {
			get("state").className = error_field;
			get("f_state").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("zip").value)) == '') {
			get("zip").value = '';
			get("zip").className = error_field;
			get("f_zip").className = error_class;
			error1 = fill;
			err = false;
		} else {
			zip = drop_spaces(trim(get("zip").value));
			if (!checkZipCode(zip)) {
				get("zip").className = error_field;
				get("f_zip").className = error_class;
				error2 = 'You have entered wrong zip code<br>';
			}
		}

		if (!err) {
			get("result").innerHTML = error1 + error2 + error3 + error5;
			get("result").style.display = 'block';
		}
	}
	
	// newsletter form
	if (type == 5) {
		var email = get("email").value; 
		if (email != '') {
			if (!check_email(email)) {			
				error5 = 'You have entered an incorrect email<br>';
				get("email").className = error_field;
				get("f_email").className = error_class;
				if (drop_spaces(trim(get('email').value)) == '') {
					get("email").value = '';
					get("email").className = error_field;
					get("f_email").className = error_class;
				}
				err = false;
		  	}
		} else {
			get("email").className = error_field;
			get("f_email").className = error_class;
			error1 = fill;
			err = false;
		}
		
		var fn = get("fn").value; 
		if (drop_spaces(trim(get("fn").value)) == '') {
			get("fn").value = '';
			get("fn").className = error_field;
			get("f_fn").className = error_class;
			error1 = fill;
			err = false;
		}
		
		var ln = get("ln").value; 
		if (drop_spaces(trim(get("ln").value)) == '') {
			get("ln").value = '';
			get("ln").className = error_field;
			get("f_ln").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("bd").value)) != '') {
			var bd = drop_spaces(trim(get("bd").value));
			bd = str_replace ('/', '', bd);
			var today=new Date();
			var day = today.getDate();
			var month = today.getMonth()+1;
			var year = today.getFullYear();
			if (day < 10)
				day = '0'+ day;
			current_date = month + '' + day + '' + year;
			if (current_date <= bd) {
				error6 = 'Date of Birth is incorrect<br>';
				get("bd").className = error_field;
				get("f_bd").className = error_class;
				err = false;
			}
		}
				
		if (drop_spaces(trim(get("zip").value)) != '') {
			zip = drop_spaces(trim(get("zip").value));
			if (!checkZipCode(zip)) {
				get("zip").className = error_field;
				get("f_zip").className = error_class;
				error2 = 'You have entered wrong zip code<br>';
			}
		}

		if (!err) {
			get("result").innerHTML = error1 + error2 + error5 + error6;
			get("result").style.display = 'block';
		}
	}

	// checkout form
	if (type == 6) {
		
	}
	
	// refer a friend form
	if (type == 7) {
		var email = get("email").value; 
		if (email != '') {
			if (!check_email(email)) {			
				error5 = 'You have entered an incorrect email<br>';
				get("email").className = error_field;
				get("f_email").className = error_class;
				if (drop_spaces(trim(get('email').value)) == '') {
					get("email").value = '';
					get("email").className = error_field;
					get("f_email").className = error_class;
				}
				err = false;
		  	}
		} else {
			get("email").className = error_field;
			get("f_email").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("fn").value)) == '') {
			get("fn").value = '';
			get("fn").className = error_field;
			get("f_fn").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("ln").value)) == '') {
			get("ln").value = '';
			get("ln").className = error_field;
			get("f_ln").className = error_class;
			error1 = fill;
			err = false;
		}
		
		var user_email = get("user_email").value; 
		if (user_email != '') {
			if (!check_email(user_email)) {			
				error5 = 'You have entered an incorrect email<br>';
				get("user_email").className = error_field;
				get("f_user_email").className = error_class;
				if (drop_spaces(trim(get('user_email').value)) == '') {
					get("user_email").value = '';
					get("user_email").className = error_field;
					get("f_user_email").className = error_class;
				}
				err = false;
		  	}
		} else {
			get("user_email").className = error_field;
			get("f_user_email").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("user_fn").value)) == '') {
			get("user_fn").value = '';
			get("user_fn").className = error_field;
			get("f_user_fn").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("user_ln").value)) == '') {
			get("user_ln").value = '';
			get("user_ln").className = error_field;
			get("f_user_ln").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (!err) {
			get("result").innerHTML = error1 + error5;
			get("result").style.display = 'block';
		}
	}
	
	// corporate account form
	if (type == 8) {

		var email = get("user_email").value; 
		if (email != '') {
			if (!check_email(email)) {			
				error5 = 'You have entered an incorrect email<br>';
				get("user_email").className = error_field;
				get("f_user_email").className = error_class;
				if (drop_spaces(trim(get('user_email').value)) == '') {
					get("user_email").value = '';
					get("user_email").className = error_field;
					get("f_user_email").className = error_class;
				}
				err = false;
		  	}
		} else {
			get("user_email").className = error_field;
			get("f_user_email").className = 'lab2_err';
			error1 = fill;
			err = false;
		}
		
		var fn = get("user_fn").value; 
		if (drop_spaces(trim(get("user_fn").value)) == '') {
			get("user_fn").value = '';
			get("user_fn").className = error_field;
			get("f_user_fn").className = error_class;
			error1 = fill;
			err = false;
		}
		
		var ln = get("user_ln").value; 
		if (drop_spaces(trim(get("user_ln").value)) == '') {
			get("user_ln").value = '';
			get("user_ln").className = error_field;
			get("f_user_ln").className = 'lab2_err';
			error1 = fill;
			err = false;
		}

		if (drop_spaces(trim(get("user_phone").value)) == '') {
			get("user_phone").value = '';
			get("user_phone").className = error_field;
			get("f_user_phone").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("user_address").value)) == '') {
			get("user_address").value = '';
			get("user_address").className = error_field;
			get("f_user_address").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("user_city").value)) == '') {
			get("user_city").value = '';
			get("user_city").className = error_field;
			get("f_user_city").className = error_class;
			error1 = fill;
			err = false;
		}

		if (drop_spaces(trim(get("user_company").value)) == '') {
			get("user_company").value = '';
			get("user_company").className = error_field;
			get("f_user_company").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("user_job").value)) == '') {
			get("user_job").value = '';
			get("user_job").className = error_field;
			get("f_user_job").className = 'lab2_err';
			error1 = fill;
			err = false;
		}
		
		if (get("user_state").value == '0') {
			get("user_state").className = error_field;
			get("f_user_state").className = 'lab2_err';
			error1 = fill;
			err = false;
		}

		if (get("terms").value == '0') {		
			error6 = 'Please agree with the terms & conditions<br>';
			err = false;
		}
		
		if (drop_spaces(trim(get("user_zip").value)) == '') {
			get("user_zip").value = '';
			get("user_zip").className = error_field;
			get("f_user_zip").className = error_class;
			error1 = fill;
			err = false;
		} else {
			zip = drop_spaces(trim(get("user_zip").value));
			if (!checkZipCode(zip)) {
				get("user_zip").className = error_field;
				get("f_user_zip").className = error_class;
				error2 = 'You have entered wrong zip code<br>';
			}
		}

		var pass = drop_spaces(trim(get("user_password").value));
		if (pass == '') {
			get("user_password").value = '';
			get("user_password").className = error_field;
			get("f_user_password").className = error_class;
			error1 = fill;
			err = false;
		} else {
			if (!check_password (pass)) {
				err = false;
				get("user_password").className = error_field;
				get("f_user_password").className = error_class;
				error7 = ' Wrong password: only letters and disits are allowed<br>';
			} else {
				if (pass.length < 4 || pass.length > 20) {
					get("f_user_password").className = error_class;
					error3 = 'Passwords must be between 4 and 20 characters long<br>';
				}
			}	
		}
		
		var c_pass = drop_spaces(trim(get("user_c_password").value));
		if (c_pass == '') {
			get("user_c_password").value = '';
			get("user_c_password").className = error_field;
			get("f_user_c_password").className = 'lab2_err';
			error1 = fill;
			err = false;
		} else {
			if (pass != '' && c_pass != '') {
				if (pass != c_pass) {
					get("user_c_password").className = error_field;
					get("f_user_c_password").className = 'lab2_err';
					error4 = 'The two passwords you entered did not match<br>';
					err = false;
				}
			}
		}
		
		if (!err) {
			get("result").innerHTML = error1 + error2 + error3 + error4 + error5 + error6 + error7;
			get("result").style.display = 'block';
		}
	}
	
	return err;
}

//*****************  clear error message
function clearError (id, class_name) {
	if (class_name == 'corp') {
		if (get('f_' + id))
			get('f_' + id).className = 'lab2';
		if (get(id))
			get(id).className = '';
	}
	else if (class_name == 'second') {
		if (get('f_' + id))
			get('f_' + id).className = 'second';
		if (get(id))
			get(id).className = '';
	} else {
		if (get('f_' + id))
			get('f_' + id).className = '';
		if (get(id))
			get(id).className = class_name;
	}
	if (get('result')) {
		//get("result").style.display = 'none';
		//get('result').innerHTML = '<br>';
	}
}

//*****************  clear error label
function clearTitleError (id, class_name) {
	if (get(id)) {
		get(id).className = class_name;
	}
}


//*****************  checks if a value exists in an array
function in_array (needle, haystack, strict) {
    // 
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    var found = false, key, strict = !!strict;
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }
    return found;
}

//***************** allow only numbers and dot to be entered in a textbox
function isNumberKey(evt) {
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode==37 || charCode==39 || charCode==46)
		return true;
    if (charCode > 31 && (charCode < 48 || charCode > 57))
    	return false;
	return true;
}

//***************** allow only numbers to be entered in a textbox
function isIntegerNumberKey(evt) {
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode==37 || charCode==39)
		return true;
    if (charCode > 31 && (charCode < 48 || charCode > 57))
    	return false;
	return true;
}

//*****************  check is string is a number
function checkZipCode (code) {
	if (code.length != 5) {
		return false;
	} else {
		var template = /^-?\d?\d+$/;
		if (template.test(code)) 
			return true;
		else 
			return false;
	}
}

//*****************  clear error message
/*function clearWindowError (id, className) {
	if (get(id))
		get(id).className = '';
	get(id).className = className;
	get('result').innerHTML = '<br>';
}
*/
//*****************  check Order Now form
function orderNow () {
	var type = get('order_for').value;
	if (type == 1) {
		var zip = trim(drop_spaces(get('zip_code').value));
		if (drop_spaces(trim(zip)) == '') {	
			showWindowError ('zip_error', 'Please enter your zip code. If you just want to view our menu, enter 10014.');
		} else {
			if (checkZipCode(zip)) {
				var is_exists = in_array (zip, br);
				var menu = '';
				if (is_exists) {
					menu = 'br';
				}
				else {
					var is_exists = in_array (zip, mh);
					if (is_exists) {
						menu = 'mh';
					}
				}
				if (menu == '') {
					showWindowError ('zip_error', 'We do not deliver to ' + zip + '. If you believe we do, please call us at <b>212 333 3366</b>.<br>If you just want to view our menu, enter 10014.');
				} else {
					var date = new Date();
				    date.setTime(date.getTime()+(365*24*60*60*1000));
					setCookie ('menu', menu, date, '', '', '');
					setCookie ('zip', zip, date, '', '', '');
					setCookie ('order', 'new', date, '', '', '');
					if (get('catering_page')) {
						location.href="menu_catering.html";		
					} else {
						location.href="menu.html";		
					}
				}
			} else {
				showWindowError ('zip_error', 'You have entered wrong zip code');
			}
		}
	} else if (type == 0) {
		var menu = get('location').value;
		if (menu == 1)
			menu = 'br';
		else if (menu == 2)
			menu = 'mh';
			
		var date = new Date();
	    date.setTime(date.getTime()+(365*24*60*60*1000));
		setCookie ('menu', menu, date, '', '', '');
		
		var date = new Date();
		date.setTime(date.getTime()+(365*24*60*60*1000));
		setCookie ('zip', '', date, '', '', '');
		setCookie ('order', '', date, '', '', '');
		if (get('catering_page')) {
			location.href="menu_catering.html";		
		} else {
			location.href="menu.html";		
		}
	}
}

//*****************  show error in window
function showWindowError (id, text) {
	get(id).innerHTML = text;
	get(id).style.display = 'block';
}

//*****************  hide error in window
function hideWindowError (id) {
	get(id).innerHTML = '';
	get(id).style.display = 'none';
}

//*****************  change for a what this order
function changeOrder (type) {
	if (type == 'zip') { // delivery
		radio('1', 'order_for');
		get('enter_zip').style.display = 'block';
		get('choose_location').style.display = 'none';
	} else {			 // pick up
		radio('0', 'order_for');
		get('enter_zip').style.display = 'none';
		//get('zip_code').value = '';
		get('choose_location').style.display = 'block';
		hideWindowError ('zip_error');
	}
}

//*****************  show pop up window with item for order it
function itemWindow (id, type, nn) {
	var hash = get('hash').value;

	if (type == 3)
		item_id = 'next_step';
	else
		item_id = 'item' + id;
	open_order(item_id, type, nn);
	show_spinner ('output', 'margin-top: 20px; margin-left: 25px;');
	ajaxdisplay('inc/request.php?action=show_item_window&type=' + type + '&item_id=' + id + '&nn=' + nn + '&hash=' + hash, '', 'output');
}

//*****************  show pop up window with item description
function suggestedItem (id) {
	var hash = get('hash').value;
	var catalog_id = get('current_catalog_id').value;
	open_order('next_step', 2);
	ajaxdisplay('inc/request.php?action=show_suggested_item&catalog_id=' + catalog_id + '&hash=' + hash, '', 'output');
	get("drag-handle").style.backgroundImage = "url('js/subwindow/modalfiles/try_delicious.gif')";
}

//*****************  change price in pop up window
function changePrice (sum, id) {
/*
	item_price = get('item_price').value;
	status = get(id).value;
	if (status != 0) {
		current_additional = get('value_price_' + status).value/1;
	} else
		current_additional = 0;	
	item_price = item_price - current_additional + sum/1;
	get('show_price').innerHTML = item_price;	
	get('item_price').value = item_price;
*/
}

//***************** check or uncheck option values on order
function orderOptions (value_id, option_id, type) {
	var item_price = eval(get('item_price').value);
	if (get('mandatory'+option_id))
		get('mandatory'+option_id).className = '';
	if (get('num'+option_id))
		get('num'+option_id).className = '';
	get('title'+option_id).style.color = '';
	if (type == 'check') {
		checkbox('value' + value_id);
		var current_value = get('value' + value_id).value;
		var num_selected = get('option' + option_id).value;
		var sum = eval(get('value_price_' + value_id).value);
		if (current_value == 1) {
			num_selected ++;
			var item_price = item_price + sum;
		} else {
			num_selected --;
			item_price = item_price - sum;
		}
		get('option' + option_id).value = num_selected;
		get('item_price').value = item_price;
		updatePrice ('window');		
	} else if (type == 'radio') {
		current_value = get('option' + option_id).value;
		if (current_value != 0)
			current_additional = eval(get('value_price_' + current_value).value);
		else
			current_additional = 0;	
		sum = eval(get('value_price_' + value_id).value);
		item_price = item_price - current_additional + sum;
		get('item_price').value = item_price;
		updatePrice ('window');
		var current_option_value = get('option' + option_id).value;
		radio(value_id, 'option'+option_id);
		current_value = get('value' + value_id).value;
		if (current_option_value != value_id) {
			if (current_value == 1) {
				get('value' + value_id).value = 0;
				
			} else if (current_value == 0) {
				get('value' + value_id).value = 1;
				get('value' + current_option_value).value = 0;
			}
		}
	}
}

//***************** update total order amount
function updatePrice (type) {
	loading ('1');
	get('loading').style.display = 'block';
	if (get('min_error')) {
		get('min_error').style.display = 'none';
	}

	if (type == 'window') { // update price on pop up window
		var item_price = get('item_price').value;
		
		if (qnt = get('qnt').value == '') {
			get('qnt').value = '1';
			var qnt = '1';
		} else {
			var qnt = get('qnt').value;
			var qnt = eval(qnt);
		}
		var new_price = item_price*qnt;
		get('show_price').innerHTML = new_price.toFixed(2);
	} else if (type == 'page' || type == 'list') {  // update price on basket area

		var basket = '';
		var hash = get('hash').value;
		var tax = eval(get('tax_value').value);
		var items_in_basket = get('items_in_basket').value;
		var items_in_basket_array = split (':', items_in_basket);
		var num = items_in_basket_array.length;
		
		var deleted_items = get("deleted_items").value;
		var deleted_items_array = split (':', deleted_items);
		var deleted = deleted_items_array.length;

		var total = '';
		for (var i = 0; i < num; i++) {
			var item_in_basket_array = split ('-', items_in_basket_array[i]);
			
			var id = item_in_basket_array[0];
			var nn = item_in_basket_array[1];
			
			if (!in_array (id + '-' + nn, deleted_items_array, '')) {
				var price = eval(get('basket_price_' + id).value);
//				var qnt = eval(get('qnt_' + id).value);
//				alert(qnt);
				if (get('qnt_'+id+'_'+nn).value == '') {
					get('qnt_'+id+'_'+nn).value = '1';
					qnt = '1';
				} else {
					var qnt = eval(get('qnt_'+id+'_'+nn).value);
				}
				if (qnt == '0') {
					deleteItem(id, nn);
					var single_price = '0';
					var new_price = '0';
					total = eval(total + new_price*1);
					basket = basket + id + '-' + qnt + '-' + nn + ',';
				} else {		
					var single_price = eval(get('basket_item_price_' + id + '_' + nn).value);
					var new_price = eval(single_price*qnt);
					var new_price = new_price.toFixed(2);
					get('sum_'+id+'_'+nn).innerHTML = new_price;
					if (!qnt || qnt == '0') {
						get('qnt_'+id+'_'+nn).value = '1';
						qnt = '1';
					}
					total = eval(total + new_price*1);
					basket = basket + id + '-' + qnt + '-' + nn + ',';
				}
			}		
		}

		if (type == 'page' || type == 'list') {
			clear_sum ();
			
			if (get('coupon')) {
				var green = get('green').value;
				var favorite = get('favorite').value;
				//alert('inc/request.php?action=show_basket&type=1&favorite=' + favorite + '&green=' + green + '&hash=' + hash);
				ajaxdisplay('inc/request.php?action=show_basket&type=1&favorite=' + favorite + '&green=' + green + '&values=' + basket + '&hash=' + hash, '', 'basket');
			} else {	
				ajaxdisplay('inc/request.php?action=update_basket&values=' + basket + '&hash=' + hash, '', 'update_qnts');
				//if (get('subtotal'))
				//	get('subtotal').innerHTML = total;
				var new_tax = eval(total*tax/100);
				new_tax = eval(new_tax.toFixed(2));
				var total_data = new_tax + total;
				if (get('subtotal'))
					get('subtotal').innerHTML = '$' + total.toFixed(2);
				if (get('tax'))
					get('tax').innerHTML = '$' + new_tax.toFixed(2);
				if (get('total_data'))
					get('total_data').innerHTML = '$' + total_data.toFixed(2);
				if (get('total_sum'))
					get('total_sum').value = total_data.toFixed(2);
			}	
		}
	}
	loading ('0');
}

//***************** restore price to '1' if it = 0
function restorePrice (id) {
	var qnt = get('qnt_'+id).value;
	if (!qnt || qnt == '0') {
		get('qnt_' + id).value = '1';
	}
}

//***************** set cookie value
function setCookie(name, value, expires, path, domain, secure) {
//alert(name + '' + value):
	var curCookie = name + "=" + escape(value) +
    	((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "")
	/*	
    if ((name + "=" + escape(value)).length <= 4000)
        document.cookie = curCookie
	else
    	if (confirm("Cookie length value more than 4kb and will cut"))
	*/
    document.cookie = curCookie;
}

//***************** delete cookie value
function deleteCookie (name, path, domain) {
	if (readCookie(name)) {
		document.cookie =
		name +"=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain="+domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT"
	}
}

//***************** read cookie value
function readCookie(name) {
	var xname = name + "=";
	var xlen = xname.length;
	var clen = document.cookie.length;
	var i = 0;
	while(i < clen){
	       var j = i + xlen
	       if (document.cookie.substring(i, j) == xname)
			return getCookieVal(j);
	       i = document.cookie.indexOf(" ",1) + 1;
	       if (i == 0)  break
	}
	return null;
}

//***************** get cookie value
function getCookieVal(n) {
	var endstr = document.cookie.indexOf(";", n)
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(n, endstr))
}

//***************** set cookie value
function writeCookie (name, value, expires, path, domain, secure) {
	document.cookie = 
	name +"=" + escape(value) +
	((expires) ? "; expires="  + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "")
}

//***************** delete item from basket
function deleteItem (id, nn) {
	loading('1');
	var num = get('num_basket_items').value;
	--num;
	get('num_basket_items').value = num;
	get('item_line_' + id + '_' + nn).style.display = 'none';
	var items_in_basket = get('items_in_basket').value;
	var hash = get('hash').value;
	var deleted_items = get("deleted_items").value;
	if (deleted_items != '')
		deleted_items = deleted_items + ':' + id + '-' + nn;
	else
		deleted_items = id + '-' + nn;

	get("deleted_items").value = deleted_items;	
	if (num == 0) {
		if (get('basket_body'))
			get('basket_body').innerHTML = '<p class="waiting">Waiting for you to create an order.<br /><span>(Select from the left side to add items.)</span></p>';
		else if (get('basket'))	
			get('basket').innerHTML = '<p class="waiting">Waiting for you to create an order.<br /><span>(Select from the left side to add items.)</span></p>';
	} else {
		updatePrice ('list');
	}

	if (get('coupon')) {
		if (get('green'))
			var green = get('green').value;
		else
			var green = 0;
		if (get('favorite'))
			var favorite = get('favorite').value;
		else
			var favorite = 0;
		ajaxdisplay('inc/request.php?action=show_basket&delete_item_id=' + id + '&nn=' + nn + '&type=1&favorite=' + favorite + '&green=' + green + '&hash=' + hash, '', 'basket');
	} else {
		ajaxdisplay('inc/request.php?action=delete_from_basket&item_id=' + id + '&nn=' + nn + '&hash=' + hash, '', 'update_qnts');
	}
	loading('0');
}

function clear_sum () {
	if (get('subtotal'))
		get('subtotal').innerHTML = '';
	if (get('discount'))
		get('discount').innerHTML = '';
	if (get('tax'))
		get('tax').innerHTML = '';
	if (get('total_data'))
		get('total_data').innerHTML = '';
	if (get('total_data_sum'))
		get('total_data_sum').innerHTML = '';
}

//***************** check minimum order sum
function checkMunimumSum (id) {
	if (get('min_order')) {
		var min_sum = eval(get('min_order').value);
		var total_sum = eval(get('total_sum').value);
		if (total_sum < min_sum) {
			showWindowError ('min_error', 'The minimum order total (before tax) for delivery is <b>$' + min_sum.toFixed(2) + '</b>. Please add additional selections to your order before proceeding.');
		} else {
			if (id > 0) {
				suggestedItem(id);
			} else {
				window.location.href = "https://www.dallasjonesbbq.com/checkout.html";
				//location.href = "checkout.html";
			}
		}
	} else {
		if (id > 0) {
			suggestedItem(id);
		} else {
			window.location.href = "https://www.dallasjonesbbq.com/checkout.html";
			//location.href = "checkout.html";
		}
	}
}

//***************** show or hide faq block
function faq (id) {
	if (get("f" + id)) {
		if (get("f" + id).style.display == 'none') {
			get("f" + id).style.display = 'block';
			get("p" + id).className = 'open';
		} else {
			get("f" + id).style.display = 'none';
			get("p" + id).className = '';
		}
	}
}

//***************** apply coupon in basket
function applyCoupon (type) {
	loading('1');
	var hash = get('hash').value;
	var green = get('green').value;
	var favorite = get('favorite').value;
	if (type == '1')
		var code = drop_spaces(trim(get('coupon').value));
	else if (type == '0') {
		var code = '';
		get('coupon_block').style.display = 'none';
	}
	ajaxdisplay('inc/request.php?action=show_basket&type=1&favorite=' + favorite + '&green=' + green + '&code=' + code + '&hash=' + hash, '', 'basket');
	loading('0');
}

function checkCoupon () {

	var hash = get('hash').value;
	var code = drop_spaces(trim(get('coupon').value));
	var sum = get("total_sum").value;
	get('coupon_text').style.display = 'block';
	ajaxdisplay('inc/request.php?action=check_coupon&code=' + code + '&sum=' + sum + '&hash=' + hash, '', 'coupon_text');
	/*	
	if (code != '') {
		//ajaxdisplay('inc/request.php?action=show_basket&code=' + code + '&hash=' + hash, '', 'basket');
		sum = get("total_sum").value;
		get('coupon_text').style.display = 'block';
		ajaxdisplay('inc/request.php?action=check_coupon&code=' + code + '&sum=' + sum + '&hash=' + hash, '', 'coupon_text');
	} else {
		get('coupon_text').innerHTML = '<div class="order_error" style="display: block">Please enter coupon code</div>';
	}
	*/
}

function hideCouponError () {
	get('coupon_text').style.display = 'none';
	get('coupon_text').innerHTML = '';
}

//***************** rate value on survey page
function rate (string, value) {
	get("f_rate").className = '';
	string_value = get('string_' + string).value;
	if (string_value > 0) {
		if (string_value != value) {
			get('rate_' + string + '_' + string_value).className = '';
		}
	}
	get('rate_' + string + '_' + value).className = 'sel';
	get('string_' + string).value = value;
}

//*****************  scroll page content on top
function scrollit () {
	for (i=25; i>=1; i--) {
		self.scroll(1,i)
	}
}

//*****************  close login pop up window after successful login
function closeLogin (id, key, target) {

	if (id != '' && key != '') {
		var date = new Date();
	    date.setTime(date.getTime()+(365*24*60*60*1000));
	//	var expires = "; expires="+date.toGMTString();
		document.cookie = "dbbq_id=" + id + "; expires="+date.toGMTString() + "; path=/";
		document.cookie = "dbbq_key=" + key + "; expires="+date.toGMTString() + "; path=/";
	}				
	close_login ();
	
	if (target == 1) {
		window.location.reload(true);
	} else {
		window.location.href = "my_favorites.html";
	}
}

//*****************  log out of user
function logout () {
	var date = new Date();
    date.setTime(date.getTime()-(365*24*60*60*1000));
	document.cookie = "dbbq_id=; expires="+date.toGMTString() + "; path=/";
	document.cookie = "dbbq_key=; expires="+date.toGMTString() + "; path=/";
	window.location.reload(true);
}

//*****************  show pop up window with terms and Conditions
function showRule (id, type) {
	var hash = get('hash').value;
	open_rule (id, type);
	if (get('rulebox')) {
		var view = '1';
		var div = 'rulebox';
	} else {
		var view = '0';
		var div = 'output';
	}
	get('output').innerHTML = '<img src="img/indicator.gif" style="margin-top: 25px; margin-left: 23px;" />';
	ajaxdisplay('inc/request.php?action=show_rule&view=' + view + '&type=' + type + '&hash=' + hash, '', div);
}

//***************** check password for user
function check_password (password) {
    var template = /^[A-Za-z0-9]+$/;
    if (template.test(password)) {
        return true;
    }
    return false; 
}

//***************** check order form
function check_order () {

	var err = true;
	var error_class = 'form_error';
	var error_field = 'error_field';
	var error1 = '';
	var error2 = '';
	var error3 = '';
	var error4 = '';
	var error5 = '';
	var error6 = '';
	var error7 = '';
	var error8 = '';
	var error9 = '';
	var error10 = '';
	var error11 = '';
	var error12 = '';
	var error13 = '';
	var error14 = '';
	var error15 = '';
	var error16 = '';

	var fill = 'Please fill in all mandatory items marked with *<br>';
	
	var min_sum = eval(get('min_order').value);
	var total_sum = eval(get('total_sum').value);
	
	if (total_sum < min_sum) {
		err = true;
		showWindowError ('min_error', 'The minimum order total (before tax) for delivery is <b>$' + min_sum.toFixed(2) + '</b>. Please add additional selections to your order before proceeding.');
	}
	
	var email = get("user_email").value; 
	if (email != '') {
		if (!check_email(email)) {			
			error3 = 'You have entered an incorrect email<br>';
			get("user_email").className = error_field;
			get("f_user_email").className = error_class;
			if (drop_spaces(trim(get('user_email').value)) == '') {
				get("user_email").value = '';
				get("user_email").className = error_field;
				get("f_user_email").className = error_class;
			}
			err = false;
		 	}
	} else {
		get("user_email").className = error_field;
		get("f_user_email").className = error_class;
		error1 = fill;
		err = false;
	}
			
	var fn = get("user_fn").value; 
	if (drop_spaces(trim(get("user_fn").value)) == '') {
		get("user_fn").value = '';
		get("user_fn").className = error_field;
		get("f_user_fn").className = error_class;
		error1 = fill;
		err = false;
	}
		
	var ln = get("user_ln").value; 
	if (drop_spaces(trim(get("user_ln").value)) == '') {
		get("user_ln").value = '';
		get("user_ln").className = error_field;
		get("f_user_ln").className = error_class;
		error1 = fill;
		err = false;
	}

	if (drop_spaces(trim(get("user_phone").value)) == '') {
		get("user_phone").value = '';
		get("user_phone").className = error_field;
		get("f_user_phone").className = error_class;
		error1 = fill;
		err = false;
	}
		
	if (drop_spaces(trim(get("user_address").value)) == '') {
		get("user_address").value = '';
		get("user_address").className = error_field;
		get("f_user_address").className = error_class;
		error1 = fill;
		err = false;
	}
		
	if (drop_spaces(trim(get("user_city").value)) == '') {
		get("user_city").value = '';
		get("user_city").className = error_field;
		get("f_user_city").className = error_class;
		error1 = fill;
		err = false;
	}

	if (get("user_state").value == '0') {
		get("user_state").className = error_field;
		get("f_user_state").className = error_class;
		error1 = fill;
		err = false;
	}

	if (drop_spaces(trim(get("user_zip").value)) == '') {
		get("user_zip").value = '';
		get("user_zip").className = error_field;
		get("f_user_zip").className = error_class;
		error1 = fill;
		err = false;
	} else {
		zip = drop_spaces(trim(get("user_zip").value));
		if (!checkZipCode(zip)) {
			err = false;
			get("user_zip").className = error_field;
			get("f_user_zip").className = error_class;
			error2 = 'You have entered wrong zip code<br>';
		} else {
			if (get('delivery_zip')) {
				var is_exists = in_array (zip, br);
				var menu = '';
				if (is_exists) {
					menu = 'br';
				} else {
					var is_exists = in_array (zip, mh);
					if (is_exists) {
						menu = 'mh';
					}
				}
				if (menu == '') {
					err = false;
					error4 = 'We do not deliver to ' + zip + '. If you believe we do, please call us at <b>212 333 3366</b><br>';
				}
			}
		}
	}
		
	if (get("user_password")) {
		var pass = drop_spaces(trim(get("user_password").value));
		if (pass == '') {
			get("user_password").value = '';
			get("user_password").className = error_field;
			get("f_user_password").className = error_class;
			error1 = fill;
			err = false;
		} else {
			if (!check_password (pass)) {
				err = false;
				get("user_password").className = error_field;
				get("f_user_password").className = error_class;
				error7 = ' Wrong password: only letters and disits are allowed.<br>';
			} else {
				if (pass.length < 4 || pass.length > 20) {
					get("f_user_password").className = error_class;
					error6 = 'Passwords must be between 4 and 20 characters long.<br>';
				}
			}	
		}
			
		var c_pass = drop_spaces(trim(get("user_c_password").value));
		if (c_pass == '') {
			get("user_c_password").value = '';
			get("user_c_password").className = error_field;
			get("f_user_c_password").className = error_class;
			error1 = fill;
			err = false;
		} else {
			if (pass != '' && c_pass != '') {
				if (pass != c_pass) {
					get("user_c_password").className = error_field;
					get("f_user_c_password").className = error_class;
					error8 = 'The two passwords you entered did not match<br>';
					err = false;
				}
			}
		}
	}
		
	if (get("terms").value == '0') {
		get("f_terms").className = error_class;
		error5 = 'Please agree with the terms & conditions<br>';
		err = false;
	}
	
	if (get("billing").value == '1') {
		if (get("card_type").value == '0') {
			get("f_card_type").className = error_class;
			error9 = 'Please select a credit card type<br>';
			err = false;
		}
		if (get("card_m").value == '0') {
			get("f_card_exp").className = error_class;
			error10 = 'Please select Expiration Date for credit card<br>';
			err = false;
		}
		if (get("card_y").value == '0') {
			get("f_card_exp").className = error_class;
			error10 = 'Please select Expiration Date for credit card<br>';
			err = false;
		}
		if (drop_spaces(trim(get('card_number').value)) == '') {
			get("card_number").value = '';
			get("card_number").className = error_field;
			get("f_card_number").className = error_class;
			error12 = 'Please enter Credit Card number<br>';
			err = false;
		}
		if (drop_spaces(trim(get('sec_code').value)) == '') {
			get("sec_code").value = '';
			get("sec_code").className = error_field;
			get("f_sec_code").className = error_class;
			error13 = 'Please enter your Security Code<br>';
			err = false;
		}
		if (drop_spaces(trim(get('card_zip').value)) == '') {
			get("card_zip").value = '';
			get("card_zip").className = error_field;
			get("f_card_zip").className = error_class;
			error16 = 'Please enter your Billing Zip Code<br>';
			err = false;
		}
		if (get('tip').value == '1') {
			if (drop_spaces(trim(get('tip_sum').value)) == '' || eval(drop_spaces(trim(get('tip_sum').value))) == 0) {
				get("tip_sum").value = '';
				get("tip_sum").className = error_field;
				get("f_tip_sum").className = error_class;
				error14 = 'Please enter a tip amount<br>';
				err = false;
			} else {
				
				var tips_value = drop_spaces(trim(get("tip_sum").value));
			
				if (!isFloat(tips_value)) {
					get("tip_sum").className = error_field;
					get("f_tip_sum").className = error_class;
					error15 = 'Please enter correct amount of tips';
					err = false;
				}
			}
		}
	}
	
	if (!err) {
		get("result").innerHTML = error1 + error2 + error3 + error4 + error5 + error6 + error7 + error8 + error9 + error10 + error12 + error13 + error14 + error15 + error16;
		get("result").style.display = 'block';
	}

	return err;
}

//***************** clear terms error message
function clear_terms () {
	get('f_terms').style.color='#333333';
}

//***************** show tip persents on checkout page
function tipPersent () {
	var tip = get('tip_sum').value;
	tip = str_replace (',', '.', tip);
	if (tip > 0) {
		if (!isFloat(tip)) {
			get("tip_sum").className = error_field;
			get("f_tip_sum").className = error_class;
			get("result").style.display = 'block';
			get("result").innerHTML = 'Please enter correct amount of tips';
		} else {
			var tax = eval(get('tax_sum').value);
			var sum = eval(get('total_sum').value);
			var coupon = eval(get('coupon_sum').value);			
			var total = eval(tax + sum - coupon);
			var persent = tip*100/total;
			persent = Math.ceil(persent);
			get('persent_value').innerHTML = persent;
			
			if (strstr(tip, '.', ''))
				get('tips_value').innerHTML = '$' + tip;
			else
				get('tips_value').innerHTML = '$' + tip + '.00';
			
			var coupon = eval(get('coupon_sum').value);
			var sum = eval(get('total_sum').value);
			var tax = eval(get('tax_sum').value);
			tip = eval(tip);
			var new_sum = sum + tax - coupon + tip;
			new_sum = new_sum.toFixed(2);
			get('total_data_sum').innerHTML = '$' + new_sum;	
				
		}
	} else {
		var coupon = eval(get('coupon_sum').value);
		var sum = eval(get('total_sum').value);
		var tax = eval(get('tax_sum').value);
		var new_sum = sum + tax - coupon;				
		get('persent_value').innerHTML = '0';
		get('tips_value').innerHTML = '$0.00';
		new_sum = new_sum.toFixed(2);
		get('total_data_sum').innerHTML = '$' + new_sum;	
	}
}

//***************** index page click on pick-up on order form
function checkPickup () {
	checked('0');
	zip = get('index_zip').value;
	get('index_zip').value = "";
	get('zip_value').value = zip;
}

//***************** index page click on pick-up on order form
function checkDelivery () {
	checked('1');
	zip = get('zip_value').value;
	get('index_zip').value = zip;
}

//***************** start order with left form on index page
function startOrder () {
	var type = get('order_delivery').value;

	if (type == 1) {
		
		var zip = trim(drop_spaces(get('index_zip').value));
		if (drop_spaces(trim(zip)) == '') {	
			open_zip('order_now');
			get('zip_code').value = '';
			get('enter_zip').style.display = 'block';
			get('choose_location').style.display = 'none';
			get('div1_order_for').className = 'radio_on';
			get('div0_order_for').className = 'radio_off';
			get('order_for').value = type;
			//get('order_for').value = '1';
			showWindowError ('zip_error', 'Please enter your zip code. If you just want to view our menu, enter 10014.');
		} else {
			if (checkZipCode(zip)) {
				var is_exists = in_array (zip, br);
				var menu = '';
				if (is_exists) {
					menu = 'br';
				}
				else {
					var is_exists = in_array (zip, mh);
					if (is_exists) {
						menu = 'mh';
					}
				}
				if (menu == '') {
					get('enter_zip').style.display = 'block';
					get('choose_location').style.display = 'none';
					get('div1_order_for').className = 'radio_on';
					get('div0_order_for').className = 'radio_off';
					open_zip('order_now');
					get('zip_code').value = zip;
					get('order_for').value = type;
					showWindowError ('zip_error', 'We do not deliver to ' + zip + '. If you believe we do, please call us at <b>212 333 3366</b>.<br>If you just want to view our menu, enter 10014.');
				} else {
					var date = new Date();
				    date.setTime(date.getTime()+(365*24*60*60*1000));
					setCookie ('menu', menu, date, '', '', '');
					setCookie ('zip', zip, date, '', '', '');
					location.href="menu.html";		
				}
			} else {
				showWindowError ('zip_error', 'You have entered wrong zip code');
			}
		}
	} else if (type == 0) {
		open_zip('order_now');
		get('zip_code').value = '';
		menu = get('index_menu').value;
		get('enter_zip').style.display = 'none';
		get('choose_location').style.display = 'block';
		get('div1_order_for').className = 'radio_off';
		get('div0_order_for').className = 'radio_on';
		get('order_for').value = type;
		if (menu == 'mh') {
			get('div2_location').className = 'radio_on';
			location_value = '2';
		} else if (menu == 'br') {
			get('div1_location').className = 'radio_on';
			location_value = '1';
		}
		get('location').value = location_value;
	}
}

//***************** show or hide user menu
function showUserMenu (type) {
	if (type == 1) {
		get('menu_user').style.display = 'block';
	} else if (type == 0) {
		get('menu_user').style.display = 'none';
	}
}

//***************** include css styles only for Opera
function includeOperaStyles () {
	UserAgent = navigator.userAgent
	AgentName = UserAgent.substring(0,5)
	if (AgentName == "Opera") {
		document.write('<link rel="stylesheet" type="text/css" media="screen" href="css/opera9.css">');
	}
}

//***************** include css styles only for Opera
function restoreUser () {
	old_data = get('old_data').value;
	data = split ('|||', old_data);
	get('user_fn').value = data[0];
	get('user_ln').value = data[1];
	get('user_company').value = data[2];
	get('user_job').value = data[3];
	get('user_address').value = data[4];
	get('user_apt').value = data[5];
	get('user_city').value = data[6];
	get('user_zip').value = data[7];
	get('user_phone').value = data[8];
	get('user_email').value = data[9];
	get('green').value = data[10];
	if (data[10] == 1)
		get('div_green').className = 'check_on';
	else
		get('div_green').className = 'check_off';
	if (get('discount')) {
			get('green').value = data[11];
		if (data[11] == 1)
			get('div_discount').className = 'check_on';
		else
			get('div_discount').className = 'check_off';
	}
	get('user_confirm').innerHTML = 'All the changes done on your profile have been canceled.';
	get('user_confirm').style.display = 'block';
}

//***************** check save profile form
function check_user_form () {
	
	var err = true;
	var error_class = 'form_error';
	var error_field = 'error_field';
	var error1 = '';
	var error2 = '';
	var error3 = '';
	var error4 = '';
	var error5 = '';
	var error6 = '';
	var error7 = '';
	var error8 = '';

	var fill = 'Please fill in all mandatory items marked with *<br>';
	
	var email = get("user_email").value; 
	if (email != '') {
		if (!check_email(email)) {			
			error3 = 'You have entered an incorrect email<br>';
			get("user_email").className = error_field;
			get("f_user_email").className = error_class;
			if (drop_spaces(trim(get('user_email').value)) == '') {
				get("user_email").value = '';
				get("user_email").className = error_field;
				get("f_user_email").className = error_class;
			}
			err = false;
		 	}
	} else {
		get("user_email").className = error_field;
		get("f_user_email").className = error_class;
		error1 = fill;
		err = false;
	}
		
		
		var fn = get("user_fn").value; 
		if (drop_spaces(trim(get("user_fn").value)) == '') {
			get("user_fn").value = '';
			get("user_fn").className = error_field;
			get("f_user_fn").className = error_class;
			error1 = fill;
			err = false;
		}
		
		var ln = get("user_ln").value; 
		if (drop_spaces(trim(get("user_ln").value)) == '') {
			get("user_ln").value = '';
			get("user_ln").className = error_field;
			get("f_user_ln").className = error_class;
			error1 = fill;
			err = false;
		}

		if (drop_spaces(trim(get("user_phone").value)) == '') {
			get("user_phone").value = '';
			get("user_phone").className = error_field;
			get("f_user_phone").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("user_address").value)) == '') {
			get("user_address").value = '';
			get("user_address").className = error_field;
			get("f_user_address").className = error_class;
			error1 = fill;
			err = false;
		}
		
		if (drop_spaces(trim(get("user_city").value)) == '') {
			get("user_city").value = '';
			get("user_city").className = error_field;
			get("f_user_city").className = error_class;
			error1 = fill;
			err = false;
		}

		if (get("user_state").value == '0') {
			get("user_state").className = error_field;
			get("f_user_state").className = error_class;
			error1 = fill;
			err = false;
		}

		if (drop_spaces(trim(get("user_zip").value)) == '') {
			get("user_zip").value = '';
			get("user_zip").className = error_field;
			get("f_user_zip").className = error_class;
			error1 = fill;
			err = false;
		} else {
			zip = drop_spaces(trim(get("user_zip").value));
			if (!checkZipCode(zip)) {
				err = false;
				get("user_zip").className = error_field;
				get("f_user_zip").className = error_class;
				error2 = 'You have entered wrong zip code<br>';
			} else {
				if (get('delivery_zip')) {
					var is_exists = in_array (zip, br);
					var menu = '';
					if (is_exists) {
						menu = 'br';
					}
					else {
						var is_exists = in_array (zip, mh);
						if (is_exists) {
							menu = 'mh';
						}
					}
					if (menu == '') {
						err = false;
						error4 = 'We do not deliver to ' + zip + '. If you believe we do, please call us at <b>212 333 3366</b><br>';
					}
				}
			}
		}
		
		if (get("user_password").value != '') {
			var pass = drop_spaces(trim(get("user_password").value));
			if (pass == '') {
				get("user_password").value = '';
				get("user_password").className = error_field;
				get("f_user_password").className = error_class;
				error1 = fill;
				err = false;
			} else {
				if (!check_password (pass)) {
					err = false;
					get("user_password").className = error_field;
					get("f_user_password").className = error_class;
					error7 = ' Wrong password: only letters and disits are allowed.<br>';
				} else {
					if (pass.length < 4 || pass.length > 20) {
						get("f_user_password").className = error_class;
						error6 = 'Passwords must be between 4 and 20 characters long.<br>';
					}
				}	
			}
			
			var c_pass = drop_spaces(trim(get("user_c_password").value));
			if (c_pass == '') {
				get("user_c_password").value = '';
				get("user_c_password").className = error_field;
				get("f_user_c_password").className = 'form_error_second';
				error1 = fill;
				err = false;
			} else {
				if (pass != '' && c_pass != '') {
					if (pass != c_pass) {
						get("user_c_password").className = error_field;
						get("f_user_c_password").className = 'form_error_second';
						error8 = 'The two passwords you entered did not match.<br>';
						err = false;
					}
				}
			}
		}
		
	if (!err) {
		get('user_confirm').style.display = 'none';
		get("result").innerHTML = error1 + error2 + error3 + error4 + error5 + error6 + error7 + error8;
		get("result").style.display = 'block';
	}
	
	return err;
}

//***************** check lost password form
function change_password_form () {
	err = true;
		var email = get("lost_email").value; 
		if (email != '') {
			if (!check_email(email)) {			
				error1 = 'You have entered an incorrect email.<br>';
				if (drop_spaces(trim(get('lost_email').value)) == '') {
					get("lost_email").value = '';
				}
				err = false;
		  	}
		} else {
			error1 = 'Please fill email.';
			err = false;
		}
	
		if (!err) {
			get("login_error").innerHTML = error1;
			showBlock('1','login_error');
			
		} else {
			get('login_img').innerHTML = '<img src="img/button/close.gif" alt="Close window" onClick="close_login()">';
			var hash = get('hash').value;
			get('lost_password_form').innerHTML = '<img src="img/indicator.gif">';
			showBlock('0','login_error');
			ajaxdisplay('inc/request.php?action=change_password&email=' + email + '&hash=' + hash, '', 'lost_password_form');
		}
}

//***************** show another form for get password form
function try_again (email) {
	get('lost_password_form').innerHTML = '<img src="img/indicator.gif">';
	hash = get('hash').value;
	get('login_img').innerHTML = '<img onclick="change_password_form(\'\');" alt="Get Password" src="img/button/get_password.gif"/>';
	ajaxdisplay('inc/request.php?action=try_again&email=' + email + '&hash=' + hash, '', 'lost_password_form');
}

//***************** show spinner image
function show_spinner (id, style) {
	img = '<img src="img/indicator.gif"';
	if (style != '')
		img += ' style="' + style + '"';
	img += '>';
	if (get(id))
		get(id).innerHTML = img;
}

//***************** hide all combo boxes
function hide_select (type) {
	if (type == 1)
		style = 'block';
	else
		style = 'none';
	var x = document.getElementsByTagName("select");
	
	for (i = 0; i < x.length; i++) {
	   x[i].style.display = style;
	// or
	// x[i].style.visibility = "hidden"
	}
	
}

//***************** show or hide loading icon
function loading (type) {
	if (get('loading')) {
		if (type == '1')
			get('loading').innerHTML = '<img src="img/loading.gif" />';
		else if (type == '0')
			get('loading').innerHTML = '<br />';
	}
}

//***************** show time for later order
function check_time () {
	
	var today = new Date();
	var day = today.getDate(); 
	var month = today.getMonth()+1;
	var year = today.getFullYear();
	if (day < 10)
		day = '0'+ day;
	
	var timing_date = get('timing_date').value;
	var delivery = get('my_delivery').value;
	var menu = get('my_menu').value;
	
//d_timing
	timing_date = str_replace ('/', '', timing_date);

	current_date = month + '' + day + '' + year;
//	current_date = '12072009';
	
	if (menu == 'br') {
		if (delivery == '1')
			var max_hour = '11';
		else
			var max_hour = '10';
	} else {
		if (delivery == '1')
			var max_hour = '10';
		else
			var max_hour = '9';
	}
	
	var inner_select = '<select name="timing_time">';

	if (current_date == timing_date) { /////////////////// current day

		var time = new Date();
		var hour = time.getHours();
		var mins = time.getMinutes();

		if (hour >= 13)
			hour-=12;
		
		//if (hour < 10)
		//	hour = "0"+hour;
		
		if (hour == 0)
			hour = 12;
		
		if (mins < 10)
		 mins = "0"+mins;
		 
//alert(hour + ' : ' + mins);
		
		if (delivery == '1') {
			var next_min = eval(mins) + 30;
			var change_hour = false;	
			var other_hour = false;	
			if (next_min == 30) {
				next_min = 30;
				next_hour = hour;
				start_hour = hour;
				other_hour = true;
			} else if (next_min > 30 && next_min < 60) {
				next_min = '00';
				next_hour = hour + 1;
				start_hour = next_hour;
				change_hour = true;
				
			} else if (next_min > 60) {
				next_min = 30;
				next_hour = hour + 1;
				start_hour = next_hour;
				other_hour = true;
			}
			
			if (next_hour < 10)
				var show_next_hour = "0"+next_hour;
			else
				var show_next_hour = next_hour;
				
			if (next_min == '00')
				var show_next_min = "0"+next_min;
			else
				var show_next_min = next_min;
			
			//inner_select += '<option value="' + show_next_hour + ':' + next_min + '">' + show_next_hour + ':' + next_min + ' PM</option>';
			//inner_select += '<option value="' + show_next_hour + ':' + next_min + '">' + show_next_hour + ':' + next_min + ' PM</option>';		
			if (next_min == '30') {
				var circle_min1 = '30';
				var circle_min2 = '00';								
			} else if (next_min == '00') {
				var circle_min1 = '30';
				var circle_min2 = '00';	
			}
			for (var i = start_hour; i < max_hour; i ++) {
				if (i < 10) {
					var f_value = "0";
					var s_value = "0";
				} else {
					var f_value = '';
					var s_value = '';
				}
				
				f_value += i + ':' + circle_min1;
				s_value += i + ':' + circle_min2;				
	
				if (!other_hour)  {
					inner_select += '<option value="' + s_value + '">' + s_value + ' PM</option>';
				} else {
					if (i > start_hour) {
						inner_select += '<option value="' + s_value + '">' + s_value + ' PM</option>';
					}
				}
				inner_select += '<option value="' + f_value + '">' + f_value + ' PM</option>';
			}
		
		} else {
			var next_min = mins + 20;
			var add_line = true;
//alert(next_min);
			var change_hour = false;
			if (next_min == 20) {
				next_min = 20;
				next_hour = hour;
				start_hour = hour;
				var add_line = false;
			} else if (next_min > 20 && next_min < 50) {
				next_min = 50;
				next_hour = hour;
				start_hour = next_hour + 1;
				change_hour = true;
			} else if (next_min > 50) {
				next_min = 20;
				next_hour = hour + 1;
				start_hour = next_hour;
				change_hour = true;
				var add_line = false;
			}

			if (next_hour < 10)
				var show_next_hour = "0"+next_hour;
			else
				var show_next_hour = next_hour;
				
			if (next_min == 0)
				var show_next_min = "0"+next_min;
			else
				var show_next_min = next_min;
			
			if (add_line) {
				inner_select += '<option value="' + show_next_hour + ':' + next_min + '">' + show_next_hour + ':' + next_min + ' PM</option>';
			}
		
			if (next_min == '20') {	
				var circle_min1 = '20';
				var circle_min2 = '50';				
			} else if (next_min == '50') {
				var circle_min1 = '20';
				var circle_min2 = '50';								
			} else if (next_min == '00') {
				var circle_min1 = '20';
				var circle_min2 = '50';			
			}	
			if (change_hour) {
				var circle_min1 = '20';
				var circle_min2 = '50';								
			}
			for (var i = start_hour; i < max_hour; i ++) {
				if (i < 10) {
					var f_value = "0";
					var s_value = "0";
				} else {
					var f_value = '';
					var s_value = '';
				}
				f_value += i + ':' + circle_min1;
				s_value += i + ':' + circle_min2;
				inner_select += '<option value="' + f_value + '">' + f_value + ' PM</option>';
				inner_select += '<option value="' + s_value + '">' + s_value + ' PM</option>';
			}
		}

		
	} else {  //////////////////////////////////// all days

		if (delivery == '1') {
			inner_select += '<option value="12:30">12:30 PM</option>';
			for (var i = 1; i < max_hour; i ++) {
				if (i < 10) {
					var f_value = "0";
					var s_value = "0";
				} else {
					var f_value = '';
					var s_value = '';
				}
				f_value += i + ':00';
				s_value += i + ':30';
				inner_select += '<option value="' + f_value + '">' + f_value + ' PM</option>';
				inner_select += '<option value="' + s_value + '">' + s_value + ' PM</option>';
			}
		} else {
			inner_select += '<option value="12:20">12:20 PM</option>';
			inner_select += '<option value="12:50">12:50 PM</option>';
			for (var i = 1; i < max_hour; i ++) {
				if (i < 10) {
					var f_value = "0";
					var s_value = "0";
				} else {
					var f_value = '';
					var s_value = '';
				}
				f_value += i + ':20';
				s_value += i + ':50';
				inner_select += '<option value="' + f_value + '">' + f_value + ' PM</option>';
				inner_select += '<option value="' + s_value + '">' + s_value + ' PM</option>';
			}
		}
	}
		
	inner_select += '</select>';
	get('d_timing').innerHTML = inner_select;
//	alert(inner_select);
}

function show_time (incoming_date) {
	hash = get('hash').value;
	ajaxdisplay('inc/request.php?action=show_time&incoming_date=' + incoming_date + '&hash=' + hash, '', 'd_timing');
}

//*****************  check is string is float number
function isFloat (sum) {
	if (sum != '0') {
		if (sum.length > 0) {
			var template1 = /(^\d+$)/
			if (template1.test(sum)) 
				return true;
			else {
				var template = /^-?\d+[\.|\,]?\d+$/;
				if (template.test(sum)) 
					return true;
				else 
					return false;
			}
		}
		else
			return false;
	}
	else 
		return true;
}