// JavaScript Document
function updateValue(sb)
{
	//alert(sb);
	incAmt();
	//document.getElementById("sb_bucks2").checked = true;
	if(document.getElementById("sb_bucks2"))
	{
		if(document.getElementById("sb_bucks2").checked)
		{
			notUseSB(sb);
		}else
		{
			useSB(sb);
		}
	}
	//notUseSB(sb);
}
function useSB(sb)
{
	if(sb <= 0)
	{
		notUseSB(0);
		return;
	}
	
	var deal_price = document.getElementById("tot").value;
	var total = deal_price-sb;
	var sbLeft = 0;
	if(sb >= deal_price)
	{
		total = 0;
		sbLeft = sb - deal_price;
		document.getElementById("paymentOption").style.display = "none";
		document.getElementById("but").style.display = "block";
	}
	document.getElementById("social_cash").value = sb;	
	document.getElementById("tot").value = total;
	document.getElementById("total").innerHTML =  "$"+total+".00";
	document.getElementById("cash").innerHTML = sbLeft;
	document.getElementById("ptype").value = 1;
	
}
function notUseSB(sb)
{
	var deal_qty = document.getElementById("deal_qty").value;
	var prc = document.getElementById("prc").value;
	var total = deal_qty*prc;
	document.getElementById("social_cash").value = 0;	
	document.getElementById("tot").value = total;
	document.getElementById("total").innerHTML =  "$"+total+".00";
	document.getElementById("cash").innerHTML = sb;
	if(document.getElementById("paymentOption").style.display == "none")
	{
		document.getElementById("paymentOption").style.display = "block";
		document.getElementById("but").style.display = "none";
	}
	document.getElementById("ptype").value = 0;
}

