

// Create global variables for the Template Preview CSS class names (depending on the product ID).
var templatePreviewClassName = "templatePreviewImage";
var templatePreviewClassNameHighlight = "templatePreviewImageHighlight";

var templatePreviewSingleSidePreviewImageContainer = "singleSidePreviewImageContainer";
var templatePreviewSingleSidePreviewImageContainerHighlight = "singleSidePreviewImageContainerHighlight";

// Manually define which Template ID's require the user to go to the Upload Artwork page.
var templateIdsForUploadArtwork = new Array();


// Override Class Names depending on Product ID.
if(productIdGlobal == 199){
	templatePreviewClassName = "templatePreviewImageWith3dBackground";
	templatePreviewClassNameHighlight = "templatePreviewImageHighlightWith3dBackground";

	templatePreviewSingleSidePreviewImageContainer = "singleSidePreviewImageContainerWith3dBackground";
	templatePreviewSingleSidePreviewImageContainerHighlight = "singleSidePreviewImageContainerHighlightWith3dBackground";
}





function ValidateSearchPhrase(filterPrefixFlag){
	
	if(!document.forms["searchDesignsForm"].keywords.value.match(/\w/)){
		alert("You forgot to enter a keyword.");
		return false;
	}
	else if(document.forms["searchDesignsForm"].keywords.value.match(/^Example:\s/)){
		alert("You forgot to enter a keyword.");
		return false;
	}
	else{

		if(document.forms["searchDesignsForm"].productIDview.value == document.forms["searchDesignsForm"].productid.value)
			document.forms["searchDesignsForm"].productIDview.disabled = true;
		if(document.forms["searchDesignsForm"].keywords_and.value == "")
			document.forms["searchDesignsForm"].keywords_and.disabled = true;
		if(document.forms["searchDesignsForm"].TemplateNumber.value == "")
			document.forms["searchDesignsForm"].TemplateNumber.disabled = true;

		var keywordSearch = document.getElementById('keywordsBox').value;
		if(filterPrefixFlag && keywordSearch.match(/category:/i))
			document.getElementById('keywordsBox').value = keywordSearch.replace(/category:/i, "");
		return true;
	}
}

function changeSeconarySearchTerm(secondTerm){
	seconarySearchTerm = secondTerm;
	document.forms["searchDesignsForm"].keywords_and.value = secondTerm;

	if(ValidateSearchPhrase(false)){
		document.forms["searchDesignsForm"].submit();
	}
}


function showSearchResultsDesc(){

	var totalMatchesCount = templateIDsArr.length;

	if(totalMatchesCount == 0)
		var resltDesc = "No Matches";
	else if(totalMatchesCount == 1)
		var resltDesc = "1 Match";
	else
		var resltDesc = "Total of " + totalMatchesCount + " matches";

	document.getElementById('totalSearchResultsDesc').innerHTML = resltDesc;
}

function mouseOverMultiPreviewTable(templateID){
	for(var i=0; i<templatePreviewsHash.length; i++ ){
		if(templatePreviewsHash[i].TempID == templateID){
			if(templatePreviewsHash[i].TempPreviewCount > 1){
				document.getElementById('mutliSideTemplateTable_' + templateID).className = 'multiSidePreviewTableHighlight';
			}
			break;
		}
	}
}
function mouseOutMultiPreviewTable(templateID){
	for(var i=0; i<templatePreviewsHash.length; i++ ){
		if(templatePreviewsHash[i].TempID == templateID){
			if(templatePreviewsHash[i].TempPreviewCount > 1){
				document.getElementById('mutliSideTemplateTable_' + templateID).className = 'multiSidePreviewTable';
			}
			break;
		}
	}
}

function mouseOverTemplate(templateID){
	for(var i=0; i<templatePreviewsHash.length; i++ ){
		if(templatePreviewsHash[i].TempID == templateID){

			for(var j=0; j< templatePreviewsHash[i].TempPreviewCount; j++){
				document.getElementById('imgPreview_'+templateID+'_'+j).className = templatePreviewClassNameHighlight;
			}
			break;
		}
	}
}
function mouseOutTemplate(templateID){
	for(var i=0; i<templatePreviewsHash.length; i++ ){
		if(templatePreviewsHash[i].TempID == templateID){

			for(var j=0; j< templatePreviewsHash[i].TempPreviewCount; j++){

				document.getElementById('imgPreview_'+templateID+'_'+j).className = templatePreviewClassName;
			}

			break;
		}
	}
}


function mouseOverSinglePreviewSpan(templateID){
	document.getElementById('singleTemplatePreviewSpan_'+templateID).className = templatePreviewSingleSidePreviewImageContainerHighlight;
}
function mouseOutSinglePreviewSpan(templateID){
	document.getElementById('singleTemplatePreviewSpan_'+templateID).className = templatePreviewSingleSidePreviewImageContainer;
}

function changeResultsPerPage(resultCount){

	if(resultCount == "")
		return;

	document.forms["searchDesignsForm"].resultsCount.value = resultCount;

	if(ValidateSearchPhrase(false)){
		document.forms["searchDesignsForm"].submit();
	}
}


