function Sort_Collections(category_id) {
	var ajax = new sack();
	var element = "collection_display";
	
	ajax.setVar("action","sort_collections");
	ajax.setVar("category_id",category_id);
	
	document.getElementById(element).innerHTML = '<p>Updating Collections...</p>';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
	
}
function Sort_Gallery_Categories(category_id) {
	var ajax = new sack();
	var element = "gallery_list_display";
	
	ajax.setVar("action","sort_gallery_categories");
	ajax.setVar("category_id",category_id);
	
	document.getElementById(element).innerHTML = '<p>Updating Collections...</p>';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
}
function Sort_Products(category_id) {
	var ajax = new sack();
	var element = "product_display";
	
	ajax.setVar("action","sort_products");
	ajax.setVar("category_id",category_id);
	
	document.getElementById(element).innerHTML = '<p>Updating Products...</p>';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
	
}
function Sort_Fabrics(fabric_grade_id) {
	var ajax = new sack();
	var element = "fabric_display";
	
	ajax.setVar("action","sort_fabrics");
	ajax.setVar("fabric_grade_id",fabric_grade_id);
	
	document.getElementById(element).innerHTML = '<p>Updating Fabrics...</p>';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
	
}
function Sort_Sales_Reps(country_id) {
	var ajax = new sack();
	var element = "sales_rep_display";
	
	ajax.setVar("action","sort_sales_reps");
	ajax.setVar("country_id",country_id);
	
	document.getElementById(element).innerHTML = '<p>Updating Sales Reps...</p>';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
	
}

function Sort_Retail_Dealers(state_abbrev) {
	var ajax = new sack();
	var element = "retail_dealer_display";
	
	ajax.setVar("action","sort_retail_dealers");
	ajax.setVar("state_abbrev",state_abbrev);
	
	document.getElementById(element).innerHTML = '<p>Updating Dealers...</p>';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
}

function Sort_European_Dealers(country_id) {
	var ajax = new sack();
	var element = "european_dealer_display";
	
	ajax.setVar("action","sort_european_dealers");
	ajax.setVar("country_id",country_id);
	
	document.getElementById(element).innerHTML = '<p>Updating Dealers...</p>';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
}

function Sort_International_Dealers(country_id) {
	var ajax = new sack();
	var element = "european_dealer_display";
	
	ajax.setVar("action","sort_international_dealers");
	ajax.setVar("country_id",country_id);
	
	document.getElementById(element).innerHTML = '<p>Updating Dealers...</p>';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
}


function Update_Region () {
	var form = document.set_region_form;
	form.submit();
}

function Submit_Form(form_name) {
	var form = document.getElementById(form_name);
	form.submit();
}


//onchange_function is optional. If included, it adds an onchange function to the dropdown that gets created by AJAX
function Show_Hardware_Options(category_id, container, onchange_function) {
	
	var ajax = new sack();
	var element = container;
	
	if(onchange_function) {
		ajax.setVar("onchange_function", onchange_function);
	}
	
	ajax.setVar("action","show_hardware_options");
	ajax.setVar("category_id",category_id);
	
	document.getElementById(element).innerHTML = 'Updating Hardware Choices...';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
	
}

function Show_Collection_Options(hardware_id, container) {
	var ajax = new sack();
	var element = container;
	
	ajax.setVar("action","show_collection_options");
	ajax.setVar("category_id",document.getElementById("category_id").value);
	ajax.setVar("hardware_id",hardware_id);
	
	document.getElementById(element).innerHTML = 'Updating Collection Choices...';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
	
}

function Show_Country_Options(country_id, container) {
	var ajax = new sack();
	var element = container;
	
	ajax.setVar("action","show_country_options");
	ajax.setVar("country_id",document.getElementById("country").value);
	
	document.getElementById(element).innerHTML = 'Updating Country Choices...';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
	
}

function Find_Sales_Reps(container) {
	
	var ajax = new sack();
	var element = container;
	
	ajax.setVar("action","show_sales_reps");
	ajax.setVar("industry_id",document.getElementById("industry_id").value);
	ajax.setVar("country_id",document.getElementById("country").value);
	if(document.getElementById("state")) {
		ajax.setVar("state",document.getElementById("state").value);
	}
	if(document.getElementById("province")) {
		ajax.setVar("province",document.getElementById("province").value);
	}
	
	document.getElementById(element).style.display = 'block';
	document.getElementById(element).innerHTML = 'Finds Sales Reps...';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
	
}

function Run_Report(report_type) {
	
	var ajax = new sack();
	var element = "report_display";
	
	ajax.setVar("action","run_report");
	ajax.setVar("report_type", report_type);
	ajax.setVar("start_date",document.getElementById("start_date").value);
	ajax.setVar("end_date",document.getElementById("end_date").value);
	
	document.getElementById(element).style.display = 'block';
	document.getElementById(element).innerHTML = '<p>Generating Report...</p>';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
}

