window.onload = jsFnOnload;

function jsFnOnload()
{
	if (document.getElementById)
	{
		
		aAddImageBtn = document.getElementById('addgeneralimage');
		if (aAddImageBtn != null) aAddImageBtn.onclick = AddGeneralImage;
		
		/* Hide Search input box text */
		var aQSearchInput = document.getElementById('searchString');
		if (aQSearchInput != null) 
		{
			aQSearchInput.onfocus = JSFnClearQSearch;
			aQSearchInput.onblur = JSFnResetQSearch;
			aQSearchInput.style.color = '#000';
			aQSearchInput.value = aQSearchInput.title;
		}

		/* Hide Keyword Search input box text */
		var aKeywordSearchInput = document.getElementById('Keyword');
		if (aKeywordSearchInput != null) 
		{
			aKeywordSearchInput.onfocus = JSFnClearQSearch;
			aKeywordSearchInput.onblur = JSFnResetQSearch;
			aKeywordSearchInput.style.color = '#000';
			aKeywordSearchInput.value = aKeywordSearchInput.title;
		}
		
		/* Hide Added By Search input box text */
		var aAddedBySearchInput = document.getElementById('AddedBy');
		if (aAddedBySearchInput != null) 
		{
			aAddedBySearchInput.onfocus = JSFnClearQSearch;
			aAddedBySearchInput.onblur = JSFnResetQSearch;
			aAddedBySearchInput.style.color = '#000';
			aAddedBySearchInput.value = aAddedBySearchInput.title;
		}

		var aKeywordsField = document.getElementById('Keywords');
		if (aKeywordsField != null) aKeywordsField.onfocus = aKeywordsField.value = '';


		var aLibrarySearchType = document.getElementById('ArticleTypeID');
		if (aLibrarySearchType != null) aLibrarySearchType.onchange = JSFnSearchLibrary;

		var aLibrarySearchCategory = document.getElementById('ArticleCategoryID');
		if (aLibrarySearchCategory != null) aLibrarySearchCategory.onchange = JSFnSearchLibrary;

		var aLibrarySearchButton = document.getElementById('LibrarySearchButton');
		if (aLibrarySearchButton != null) aLibrarySearchButton.style.display = 'none';

		var aSearchCountryID = document.getElementById('SearchCountryID');
		if (aSearchCountryID != null) aSearchCountryID.onchange = JSFnSearchCountry;

		var aLocationSearchButton = document.getElementById('LocationSearchButton');
		if (aLocationSearchButton != null) aLocationSearchButton.style.display = 'none';

		var aCountryID = document.getElementById('CountryID');
		if (aCountryID != null) aCountryID.onchange = JSFnSearchLibrary;		

		var aEventsCalendar = document.getElementById('eventscalendar');
		if (aEventsCalendar != null) JSFnConfigureEventsCalendar();

		ApplyRemovesToExistingGeneralImages();

		var LinkItem = document.getElementsByTagName("a");
 		if (LinkItem != null) 
		{
			for(aLinkIndex=0;aLinkIndex<LinkItem.length;aLinkIndex++)
			{
				if(LinkItem[aLinkIndex].className=='rem') LinkItem[aLinkIndex].onclick = JSFnRemoveClick;
			}
		}				

		var PrintItem = document.getElementsByTagName("p");
 		if (PrintItem != null) 
		{
			for(aPrintIndex=0;aPrintIndex<PrintItem.length;aPrintIndex++)
			{
				if(PrintItem[aPrintIndex].className=='print') PrintItem[aPrintIndex].onclick = JSFnPrint;
			}
		}				
	}
}
//********************************************************************************************************************************

function JSFnRemoveClick()
{
	var removed = confirm("Are you sure you want to remove this item?");

	return removed;
}

function JSFnPrint()
{
	window.print();
}
/******************************************************************************************************/

function JSFnConfigureEventsCalendar()
{
	var aEventsCalendar = document.getElementById('eventscalendar');
	if (aEventsCalendar != null) 
	{
		aULs = aEventsCalendar.getElementsByTagName("ul");
 		if (aULs != null) 
		{
			for(aulindex=0;aulindex<aULs.length;aulindex++) aULs[aulindex].style.display='none';
		}				
		
		aH3s = aEventsCalendar.getElementsByTagName("h3");
 		if (aH3s != null) 
		{
			for(ah3ndex=0;ah3ndex<aH3s.length;ah3ndex++) 
			{
				aH3s[ah3ndex].style.cursor = 'pointer';
				aH3s[ah3ndex].onclick = JSFnShowCalendarULs;
			}
		}				
	}	
}

function JSFnShowCalendarULs()
{
	if(this.nextSibling.style.display == 'block') this.nextSibling.style.display = 'none';
	else this.nextSibling.style.display = 'block';
}


/*** Clear query search ***/
function JSFnClearQSearch()
{
	if (this.value == this.title) 
	{
		this.value = '';
		this.style.color = '#000';
	}
}
/******************************************************************************************************/

/*** Submit the library search form from category pick list ***/
function JSFnSearchLibrary()
{
	var aeLibraryForm = document.getElementById('eLibraryForm');
	if (aeLibraryForm != null) aeLibraryForm.submit();

}
/******************************************************************************************************/
/*** Submit the country search form from location pick list ***/
function JSFnSearchCountry()
{
	var aLocationsForm = document.getElementById('LocationsForm');
	if (aLocationsForm != null) aLocationsForm.submit();

}
/******************************************************************************************************/

