var SearchResults_State = 0;

/*CHECK BOX*/
function checkedBox(ID1, ID2){
	var type = ID1.substring(1,4);
	
	
	$("#searchByProduct").val('')
	
	if($(ID1).hasClass("UnSelected") == true){
		$(ID1).removeClass("UnSelected");
		$(ID1).addClass("Selected");
		$(ID2).attr('checked',true);
	}
	else{
		$(ID1).removeClass("Selected");
		$(ID1).addClass("UnSelected");
		$(ID2).attr('checked',false);
	}

	if(type=="ind") {
		$.ajax({
			type: "POST",
			url: "/_commongoal/cg_content/Products_ajax.cfc",
			dataType: "json",
			data: {
			   method: 'getApplicationsByIndustry',
			   industries: $("input[@name='industriesSelected']:checked").getValue(),
			   currentlySelectedApplications: $("input[@name='applicationsSelected']:checked").getValue()
			},
			success: processAppList
		})
	}
	else {
		runSearch();
	}
}


function prodSearchBtn() {
	runSearch();
}

var allSelected = false;
var selectAllApplications = function() {
	if (!allSelected) {
		$.each($("input[@name='applicationsSelected']"), function(i, currentApp) { 
			var theId = $(currentApp).val();
			$('#AppsSearchLink_' + theId).attr('class','Selected');
			$('#AppsSearchInput_' + theId).attr('checked',true);
		})
		$('#AppsSearchLink_0').attr('class','Selected');
		allSelected = true;
	} else {
		$.each($("input[@name='applicationsSelected']"), function(i, currentApp) { 
			var theId = $(currentApp).val();
			$('#AppsSearchLink_' + theId).attr('class','UnSelected');
			$('#AppsSearchInput_' + theId).attr('checked',false);
		})
		$('#AppsSearchLink_0').attr('class','UnSelected');
		allSelected = false;
	}
	runSearch();
}

var processAppList = function(results) {	
	var appsHTML = "";
	appsHTML += '<a class="UnSelected" id="AppsSearchLink_0" onclick="selectAllApplications();" href="javascript:;">ALL APPLICATIONS</a>';
	$.each(results, function(i, currentApplication) {
		appsHTML += '<a href="javascript:;" onclick="checkedBox(';					 
		appsHTML += "'#AppsSearchLink_" + currentApplication.APPLICATIONID + "', '#AppsSearchInput_" + currentApplication.APPLICATIONID + "');";
		appsHTML += '" id="AppsSearchLink_' + currentApplication.APPLICATIONID + '" ';					 
		if (currentApplication.CHECKED) {
		appsHTML += ' class="Selected"';	
		} else {
		appsHTML += ' class="UnSelected"';	
		}
		appsHTML += '>' + currentApplication.NAME + '</A>';
		
		appsHTML += ' <input type="checkbox" name="applicationsSelected" id="AppsSearchInput_';
		appsHTML += currentApplication.APPLICATIONID;
		appsHTML += '" value="';
		appsHTML += currentApplication.APPLICATIONID + '" style="display: none;" ';
		if (currentApplication.CHECKED) {
		appsHTML += ' checked';	
		}
		appsHTML += ' />';
	});
	
	$('#ProdSearch_Apps').html(appsHTML);
	
	//runSearch();
	if($("#searchByProduct").val() != "product #" && $("#searchByProduct").val() != ""){
		var searchString_val = $("#searchByProduct").val(); } else { var searchString_val = ''; }
	$.ajax({
		type: "POST",
		url: "/_commongoal/cg_content/Products_ajax.cfc",
		dataType: "json",
		data: {
		   method: 'searchProducts',
		   industries: $("input[@name='industriesSelected']:checked").getValue(),
		   applications: $("input[@name='applicationsSelected']:checked").getValue(),
		   searchString: searchString_val
		},
	success: processRes
	});
	
}