function Run_International_Report(report_type) {
	
	if(document.getElementById("region").value == '') {
		alert("Please choose a region");
		return;
	} else {
	
		var ajax = new sack();
		var element = "international_report_display";
		
		ajax.setVar("action","run_international_report");
		ajax.setVar("report_type", report_type);
		ajax.setVar("international_start_date",document.getElementById("international_start_date").value);
		ajax.setVar("international_end_date",document.getElementById("international_end_date").value);
		ajax.setVar("region",document.getElementById("region").value);
		
		document.getElementById(element).style.display = 'block';
		document.getElementById(element).innerHTML = '<p>Generating Report...</p>';
		
		ajax.requestFile = "/_assets/includes/ajax_functions.php";
		ajax.element = element;
		ajax.runAJAX();
	}
}

function Generate_Email_List(report_type) {
	if(document.getElementById("region").value == '') {
		alert("Please choose a region");
		return;
	} else {
	
		var ajax = new sack();
		var element = "email_display";
		
		ajax.setVar("action","generate_email_list");
		ajax.setVar("report_type", report_type);
		ajax.setVar("region",document.getElementById("region").value);
		
		document.getElementById(element).style.display = 'block';
		document.getElementById(element).innerHTML = '<p>Getting Email List...</p>';
		
		ajax.requestFile = "/_assets/includes/ajax_functions.php";
		ajax.element = element;
		ajax.runAJAX();
	}
}

function Add_File(number) {
	var count = number;
	if(count <= 5) {
		var newcount = count + 1;
		var newFile = document.createElement("div");
		newFile.innerHTML = "<input type=\"file\" name=\"uploadfile" + count + "\" /><br /><br />";
		var Parent = document.getElementById("image_form");
		var cleardiv = document.getElementById("spacer");
		var counterdiv = document.getElementById("counter");
		cleardiv.innerHTML = '';
		cleardiv.innerHTML = "<a href=\"javascript:Add_File(" + newcount + ");\">Add Another File<\/a>";
		counterdiv.innerHTML = '';
		counterdiv.innerHTML = "<input type=\"hidden\" name=\"file_count\" value=\"" + count + "\">";
		Parent.insertBefore(newFile,cleardiv);
	} else {
		alert("You are limited to 5 simultaneous uploads at once");
	}
}

function Add_PDF_File(number) {
	var count = number;
	var newcount = count + 1;
	var newFile = document.createElement("div");
	newFile.innerHTML = "<input type=\"text\" name=\"title" + count + "\" class=\"input_text\" value=\"Insert PDF Title Here\" onclick=\"this.value='';\">&nbsp;&nbsp;<input type=\"file\" name=\"uploadfile" + count + "\" /><br /><br />";
	var Parent = document.getElementById("pdf_form");
	var cleardiv = document.getElementById("spacer");
	var counterdiv = document.getElementById("counter");
	cleardiv.innerHTML = '';
	cleardiv.innerHTML = "<a href=\"javascript:Add_PDF_File(" + newcount + ");\">Add Another File<\/a>";
	counterdiv.innerHTML = '';
	counterdiv.innerHTML = "<input type=\"hidden\" name=\"file_count\" value=\"" + count + "\">";
	Parent.insertBefore(newFile,cleardiv);
}

/************ Collection Option Image Update Functions *****************************/

function Edit_Collection_Option_Text(div_number, collection_option_id) {
	
	var element = document.getElementById("option_text" + div_number);
	var update_link = document.getElementById("edit_option_text_link" + div_number);
	var content = element.innerHTML;
	element.innerHTML = '<textarea id="collection_option_input_text' + div_number + '">' + content + '</textarea>';
	update_link.href = "javascript:Save_Collection_Option_Text('" + div_number + "','" + collection_option_id + "');";
	update_link.innerHTML = 'Save Text';

}

function Save_Collection_Option_Text(div_number, collection_option_id) {
	
	var ajax = new sack();
	var element = "option_text" + div_number;
	
	ajax.setVar("action","save_collection_option_text");
	ajax.setVar("collection_option_id", collection_option_id);
	ajax.setVar("collection_option_text",document.getElementById("collection_option_input_text" + div_number).value);
	
	document.getElementById(element).style.display = 'block';
	document.getElementById(element).innerHTML = 'Saving Text';
	var update_link = document.getElementById("edit_option_text_link" + div_number);
	update_link.href = "javascript:Edit_Collection_Option_Text('" + div_number + "','" + collection_option_id + "');";
	update_link.innerHTML = 'Edit Text';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
}

