var prv_step = 1;
var weight_blink = false;
var ad_opened = false;
var form_opened = false;
var kg1 = '2';
var kg2 = '3';
var dietprogram = 0;
var scDuration=100;

// 페이지 넘김
function go_step (step) {

	var form = $('form_basic');
	var form_submit = $('form_submit');

	if (!step) return;
	
	if (prv_step == step) {
		prv_step = 2;
		step = 1;
	}
	var to_x = $('step1').getSize().x.toInt();

	// 입력항목 체크
	if (step > prv_step) {

		switch (step) {

			case (2) :

				var ans;
				if (!(ans = chk_radio(form.q1))) {
					alert('질문 1에 맞는 답변을 선택하세요. (설문 문항은 모두 3개입니다)');	
					stv[1] = false;
					return;
				}
				form_submit.etc1.value = '다이어트시도:'+ans+', ';

				if (!(ans = chk_radio(form.q2))) {
					alert('질문 2에 맞는 답변을 선택하세요. (설문 문항은 모두 3개입니다)');	
					stv[1] = false;
					return ;
				}
				form_submit.etc1.value += '비만특징:'+ans+', ';

				if (!(ans = chk_radio(form.q3))) {
					alert('질문 3에 맞는 답변을 선택하세요. (설문 문항은 모두 3개입니다)');	
					stv[1] = false;
					return ;
				}
				form_submit.etc1.value += '걱정:'+ans;
				dietprogram = chk_radio_serial(form.q2);

				stv[1] = true;

				break;
			
			case (3) :

				if (!form.sex_[0].checked && !form.sex_[1].checked) {
					alert('성별을 선택하세요.');
					form.sex_[0].focus();
					stv[2] = false;
					return ;
				}
				form_submit.sex.value = (form.sex_[1].checked == true) ? 'M' : 'F';

				if (!form.age_.value.toInt()) {
					alert('정확한 현재 나이를 숫자로만 입력하세요.');
					form.age_.select();
					stv[2] = false;
					return ;
				}
				form_submit.age.value = form.age_.value.toInt();
				
				if (!form.height_.value.toInt()) {
					alert('현재 키를 cm단위로 숫자만 입력하세요.');
					form.height_.select();
					stv[2] = false;
					return ;
				}
				form_submit.height.value = form.height_.value.toInt();

				if (!form.weight_.value.toInt()) {
					alert('현재 체중을 Kg단위로 숫자만 입력하세요.');
					form.weight_.select();
					stv[2] = false;
					return ;
				}
				form_submit.weight.value = form.weight_.value.toInt();
	
				if (!form.job_.value) {
					alert('직업을 선택하세요.');
					form.job_.focus();
					stv[2] = false;
					return ;
				}
				form_submit.job.value = form.job_.value;

				var weight_result = calcBMI();
				form_submit.weight_target.value = weight_result;

				$('weight_target_').set('html', weight_result);	
				if (weight_result > 0 && !weight_blink) {
					op_blink ('BMIkg_result');
					weight_blink = true;
				}

				stv[2] = true;

				var kgstr;
				kgstr = (weight_result >= 10) ? weight_result.toString() : '0'+weight_result.toString();
				kg1 = kgstr.substr(0,1);
				kg2 = kgstr.substr(1,1);

				$('sum_weight').set('html', form_submit.weight.value);
				$('sum_height').set('html', form_submit.height.value);
				$('sum_weight').set('html', form_submit.weight.value);
				$('sum_weight_target').set('html', form_submit.weight_target.value);

				break;

		}

	}
	
	var scroll = new Fx.Scroll($('main_window'), {
			wait: false,
			duration: scDuration,
			offset: {'x': 0, 'y': 0},
			transition: Fx.Transitions.Quad.easeInOut
		});
	scroll.start(to_x * (step -1), 0);

	var fx = new Fx.Elements($('step'+step), {duration: 300, wait: false}).start({
    '0': {
        'opacity': [0,1]
    }
	});

	var fx = new Fx.Elements($('step'+prv_step), {duration: 300, wait: false}).start({
    '0': {
        'opacity': [1,1]
    }
	});

	prv_step = step;

}

// 최근접수 FX
function fx_recent (row) {

	var max_row = 5;
	if (!row) row = 0;

	var scroll = new Fx.Scroll('recent'+row, {
			wait: false,
			duration: 500,
			offset: {'x': 0, 'y': 0},
			transition: Fx.Transitions.Quad.easeInOut
		});
	scroll.toElement('tv_name'+row);

	var fx = new Fx.Elements($('recent'+row), {duration: 700, wait: false}).start({
    '0': {
        'opacity': [0,1]
    }
	});

	row = row.toInt() + 1;
	if (row >= max_row) row = 0;

	if (row != 0) {
		var scroll = new Fx.Scroll('recent'+row, {
				wait: false,
				duration: scDuration,
				offset: {'x': 0, 'y': 0},
				transition: Fx.Transitions.Quad.easeInOut
			});
		scroll.toElement('tv_hidden'+row);

		var fx = new Fx.Elements($('recent'+row), {duration: 700, wait: false}).start({
			'0': {
					'opacity': [0,1]
			}
		});

		self.setTimeout('fx_recent('+row+')', 2000);
	}

}

function chk_radio (ele) {

	if (!ele.length) return false;
	for (i=0; i<ele.length; i++) {
		if (ele[i].checked == true) return ele[i].value;
	}
	return false;
}

function chk_radio_serial (ele) {

	if (!ele.length) return false;
	for (i=0; i<ele.length; i++) {
		if (ele[i].checked == true) return (i+1);
	}
	return 0;
}

