/**
  * 호스팅 intro Ajax 함수
  * intro06.js
  * /www/www/htdocs/hostinrg/intro
  *
  * require : 
  * @developer : Kang Hyun Ung (hukang@ibi.net)
  * @createdate : 2007.08.24
  * @modifydate :
  * @description : 
  */
//XMLHttpRequest 오브젝트 생성
//크로스 브라우저 함수
function createHttpRequest() {
	if(window.ActiveXObject) {
	//Win e4,e5,e6용
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				return null;
			}
		}
	} else if(window.XMLHttpRequest) {
	//Win Mac Linux m1, f1, o8 Mac s1 Linux k3용
		return new XMLHttpRequest();
	} else {
		return null ;
	}
}

function cleanDomain() {
	document.getElementById("domain").value = '';

}

function cleanMedia() {

	document.getElementById("media_domain").value = '';

}

function message(str, isAlert) {
	if(isAlert) {
		alert(str);
	}
}


//숫자를 돈단위로
function numberFormat(str)
{
	str += '';
	x = str.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + parseInt(x[1])/1000 : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}

	return x1 + x2;
}

//돈단위를 숫자로
function stringFormat(str)
{
	return str.replace(/,/,"");
}

function toggleDivGuide(show, hide) {
	document.getElementById(hide).style.display = "none";	
	document.getElementById(show).style.display = "block";	
}

function toggleDivDetail(ismessage) {

	if (ismessage == undefined) ismessage = false;

	isIbiDomain(ismessage);	//자사 도메인 여부 확인

	if(ourdomain == undefined) ourdomain = 0;
	for(var i=0; i< document.frm1.hosting_type.length;i++) {
		if(document.frm1.hosting_type[i].checked == true) {
			show = document.frm1.hosting_type[i].value;
			document.getElementById(show).style.display = "block";	
		} else {
			hide = document.frm1.hosting_type[i].value;
			document.getElementById(hide).style.display = "none";	
		}
	}
	if(show == 'media') {
		toggleDivGuide('divMedia','divWeb');
		toggleDivGuide('divMediaSearchTitle','divWebSearchTitle');
		toggleDivGuide('divMediaSearch','divWebSearch');
		toggleDivGuide('divMediaBottom','divWebBottom');
	} else {
		toggleDivGuide('divWeb','divMedia');
		toggleDivGuide('divWebSearchTitle','divMediaSearchTitle');
		toggleDivGuide('divWebSearch','divMediaSearch');
		toggleDivGuide('divWebBottom','divMediaBottom');
	}
	
	getHostingInfo();
}

var ourdomain = 0;

function isIbiDomainCheck(ismessage) {
	isIbiDomain(ismessage);
	//getHostingInfo();
}

function isIbiDomain(ismessage) {
	req = createHttpRequest();
	if (req == null) {
		alert("Error creating request object!");
		return;
	}

	var domain = document.getElementById("domain").value;

	if(!isDomainName(domain)) {
		message("도메인을 정확히 입력해 주세요.",ismessage);
		return;
	}

	req.open( "GET", "intro06.inc.php?isacheckdomain=helloworld&domain="+domain,false);
	req.onreadystatechange = function () {
		if(req.readyState == 4 && req.status == 200) {
			var res = req.responseText;
		//	alert("res:" + res);	//debuge
			if(res > 0) {
				message("(주)아이비아이닷넷에 등록된 도메인입니다. \n\n셋팅비 100% 할인혜택을 드립니다.",ismessage);
			} else {
				message("(주)아이비아이닷넷에 등록된 도메인이 아닙니다.\n\n(당사 도메인의 경우에만 셋팅비 100%가 할인됩니다.)",ismessage);
					}
			ourdomain = res;
		} 
	}
	req.send('');
}

//중복 호스팅 체크용 아직 사용하지 않음. 2007.08.23 edit by Kang Hyun Oong
function isExistHosting(ismessage) {
	req = createHttpRequest();
	if (req == null) {
		alert("Error creating request object!");
		return;
	}

	var domain = document.getElementById("domain").value;

	if(!isDomainName(domain)) {
		message("도메인을 정확히 입력해 주세요.",ismessage);
		return;
	}

	req.open( "GET", "intro06.inc.php?domain="+domain);
	req.onreadystatechange = function () {
		if(req.readyState == 4 && req.status == 200) {

			var res = req.responseText;

			if(res > 0) {
				message("당사에 등록된 도메인입니다. 셋팅비 100% 할인혜택을 드립니다.",ismessage);
			} else {
				message("당사에 등록된 도메인이 아닙니다.\n\n(당사 도메인의 경우에만 셋팅비 100%가 할인됩니다.)",ismessage);
			}
			ourdomain = res;
		} 
	}
	req.send('');
}


