function know_thy_width(){
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		winW = window.innerWidth;
		winH = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		winW = document.documentElement.clientWidth;
		winH = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		winW = document.body.clientWidth;
		winH = document.body.clientHeight;
	}
	
	document.getElementById('lit_box_back').style.width = winW + 'px';
	document.getElementById('lit_box_back').style.height = winH + 'px';

	//var litboxHeight = document.getElementById('lit_box').style.height;

	//document.getElementById('lit_box').style.marginTop = '-' + litboxHeight/2 + 'px';
	//document.getElementById('lit_box').style.top = '50%';
}

function close_lit_box(){
	document.getElementById('hide_when_lit').style.display = 'block';
	document.getElementById('lit_box').style.display = 'none';
	document.getElementById('lit_box_back').style.display = 'none';
	document.documentElement.style.overflow='auto';
	document.body.scroll='yes';
}

function pass_to_lit_box(){
	//document.getElementById('hide_when_lit').style.display = 'none';
	
	var ck_zipcode = /^[0-9-\s]{5,11}$/;

	var moving_from = document.very_first_form.pickup.value;
	var moving_to = document.very_first_form.delivery.value;

	//var MM = document.very_first_form.month.value;
	//var YY = document.very_first_form.year.value;
	//var DD = document.very_first_form.day.value;

	errors = [];

	/*
	if( MM == "" || YY == "" || DD == ""){
    	errors[errors.length] = "Please enter valid date";
	}else if( checkDate( DD, MM, YY ) === false ){
    	errors[errors.length] = "That is not a valid date";
	}else{
    	var InputDate = new Date();
    	var CurrentDate = new Date();

    	InputDate.setDate(DD);
    	InputDate.setMonth(MM-1);
    	InputDate.setFullYear(YY);
	
		//alert(InputDate);

    	if(InputDate < CurrentDate){
        	errors[errors.length] = "Date entered has already passed"
    	}else{
    		var SixMonthsAheadDateTime = new Date();
    		SixMonthsAheadDateTime.setDate(SixMonthsAheadDateTime.getDate()+180);

    		if(SixMonthsAheadDateTime < InputDate){
        		errors[errors.length] = "We only accept dates that are within 6 months"
    		}else{
        		//errors[errors.length] = InputDate;
    		}
		}
	}
	*/

	if(!ck_zipcode.test(moving_from)){
       	errors[errors.length] = "Pickup zipcode is NOT valid"
	}
	
	if(!ck_zipcode.test(moving_to)){
       	errors[errors.length] = "Delivery zipcode is NOT valid"
	}
	
	if (errors.length > 0) {
		reportErrors(errors);
	}else{
		document.getElementById('hide_when_lit').style.display = 'none';
		know_thy_width();
		document.getElementById('moving_from_zip').value = moving_from;
		document.getElementById('moving_to_zip').value = moving_to;

		document.getElementById('move_from').innerHTML = moving_from;
		
		if(document.getElementById('state') && document.getElementById('city')){
		}else{
			document.getElementById('move_to').innerHTML = moving_to;
		}
		/*
		document.getElementById('MM').value = MM;
		document.getElementById('DD').value = DD;
		document.getElementById('YY').value = YY;

		document.getElementById('move_datum').innerHTML = MM + '/' + DD + '/' + YY;
		*/

		document.getElementById('lit_box').style.display = 'block';
		document.getElementById('lit_box_back').style.display = 'block';
		document.documentElement.style.overflow='hidden';
		document.body.scroll='no';
		window.scrollTo(0,0);
	}
}

function add_phone(){
	document.getElementById('add_phone_link').style.display = 'none';
	document.getElementById('phone_2_names').style.display = 'block';
	document.getElementById('phone_2_inputs').style.display = 'block';
}

function cancel_add_phone(){
	document.getElementById('add_phone_link').style.display = 'block';
	document.getElementById('phone_2_names').style.display = 'none';
	document.getElementById('phone_2_inputs').style.display = 'none';

	document.form.area_code_2.value = '';
	document.form.xxx_2.value = '';
	document.form.xxxx_2.value = '';

	document.form.phonewrite2.value = '';

	check_this_one('xxx_2');
}

