var agt = navigator.userAgent.toLowerCase();
//is IE
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
//ie version
var ie_version= parseFloat(agt.substring(agt.indexOf("msie")+5));
//is opera
var is_opera  = (agt.indexOf("opera") != -1);
//opera version
var opera_version = navigator.appVersion.substring(0, navigator.appVersion.indexOf(" "))*1;
//is Safari
var is_safari  = (agt.indexOf("safari") != -1);
//is Gecko (Mozilla)
var is_gecko  = (navigator.product == "Gecko" && !is_safari);

var REG_NEWS_LETTER = "8";
var action = "";
var isFinishShopping = false;
var productIdList = "";
var productPriceList = "";

//trim a string
String.prototype.trim = function () {
	return this.replace(/^\s+/, "").replace(/\s+$/, "");
};
function setHomepage(url) {
	if (document.all) {
		document.body.style.behavior = 'url(#default#homepage)';
		document.body.setHomePage(url);
	} else if (window.sidebar) {
		if (window.netscape) {
			try {
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			} catch (e) {
				alert("Chức năng này bị chặn bởi trình duyệt của bạn. Bạn có thể bật chức năng này như sau: \nNhập about:config trong thanh address, đổi giá trị signed.applets.codebase_principal_support thành true");
				return;
			}
		}
		var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
		prefs.setCharPref('browser.startup.homepage', url);
	}
}