function getURI(beforeURI, key,value) {
	url = key + "=" + value;
	if(value == '') return beforeURI;
	if(beforeURI.length != undefined && beforeURI.length > 0) {
		return beforeURI + "&" + url;
	} else {
		return "?" + url;
	}
}

function getRadioName(_radio) {
	for(var i=0; i< _radio.length;i++) {
			alert(_radio[i].title);
		if(_radio[i].checked == true) {
			return _radio[i].title;
		}
	}
	return "";
}

function getRadioValue(_radio) {
	for(var i=0; i< _radio.length;i++) {
		if(_radio[i].checked == true) {
			return _radio[i].value;
		}
	}
	return "";
}

function getSelectValue(_select) {
	for(var i=0; i < _select.length;i++) {
		if(_select[i].selected == true) {
			return _select[i].value;
		}
	}
	return "";
}

function viewPricePeriod(price, period) {
	return numberFormat(price) + "원 / 기간 "+ period +"개월";
}

function getHostingInfo() {
	req = createHttpRequest();
	if (req == null) {
		alert("Error creating request object!");
		return;
	}

	var uri = "";

	hostingType = getRadioValue(document.frm1.hosting_type);
	uri = getURI(uri, "hosting_type",hostingType);

	uri = getURI(uri, "ourdomain",ourdomain);

	//Web Hosting
	if(hostingType == 'web') {
		form = document.frm2;

		serviceType = encodeURIComponent(getRadioValue(form.service_type));
		uri = getURI(uri, "service_type",serviceType);
		osType = getRadioValue(form.os_type);
		uri = getURI(uri, "os_type",osType);
		goodType = encodeURIComponent(getRadioValue(form.good_type));
		uri = getURI(uri, "good_type",goodType);
		period = getRadioValue(form.period);
		uri = getURI(uri, "period",period);

		//추가 서비스
		uri = getURI(uri, "hdd",getSelectValue(form.addHdd));
		uri = getURI(uri, "db",getSelectValue(form.addDb));
		uri = getURI(uri, "traffic",getSelectValue(form.addTraffic));
		uri = getURI(uri, "email",getSelectValue(form.addEmail));
	} else if (hostingType == 'webmail') {
		form = document.frm3;

		serviceType = encodeURIComponent(getRadioValue(form.service_type));
		uri = getURI(uri, "service_type",serviceType);
		goodType = encodeURIComponent(getRadioValue(form.good_type));
		uri = getURI(uri, "good_type",goodType);
		period = getRadioValue(form.period);
		uri = getURI(uri, "period",period);

		//추가 서비스
		uri = getURI(uri, "email",getSelectValue(form.addEmail));
	} else if (hostingType == 'media') {
		form = document.frm4;
		serviceType = encodeURIComponent(getRadioValue(form.service_type));
		uri = getURI(uri, "service_type",serviceType);
		period = getRadioValue(form.period);
		uri = getURI(uri, "period",period);

		//추가 서비스
		uri = getURI(uri, "hdd",getSelectValue(form.addHdd));
		uri = getURI(uri, "traffic",getSelectValue(form.addTraffic));
		security = getSelectValue(form.addSecurity);
		uri = getURI(uri, "security",security);
		liveStream = getSelectValue(form.addLiveStream);
		uri = getURI(uri, "live_stream",liveStream);
	}

	req.open( "GET", "intro06.inc.php" + uri);
	req.onreadystatechange = function () {
		if(req.readyState == 4 && req.status == 200) {

			var res = eval("(" + req.responseText + ")");

			document.frm1.goods_code.value = res['goods_code'];
			document.frm1.goods_name.value = res["goods_name"];

			var price = document.getElementById("settingPrice");
			price.innerHTML =  numberFormat(res["setting_price"]) + " 원";

			if(hostingType == 'web') {

			var diskQ = document.getElementById("disk_quota");
			diskQ.innerHTML = numberFormat(res["disk_quota"]) + " G"; 
			var dbQ = document.getElementById("db_quota");
			dbQ.innerHTML = res["db_quota"] + " M"; 
			var traf = document.getElementById("traffic_quota");
			traf.innerHTML = numberFormat(res["traffic_quota"]) + " G"; 
			var emailQ = document.getElementById("email_quota");
			emailQ.innerHTML = res["email_quota"] + " M"; 
			
			price = document.getElementById("service_price");
			price.innerHTML = viewPricePeriod(res["service_price"], period);

			totalPrice = numberFormat(res["total_price"]);
			price = document.getElementById("total_price");
			price.innerHTML = viewPricePeriod(totalPrice, period);

			price = document.getElementById("addHddPrice");
			price.innerHTML = viewPricePeriod(res['hdd'], period);

			price = document.getElementById("addDbPrice");
			price.innerHTML = viewPricePeriod(res['db'], period);

			price = document.getElementById("addTrafficPrice");
			price.innerHTML = viewPricePeriod(res['traffic'], period);

			price = document.getElementById("addEmailPrice");
			price.innerHTML = viewPricePeriod(res['email'], period);

			} else if (hostingType == 'webmail') {

			var webmailQ = document.getElementById("email_quota_webmail");
			webmailQ.innerHTML = res["email_quota"] + " M";

			price = document.getElementById("email_max_count");

			price.innerHTML = "1~" + res["email_max_count"] + " 개 (최소단위 "+ res["email_min_hdd"] +"M)";

			price = document.getElementById("service_price_webmail");
			price.innerHTML = viewPricePeriod(res["service_price"], period);

			price = document.getElementById("total_price_webmail");
			totalPrice = numberFormat(res["total_price"]);
			price.innerHTML = viewPricePeriod(totalPrice, period);

			price = document.getElementById("addEmailPriceEmail");
			price.innerHTML = viewPricePeriod(res['email'], period);

			} else if (hostingType == 'media') {

			var diskQ = document.getElementById("disk_quota_media");
			diskQ.innerHTML = numberFormat(res["disk_quota"]) + " G"; 
			var traf = document.getElementById("traffic_quota_media");
			traf.innerHTML = numberFormat(res["traffic_quota"]) + " G"; 
						
			price = document.getElementById("service_price_media");
			price.innerHTML = viewPricePeriod(res["service_price"], period);

			totalPrice = numberFormat(res["total_price"]);
			price = document.getElementById("total_price_media");
			price.innerHTML = viewPricePeriod(totalPrice, period);

			price = document.getElementById("addHddPriceMedia");
			price.innerHTML = viewPricePeriod(res['hdd'], period);

			price = document.getElementById("addTrafficPriceMedia");
			price.innerHTML = viewPricePeriod(res['traffic'], period);

			price = document.getElementById("addSecurityPriceMedia");
			price.innerHTML = "셋팅비 : " + numberFormat(res['init_security']) + " 원<br /> "
					 +  viewPricePeriod(res['security'] , period);

			price = document.getElementById("addLiveStreamPriceMedia");
			price.innerHTML = "셋팅비 : " + numberFormat(res['init_live_stream']) + " 원";

			}
		} 
	}
	req.send('');
}