var runSearch = function() {
	
	if($("#searchByProduct").val() != "product #" && $("#searchByProduct").val() != ""){
		var searchString_val = $("#searchByProduct").val();
		
		$.each($("input[@name='industriesSelected']"), function(i, currentIndustry) { 
			var theId = $(currentIndustry).val();
			$('#industrySearchLink_' + theId).attr('class','UnSelected');
			$('#industrySearchInput_' + theId).attr('checked',false);
		})
		//$('#AppsSearchLink_0').attr('class','UnSelected');
		
		$.each($("input[@name='applicationsSelected']"), function(i, currentApp) { 
			var theId = $(currentApp).val();
			$('#AppsSearchLink_' + theId).attr('class','UnSelected');
			$('#AppsSearchInput_' + theId).attr('checked',false);
		})
		$('#AppsSearchLink_0').attr('class','UnSelected');

		$.ajax({
			type: "POST",
			url: "/_commongoal/cg_content/Products_ajax.cfc",
			dataType: "json",
			data: {
			   method: 'getApplicationsByIndustry',
			   industries: $("input[@name='industriesSelected']:checked").getValue(),
			   currentlySelectedApplications: $("input[@name='applicationsSelected']:checked").getValue()
			},
			success: processAppList
		})
	}
	else {
		var searchString_val = "";
			$.ajax({
		type: "POST",
		url: "/_commongoal/cg_content/Products_ajax.cfc",
		dataType: "json",
		data: {
		   method: 'searchProducts',
		   industries: $("input[@name='industriesSelected']:checked").getValue(),
		   applications: $("input[@name='applicationsSelected']:checked").getValue(),
		   searchString: searchString_val
		},
	success: processRes
	})	
	}
	

}

function searchInputEnterKey(evt, inputVal) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		if(evt.keyCode == 13){
			//alert(inputVal);
			runSearch();
		}
	}
}

//Process Data optained with ajax.
var processRes = function(results) {
	numColumns = Math.round(results.length/3);
	
	
	if (numColumns*3 < results.length) {
		numColumns++;
	}
	setInitialScrollState(3);
	
	var retProducts = "";
	var newHTML = '<div class="productResultsCol">';
	var currentRow = 0;
	var currCount = 0;
	if (results.length > 0) {
		//resultsColContainer
		$.each(results, function(i, retProducts){
			if(retProducts.IMAGE_THUMB.length < 0){
				var thumbIMG = retProducts.IMAGE_THUMB;
			}else{
				var thumbIMG = "prodThumb.png";
			}
			//alert(results[i].IMAGE_THUMB.length);
			var modRes = (i % 3);
			if(modRes == 0){
				if(i != 0){
					newHTML += '</div><div class="productResultsCol">';
					newHTML += '<div class="productResult"><a href="javascript:;" onclick="showOverview(' + retProducts.PRODUCTID + ');"><img src="/graphics/products/' + retProducts.IMAGE_THUMB;
					newHTML += '" title="' + retProducts.PRODUCTNAME + '" alt="' + retProducts.PRODUCTNAME + '" border="0" id="productOverviewImg_' + retProducts.PRODUCTID + '" /></a>';
					newHTML += '<div class="productResultName"><a href="javascript:;" onclick="showOverview(' + retProducts.PRODUCTID + ');">' + retProducts.PRODUCTNAME + '</a></div></div>';
				}
				else {
					newHTML += '<div class="productResult"><a href="javascript:;" onclick="showOverview(' + retProducts.PRODUCTID + ');"><img src="/graphics/products/' + retProducts.IMAGE_THUMB + '" ';
					newHTML += 'title="' + retProducts.PRODUCTNAME + '" alt="' + retProducts.PRODUCTNAME + '" border="0" id="productOverviewImg_';
					newHTML += retProducts.PRODUCTID + '" /></a><div class="productResultName"><a href="javascript:;" onclick="showOverview(' + retProducts.PRODUCTID + ');">' + retProducts.PRODUCTNAME + '</a></div></div>';
				}
				//newHTML += i;
			}
			else{
				newHTML += '<div class="productResult"><a href="javascript:;" onclick="showOverview(' + retProducts.PRODUCTID + ');"><img src="/graphics/products/' + retProducts.IMAGE_THUMB + '" " title="';
				newHTML += retProducts.PRODUCTNAME + '" alt="' + retProducts.PRODUCTNAME + '" border="0" id="productOverviewImg_';
				newHTML += retProducts.PRODUCTID + '" /></a><div class="productResultName"><a href="javascript:;" onclick="showOverview(' + retProducts.PRODUCTID + ');">' + retProducts.PRODUCTNAME + '</a></div></div>';
			}
		});
		newHTML += '</div>';
		
		$('#resultsColContainer').html(newHTML);
	}
	else{
		newHTML+="No products found matching your search";
		$('#resultsColContainer').html(newHTML);
	}
	
}