/*** Reset query search ***/
function JSFnResetQSearch()
{
	if (this.value == '') 
	{
		this.style.color = '#000';
		this.value = this.title;
	}
}
/******************************************************************************************************/

/*** go back 1 page ***/
function JSFnGoBack()
{
	history.go(-1);
}
/******************************************************************************************************/

/*** Contact Form Validatation ***/
var aContactRequiredFields = new Array ("name","Please enter your name to continue");

function JSFnValidateContactForm()
{
	var aEmail = document.getElementById('email');
	var aTelephone = document.getElementById('telephone');

	if ((aEmail != null) && (aTelephone != null))
	{
		if ((aEmail.value == '') && (aTelephone.value == ''))
		{
			alert('You must provide either your telephone number or email address to continue.');
			return false;
		}
	}

	return JSFnValidateForm(aContactRequiredFields);
}
/******************************************************************************************************/

/*** Validate Forms ***/
function JSFnValidateForm(aRequiredFields)
{
	for (aIndex = 0; aIndex < aRequiredFields.length; aIndex = aIndex + 2)
	{
		currElement = document.getElementById(aRequiredFields[aIndex]);
		if (currElement != null)
		{
			if  (   (   (currElement.type == 'text')
				     && (currElement.value == ''))
				 || (   (currElement.type == 'password')
				     && (currElement.value == ''))
				 || (   (currElement.type == 'checkbox')
				     && (currElement.checked == false))
				 || (   (currElement.type == 'file')
				     && (currElement.value == ''))
				 || (   (currElement.type == 'textarea')
				     && (currElement.value == ''))
				 || (   (currElement.type == 'select-one')
				     && (currElement.value == '')))
			{
				alert(aRequiredFields[aIndex + 1]);
				return false;
			}
			else if (currElement.type == 'radio')
			{
				aIndex = aIndex + 2;
				if (!currElement.checked)
				{
					currElement = document.getElementById(aRequiredFields[aIndex]);
					if ((currElement.type == 'radio') && (!currElement.checked))
					{
						alert(aRequiredFields[aIndex + 1]);
						return false;
					}
				}
			}
		}
	}
	return true;
}
/******************************************************************************************************/

function AddGeneralImage()
{
	var aImageDiv = document.getElementById('generalimages');
	var aImageSel = document.getElementById('generalimage');
	if ((aImageSel != null) && (aImageDiv != null) && (aImageSel.value != ''))
	{		
		// Work out number of this new image
		var aNumOfImages = aImageDiv.childNodes.length;
		
		// Add the new image
		var aNewDiv = document.createElement("div");
		
		var aNewLink = document.createElement("a");
		aNewLink.href = '';
		aNewLink.onclick = RemoveGeneralImage;
		var aNewTextNode = document.createTextNode('Remove Image');
		aNewLink.appendChild(aNewTextNode); 
		
		var aNewP = document.createElement("p");
		aNewP.innerHTML = 'Image ' + (aNumOfImages + 1) + '<br />';	
		aNewP.appendChild(aNewLink); 

		var aNewImg = document.createElement("img");
		
		if(this.id == "addgeneralimage") aNewImg.src = "images/generalimages/" + aImageSel.value;
		//else aNewImg.src = "../images/productimages/" + aImageSel.value;
		
		if (aNewImg.height > 50)
		{
			var aRatio = 50 / aNewImg.height;
			aNewImg.style.height = '50px';
			//aNewImg.style.width = (aRatio * aNewImg.width) + 'px';		
		}

		aNewDiv.appendChild(aNewImg);
		aNewDiv.appendChild(aNewP);
		aImageDiv.appendChild(aNewDiv);	
		
		PrepareGeneralImageHolder();
	}
}

function RemoveGeneralImage()
{
	this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
	RenumberGeneralImages();
	PrepareGeneralImageHolder();
	return false;
}

function RenumberGeneralImages()
{
	var aImageDiv = document.getElementById('generalimages');
	if (aImageDiv != null)
	{		
		for (aIndex = 0; aIndex < aImageDiv.childNodes.length; aIndex++)
		{
			aImageDiv.childNodes[aIndex].getElementsByTagName('p')[0].childNodes[0].nodeValue = 'Image ' + (aIndex + 1);
		}
	}
}

function ApplyRemovesToExistingGeneralImages()
{
	var aImageDiv = document.getElementById('generalimages');
	if (aImageDiv != null)
	{		
		for (aIndex = 0; aIndex < aImageDiv.childNodes.length; aIndex++)
		{
			aImageDiv.childNodes[aIndex].getElementsByTagName('p')[0].childNodes[2].onclick = RemoveGeneralImage;
			
			var aImg = aImageDiv.childNodes[aIndex].getElementsByTagName('img')[0];
			if (aImg.height > 50)
			{
				var aRatio = 50 / aImg.height;
				aImg.style.height = '50px';
				//aImg.style.width = (aRatio * aImg.width) + 'px';
			}
		}
	}
}

function PrepareGeneralImageHolder()
{
	var aImageDiv = document.getElementById('generalimages');
	var aImageList = document.getElementById('GeneralImages');
	
	//console.log(aImageList);
	
	if ((aImageDiv != null) && (aImageList != null))
	{		
		aImageList.value = '';
		for (aIndex = 0; aIndex < aImageDiv.childNodes.length; aIndex++)
		{
			aFullSrc = aImageDiv.childNodes[aIndex].getElementsByTagName('img')[0].src;
			aFullSrc = aFullSrc.substring(aFullSrc.lastIndexOf('/') + 1, aFullSrc.length);
			aImageList.value += aFullSrc + ',';
		}
	}	
}