
$(document).ready(function() {
 jQuery.fn.centerScreen = function(loaded) {
	var obj = this;
	if(!loaded) {
			obj.css('top', $(window).height()/2-this.height()/2+$(window).scrollTop());
			obj.css('left', $(window).width()/2-this.width()/2+$(window).scrollLeft());
		$(window).resize(function(){ obj.centerScreen(!loaded); });
	} else {
			obj.stop();
			obj.animate({ top: $(window).height()/2-this.height()/2, left: $(window).width()/2-this.width()/2}, 200, 'linear');
	}
 }
}); 

function getFeatures(frm_name, product_id, selObj){
	var frm = eval("document."+frm_name);
	var all_features = frm.elements[""+selObj.name+""];
	var reset_flag = false;
	var avl_feature_str = "";
	var next_combo_id = 0;
	for (var i=0; i<all_features.length;i++)
	{
		if (all_features[i] == selObj) {
			reset_flag=true;
			next_combo_id = i+1;
			if (selObj.selectedIndex != 0)
				avl_feature_str+=(avl_feature_str == ""?all_features[i].value:"|"+all_features[i].value);
		}else {
			if (reset_flag){
				all_features[i].options.length=1;
			} else{
				avl_feature_str+=(avl_feature_str == ""?all_features[i].value:"|"+all_features[i].value);
			}
		}
	}

	$("#"+frm_name.replace("frm_","")+"_discount_img").fadeOut("slow");
	$("#"+frm_name.replace("frm_","")+"_discount_txt").fadeOut("slow");

	//if (selObj.selectedIndex != 0 || (selObj.selectedIndex == 0 && next_combo_id >= 3))
	{
		var ajaxPath=sitePath+"components/com_store/shared/class.back-end.manipulation.php";
		$.post(ajaxPath,{"action_type":"get_features","feature_string":avl_feature_str,"product_id":product_id},function(data)
		{	
			//prompt("R",data);
			var reply_arr = data.split("!") ;
			if (reply_arr[0] == "VALUE")
			{
				var values = reply_arr[1].split("|");
				$("#"+frm_name.replace("frm_","")+"_item_code").html(values[0]);
				$("#"+frm_name.replace("frm_","")+"_price_lable").html(values[1]);
				$("#"+frm_name.replace("frm_","")+"_discount_price_lable").html(values[2]);

				var stock_avaliable = parseInt(values[3]);
				var pre_order_status = parseInt(values[6]);
				frm.item_code.value = values[0];
				frm.stock_avaliable.value = stock_avaliable;
				frm.min_purchase_quantity.value = parseInt(values[4]);
				frm.max_purchase_quantity.value = parseInt(values[5]);
				frm.pre_order_status.value = pre_order_status;
				frm.pre_order_quantity.value = parseInt(values[7]);
				if (all_features.length >= (next_combo_id+1) && all_features[next_combo_id].style.display=="none")
					frm.packaging_available.value="YES";
				else
					frm.packaging_available.value="NO";
				if (stock_avaliable)
				{
					$("#"+frm_name.replace("frm_","")+"_buy_img").attr("src",sitePath+"images/buy-now-btn.gif");
				}else{
					if (pre_order_status)
						$("#"+frm_name.replace("frm_","")+"_buy_img").attr("src",sitePath+"images/back-order-btn.gif");
					else 
						$("#"+frm_name.replace("frm_","")+"_buy_img").attr("src",sitePath+"images/out-stock-btn.gif");
				
				}

				if (values[8] == "NONE")
					$("#"+frm_name.replace("frm_","")+"_original_price").fadeOut();
				else{
					//alert(values[8]+""+values[9]);
					var str_deal_html = "";
					var str_deal_txt = "";
					switch (values[8])
					{
						case "HOT-DEAL":
							str_deal_html += "<img src='"+sitePath+"/images/hot-deals-icon.gif' border='0' />";
						break;
						case "COMBO-DEAL":
							str_deal_html += "<img src='"+sitePath+"/images/combo-deals-icon.gif' border='0' />";
						break;
						case "WEEK-DEAL":
							str_deal_html += "<img src='"+sitePath+"/images/week-deals-icon.gif' border='0' />";
						break;
						case "DAY-DEAL":
							str_deal_html += "<img src='"+sitePath+"/images/day-deals-icon.gif' border='0' />";
						break;
						case "GIFT-DEAL":
							str_deal_html += "<img src='"+sitePath+"/images/gift-deals-icon.gif' border='0' />";
						break;
					}
					if (parseInt(values[9]) > 0 )
					{
						str_deal_txt += "Deal expires in "+values[9]+" days.";
					}
					$("#"+frm_name.replace("frm_","")+"_discount_img").html(str_deal_html);
					$("#"+frm_name.replace("frm_","")+"_discount_txt").html(str_deal_txt);


					if (str_deal_html != "")
						$("#"+frm_name.replace("frm_","")+"_discount_img").fadeIn("slow");

					if (str_deal_txt != "")
						$("#"+frm_name.replace("frm_","")+"_discount_txt").fadeIn("slow");

					$("#"+frm_name.replace("frm_","")+"_original_price").fadeIn();

				}

				if (parseInt(values[10]) > 0 )
					$("#"+frm_name.replace("frm_","")+"_shipping_free").fadeIn();
				else
					$("#"+frm_name.replace("frm_","")+"_shipping_free").fadeOut();

					frm.variation_available.value="YES";
			}else {
					frm.variation_available.value="NO";
			}


			if ((selObj.selectedIndex != 0) && (reply_arr[0] == "COMBO" || reply_arr[2] == "COMBO"))
			{
				var combo_list;
				if (reply_arr[0] == "COMBO")
					combo_list = reply_arr[1].split("|");
				else
					combo_list = reply_arr[3].split("|");

				for (var j=0;j<combo_list.length;j++)
				{
					var combo = combo_list[j].split("~");
					var optn = document.createElement("OPTION");
					optn.text = combo[1];
					optn.value = combo[0];
					all_features[next_combo_id].options.add(optn);
				}
			}
		});
	}
}