function getRadioValue()
{
	if(document.getElementById("print").checked == true)
	{
		return "print";
	}
	else
	{
		return "email";
	}
}
function storeValue()
{
	var radio = getRadioValue();
	var to = document.getElementById("to").value;
	var from = document.getElementById("from").value;
	var msg = document.getElementById("msg").value;
	var email = "";
	var error = "";
	if(radio == "email")
	{
		email = document.getElementById("emailG").value;
		var error = validateEmail(document.getElementById("emailG"));
	}
	if(validateEmpty(document.getElementById("to")) != "")
	{
		alert(validateEmpty(document.getElementById("to")));
	}
	else if(validateEmpty(document.getElementById("from")) != "")
	{
		alert(validateEmpty(document.getElementById("from")));
	}
	else if(error != "")
	{
		alert(error);
	}
	else
	{
		document.getElementById("to_user").value = to;
		document.getElementById("from_user").value = from;
		document.getElementById("gift_msg").value = msg;
		document.getElementById("gift_email").value = email;
		document.getElementById("editGift").style.display = "block";
		document.getElementById("gift").innerHTML = '<a href="#">Gift For:</a> '+to;
		
		closeDialog();
	}
}
function gift_deal()
{
	showDialog(700,370);
	site_url = server_path+"ajaxcall/process.php";
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=giftDeal",
		success: function(msg){
			var div = document.getElementById("dialogcontent");
			div.innerHTML = msg;
			document.getElementById("to").focus();
		}
 	});
}
function editGift()
{
	showDialog(700,370);
	site_url = server_path+"ajaxcall/process.php";
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=giftDeal",
		success: function(msg){
			var div = document.getElementById("dialogcontent");
			div.innerHTML = msg;
			document.getElementById("to").value = document.getElementById("to_user").value;
			document.getElementById("from").value = document.getElementById("from_user").value;
			document.getElementById("msg").value = document.getElementById("gift_msg").value;
			if(document.getElementById("gift_email").value != "")
			{
				document.getElementById("sendemail").checked = true;
				document.getElementById("emailG").value = document.getElementById("gift_email").value;
			}
			else
			{
				document.getElementById("print").checked = true;
			}
		}
 	});
}
function accActiveEmail()
{
	var loader = document.getElementById("loader");
	loader.innerHTML = "<img src='images/loading.gif' style='margin-left:30px;'/>";
	site_url = server_path+"ajaxcall/process.php";
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=actEmailSend",
		success: function(msg){
			loader.innerHTML = "";
			alert(msg);
		}
	});
}
function editCard()
{
	if(!(isNumeric(document.getElementById("cNo")) && isNumeric(document.getElementById("cvvCode")) && isNumeric(document.getElementById("pCode"))))
	{
		alert("This values should be numeric");
		document.getElementById("cNo").style.backcolor = "#50ABE0";
		document.getElementById("cvvCode").style.backcolor = "#50ABE0";
		document.getElementById("pCode").style.backcolor = "#50ABE0";
		return false;
	}
	submitForm('updatePayment');
}
function submitCard()
{
	if(!(isNumeric(document.getElementById("cNo")) && isNumeric(document.getElementById("cvvCode")) && isNumeric(document.getElementById("pCode"))))
	{
		alert("This values should be numeric");
		document.getElementById("cNo").style.backcolor = "#50ABE0";
		document.getElementById("cvvCode").style.backcolor = "#50ABE0";
		document.getElementById("pCode").style.backcolor = "#50ABE0";
		return false;
	}
	submitForm('payment');
}
function selectDeal()
{
	var qty = document.getElementById("qty").value;
	var prc = document.getElementById("prc").value;
	var tot = document.getElementById("tot").value;
	var deal_id = document.getElementById("deal_id").value;
	site_url = server_path+"ajaxcall/process.php";
	
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=selDeal&qty="+ qty +"&prc=" + prc + "&tot=" + tot + "&deal_id=" + deal_id,

		success: function(msg){
			tab(2);
		}
 	});
}
function tab(i)
{
	var loader = document.getElementById("loader");
	loader.innerHTML = "<img src='images/loading.gif' style='margin-left:30px;'/>";
	document.getElementById("tab1").className = "";
	document.getElementById("tab2").className = "";
	document.getElementById("tab3").className = "";
	document.getElementById("tab"+i).className = "active";
	site_url = server_path+"ajaxcall/process.php";
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=purchasetab&tid="+i,
		success: function(msg){
			document.getElementById("page").innerHTML = msg;
			loader.innerHTML = "";
		}
 	});
	
}
function incAmt()
{
	var qty = parseInt(document.getElementById("quantity").value);
	var limit = parseInt(document.getElementById("limit").value);
    var res = /^[-+]?[0-9]+(\.[0-0]+)?$/.test(qty);
	
	//alert("Quantity: "+qty+"  Limit: "+limit);
	if(qty <= 0)
	{
		alert("Provide positive value");
		qty = 1;
		document.getElementById("quantity").value = "1";
	}
	else if(res == false)
	{
		alert("Value should be numeric");
		qty = 1;
		prc = document.getElementById("prc").value;
		document.getElementById("total").innerHTML = "$"+qty*prc+".00";
		document.getElementById("tot").value = qty*prc;
		document.getElementById("quantity").value = qty;
		document.getElementById("deal_qty").value = qty;
	}
	else if((qty>limit) && (limit!=0))
	{
		alert("You can only buy "+limit);
		
		prc = document.getElementById("prc").value;
		document.getElementById("total").innerHTML = "$"+limit*prc+".00";
		document.getElementById("tot").value = limit*prc;
		document.getElementById("quantity").value = limit;
		document.getElementById("deal_qty").value = limit;
	}
	else
	{
		prc = document.getElementById("prc").value;
		tot = document.getElementById("tot").value;
		
		document.getElementById("total").innerHTML = "$"+qty*prc+".00";
		document.getElementById("tot").value = qty*prc;
		document.getElementById("quantity").value = qty;
		document.getElementById("deal_qty").value = qty;
		
		site_url = server_path+"ajaxcall/process.php";
		$.ajax({
			type: "POST",
			url: site_url,
			data: "p=setqty&qty="+qty,
			success: function(msg){
				
				
			}
		});
	}
}
function loginCheck()
{
	var loader = document.getElementById("loader");
	var email = document.getElementById("emailS").value;
	var pass = document.getElementById("passS").value;
	site_url = server_path+"ajaxcall/process.php";
	loader.innerHTML = "<img src='images/loading.gif' style='margin-left:30px;'/>";
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=signin&email="+ email +"&pass=" + pass,

		success: function(msg){
			if(msg == 1){
				loader.innerHTML = "";
				location.href = verifyLink("purchase.php");
			}
			else if(msg == 2)
			{
				loader.innerHTML = "";
				location.href = verifyLink("purchasePage.php");
			}
			else{
				alert(msg);
				loader.innerHTML = "";
			}
		}
 	});
}
function submitPage()
{
	if(document.getElementById("email").value == "")
	{
		alert("Provide valid email address");
	}
	else if(document.getElementById("name").value == "")
	{
		alert("Provide your name");
	}
	else if(validatePassword(document.getElementById("pass")) != ""){
		alert(validatePassword(document.getElementById("pass")));
	}
	else if(document.getElementById("pass").value != document.getElementById("con").value)
	{
		alert("Password not matched");
	}
	else{
		signUp();
	}
}
function signUp()
{
	var loader = document.getElementById("loader");
	var email = document.getElementById("email").value;
	var pass = document.getElementById("pass").value;
	var name = document.getElementById("name").value;
	loader.innerHTML = "<img src='images/loading.gif' style='margin-left:30px;'/>";
	site_url = server_path+"ajaxcall/process.php";
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=signupP&email="+ email+"&pass=" + pass + "&name=" + name,

		success: function(msg){
			if(msg == 0)
			{
				alert("Email address already exist!!!");
				loader.innerHTML = "";
			}
			else
			{
				alert("Just one more step! We just sent you an email welcoming you to SocialBuy with a link to activate your account.  Didn't get the email? Check your spam folder or add SocialBuy <info@socialbuy.com> to your address book to ensure delivery. If you still haven't received your activation email, we can send you another one.");
				loader.innerHTML = "";
				document.getElementById("email").value = "";
				document.getElementById("name").value = "";
				document.getElementById("pass").value = "";
				document.getElementById("con").value = "";
				document.getElementById("emailS").value = email;
				document.getElementById("ral").style.display = "block";
			}
		}
 	});
}