function ChangeTemplateCategory(categoryName){
	document.forms["searchDesignsForm"].keywords.value = categoryName;

	if(ValidateSearchPhrase(false)){
		document.forms["searchDesignsForm"].submit();
	}
}

function highlightTemplateCategory(categoryName){
	
	if(categoryName.match(/category:(\w+)/)){

		categoryName = categoryName.replace(/category:/i, "");

		if(document.getElementById("cat_" + categoryName)){
			document.getElementById("cat_" + categoryName).style.fontWeight="bold";
			document.getElementById("cat_" + categoryName).style.fontSize="14px";
		}
		else{
			alert("Category Does Not Exist");
		}
	
	}	
}

function setResultsPerPageSelection(){
		// select results per page in drop down.
		var listMenuObj = document.getElementById('resultsPerPageList');
		for(var i=0; i < listMenuObj.length; i++){
			if(listMenuObj[i].value == resultsPerPageSelection){
				listMenuObj[i].selected = true;
				break;
			}
		}	
}



function showTemplatePreviews(){

	var templatePreviewsHTML = "";

	for(var i=0; i<templatePreviewsHash.length; i++ ){
		
		// Figure out if the current Template ID in the preview Hash has an icon describing "Upload Your Own Artwork"
		var isUploadArtworkTemplate = false;
		for(var j=0; j<templateIdsForUploadArtwork.length; j++){		
			if(templatePreviewsHash[i].TempID == templateIdsForUploadArtwork[j]){
				isUploadArtworkTemplate = true;
				break;
			}
		}		

		if(isUploadArtworkTemplate)
			var templatePickURL = "/product_uploadartwork.php?productid=" + productIdGlobal;
		else
			var templatePickURL = "javascript:chooseTemplate('"+templatePreviewsHash[i].TempID+"')";
		

		if(templatePreviewsHash[i].TempPreviewCount > 1 && templatePreviewsHash[i].SideNumber == 0){


			templatePreviewsHTML += '<table cellpadding="0" cellspacing="0" class="multiSidePreviewTable" id="mutliSideTemplateTable_'+templatePreviewsHash[i].TempID+'" onmouseover="mouseOverMultiPreviewTable(\''+templatePreviewsHash[i].TempID+'\')" onmouseout="mouseOutMultiPreviewTable(\''+templatePreviewsHash[i].TempID+'\')">';
			templatePreviewsHTML += "<tr>";

			var totalSideCount = parseInt(templatePreviewsHash[i].TempPreviewCount);

			for(var j=i; j< (i+totalSideCount); j++ ){
				templatePreviewsHTML += "<td align='center'>" + templatePreviewsHash[j].SideName + "</td>";
			}

			templatePreviewsHTML += "</tr>";

			templatePreviewsHTML += "<tr>";

			for(var j=i; j< (i+totalSideCount); j++ ){
				templatePreviewsHTML += "<td align='center'>";
				templatePreviewsHTML += '<a href="' + templatePickURL + '" border="0">';
				templatePreviewsHTML += '/<img src="image_preview/se_' + templatePreviewsHash[j].PreviewID + '.jpg" class="'+templatePreviewClassName+'" id="imgPreview_'+templatePreviewsHash[j].TempID+'_'+templatePreviewsHash[j].SideNumber+'" onmouseover="mouseOverTemplate(\''+templatePreviewsHash[j].TempID+'\')" onmouseout="mouseOutTemplate(\''+templatePreviewsHash[j].TempID+'\')">';
				templatePreviewsHTML += '</a>';
				templatePreviewsHTML += "</td>";
			}

			templatePreviewsHTML += "</tr>";

			templatePreviewsHTML += "</table>";
		}
		else if(templatePreviewsHash[i].TempPreviewCount == 1){

			templatePreviewsHTML += '<div style="display:inline; padding:10px;">';
			templatePreviewsHTML += '<a href="' + templatePickURL + '">'
			templatePreviewsHTML += '<img src="/image_preview/se_' + templatePreviewsHash[i].PreviewID + '.jpg" class="'+templatePreviewClassName+'" id="imgPreview_'+templatePreviewsHash[i].TempID+'_'+templatePreviewsHash[i].SideNumber+'" onmouseover="mouseOverTemplate(\''+templatePreviewsHash[i].TempID+'\')" onmouseout="mouseOutTemplate(\''+templatePreviewsHash[i].TempID+'\')" style="position:relative; margin:0;">';
			templatePreviewsHTML += '</a>';
			templatePreviewsHTML += '</div>';

		}
	}

	document.getElementById("templatePreviews").innerHTML = templatePreviewsHTML;
}


function chooseTemplate(templateID){
	document.location = "/product_loadtemplate.php?newtemplatetype="+tempalteViewGlobal+"&newtemplateid=" + templateID + "&productid="+productIdGlobal+"&productIDview="+productIdViewGlobal+"&cancelurl="+returnUrlEncoded+"&continueurl=" + continueUrlEncoded;
}

function initializePage(){
	setResultsPerPageSelection();
	showSearchResultsDesc();
	highlightTemplateCategory(primarySearchTermHtmlEncoded);
}