function getXMLHTTPRequestObject() {
	var req = null;
	if (window.XMLHttpRequest) {//Non-IE browsers
		req = new XMLHttpRequest();
	} else {
		if (window.ActiveXObject) {//IE
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return req;
}
function postback(url, data, handler) {
	var req = getXMLHTTPRequestObject();
	function callBack() {
		if (req.readyState == 4) {
			if (req.status == 200) {
				handler(req.responseText, req);
			} else {
				alert("Xuất hiện lỗi: " + req.statusText + "\nURL: " + url);
			}
		}
	}
	req.open("POST", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.onreadystatechange = callBack;
	req.send(data);
}
function isEmail(str) {
	var re = /^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/;
	return str.match(re);
}
function disableControl(objId) {
	document.getElementById(objId).disabled = true;
}
function enableControl(objId) {
	document.getElementById(objId).disabled = false;;
}
function formatCurrency(nonFormatVal) {
	if(nonFormatVal < 1000) return nonFormatVal;
	var result = new Array();
	var tmp = nonFormatVal;
	var cnt = 0;
	while(1) {
		if(tmp.length <=3) {
			result[cnt] = tmp;
			break;
		}
		result[cnt] = tmp.substring(tmp.length - 3, tmp.length);
		tmp = tmp.substring(0, tmp.length - 3);
		cnt++;
	}
	var formatedCur = "";
	for(var i=result.length-1; i>=0; i--) {
		if(formatedCur == "") {
			formatedCur += result[i];
		}else {
			formatedCur += "," + result[i];
		}
	}
	return formatedCur;
}
function roundAndFormatCurrency(nonFormatVal) {
	if(nonFormatVal < 1000) return nonFormatVal;
	var result = new Array();
	var tmp = nonFormatVal;
	var cnt = 0;
	while(1) {
		if(tmp.length <=3) {
			result[cnt] = tmp;
			break;
		}
		result[cnt] = tmp.substring(tmp.length - 3, tmp.length);
		tmp = tmp.substring(0, tmp.length - 3);
		cnt++;
	}
	var formatedCur = "";
	//require output format: xxx,000,000 VNĐ
	for(var i=result.length-1; i>=0; i--) {
		if(i == result.length-1) {
			formatedCur = result[i];
		}else {
			formatedCur += ",000";
		}
	}
	return formatedCur;
}
function enableCheckboxInCartPage(imgObj) {
	if(imgObj.className == "uncheck") {
		imgObj.src = "images/systemImg/checkbox.gif";
		imgObj.className = "check";
		//mark as customer finishes shopping
		isFinishShopping = true;
	}else {
		imgObj.src = "images/systemImg/checkbox_uncheck.gif";
		imgObj.className = "uncheck";
		//mark as customer does not finish shopping yet
		isFinishShopping = false;
	}
}
function justAllowNumeric(e) {
	var keynum;
	var keychar;
	var numcheck;
	if(window.event) {// IE
		keynum = e.keyCode;
	}else if(e.which) {// Netscape/Firefox/Opera
		keynum = e.which;
	}

	if(keynum != 46 && keynum != 8 && keynum != 35 && keynum != 36 && keynum != 9) {
		if(keynum < 48 || keynum > 105 || (keynum > 57 && keynum < 96)) {
			return false;
		}
	}
	return true;
}
function cartQtyKeyUp(itemPrice, productId, qtyTxt) {
	//save quantity of each item of cart first
	updateCartInfors();

	//then update the related values on screen
	//update total of cart
	genTotalOfItem(itemPrice, productId, qtyTxt);
	//update shipping price span
	document.getElementById("shippingPriceSpan").innerHTML = formatCurrency(getShippingPrice().toString());
}
function genTotalOfItem(itemPrice, productId, qtyTxt) {
	var qty = qtyTxt.value;
	var itemTotal = document.getElementById("itemTotal" + productId);

	if(qty == "" || qty == 0) {
		itemTotal.innerHTML = "&nbsp;";
	}else {
		itemTotal.innerHTML = formatCurrency((qty * itemPrice).toString()) + " VNĐ";
	}
}
//update cart total and quantity of items in cart
function updateCartInfors() {
	var qtyArr = document.getElementsByName("cartQty[]");
	var productPriceListArr = document.getElementsByName("productPriceList[]");
	var itemNumbers = 0;
	var myCartTotal = 0;
	var qtyList = "";
	for(var i=0; i<qtyArr.length; i++) {
		if(qtyArr[i].value != "") {
			myCartTotal += qtyArr[i].value * productPriceListArr[i].value;
			itemNumbers += parseInt(qtyArr[i].value);
		}
		qtyList += qtyArr[i].value + ",";
	}
	//update values of cart, item nubmers, and quantity of each items in cookie
	myCart.setCookie("in", itemNumbers);
	myCart.setCookie("total", myCartTotal);
	myCart.setCookie("qtyList", qtyList);
	myCart.write();

	//update cart total and item numbers on screen
	document.getElementById("cartTotal").innerHTML = document.getElementById("cart_total").innerHTML = formatCurrency((myCartTotal + getShippingPrice()).toString());
	document.getElementById("cart_IN").innerHTML = "(" + itemNumbers + ")";
	document.getElementById("itemInCart").innerHTML = itemNumbers;
}
function checkCart() {
	var cName = document.getElementById("cName").value;
	var cEmail = document.getElementById("cEmail").value;
	var cAddr = document.getElementById("cAddr").value;
	var hasErr = false;
	//validate name, email, and address of customer
	if(cName.trim() == "") {
		$("cNameErr").innerHTML = "*";
		hasErr = true;
	}else {
		$("cNameErr").innerHTML = "";
	}

	if(cEmail.trim() == "") {
		$("cEmailErr").innerHTML = "*";
		hasErr = true;
	}else if(!isEmail(cEmail)) {
		$("cEmailErr").style.fontSize = "8pt";
		$("cEmailErr").innerHTML = "Email không hợp lệ";
		hasErr = true;
	}else {
		$("cEmailErr").innerHTML = "";
	}

	if(cAddr.trim() == "") {
		$("cAddrErr").innerHTML = "*";
		hasErr = true;
	}else {
		$("cAddrErr").innerHTML = "";
	}

	if(hasErr) {
		$("errMess").innerHTML = "Vui lòng điền thông tin vào các phần đánh dấu <span style=\"font-size: 10pt;\">*</span>";
		return false;
	}else {
		$("errMess").innerHTML = "";
	}
	//check if customer markes as finishing
	if(!isFinishShopping) {
		alert("Vui lòng xác nhận bạn đã hoàn thành đơn hàng!");
		return false;
	}
	//update shipping price, and cart total if has no error for validation
	if(!hasErr) {
		$("shippingPrice_hidden").value = getShippingPrice();
	}
	return true;
}
function payByNganLuong() {
	if(!checkCart()) {
		$("cName").focus();
		return false;
	}else {
		$("cartFrm").action = "./index.php?action=9";
		$("cartFrm").submit();
	}
}
function regNewsLetter() {
	var regNewsLetterTxt = $("regNewsLetterTxt").value;
	//validate email
	if(regNewsLetterTxt.trim() == "") {
		return;
	}
	if(!isEmail(regNewsLetterTxt)) {
		alert("Email không hợp lệ!");
		return;
	}
	//register email as potential customer
	var url = "index.php";
    var data = "action=" + REG_NEWS_LETTER + "&customerEmail=" + regNewsLetterTxt;
    var handler = function(responseText, xmlHttp) {
    	if(responseText.trim() == "1") {
			alert("Đăng ký email thành công!\nChúng tôi sẽ gửi Email cho bạn khi chúng tôi có sản phẩm mới\nhoặc những thông tin khuyến mãi của Điệu-Shop.");
		}else {
			alert("Có thể Email này đã được đăng ký.\nXin vui lòng đăng ký một Email khác.\nCảm ơn bạn.");
		}
    };
    postback(url, data, handler);
}
function addToBookmark() {
	var dbm_bookmarkTitle  = "Thời trang nữ - Thời trang công sở";
	var dbm_bookmarkUrl    = "http://www.dieu-shop.com";
	if((navigator.appName == 'Microsoft Internet Explorer') && (document.all)) {
		window.external.AddFavorite(dbm_bookmarkUrl, dbm_bookmarkTitle)
	}else if(window.sidebar) {
		window.sidebar.addPanel(dbm_bookmarkTitle, dbm_bookmarkUrl, '')
	}else {
		alert('Press CTRL-D (Netscape) or CTRL-T (Opera) to bookmark');
	}
}