function add_extension(){
	document.getElementById('add_phone_ext').style.display = 'none';
	document.getElementById('the_extension').style.display = 'inline';
}

function cancel_extension(){
	document.getElementById('add_phone_ext').style.display = 'inline';
	document.getElementById('the_extension').style.display = 'none';

	document.form.ext.value = '';
}

function onfocus_first(){
	fname = document.form.fname.value;
	if(fname == 'First'){
		document.form.fname.value = '';
		document.getElementById('fname').style.color = '#333';
		document.getElementById('fname').style.fontStyle = 'normal';
	}
}

function onblur_first(){
	fname = document.form.fname.value;
	if(fname == ''){
		document.form.fname.value = 'First';
		document.getElementById('fname').style.color = '#ccc';
		document.getElementById('fname').style.fontStyle = 'italic';
	}
}

function onfocus_last(){
	//lname_color = document.getElementById('lname').style.color;
	//lname_style = document.getElementById('lname').style.fontStyle;
	lname = document.form.lname.value;
	if(lname == 'Last'){
		document.form.lname.value = '';
		document.getElementById('lname').style.color = '#333';
		document.getElementById('lname').style.fontStyle = 'normal';
	}
}

function onblur_last(){
	//lname_color = document.getElementById('lname').style.color;
	//lname_style = document.getElementById('lname').style.fontStyle;
	lname = document.form.lname.value;
	if(lname == ''){
		document.form.lname.value = 'Last';
		document.getElementById('lname').style.color = '#ccc';
		document.getElementById('lname').style.fontStyle = 'italic';
	}
}

////////////////////////////////

function check_this_one(x){
	var ck_name = /^[A-Za-z\s.]{3,50}$/;
	var ck_texts = /^[A-Za-z\s.]{3,100}$/;
	var ck_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var ck_phone = /^[0-9]{10,10}$/;
	
	if(x == 'fname' || x == 'lname'){
		fname = document.form.fname.value;
		lname = document.form.lname.value;
		y = fname + ' ' + lname;
		
		if(ck_name.test(y) && fname != '' && lname != '' && fname.toLowerCase() != 'first' && lname.toLowerCase() != 'last'){
			document.getElementById('check_name').src = 'img/check.gif';
		}else{
			document.getElementById('check_name').src = 'img/check2.gif';
		}
	}else if(x == 'number_of_rooms'){
		y = document.form.number_of_rooms.value;
		
		if(y != ''){
			document.getElementById('check_' + x).src = 'img/check.gif';
		}else{
			document.getElementById('check_' + x).src = 'img/check2.gif';
		}
	}else if(x == 'email'){
		y = document.form.email.value;
		
		if(ck_email.test(y)){
			document.getElementById('check_' + x).src = 'img/check.gif';
		}else{
			document.getElementById('check_' + x).src = 'img/check2.gif';
		}
	}else if(x == 'area_code' || x == 'xxx' || x == 'xxxx'){
		area_code = new String(document.form.area_code.value);
		xxx = new String(document.form.xxx.value);
		xxxx = new String(document.form.xxxx.value);

		y = area_code + xxx + xxxx;

		if(ck_phone.test(y)){
			document.getElementById('check_phone').src = 'img/check.gif';
		}else{
			document.getElementById('check_phone').src = 'img/check2.gif';
		}
	}else if(x == 'area_code_2' || x == 'xxx_2' || x == 'xxxx_2'){
		area_code = new String(document.form.area_code_2.value);
		xxx = new String(document.form.xxx_2.value);
		xxxx = new String(document.form.xxxx_2.value);

		y = area_code + xxx + xxxx;

		if(ck_phone.test(y)){
			document.getElementById('check_phone_2').src = 'img/check.gif';
		}else{
			document.getElementById('check_phone_2').src = 'img/check2.gif';
		}
	}else if(x == 'date'){
		month = document.form.month.value;
		day = document.form.day.value;
		year = document.form.year.value;
	
		if(dirty_date_check(month,day,year) === true){
			document.getElementById('check_date').src = 'img/check.gif';
		}else{
			document.getElementById('check_date').src = 'img/check2.gif';
		}
	}
}

