$(document).ready(function() {
	//set button action
	$('#jButton').bind('click',function(){
		var getVars = "";
		$('#express_order input[name^=sku]').each(function(){
			getVars += this.name+"="+this.value+"&";
		});
		$('#express_order input[name^=qty]').each(function(){
			getVars += this.name+"="+this.value+"&";
		});
		getVars += "id="+$('#id').val()+"&";
		getVars += "act=post";
		
		$("#addLine").css("display","none");
		$("#loading").removeClass("hideDiv");
		$("#addButton").addClass("hideDiv");
	
		ajax_json_call('filebin/ajax/php/express_ordering.php', 'POST', getVars,'doSomethingOnComplete');
		//alert(getVars);
	})
});
function ajax_json_call(callUrl, callType, callVars, onCompleteFunc) {
	try {
		$.ajax({
			type: callType,
			url: callUrl,
			data: callVars,
			dataType: "json",
			success: function(data) {
				if (data) {
					process_success_ajax_json_call(data);
				} else {
					//error
				}
		 	},
			complete: function() {
				//if we need to run something discard if we get data or not
				if (onCompleteFunc != "") { 
					if (eval("typeof " + onCompleteFunc + " == 'function'")) {
						eval(onCompleteFunc+'()');
					}
				}
			}
		});
	} catch (e) {
		//nothing for now
	}
}
function process_success_ajax_json_call(data) {
	//var formElements = {formType:['input', 'type', 'radio', 'password', 'textarea', 'checkbox', 'select']}
	if (data) {
		var alert_content="";
		$.each(data, function(id, dataHolder) {
			if ($("#"+id) && id!="alert_msg") {
				//dataHolder is array (jAction,contentReturn,insertId)
				if (dataHolder.jAction.indexOf('insert')>-1) {
					//insertAfter, insertBefore
					$(dataHolder.jContentReturn)[dataHolder.jAction]('#'+dataHolder.jHelpId);
				} else {
					//replace/set new value
					$("#"+id)[dataHolder.jAction](dataHolder.jContentReturn);
				}
			}
			//display js alert
			if (id=="alert_msg") alert_content += content+"\n";
		});
		if (alert_content != "") alert(alert_content);
	}
	else {
		//process error here...
	}
}
function doSomethingOnComplete() {
	$("#addLine").css("display","block");
	$("#loading").addClass("hideDiv");
	$("#addButton").removeClass("hideDiv");
	
	$("#cart_open").click();
}
function show_reps_state(id) {
	$("#loading_reps").removeClass("hideDiv");
	$("#repDataContainer").addClass("hideDiv");
	var postvars="action=show_rep_state&state="+id+"";
	$.ajax({
		type: "GET",
		url: "filebin/js/show_reps.php",
		data: postvars,
		success: function(data) {
			$("#loading_reps").addClass("hideDiv");
			$("#repDataContainer").removeClass("hideDiv");
			if (data) $("#repDataContainer").html(data);
			else $("#repDataContainer").html("<span style='color:red;'>Error</span>");
			
		}
	});
}
function show_rep_zip(id) {
	$("#loading_reps").removeClass("hideDiv");
	$("#repDataContainer").addClass("hideDiv");
	getVars = "zip="+$('#'+id).val();
	var postvars="action=show_rep_zip&"+getVars;
	$.ajax({
		type: "GET",
		url: "filebin/js/show_reps.php",
		data: postvars,
		success: function(data) {
			$("#loading_reps").addClass("hideDiv");
			$("#repDataContainer").removeClass("hideDiv");
			if (data) $("#repDataContainer").html(data);
			else $("#repDataContainer").html("<span style='color:red;'>Error</span>");
			
		}
	});
}
function show_catalog_section(id) {
	$("#loading").removeClass("hideDiv");
	$("#catalog_pages").addClass("hideDiv");
	getVars = "section_id="+$('#'+id).val();
	var postvars="action=show_pages&"+getVars;
	ajax_json_call('filebin/ajax/php/show_catalog.php', 'POST', postvars,'doSomethingOnCompleteCat');
}
function find_cat_page(id) {
	$("#loading").removeClass("hideDiv");
	$("#catalog_pages").addClass("hideDiv");
	getVars = "page_num="+$('#'+id).val();
	var postvars="action=find_page&"+getVars;
	ajax_json_call('filebin/ajax/php/show_catalog.php', 'POST', postvars,'doSomethingOnCompleteCat');
}
function doSomethingOnCompleteCat() {
	$("#loading").addClass("hideDiv");
	$("#catalog_pages").removeClass("hideDiv");
}