// 계산기
function calcBMI () {

	var form = $('form_basic');
	var over=0;
	var ageVal=form.age_.value.toInt();
	var sexVal='';
	var heightVal=form.height_.value.toInt();
	var weightVal=form.weight_.value.toInt();

	if(form.sex_[0].checked==true) sexVal=form.sex_[0].value;
	if(form.sex_[1].checked==true) sexVal=form.sex_[1].value;

	over = ((ageVal - 50) < 1) ? 1.1 : (ageVal - 50) * 1.2;
	over = (sexVal == 'F') ? over : over * 1.3;

	var wV = heightVal * 0.01;

	wV=Number(wV)*Number(wV);
	var result =((weightVal / wV) - 16) * 2 / over;

	if((weightVal*0.3)<result){
		result=weightVal*0.3;
	}

	result = Math.floor(result);
	
	if (result <= 0) {
		alert('더이상의 감량은 필요 없으며, 무리할 경우 건강에 해롭습니다');
		result = 0;
	}
	if (result > 99) {
		alert('정상적인 신체정보를 입력했는지 확인하세요.');
		result = 23;
	}

	return result;

}

function op_blink (ele, act) {

	var dur_on = 100;
	var dur_off = 200;
	var repeat = 300;
	var act_next;

	if (!act) act = 1;

	if (act) {
		var fx = new Fx.Elements($(ele), {duration: dur_on, wait: false}).start({
			'0': {
					'opacity': [0,1]
			}
		});
		act_next = 0;
	} else {
		var fx = new Fx.Elements($(ele), {duration: dur_off, wait: false}).start({
			'0': {
					'opacity': [1,0]
			}
		});
		act_next = 1;
	}

	self.setTimeout('op_blink(\''+ele+'\','+act_next+')', repeat);

}


function open_ad (forced) {

	// 신청폼 보이기
	$('cus_data').setStyle('display', 'block');

	// 로딩중
	$('ad_loading').setStyle('display', 'block');
	$('loading_img').setStyle('display', 'block');
	
	var body_y = $(document.body).getScrollSize().y.toInt()
	var siz_y = $(window).getSize().y.toInt();
	var scr_y = $(window).getScroll().y.toInt();
	var pos_y = (scr_y + (siz_y / 2)).toInt();
	var scr_x = $(window).getSize().x.toInt();
	var img_x = ((scr_x / 2).toInt() - ($('loading_img').getSize().x.toInt() /2).toInt());
	var img_y = (scr_y + (siz_y / 2).toInt() - ($('loading_img').getSize().y.toInt() /2).toInt());
	
	var fx = new Fx.Elements($('ad_loading'), {
			duration: 0,
			wait: false
		}).start({
			'0': {
					'opacity': 0.6,
					'top': 0,
					'height': body_y
			}
		});
		$('loading_img').setStyle('top', img_y);
		$('loading_img').setStyle('left', img_x);

	/* 광고페이지 */
	var myHTMLRequest = new Request.HTML({
		url:'ad_detail.php?'+"kg1="+kg1+"&kg2="+kg2+"&dietprogram="+dietprogram,
		update:$('ad_body'),
		onComplete: function () {
			var scr = new Fx.Scroll(window, {
				wait: false,
				duration: scDuration,
				offset: {'x': 0, 'y': 0},
				transition: Fx.Transitions.Quad.easeInOut,
				onComplete: function () {
					scroll_form(true);
					toggle_field(stv[2]);
					$('ad_loading').setStyle('display', 'none');
					$('loading_img').setStyle('display', 'none');
				}
			}).toElement('ad_body')
		}
	}).get();

	ad_opened = true;

	// 스크롤 이벤트
	$(window).addEvent('scroll', function (evt) {
		scroll_form(false);
	});

}

// 고객정보 입력폼 이동
function scroll_form (is_first) {

	if (!ad_opened) return;

	var scr = $(window).getScroll().y;
	if (is_first && !stv[2]) {
		toggle_field(false);
	}

	var scr_x = $(window).getSize().x.toInt();
	$('cus_data').setStyle('width', scr_x+'px');

	var fx = new Fx.Elements($('cus_data'), {
		duration: 0,
		onComplete: function () {
			var fx = new Fx.Elements($('cus_data'), {
				duration: scDuration,
				transition: Fx.Transitions.Quad.easeInOut
			}).start({
				0: {
					'opacity': [1, 1]
				}
			});
		}
	}).start({
		0: {
			'opacity': [1],
			'top' : scr
		}
	});
	
	if ($('auth_div').getStyle('display') != 'none') {
		var auth_y = $('submit_button').getSize
		var fx = new Fx.Elements($('auth_div'), {
			duration: 0
		}).start({
		0: {
			'top' : scr
		}
	});
	}

}


function empty_back (step, ele) {

	if (step == prv_step) return;

	var scroll = new Fx.Scroll('main_window', {
			wait: false,
			duration: 0,
			offset: {'x': 0, 'y': 0}
		});
	var to_x = $('step1').getSize().x.toInt();
	if (step > prv_step && !stv[prv_step]) {
		$(ele).blur();
		scroll.start(to_x * (prv_step-1), 0);
		return;
	}

}


function toggle_field (is_open) {

	var mySlide = new Fx.Slide('form_submit', {duration: 400});

	if (!stv[2] && is_open == true) {
		alert('간단한 기초정보를 입력 하시면, 맞춤 감량정보 제공과 무료 컨설팅 접수를 제공합니다.');
		var scroll = new Fx.Scroll($(window), {
			wait: false,
			duration: scDuration,
			offset: {'x': 0, 'y': 0},
			transition: Fx.Transitions.Quad.easeInOut
		});
		scroll.toTop();
		return;
	}

	if (is_open == true)	{
		mySlide.slideIn();
		form_opened = true;
	}
	else {
		mySlide.slideOut();
		form_opened = false;
	}

}