function dirty_date_check(MM,DD,YY){
	//date check
	if( MM == "" || YY == "" || DD == ""){
		result_set = false;
	}else if( checkDate( DD, MM, YY ) === false ){
		result_set = false;
	}
	else{
	    var InputDate = new Date();
	    var CurrentDate = new Date();
	
	    InputDate.setDate(DD);
	    InputDate.setMonth(MM-1);
	    InputDate.setFullYear(YY);
	
	    if(InputDate < CurrentDate){
			result_set = false;
	    }
	    else{
	    var SixMonthsAheadDateTime = new Date();
	    SixMonthsAheadDateTime.setDate(SixMonthsAheadDateTime.getDate()+180);
	
	    if(SixMonthsAheadDateTime < InputDate){
			result_set = false;
	    }else{
			result_set = true;
	    }
		}
	}
	
	return result_set;
	//end of date check
}

function little_message(){
	document.getElementById('little_message').style.display = 'block';
}

function hide_little_message(){
	document.getElementById('little_message').style.display = 'none';
}

////////////////////////////////////////////

function onblur_date(){
	d = document.form.datewrite.value;
	
	if(d == ''){
		document.form.datewrite.value = 'MM / DD / YYYY';
	}
}

function onfocus_date(){
	d = document.form.datewrite.value;

	if(d == 'MM / DD / YYYY'){
		document.form.datewrite.value = '';
	}
}

function onfocus_phone(ctrl){
	d = ctrl.value;

	p = d.split('');

	setCaretPositionPhone(p.length,ctrl);
}