function addtoCart(frm_name, product_id){
	var frm = eval("document."+frm_name);

	if (frm.variation_available.value=="NO")
	{
		$("#shopping_cart_return_msg").html("<span class='productdetails-r-text'>You have not selected the correct variation for the product. <br>Please check your selection..</span>");
		$("#product_addto_cart").centerScreen();
		$("#product_addto_cart").show('slow');
		$("#fade").show();
		return;
	}


	var stock_avaliable = parseInt(frm.stock_avaliable.value);
	var pre_order_status = parseInt(frm.pre_order_status.value);
	var item_code = frm.item_code.value;
	var product_name = frm.product_name.value;
	var quantity = parseInt(frm.purchase_qty.value);
	var min_purchase_quantity =  parseInt(frm.min_purchase_quantity.value);
	var max_purchase_quantity = parseInt(frm.max_purchase_quantity.value);
	var pre_order_quantity = parseInt(frm.pre_order_quantity.value);
	var product_image = frm.product_image.value;
	var packaging_available = frm.packaging_available.value;
	var max_avl_qty = 0;
	if (stock_avaliable)
	{
		if(quantity > max_purchase_quantity){
			alert("Quantity exceeds the allowed limit (Max "+max_purchase_quantity+")..");return;
		}
		max_avl_qty = max_purchase_quantity;
	}else{
		if (!pre_order_status){
				alert("Product is not available currently");return;
		}else if (quantity > pre_order_quantity){
			alert("Quantity "+quantity+" Exceeds the allowed limit (Max "+pre_order_quantity+")..");return;
		}
		min_purchase_quantity = 1;
		max_purchase_quantity = pre_order_quantity;
	}

	$("#fade").show();
	var ajaxPath=sitePath+"components/com_store/shared/class.back-end.manipulation.php";
	$.post(ajaxPath,{"action_type":"add_to_cart","item_code":item_code,"product_id":product_id,"product_name":product_name, "quantity":quantity, "min_purchase_quantity":min_purchase_quantity, "max_purchase_quantity":max_purchase_quantity,"product_image":product_image,"packaging_available":packaging_available}, function(data)
	{	
		//prompt("R",data);
		var reply_arr = data.split("!") ;
		if (reply_arr[0] == "X"){
			$("#shopping_cart_return_msg").html(reply_arr[1]);
		}else{
			$("#shopping_cart_return_msg").html("Product is added into the cart");
			$("#my_cart_item_count").html(reply_arr[2]);
			$("#my_cart_total_amount").html(reply_arr[3]);
		}
			$("#product_addto_cart").centerScreen();
			$("#product_addto_cart").show('slow');
			$("#fade").show();
	});
}

function play_video(video_id){
	var ajaxPath=sitePath+"components/com_store/shared/class.back-end.manipulation.php";
	$.post(ajaxPath,{"action_type":"get_video","video_id":video_id}, function(data)
	{	
		//prompt("R",data);
		if (data != ""){
			$("#dv_video").html(data);
			$("#dv_video").centerScreen();
			$("#dv_video").fadeIn('slow');
			$("#fade").show();
		}
	});
}

function videoClose(){
	$("#dv_video").html("");
	$("#dv_video").hide('slow');
	$("#fade").hide();
}


function isNumeric(elem, def){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression) && parseInt(elem.value)){
		return true;
	}else{
		elem.value=def;
		return false;
	}
}


function isNumberKey(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57) && (charCode !=8 || charCode != 46) && (!(charCode >=96 && charCode <=105)))
		return false;
	return true;
}