function Ajax_File_Upload(file, _target, formname, div_number, collection_option_id) {
	var form = eval("document." + formname);
	var element = "option_image" + div_number;
	form.action = "/_assets/includes/process_ajax_upload.php?div_number=" + div_number + "&collection_option_id=" + collection_option_id;
	form.target = _target;
	form.submit();
	document.getElementById(element).innerHTML = 'Uploading file. Please wait...';
	setTimeout("Display_Uploaded_File('" + div_number + "')",3000);
	
}
function Display_Uploaded_File(div_number) {
	var form = document.getElementById('uploadiframe');
	var doc = form.contentWindow || form.contentDocument;
	if(doc.document) {
		doc = doc.document;
	}

	if(doc.forms[0].new_file) {
		Generate_Link(div_number, doc.forms[0].new_file.value);
	} else {
		alert("No");
		setTimeout("Display_Uploaded_File(div_number)",3000);
	}
}

function Generate_Link(div_number, collection_option_id) {

	var ajax = new sack();
	var element = "option_image" + div_number;
	
	ajax.setVar("action","get_view_image_link");
	ajax.setVar("div_number",div_number);
	ajax.setVar("collection_option_id", collection_option_id);
	
	document.getElementById(element).style.display = 'block';
	
	ajax.requestFile = "/_assets/includes/ajax_functions.php";
	ajax.element = element;
	ajax.runAJAX();
	
	setTimeout("Bind_Click()",1000);
}

function Delete_Collection_Option_Image(div_number, collection_option_id) {
	if(confirm("Are you sure you want to delete this image?")) {
		
		var ajax = new sack();
		var element = "option_image" + div_number;
		
		ajax.setVar("action","delete_collection_option_image");
		ajax.setVar("div_number",div_number);
		ajax.setVar("collection_option_id", collection_option_id);
		
		document.getElementById(element).style.display = 'block';
		document.getElementById(element).innerHTML = 'Removing Image...';
		
		ajax.requestFile = "/_assets/includes/ajax_functions.php";
		ajax.element = element;
		ajax.runAJAX();
	}
}

function Print_Fabric(image, image_name) {
	var page = '/print.php?image=' + image + '&image_name=' + image_name;
	window.open(page,'','scrollbars=yes,height=300,width=650,location=no,status=no');	
}

function Validate_Gallery_Upload() {
	
	var form = document.gallery_form;
	var error_array = new Array();
	var message = '';
	var count = 0;
	
	for(i = 1; i <= 5; i++) {
		if(document.getElementById("upload" + i).value != '') {
			count++;
			if((document.getElementById("alt_category" + i).selectedIndex == 0 && document.getElementById("product_id" + i).value == '')) {
				error_array[error_array.length] = "Please select a category or product for Image " + i;
			}
		}
	}
	
	for(i = 0; i < error_array.length; i++) {
		message += error_array[i] + "\n";
	}
	if(error_array.length != 0) {
		alert(message);
	} else if(count == 0) {
		alert("Please upload atleast one image");
	} else {
		form.submit();
	}
	
}



function Update_Collections_Dropdown(category_id) {
	
	var url = "/_assets/includes/ajax_functions.php";
	$('#product_dropdown').fadeOut('slow');
	if(document.getElementById('gallery_product')) {
		document.getElementById('gallery_product').value = '';
	}
	$('#collection_dropdown').fadeOut('slow',function() {
		$('#collection_dropdown').load(url, {action:'get_collection_gallery_dropdown', category_id: category_id}, function() {
			$('#collection_dropdown').fadeIn(900);
		});
	});

}

function Update_Products_Dropdown(collection_id) {
	
	var url = "/_assets/includes/ajax_functions.php";
	
	$('#product_dropdown').fadeOut('slow',function() {
		$('#product_dropdown').load(url, {action:'get_product_gallery_dropdown', collection_id: collection_id}, function() {
			$('#product_dropdown').fadeIn(900);
		});
	});

}

function Swap_Image(desc, image_file, prod_url) {
	
	$('#gallery_image').fadeOut('slow', function() {
		var img_src = '<a href="' + prod_url + '"><img src="' + image_file + '" border="0"></a>';
		$('#gallery_image').html(img_src);
		$('#gallery_image').fadeIn(900);
		$('#gallery_image_desc').html(desc);
	});
}

function Swap_Product_Image(image_file) {
	
	$('#gallery_image').fadeOut('slow', function() {
		var img_src = '<img src="' + image_file + '" border="0">';
		$('#gallery_image').html(img_src);
		$('#gallery_image').fadeIn(900);
	});
}

function Display_Alert(message) {
	$('#display_alert').html(message).fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
}

function Delete_Gallery_Image(image_id, image_name, extension) {
	if(confirm("Are you sure you want to delete this image?")) {
		var url = "/_assets/includes/ajax_functions.php";
		var div = '#image_' + image_id;

		$.ajax({
		  url: url,
		  type: "POST",
		  data: "action=delete_gallery_image&image_id=" + image_id + "&image_name=" + image_name + "&extension=" + extension,
		  success: function(message){
			if($.trim(message) == 'success') {
				$(div).fadeOut('slow');
				Display_Alert("Image has been deleted");
			} else {
				$(div).html("There was an error deleting this file");
			}
		  }
		});

	}
}