function setCaretPositionPhone(pos,ctrl){
	//var ctrl = document.form.phonewrite;
	
	if(ctrl.setSelectionRange){
		ctrl.focus();
		ctrl.setSelectionRange(pos,pos);
	}else if (ctrl.createTextRange) {
		var range = ctrl.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}

function write_date_2(){
	var datum = document.form.datewrite.value;

	datum = datum.replace(/ /g,'');

	d = datum.split('');

	dat = [];

	y = 0;
	for(i in d){
		if( ck_number.test(d[i]) ){
			dat[y] = d[i];
			y++;
		}
	}

	var str = '';
	for(x in dat){
		str+= dat[x];

		if( (x == 1 && dat.length > 2) || (x == 3 && dat.length > 4) ){
			str+= ' / ';
		}
	}

	if(dat.length == 8){
		splt = str.split(' / ');
		document.form.month.value = dat[0] + '' + dat[1];
		document.form.day.value = dat[2] + '' + dat[3];
		document.form.year.value = dat[4] + '' + dat[5] + '' + dat[6] + '' + dat[7];
	}

	document.form.datewrite.value = str;
}

function write_phone_2(ctrl){
	//alert(ctrl.id);
	
	//var phon = document.form.phonewrite.value;
	var phon = ctrl.value;

	phon = phon.replace(/ /g,'');

	p = phon.split('');

	pon = [];

	y = 0;
	for(i in p){
		if( ck_number.test(p[i]) ){
			pon[y] = p[i];
			y++;
		}
	}

	if(typeof pon[3] != 'undefined'){
		var str = '(';
	}else{
		var str = '';
	}

	for(x in pon){
		str+= pon[x];

		if(x == 2 && pon.length > 3){
			str+= ') ';
		}else if(x == 5 && pon.length > 6){
			str+= ' - ';
		}
	}

	var ext = document.form.ext.value;
	var phone2 = document.form.phonewrite2.value;

	if(pon.length == 10){
		if(ctrl.id == 'phonewrite'){
			document.form.area_code.value = pon[0] + '' + pon[1] + '' + pon[2];
			document.form.xxx.value = pon[3] + '' + pon[4] + '' + pon[5];
			document.form.xxxx.value = pon[6] + '' + pon[7] + '' + pon[8] + '' + pon[9];
			
			if(ext == ''){
				cancel_extension();
			}
			
			if(phone2 == ''){
				cancel_add_phone();
			}
		}else if(ctrl.id == 'phonewrite2'){
			document.form.area_code_2.value = pon[0] + '' + pon[1] + '' + pon[2];
			document.form.xxx_2.value = pon[3] + '' + pon[4] + '' + pon[5];
			document.form.xxxx_2.value = pon[6] + '' + pon[7] + '' + pon[8] + '' + pon[9];
		}
	}else if(pon.length < 10 || pon.length > 10){
		if(ctrl.id == 'phonewrite'){
			document.form.area_code.value = '';
			document.form.xxx.value = '';
			document.form.xxxx.value = '';
			
			if(ext == ''){
				cancel_extension();
				document.getElementById('add_phone_ext').style.display = 'none';
			}
			
			if(phone2 == ''){
				cancel_add_phone();
				document.getElementById('add_phone_link').style.display = 'none';
			}
		}else if(ctrl.id == 'phonewrite2'){
			document.form.area_code_2.value = '';
			document.form.xxx_2.value = '';
			document.form.xxxx_2.value = '';
		}
	}

	ctrl.value = str;
	setCaretPositionPhone(str.length,ctrl);
	
	if(ctrl.id == 'phonewrite'){
		check_this_one('xxx');
	}else if(ctrl.id == 'phonewrite2'){
		check_this_one('xxx_2');
	}
}

function doGetCaretPositionPhone(ctrl) {
	//var ctrl = document.form.phonewrite;
	
	var CaretPos = 0;	// IE Support
	if (document.selection) {
		ctrl.focus ();
		var Sel = document.selection.createRange ();
		Sel.moveStart ('character', -ctrl.value.length);
		CaretPos = Sel.text.length;
	}else if (ctrl.selectionStart || ctrl.selectionStart == '0'){
		CaretPos = ctrl.selectionStart;
	}
	
	var end = ctrl.selectionEnd;
	
	//alert(CaretPos);
	return CaretPos;
}

function write_date(x){
	document.onkeyup = function(e) {
		var k;
		if (window.event) k = window.event.keyCode;
		else if (e) k = e.which;

		//alert(k);

		var CaretPos = doGetCaretPosition();
		var datum = document.form.datewrite.value;

		datum = datum.replace(/ /g,"");
		//alert(datum);

		dt = datum.split("");

		//alert(CaretPos);

		if(dt.length > 10){
			if(CaretPos == 1){
				dt.splice(1,1);
			}else if(CaretPos == 2){
				dt.splice(2,1);
			}else if(CaretPos == 6){
				dt.splice(4,1);
			}else if(CaretPos == 7){
				dt.splice(5,1);
			}else if(CaretPos == 11){
				dt.splice(7,1);
			}else if(CaretPos == 12){
				dt.splice(8,1);
			}else if(CaretPos == 13){
				dt.splice(9,1);
			}else if(CaretPos == 14){
				dt.splice(10,1);
			}
		}

		//alert(dt);

		if(k == 8){
			if(CaretPos == 0){
				dt.splice(0,0,'M');
			}else if(CaretPos == 1){
				dt.splice(1,0,'M');
			}else if(CaretPos == 5){
				dt.splice(3,0,'D');
			}else if(CaretPos == 6){
				dt.splice(4,0,'D');
			}else if(CaretPos == 10){
				dt.splice(6,0,'Y');
			}else if(CaretPos == 11){
				dt.splice(7,0,'Y');
			}else if(CaretPos == 12){
				dt.splice(8,0,'Y');
			}else if(CaretPos == 13){
				dt.splice(9,0,'Y');
			}
		}
		
		dm	= [];
		dm[0] = dt[0];
		dm[1] = dt[1];
		dm[2] = ' ';
		dm[3] = '/';
		dm[4] = ' ';
		dm[5] = dt[3];
		dm[6] = dt[4];
		dm[7] = ' ';
		dm[8] = '/';
		dm[9] = ' ';
		dm[10] = dt[6];
		dm[11] = dt[7];
		dm[12] = dt[8];
		dm[13] = dt[9];

		newRay = [];
		newRay[0] = 'M';
		newRay[1] = 'M';
		newRay[2] = ' ';
		newRay[3] = '/';
		newRay[4] = ' ';
		newRay[5] = 'D';
		newRay[6] = 'D';
		newRay[7] = ' ';
		newRay[8] = '/';
		newRay[9] = ' ';
		newRay[10] = 'Y';
		newRay[11] = 'Y';
		newRay[12] = 'Y';
		newRay[13] = 'Y';

		nR = '';
		for(i = 0; i <= 13; i++){
			if( (dm[i] != / /g) && (i == 0 || i == 1 || i == 5 || i == 6) || (i <= 13 && 10 <= i) ){
				testNum = Number(dm[i]);
			
				if(ck_number.test(testNum)){
					nR+= dm[i];
				}else{
					nR+= newRay[i];
				}
			}else{
				nR+= newRay[i];
			}
		}

		document.form.datewrite.value = nR;

		//alert(CaretPos);

		if( (k != 8 && k != 37) && (CaretPos == 2 || CaretPos == 3 || CaretPos == 4) ){
			CaretPos = 5;
		}else if( (k != 8 && k != 37) && (CaretPos == 7 || CaretPos == 8 || CaretPos == 9) ){
			CaretPos = 10;
		}else if( (k == 8 || k == 37) && (CaretPos == 3 || CaretPos == 4) ){
			CaretPos = 2;
		}else if( (k == 8 || k == 37) && (CaretPos == 8 || CaretPos == 9) ){
			CaretPos = 7;
		}else{
			CaretPos = CaretPos;
		}
	
		setCaretPosition(CaretPos);
	}
}

function checkKeycode(e) {
	var k;
	if (window.event) k = window.event.keycode;
	else if (e) k = e.which;
	return k;
}

function doGetCaretPositionDate() {
	var ctrl = document.form.datewrite;
	
	var CaretPos = 0;	// IE Support
	if (document.selection) {
		ctrl.focus ();
		var Sel = document.selection.createRange ();
		Sel.moveStart ('character', -ctrl.value.length);
		CaretPos = Sel.text.length;
	}else if (ctrl.selectionStart || ctrl.selectionStart == '0'){
		CaretPos = ctrl.selectionStart;
	}
	
	var end = ctrl.selectionEnd;
	
	//alert(CaretPos);
	return CaretPos;
}

function setCaretPositionDate(pos){
	var ctrl = document.form.datewrite;
	
	if(ctrl.setSelectionRange){
		ctrl.focus();
		ctrl.setSelectionRange(pos,pos);
	}else if (ctrl.createTextRange) {
		var range = ctrl.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}

function phone_write(){
	var phone = document.form.phonewrite.value;
	phone = phone.replace(" ","");
	ps = phone.split("");
	
	var new_phone = '';
	
	for(p in ps){
		p_string = new String(ps[p]);
		p_number = new Number(p_string);
		
		if(ck_number.test(p_number)){
			new_phone+= ps[p];
		}
	}
	
	if(new_phone.length == 10){
		alert(new_phone);
		
		a_c = new_phone.substring(0,3);
		x_3 = new_phone.substring(3,6);
		x_4 = new_phone.substring(6,10);

		document.form.area_code.value = a_c;
		document.form.xxx.value = x_3;
		document.form.xxxx.value = x_4;
	}else if(new_phone.length > 10 || new_phone.length < 10){
		document.form.area_code.value = '';
		document.form.xxx.value = '';
		document.form.xxxx.value = '';
	}
}

function datewrite(){
	month = document.form.month.value;
	day = document.form.day.value;
	year = document.form.year.value;

	document.form.datewrite.value = month + ' / ' + day + ' / ' + year;
}