function completeOffer()
{
	temp = getCheckedValue();
	
	var loader = document.getElementById("loader");
	var cname = document.getElementById("cName").value;
	var cno = document.getElementById("cNo").value;
	var ctype = document.getElementById("ctype").value;
	var year = document.getElementById("year").value;
	var mon = document.getElementById("mon").value;
	var day = document.getElementById("day").value;
	var cvv = document.getElementById("cvvCode").value;
	var badd = document.getElementById("bill_add").value;
	var city = document.getElementById("city").value;
	var state = document.getElementById("state").value;
	var pcode = document.getElementById("pCode").value;
	var deal_qty = document.getElementById("deal_qty").value;
	var deal_id = document.getElementById("deal_id").value;
	
	site_url = server_path+"ajaxcall/process.php";
	loader.innerHTML = "<img src='images/loading.gif' style='margin-left:30px;'/>";
	if(temp == "" || temp == "undefined" )
	{
		if(!(isNumeric(document.getElementById("cNo")) && isNumeric(document.getElementById("cvvCode")) && isNumeric(document.getElementById("pCode"))))
		{
			alert("This values should be numeric");
			loader.innerHTML = "";
			return false;
		}
		else if(cname == '' || cno == '' || cvv == '' || badd == '' || city == '' || state == '' || pcode == '')
		{
			alert("You have to provide all information");
			loader.innerHTML = "";
			return false;
		}
		
		$.ajax({
			type: "POST",
			url: site_url,
			data: "p=comOrder&ctype=" + ctype + "&cName=" + cname + "&cNo=" + cno + "&cvvCode=" + cvv + "&bill_add=" + badd + "&city=" + city + "&state=" + state + "&pCode=" + pcode + "&year=" + year + "&mon=" + mon +  "&day=" + day + "&deal_id=" + deal_id + "&deal_qty=" + deal_qty,
	
			success: function(msg){
				loader.innerHTML = "";
				if(msg == '0')
				{
					alert('You have to provide all informations');
				}
				else
				{
					if(msg != "Order placed successfully")
					{
						alert(msg);
					}
					else
					{
						location.href = verifyLink("confirm.php",0);
					}
				}
			}
		});
	}
	else
	{
		$.ajax({
			type: "POST",
			url: site_url,
			data: "p=comOrder1&cardId="+ temp,
	
			success: function(msg){
				loader.innerHTML = "";
				if(msg != "Order placed successfully")
				{
					alert(msg);
				}
				else
				{
					location.href = verifyLink("confirm.php",0);
				}
			}
		});
	}
	
}
function getCheckedValue() {
	if(document.getElementById("tcard") != null)
	{
		var length = document.getElementById("tcard").value;
		for(var i = 0; i < length; i++) {
			radioObj = document.getElementById("card"+i);
			if(radioObj.checked) {
				return radioObj.value;
			}
		}
	}
	return "";
}
function completeOffer1()
{
	selectDeal_1();
	temp = getCheckedValue();
	var loader = document.getElementById("loader");
	site_url = server_path+"ajaxcall/process.php";
	loader.innerHTML = "<img src='images/loading.gif' style='margin-left:30px;'/>";
	var deal_qty = document.getElementById("qty").value;
	var deal_id = document.getElementById("deal_id").value;
	$.ajax({
			type: "POST",
			url: site_url,
			data: "p=comOrder2&cardId="+ temp + "&deal_qty=" + deal_qty + "&deal_id=" + deal_id,
	
			success: function(msg){
				loader.innerHTML = "";
				if(msg != "Order placed successfully")
				{
					alert(msg);
				}
				else
				{
					location.href = verifyLink("confirm.php",0);
				}
			}
		});
}
function selectDeal_1()
{
	var qty = document.getElementById("qty").value;
	var prc = document.getElementById("prc").value;
	var tot = document.getElementById("tot").value;
	site_url = server_path+"ajaxcall/process.php";
	
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=selDeal&qty="+ qty +"&prc=" + prc + "&tot=" + tot,

		success: function(msg){
		}
 	});
}
function reedemCard()
{
	var code = document.getElementById("code").value;
	document.getElementById("codemsg").innerHTML="<div align='center'><img src='images/loading.gif'/></div>";
	site_url = server_path+"ajaxcall/process.php";
	
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=reedemCode&code="+ code,

		success: function(msg){
			document.getElementById("codemsg").innerHTML = msg;
		}
 	});
}
function submitNLoggedPur()
{
	var tQty = getTotalQuantity();
	if(tQty < 1)
	{
		alert("You have to select minimum one item");
		return;
	}
	if(document.getElementById("name").value == "")
	{
		document.getElementById("errMsg").innerHTML = "Enter your name";
	}else if(validateEmail(document.getElementById("email")) != "")
	{
		document.getElementById("errMsg").innerHTML = validateEmail(document.getElementById("email"));
	}
	else if(document.getElementById("email").value != document.getElementById("email2").value)
	{
		document.getElementById("errMsg").innerHTML = "Email addresses do not match"
	}
	else if(validatePassword(document.getElementById("pass")) != ""){
		document.getElementById("errMsg").innerHTML = validatePassword(document.getElementById("pass"));
	}
	else if(document.getElementById("pass").value != document.getElementById("con").value)
	{
		document.getElementById("errMsg").innerHTML = "Passwords do not match";
	}else
	{
	
		var phn = document.getElementById("phn");
		var type = document.getElementById("ctype");
		var cardName = document.getElementById("cName");
		var cardNumber = document.getElementById("cNo");
		var expMonth = document.getElementById("mon");
		var expYear = document.getElementById("year");
		var securityCode = document.getElementById("cvvCode");
		var address = document.getElementById("bill_add");
		var city = document.getElementById("city");
		var state = document.getElementById("state");
		var postalCode = document.getElementById("pCode");
		
		var msg = new Array();
		var errorMsg = "";
		
		if(veriftCreditCard(type, cardName, cardNumber, expMonth, expYear, securityCode, address, city, state, postalCode, msg))
		{
			//errorMsg = "All validation passed successfully";
			if(phn.value == "")
			{
				document.getElementById("errMsg").innerHTML = "Enter your phone number";
				setErrorState(phn, true);
			}else
			{
				setErrorState(phn, false);
				purchaseAjax2();
			}
		}else
		{
			for(i =0; i < msg.length; i++)
			{
				errorMsg += "<div>"+msg[i]+"</div>";
			}
			
			document.getElementById("errMsg").innerHTML = errorMsg;
		}
	}
}
function loginCheck1(deal_id)
{
	var email = document.getElementById("emailS").value;
	var pass = document.getElementById("passS").value;
	site_url = server_path+"ajaxcall/process.php";

	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=signin&email="+ email +"&pass=" + pass,

		success: function(msg){
			if(msg == 1){
				location.href = verifyLink("buynow.php?deal_id="+deal_id);
			}
			else if(msg == 2)
			{
				location.href = verifyLink("buynow.php?deal_id="+deal_id);
			}
			else if(msg != "Wrong user email/password"){
				sendActivationPop(email)
			}
			else
			{
				alert(msg);
			}
		}
 	});
}
function changeView()
{
	if(document.getElementById("signinShow").style.display == "none")
	{
		document.getElementById("signinShow").style.display = "block";
		document.getElementById("signinHide").style.display = "none";
	}
	else
	{
		document.getElementById("signinShow").style.display = "none";
		document.getElementById("signinHide").style.display = "block";
	}
}
function submitFBPur()
{
	var tQty = getTotalQuantity();
	if(tQty < 1)
	{
		alert("You have to select minimum one item");
		return;
	}
	if(document.getElementById("ptype").value == 1 && document.getElementById("tot").value <= 0)
	{
		//alert(2);
		purchaseAjax();
	}
	else if(document.getElementById("hascard").value == 0 && document.getElementById("needemail").value == 1)
	{
		//alert(3);
		if(validateEmail(document.getElementById("email1")) != "")
		{
			document.getElementById("errMsg").innerHTML = validateEmail(document.getElementById("email1"));
		}
		else if(document.getElementById("email1").value != document.getElementById("email2").value)
		{
			document.getElementById("errMsg").innerHTML = "Email addresses do not match";
		}
		else
		{
			var phn = document.getElementById("phn");
	
			var type = document.getElementById("ctype");
			var cardName = document.getElementById("cName");
			var cardNumber = document.getElementById("cNo");
			var expMonth = document.getElementById("mon");
			var expYear = document.getElementById("year");
			var securityCode = document.getElementById("cvvCode");
			var address = document.getElementById("bill_add");
			var city = document.getElementById("city");
			var state = document.getElementById("state");
			var postalCode = document.getElementById("pCode");
			
			var msg = new Array();
			var errorMsg = "";
		
			if(veriftCreditCard(type, cardName, cardNumber, expMonth, expYear, securityCode, address, city, state, postalCode, msg))
			{
				//errorMsg = "All validation passed successfully";
				if(phn.value == "")
				{
					document.getElementById("errMsg").innerHTML = "Enter your phone number";
					setErrorState(phn, true);
				}else
				{
					setErrorState(phn, false);
					purchaseAjax();
				}
			}else
			{
				for(i =0; i < msg.length; i++)
				{
					errorMsg += "<div>"+msg[i]+"</div>";
				}
				
				document.getElementById("errMsg").innerHTML = errorMsg;
			}
			
		}
		
		
		
		
	}
	else if(document.getElementById("hascard").value == 0)
	{
		//alert(4);
		var phn = document.getElementById("phn");
	
			var type = document.getElementById("ctype");
			var cardName = document.getElementById("cName");
			var cardNumber = document.getElementById("cNo");
			var expMonth = document.getElementById("mon");
			var expYear = document.getElementById("year");
			var securityCode = document.getElementById("cvvCode");
			var address = document.getElementById("bill_add");
			var city = document.getElementById("city");
			var state = document.getElementById("state");
			var postalCode = document.getElementById("pCode");
			
			var msg = new Array();
			var errorMsg = "";
		
			if(veriftCreditCard(type, cardName, cardNumber, expMonth, expYear, securityCode, address, city, state, postalCode, msg))
			{
				//errorMsg = "All validation passed successfully";
				if(phn.value == "")
				{
					document.getElementById("errMsg").innerHTML = "Enter your phone number";
					setErrorState(phn, true);
				}else
				{
					setErrorState(phn, false);
					purchaseAjax();
				}
			}else
			{
				for(i =0; i < msg.length; i++)
				{
					errorMsg += "<div>"+msg[i]+"</div>";
				}
				
				document.getElementById("errMsg").innerHTML = errorMsg;
			}
	}
	else if(document.getElementById("needemail").value == 1)
	{
		//alert(5);
		if(validateEmail(document.getElementById("email1")) != "")
		{
			alert(validateEmail(document.getElementById("email1")));
		}
		else if(document.getElementById("email1").value != document.getElementById("email2").value)
		{
			alert("Email address not matched");
		}
		else
		{
			//document.getElementById("notlogpur").submit();
			purchaseAjax();
		}
	}
	else
	{
		//alert(6);
		var phn = document.getElementById("phn").value;
		if(phn == '')
		{
			alert("Please provide your phone number");
		}
		else
		{
			//document.getElementById("notlogpur").submit();
			
			purchaseAjax();
		}
	}
}
var purchasing = false;
function purchaseAjax()
{
	if(purchasing == true)
	{
		return;
	}
	purchasing = true;
	document.getElementById("errMsg").innerHTML = "Processing order. Please wait...";
	if(document.getElementById("errMsg2") != null)
	{
		document.getElementById("errMsg2").innerHTML = "";
	}
	site_url = server_path+"ajaxcall/process.php";
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=pPayment&" + $("#notlogpur").serialize(),

		success: function(msg){
			if(msg == "1")
			{
				deal_id = document.getElementById("deal_id").value;
				location.href = server_path + "my-account?deal_id=" + deal_id;
			}
			else
			{
				document.getElementById("errMsg").innerHTML = msg;
				purchasing = false;
			}
			
		}
 	});
	
}
var purchasing = false;
function purchaseAjax2()
{
	if(purchasing == true)
	{
		return;
	}
	document.getElementById("errMsg").innerHTML = "Processing order. Please wait...";
	purchasing = true;
	site_url = server_path+"ajaxcall/process.php";
	$.ajax({
		type: "POST",
		url: site_url,
		data: "p=pPurchasePayment&" + $("#notlogpur").serialize(),

		success: function(msg){
			
			deal_id = document.getElementById("deal_id").value;
			if(msg == "1")
			{
				location.href = server_path + "my-account?deal_id=" + deal_id;
			}
			else
			{
				if(msg == "This email address is already used")
				{
					document.getElementById("errMsg").innerHTML = msg;
					purchasing = false;
				}
				else
				{
					location.href = server_path + "buynow.php?deal_id=" + deal_id + "&errMsg=" + msg;
				}
			}
		}
 	});
	
}

	function checkCard()
	{
		var type = document.getElementById("ctype");
		var cardName = document.getElementById("cName");
		var cardNumber = document.getElementById("cNo");
		var expMonth = document.getElementById("mon");
		var expYear = document.getElementById("year");
		var securityCode = document.getElementById("cvvCode");
		var address = document.getElementById("bill_add");
		var city = document.getElementById("city");
		var state = document.getElementById("state");
		var postalCode = document.getElementById("pCode");
		
		var msg = new Array();
		var errorMsg = "";
		
		if(veriftCreditCard(type, cardName, cardNumber, expMonth, expYear, securityCode, address, city, state, postalCode, msg))
		{
			errorMsg = "All validation passed successfully";
		}else
		{
			for(i =0; i < msg.length; i++)
			{
				errorMsg += "<div>"+msg[i]+"</div>";
			}
		}
		
		document.getElementById("errMsg").innerHTML = errorMsg;
	}
	
	function veriftCreditCard(type, cardName, cardNumber, expMonth, expYear, securityCode, address, city, state, postalCode, msg, hiddenCreditNo)
	{
		//msg = new Array();
		var ok = true;
		var error = false;
		
		if(type.value < 1 || type.value > 4)
		{
			msg[msg.length] = "Invalid card type";
			ok = false;
			error = true;
		}
		setErrorState(type, error);
		error = false;
		
		if(cardName.value != "")
		{
			if(!isNum(cardName.value))
			{
			
			}else
			{
				msg[msg.length] = "Cardholder name can not be a number";
				ok = false;
				error = true;
			}
		}else
		{
			msg[msg.length] = "Enter Cardholder name";
			ok = false;
			error = true;
		}		
		setErrorState(cardName, error);
		error = false;
		
		if(hiddenCreditNo != null && hiddenCreditNo.value == cardNumber.value)
		{
			
		}else
		if(cardNumber.value != "")
		{
			if(isNum(cardNumber.value))
			{
				if(checkCardNumberLength(cardNumber.value, type.value))
				{
					if(checkCardNumberPrefix(cardNumber.value, type.value))
					{
						if(luhnCheck(cardNumber.value))
						{
						
						}else
						{
							msg[msg.length] = "Invalid card number";
							ok = false;
							error = true;
						}
					}else
					{
						if(type.value == 1)
						{
							msg[msg.length] = "American Express card number should start with 34 or 37";
						}else if(type.value == 2)
						{
							msg[msg.length] = "Visa card number should start with 4";
						}else if(type.value == 3)
						{
							msg[msg.length] = "MasterCard card number should start with 51-55";
						}else if(type.value == 4)
						{
							msg[msg.length] = "Discover card number should start with 6011";
						} 
						
						ok = false;
						error = true;
					}
				}else
				{
					if(type.value == 1)
					{
						msg[msg.length] = "Card number should be 15 digits";
					}else if(type.value == 2)
					{
						msg[msg.length] = "Card number should be 13 or 16 digits";
					}else if(type.value == 3)
					{
						msg[msg.length] = "Card number should be 16 digits";
					}else if(type.value == 4)
					{
						msg[msg.length] = "Card number should be 16 digits";
					} 
					
					ok = false;
					error = true;
				}
							
			}else
			{
				msg[msg.length] = "Card number should be numeric";
				ok = false;
				error = true;
			}
		}else
		{
				msg[msg.length] = "Enter your credit card number";
				ok = false;
				error = true;
		}
		setErrorState(cardNumber, error);
		error = false;
		
		if(checkCardExpireDate(expMonth.value, expYear.value))
		{
		
		}else
		{
			msg[msg.length] = "Credit card is already expired";
			ok = false;
			error = true;
		}
		
		setErrorState(expMonth, error);
		setErrorState(expYear, error);
		error = false;
		
		if(securityCode.value != "")
		{
			if(isNum(securityCode.value))
			{
				if(checkSecurityCodeLength(securityCode.value, type.value))
				{
				
				}else
				{
					if(type.value == 1)
					{
						msg[msg.length] = "Security code should be a 4 digit number";
					}else if(type.value == 2 || type.value == 3 || type.value == 4 )
					{
						msg[msg.length] = "Security code should be a 3 digit number";
					}
					
					ok = false;
					error = true;
				}
			}else
			{
				msg[msg.length] = "Security code should be a number";
				ok = false;
				error = true;
			}
		}else
		{
			msg[msg.length] = "Enter card security code";
			ok = false;
			error = true;
		}
		
		setErrorState(securityCode, error);
		error = false;
		
		if(address.value != "")
		{
			if(!isNum(address.value))
			{
			
			}else
			{
				msg[msg.length] = "Address can not be a number";
				ok = false;
				error = true;
			}
		}else
		{
			msg[msg.length] = "Enter billing address";
			ok = false;
			error = true;
		}
		
		setErrorState(address, error);
		error = false;
		
		if(city.value != "")
		{
			if(!isNum(city.value))
			{
			
			}else
			{
				msg[msg.length] = "City can not be a number";
				ok = false;
				error = true;
			}
			
		}else
		{
			msg[msg.length] = "Enter city name";
			ok = false;
			error = true;
		}
		
		setErrorState(city, error);
		error = false;
		
		if(state.value != 0)
		{
		
		}else
		{
			msg[msg.length] = "Select a state";
			ok = false;
			error = true;
		}
		
		setErrorState(state, error);
		error = false;
		
		if(postalCode.value != "")
		{
			if(isNum(postalCode.value))
			{
				if(postalCode.value.length >= 5)
				{
				
				}else
				{
					msg[msg.length] = "Postal code should be atleast 5 digit";
					ok = false;
					error = true;
				}
			}else
			{
				msg[msg.length] = "Postal code should be a number";
				ok = false;
				error = true;
			}
		}else
		{
			msg[msg.length] = "Enter postal code";
			ok = false;
			error = true;
		}
		
		setErrorState(postalCode, error);
		error = false;
		
		return ok;
	}
	
	function luhnCheck(cardnumber) {
		
		var CardNumber = cardnumber;
		
		if (! isNum(CardNumber)) {
		return false;
		  }
		
		var no_digit = CardNumber.length;
		var oddoeven = no_digit & 1;
		var sum = 0;
		
		for (var count = 0; count < no_digit; count++) {
		var digit = parseInt(CardNumber.charAt(count));
		if (!((count & 1) ^ oddoeven)) {
		digit *= 2;
		if (digit > 9)
		digit -= 9;
		}
		sum += digit;
		}
		if (sum % 10 == 0)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	
	function checkSecurityCodeLength(code, type)
	{
		if(type == 1 && code.length == 4)
		{
			return true;
		}else if(type == 2 && code.length == 3)
		{
			return true;
		}else if(type == 3 && code.length == 3)
		{
			return true;
		}else if(type == 4 && code.length == 3)
		{
			return true;
		}else
		{
			return false;
		}
	}
	
	function checkCardExpireDate(month, year)
	{
		var d = new Date();
		
		var m = d.getMonth() + 1;
		var y = d.getFullYear();
		
		if(year > y)
		{
			return true;
		}else if(year == y && month >= m)
		{
			return true;
		}else
		{
			return false;
		}
	}
	
	function checkCardNumberPrefix(number, type)
	{
		var firstDigit = number.substr(0,1);
		var firstTwoDigit = number.substr(0,2);
		var firstThreeDigit = number.substr(0,3);
		var firstFourDigit = number.substr(0,4);
		
		if(type == 1)
		{
			if(firstTwoDigit == "34" || firstTwoDigit == "37")
			{
				return true;
			}else
			{
				return false;
			}
		}else if(type == 2)
		{
			if(firstDigit == "4")
			{
				return true;
			}else
			{
				return false;
			}
		}else if(type == 3)
		{
			if(firstTwoDigit == "51" || firstTwoDigit == "52" || firstTwoDigit == "53" || firstTwoDigit == "54" || firstTwoDigit == "55")
			{
				return true;
			}else
			{
				return false;
			}
		}else if(type == 4)
		{
			if(firstFourDigit == "6011")
			{
				return true;
			}else
			{
				return false;
			}
		}else
		{
			return false;
		}	
	}
	
	function checkCardNumberLength(number, type)
	{
		if(type == 1)
		{
			if(number.length == 15)
			{
				return true;
			}else
			{
				return false;
			}
		}else if(type == 2)
		{
			if(number.length == 13 || number.length == 16)
			{
				return true;
			}else
			{
				return false;
			}
		}else if(type == 3)
		{
			if(number.length == 16)
			{
				return true;
			}else
			{
				return false;
			}
		}else if(type == 4)
		{
			if(number.length == 16)
			{
				return true;
			}else
			{
				return false;
			}
		}else
		{
			return false;
		}
	}

	
	function isNum(argvalue)
	{
		argvalue = argvalue.toString();
	
		if (argvalue.length == 0)
		{
			return false;
		}
		
		for (var n = 0; n < argvalue.length; n++)
		{
			if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
			{
				return false;
			}
		}
		
		return true;
	}
	
	function setErrorState(obj, error)
	{
		if(error)
		{
			obj.style.backgroundColor = "#ffaaaa";
		}else
		{
			obj.style.backgroundColor = ""
		}
	}
	//--------------------------------------------------
	//--------------------------------------------------
	function updateValue1(no)
	{
		incAmt1(no);
		var sbUsed = parseInt(document.getElementById("social_cash").value);
		var sb = parseInt(document.getElementById("social_cash1").value);
		if(sbUsed > 0)
		{
			useSB1(sb);
		}
		else
		{
			notUseSB1(sb);
		}
	}
	function useSB1(sb)
	{	
		if(sb <= 0)
		{
			notUseSB(0);
			return;
		}
		
		var total_price = parseInt(document.getElementById("prc").value);
		var payment = parseInt(total_price-sb);
		var sbLeft = 0;
		if(sb >= total_price)
		{
			payment = 0;
			sbLeft = sb - total_price;
			document.getElementById("paymentOption").style.display = "none";
			document.getElementById("but").style.display = "block";
		}
		else if(sb < total_price)
		{
			if(document.getElementById("paymentOption").style.display == "none")
			{
				document.getElementById("paymentOption").style.display = "block";
				document.getElementById("but").style.display = "none";
			}
		}
		document.getElementById("social_cash").value = sb-sbLeft;
		document.getElementById("tot").value = payment;
		document.getElementById("total").innerHTML =  "$"+payment+".00";
		document.getElementById("cash").innerHTML = sbLeft;
		document.getElementById("ptype").value = 1;
		
	}
	function notUseSB1(sb)
	{
		var total_price = parseInt(document.getElementById("prc").value);
		document.getElementById("social_cash").value = 0;	
		document.getElementById("tot").value = total_price;
		document.getElementById("total").innerHTML =  "$"+(total_price)+".00";
		document.getElementById("cash").innerHTML = sb;
		if(document.getElementById("paymentOption").style.display == "none")
		{
			document.getElementById("paymentOption").style.display = "block";
			document.getElementById("but").style.display = "none";
		}
		document.getElementById("ptype").value = 0;
	}
	
	function countTotal()
	{
		var ttQty = 0;
		var ttPrice = 0;
		
		
		tOpt = parseInt(document.getElementById("topt").value);
		
		for(var i=0; i<tOpt; i++)
		{
			ttQty += parseInt(document.getElementById("quantity"+i).value);
			ttPrice += parseInt(document.getElementById("ttotal"+i).value);
		}
		
		document.getElementById("deal_qty").value = ttQty;
		document.getElementById("tot").value = ttPrice;
		document.getElementById("prc").value = ttPrice;
		document.getElementById("total").innerHTML = "$"+ttPrice+".00";
	}
	function getTotalQuantity()
	{
		var ttQty = 0;
		tOpt = parseInt(document.getElementById("topt").value);
		
		for(var i=0; i<tOpt; i++)
		{
			if(!isNaN(parseInt(document.getElementById("quantity"+i).value)))
			{
				ttQty += parseInt(document.getElementById("quantity"+i).value);
			}
		}
		return ttQty;
	}
	function roundNumber(rnum, rlength) { // Arguments: number to round, number of decimal places
	  var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
	  return newnumber;
	}
	function incAmt1(no)
	{
		var qty = roundNumber(parseInt(document.getElementById("quantity"+no).value),0);
		var limit = parseInt(document.getElementById("limit").value);
		var res = /^[-+]?[0-9]+(\.[0-0]+)?$/.test(qty);
		var tQty = getTotalQuantity();
		
		if(res == false)
		{
			alert("Value should be numeric");
			qty = 1;
			if(tQty > 0)
			{
				qty = 0;
			}
			prc = parseInt(document.getElementById("pprice"+no).value);
			document.getElementById("total"+no).innerHTML = "$"+qty*prc+".00";
			document.getElementById("ttotal"+no).value = qty*prc;
			document.getElementById("quantity"+no).value = qty;
		}
		else if(qty < 0)
		{
			alert("Provide positive value");
			qty = 0;
			document.getElementById("quantity"+no).value = qty;
			prc = parseInt(document.getElementById("pprice"+no).value);
			document.getElementById("total"+no).innerHTML = "$"+qty*prc+".00";
			document.getElementById("ttotal"+no).value = qty*prc;
		}
		/*else if(tQty <= 0)
		{
			alert("Provide positive value");
			qty = 1;
			if((tQty>limit) && (limit!=0))
			{
				qty = 0;
			}
			document.getElementById("quantity"+no).value = 1;
			prc = parseInt(document.getElementById("pprice"+no).value);
			document.getElementById("total"+no).innerHTML = "$"+qty*prc+".00";
			document.getElementById("ttotal"+no).value = qty*prc;
		}*/
		else if((tQty>limit) && (limit!=0))
		{
			alert("You can only buy "+limit + " items");
			qty = 0;
			document.getElementById("quantity"+no).value = qty;
			prc = parseInt(document.getElementById("pprice"+no).value);
			document.getElementById("total"+no).innerHTML = "$"+qty*prc+".00";
			document.getElementById("ttotal"+no).value = qty*prc;
		}
		else
		{
			document.getElementById("quantity"+no).value = qty;
			prc = parseInt(document.getElementById("pprice"+no).value);
			document.getElementById("total"+no).innerHTML = "$"+qty*prc+".00";
			document.getElementById("ttotal"+no).value = qty*prc;
		}
		countTotal();
	}