function Check() {
	
	var hostingType = getRadioValue(document.frm1.hosting_type);

	if(hostingType == "media") {
		if(trim(document.frm1.media_domain.value) == '') {
			Error("호스트명을 입력해 주세요.", document.frm1.media_domain);
			return false;
		}

		if(!isDomainName(document.frm1.media_domain.value + "ibihosting.net")) {
			Error("호스트명을 확인해 주세요. 올바른 호스트명이 아닙니다.", document.frm1.media_domain);
			return false;
		}
	} else {
		if(trim(document.frm1.domain.value) == '') {
			Error("도메인을 입력해 주세요.", document.frm1.domain);
			return false;
		}

		if(!isDomainName(document.frm1.domain.value)) {
			Error("도메인을 확인해 주세요. 올바른 도메인이 아닙니다.", document.frm1.domain);
			return false;
		}

	}
	
	if(trim(document.lastfrm.brand_name.value) == '') {
		Error("상호명을 입력해 주세요.", document.lastfrm.brand_name);
		return false;
	}

	if(trim(document.lastfrm.request_name.value) == '') {
		Error("수신자명을 입력해 주세요.", document.lastfrm.request_name);
		return false;
	}

	var isok = confirm("현재 선택하신 내용으로 견적서를 작성하시겠습니까?");

	if (isok) {
		if(hostingType == "web") {
			frm = document.frm2;
			frm.domain.value = document.frm1.domain.value;
		} else if (hostingType == "webmail") {
			frm = document.frm3;
			frm.domain.value = document.frm1.domain.value;
			
		} else if (hostingType == "media") {
			frm = document.frm4;
			frm.domain.value = document.frm1.media_domain.value + ".ibihosting.net";
		}

		frm.action = "intro06_report.html";
		frm.method = "POST";
		frm.hosting_type.value = hostingType;
		frm.goods_code.value = document.frm1.goods_code.value;
		frm.brand_name.value = document.lastfrm.brand_name.value;
		frm.request_name.value = document.lastfrm.request_name.value;
		frm.submit();
	}

	return false;
}