//SCROLL PANE
//product col width:104px;
//3 cols per pane total width after margins: 312px
//On load of products, resize scroll pane window( resultsColContainer )for number of 3 col groups. 2 full windows of content = 624px, 3 full windows = 624+312 etc
/*function Prod_ScrollRight(){
	// hack around because getting the left property returns '#px' and .width returns '#'
	var widthInPx = '-'+($("#resultsColContainer").width() - 104 ) +'px';
	if ($("#resultsColContainer").css("left") !== widthInPx){ 
		$("#resultsColContainer").animate( { left:"-=104px" }, { duration:1000 } );
	}
}

function Prod_ScrollLeft(){
	if($("#resultsColContainer").css("left") !== '0px' ) {
		$("#resultsColContainer").animate( { left:"+=104px" }, { duration:1000 } );
	}
}
*/
function showOverview(productID){
	$('#loadingStatus').fadeIn('fast');
	$("#browserDetailOn").fadeOut("fast", function() { 
	
	$.ajax({
			type: "POST",
			url: "/_commongoal/cg_content/Products_ajax.cfc",
			dataType: "json",
			data: {
			   method: 'getProductOverview', 
			   productID: productID
			},
		success: processProductDetail_Overview
		})
	});
}

var processProductDetail_Overview = function(results) {
	var ourProduct = results[0];
	$('#productOverviewName').html(ourProduct.PRODUCTNAME);
	$('#productOverview').html(ourProduct.DESCRIPTIONTEXT);
	$('#productOverview').truncate(400);
	if($("#searchByProduct").val() != "product #"){
		var searchString_val = $("#searchByProduct").val();
	}
	else {
		var searchString_val = ""
	}
	
	var switchToURL = "/index.cfm/products/?productId=";
	switchToURL += ourProduct.PRODUCTID;
	switchToURL += "&industries=";
	switchToURL += $("input[@name='industriesSelected']:checked").getValue();
	switchToURL += "&applications=";
	switchToURL += $("input[@name='applicationsSelected']:checked").getValue();
	switchToURL += "&brand=";
	switchToURL += globalBrandId;
	switchToURL += "&searchString=";
	switchToURL += searchString_val;

	$('#viewDetailsButtonLink').attr('href',switchToURL);
	$('#productOverviewImg').attr('src','/graphics/products/' + ourProduct.PRODUCTIMAGE);
	$('#brandBlurbDiv').hide();
	$('#loadingStatus').fadeOut('normal');
	$("#browserDetailOn").fadeIn("fast");
}

function viewProductDetails(productID){
	$("#productListingContainer").fadeOut("fast", function(){
		//load in productID's content
		$.ajax({
			type: "POST",
			url: "/_commongoal/cg_content/Products_ajax.cfc",
			dataType: "json",
			data: {
			   method: 'getProductDetail', 
			   productID: productID
			},
		success: processProductDetail
		})
	});
	$("#productListingContainer").queue(function () {
	   $("#detailsContainer").fadeIn("fast"); 
    });
}

var processProductDetail = function(results) {
	alert("processProductDetail: " + results.length);
}

/* DETAILS PAGE*/
function detailsBackToResults(){
	
}

var currProdDiv = "#SpecificationDiv";
var currProdDetailTab = "#detailsnavProductSpecs";
function showProdTab(ID1, ID2){
	if(currProdDiv != ID1){
		$(currProdDetailTab).removeClass("current");
		$(ID2).addClass("current");
		
		$(currProdDiv).fadeOut('fast', function(){$(ID1).fadeIn('fast')});
		currProdDiv = ID1;
		currProdDetailTab = ID2;
	}
}

var submitProductForm = function() {
	//check for check boxes, 
	if(checkBoxesExist){
		if($("[name=literatureItems]").attr("checked") == true){
			var formData = $('#InputForm').serialize();
		
			$.ajax({
					type: "POST",
					url: "/_commongoal/cg_content/Products_ajax.cfc",
					dataType: "json",
					data: {
					   method: 'postContactForm', 
					   formData: formData
					},
				success: processFormPost
				})
			
			return false;
		}else{
			alert("Please select a piece of literature");
			return false;	
		}
	}else{
		var formData = $('#InputForm').serialize();
		
			$.ajax({
					type: "POST",
					url: "/_commongoal/cg_content/Products_ajax.cfc",
					dataType: "json",
					data: {
					   method: 'postContactForm', 
					   formData: formData
					},
				success: processFormPost
				})
			
			return false;	
	}
	
	
}

var processFormPost = function(res) {
	$('#LiteratureDiv').html(res);
}