
function submitForm(s_formName)
{
	document.getElementById(s_formName).submit();
}


function animateImages(i_countImages, i_imageWidth, i_imageGap, i_imageIncrement)
{
	var i_widthItem = i_imageWidth + i_imageGap;
	var i_widthTotal = (i_widthItem + 4) * i_countImages;
	
	var o_spanImg1 = document.getElementById('spanImg1');
	var s_leftPos1 = o_spanImg1.style.left.replace('px', '');
	var i_leftPos1 = (s_leftPos1.length == 0) ? -1 : parseInt(s_leftPos1) - i_imageIncrement;
	i_leftPos1 = (i_leftPos1 < (i_widthTotal * -1)) ? i_widthTotal : i_leftPos1; 
	o_spanImg1.style.left = i_leftPos1 + 'px';

	var o_spanImg2 = document.getElementById('spanImg2');
	var s_leftPos2 = o_spanImg2.style.left.replace('px', '');
	var i_leftPos2 = (s_leftPos2.length == 0) ? -1 : parseInt(s_leftPos2) - i_imageIncrement;
	i_leftPos2 = (i_leftPos2 < (i_widthTotal * -2)) ? 0 : i_leftPos2; 
	o_spanImg2.style.left = i_leftPos2 + 'px';

}

           	
function submitAdmin(s_admin, i_row)
{
	var o_form = document.getElementById('adminForm');
	o_form.admin.value = s_admin;
	o_form.row.value = i_row;
	o_form.submit();
}


function clickedCity(s_countryName, s_cityName)
{
	var o_retailersForm = document.getElementById('retailersForm');
	o_retailersForm.country.value = s_countryName;
	o_retailersForm.city.value = s_cityName;
	o_retailersForm.submit();		
}


function menuNodeClicked(o_menuLink)
{
	var o_menuNode = o_menuLink.nextSibling;
	o_menuNode = (o_menuNode.nodeType == 3) ? o_menuNode.nextSibling : o_menuNode;
	if (o_menuLink != null)
	{
		var s_visibility = o_menuNode.style.display;
		s_visibility = (s_visibility == 'none') ? 'block' : 'none';
		o_menuNode.style.display = s_visibility;
	}
}

function changeImage(s_imagePath)
{
	var o_focusImage = document.getElementById('imgFocus');
	o_focusImage.src = s_imagePath;
}


function selectColour()
{
	var o_selectColour = document.getElementById('selectColour');
	var o_optionColour = o_selectColour.options[o_selectColour.selectedIndex];
	var s_selectSize = o_optionColour.value;

	var o_selectSizes = document.getElementById('divArticleAction').getElementsByTagName('select');
	
	for (var i_sizeIterator = 0; i_sizeIterator < o_selectSizes.length; ++i_sizeIterator)
	{
		if (o_selectSizes[i_sizeIterator].id.indexOf('selectSize') > -1)
		{
			o_selectSizes[i_sizeIterator].className = (o_selectSizes[i_sizeIterator].id.indexOf(s_selectSize) > -1) ? '' : 'itemHidden';
		}
	}	
}


function clickedBuy()
{
	/* obtain active colour */
	
	var o_selectColour = document.getElementById('selectColour');
	var o_optionColour = o_selectColour.options[o_selectColour.selectedIndex];
	var s_optionColour = o_optionColour.value;

	/* obtain active size */
	
	var o_selectSize = document.getElementById('selectSize' + s_optionColour);
	var o_optionSize = o_selectSize.options[o_selectSize.selectedIndex];
	var s_optionSize = o_optionSize.value;
	
	document.getElementById('inputArticle').name = s_optionSize;
	document.getElementById('inputColour').value = s_optionColour;
	document.getElementById('inputSize').value = s_optionSize;
	
	/* submit HTTP POST */
	
	submitForm('formBuy');
}


function clickedSequenceIndex(s_smallImage)
{
	var o_imageSmall = document.getElementById('imgArticleSmall');
	o_imageSmall.src = s_smallImage;
}


function clickedThumbnail(s_colourCode, s_smallImage)
{
	var o_variantNumbers = document.getElementById('divArticleBottom').getElementsByTagName('div');
	document.getElementById('inputImageLarge').value = s_colourCode;

	for (var i_variantIndex = 0; i_variantIndex < o_variantNumbers.length; ++i_variantIndex)
	{
		o_variantNumbers[i_variantIndex].className = (o_variantNumbers[i_variantIndex].id.indexOf(s_colourCode) > -1) ? '' : 'itemHidden';
	}

	clickedSequenceIndex(s_smallImage);
}


function clickedEnlargeImage()
{
	var o_largeImageDivs = document.getElementById('divArticleLarge').getElementsByTagName('div');
	var s_inputImageLarge = document.getElementById('inputImageLarge').value;
	
	for (var i_divIndex = 0; i_divIndex < o_largeImageDivs.length; ++i_divIndex)
	{
		o_largeImageDivs[i_divIndex].className = (o_largeImageDivs[i_divIndex].id.indexOf(s_inputImageLarge) > -1) ? '' : 'itemHidden';
	}
}


function initialiseArticlePage(s_colourCode, s_smallImage)
{
	selectColour();
	clickedThumbnail(s_colourCode, s_smallImage);
}


function clickedAdmin(s_parmAdmin)
{
	var o_formLanguage = document.getElementById('formLanguage');
	o_formLanguage.editlang.value = s_parmAdmin;
	o_formLanguage.submit();
}


function clickedLanguage(s_parmLanguage)
{
	var o_formLanguage = document.getElementById('formLanguage');
	o_formLanguage.language.value = s_parmLanguage;
	o_formLanguage.submit();
}


function clickedForgot()
{
	document.getElementById('inputLoginAction').value = 'customer.forgot';
	submitForm('formLogin');
}


function trimString(s_sourceString)
{
	var s_result = s_sourceString;
	
	if (s_result != null && s_result.length > 0)
	{
		while (s_result.charAt(0) == " ")
		{
			s_result = s.result.substring(1, s_result.length);
		}
		while (s_result.charAt(s_result.length) == " ")
		{
			s_result = s.result.substring(0, s_result.length - 1);
		}
	}

	return s_result;
}

function validateRegisterForm(s_errorIncomplete, s_errorRadio, s_errorPassword, s_errorPhone)
{
	var s_errorMessage = null;
	
	var o_formRegister = document.getElementById('formRegister');
	var o_formInputs = o_formRegister.getElementsByTagName('input');
	var b_isFormComplete = true;
	
	for (var i_inputIterator = 0; i_inputIterator < o_formInputs.length; ++i_inputIterator)
	{
		if (!o_formInputs[i_inputIterator].disabled && o_formInputs[i_inputIterator].className.indexOf('inputMandatory') > -1)
		{
			var s_inputValue = trimString(o_formInputs[i_inputIterator].value);
			o_formInputs[i_inputIterator].className = (s_inputValue.length > 0) ? 'inputText inputMandatory' : 'inputText inputMandatory inputInvalid';
			b_isFormComplete = (b_isFormComplete && (s_inputValue.length > 0));
		}
	}

	var o_inputRegisterPhone = document.getElementById('inputRegisterPhone');
	var o_inputRegisterMobile = document.getElementById('inputRegisterMobile');

	var s_inputRegisterPhone = trimString(o_inputRegisterPhone.value);
	var s_inputRegisterMobile = trimString(o_inputRegisterMobile.value);

	var o_inputRegisterPassword1 = document.getElementById('inputRegisterPassword1');
	var o_inputRegisterPassword2 = document.getElementById('inputRegisterPassword2');

	var s_inputRegisterPassword1 = trimString(o_inputRegisterPassword1.value);
	var s_inputRegisterPassword2 = trimString(o_inputRegisterPassword2.value);

	var b_isUpdateCustomer = document.getElementById('radioRegisterCreateCustomer') == null;
	var b_isCreateCustomer = (!b_isUpdateCustomer) && (document.getElementById('radioRegisterCreateCustomer').checked);
	var b_isTransientCustomer = (!b_isUpdateCustomer) && (!document.getElementById('radioRegisterCreateCustomer').checked);
	
	var b_isPhoneEntered = (s_inputRegisterPhone.length > 0) || (s_inputRegisterMobile.length > 0);
	var b_isPasswordValid = (s_inputRegisterPassword1 == s_inputRegisterPassword2);
	var b_isNewsletterSet = (document.getElementById('radioRegisterNewsletterYes').checked) || (document.getElementById('radioRegisterNewsletterNo').checked);
	var b_isSexSet = (document.getElementById('radioRegisterSexFemale').checked) || (document.getElementById('radioRegisterSexMale').checked);

	s_errorMessage = (b_isPhoneEntered) ? s_errorMessage : s_errorPhone;
	s_errorMessage = (b_isPasswordValid || b_isTransientCustomer) ? s_errorMessage : s_errorPassword;
	s_errorMessage = (b_isSexSet || !b_isCreateCustomer) ? s_errorMessage : s_errorRadio;
	s_errorMessage = (b_isNewsletterSet || !b_isCreateCustomer) ? s_errorMessage : s_errorRadio;
	s_errorMessage = (b_isFormComplete) ? s_errorMessage : s_errorIncomplete;

	if (s_errorMessage != null)
	{
		alert(s_errorMessage);
	}
	
	return (s_errorMessage == null);
}


function clickedPopupContinue()
{
	document.getElementById('containerBody').className = 'leftMenu'; 
	document.getElementById('divArticlePopup').className = 'itemHidden'; 
	document.getElementById('divArticleSelect').className = ''; 
}

function clickedPopupCheckout()
{
	top.location.href = 'Servlet?page=15';
}


function clickedCartCheckout(s_errorMessage)
{
	if (document.getElementById('inputAcceptTerms').checked)
	{
		top.location.href = 'Servlet?page=4&context=2';
	}
	else
	{
		alert(s_errorMessage);
	}
}


function highlightMenu(s_parmParent)
{
	var o_containerMenu = document.getElementById('containerMenu');
	var o_menuAnchors = (o_containerMenu == null) ? null : o_containerMenu.getElementsByTagName('a');
	
	if (s_parmParent != null && s_parmParent.length > 0 && o_menuAnchors != null)
	{
		for (var i_anchorIndex = 0; i_anchorIndex < o_menuAnchors.length; ++i_anchorIndex)
		{
			if (o_menuAnchors[i_anchorIndex].href.indexOf(s_parmParent) > -1)
			{
				o_menuAnchors[i_anchorIndex].className = 'itemSelected';
			}
		}
	}
}


function clickedButtonRegister()
{
	document.getElementById('inputRegisterAction').value = 'customer.register';
}


function clickedButtonUpdate()
{
	document.getElementById('inputRegisterAction').value = 'customer.update';
}


function clickedButtonConfirm()
{
	document.getElementById('inputRegisterAction').value = 'customer.purchase';
}


function clickedButtonShop()
{
	top.location.href='Servlet?page=6';
}


function clickedCreateCustomer()
{
	var b_isCreateCustomer = document.getElementById('radioRegisterCreateCustomer').checked;
	var o_formRegister = document.getElementById('formRegister');

	document.getElementById('radioRegisterNewsletterYes').disabled = !b_isCreateCustomer;
	document.getElementById('radioRegisterNewsletterNo').disabled = !b_isCreateCustomer;
	document.getElementById('radioRegisterSexFemale').disabled = !b_isCreateCustomer;
	document.getElementById('radioRegisterSexMale').disabled = !b_isCreateCustomer;
	document.getElementById('inputRegisterPassword1').disabled = !b_isCreateCustomer;
	document.getElementById('inputRegisterPassword2').disabled = !b_isCreateCustomer;
	document.getElementById('buttonRegister').disabled = !b_isCreateCustomer;
	
	document.getElementById('inputRegisterPassword1').className = (b_isCreateCustomer) ? 'inputText inputMandatory' : 'inputTextDisabled';
	document.getElementById('inputRegisterPassword2').className = (b_isCreateCustomer) ? 'inputText inputMandatory' : 'inputTextDisabled';
	document.getElementById('buttonRegister').className = (b_isCreateCustomer) ? 'inputButton' : 'inputButtonDisabled';
}	


function getHeight(o_domObject)
{
	var i_objectHeight = o_domObject.offsetHeight;
	i_objectHeight = (i_objectHeight != null) ? i_objectHeight : o_domObject.style.pixelHeight;
	return i_objectHeight;
}


function getWidth(o_domObject)
{
	var i_objectWidth = o_domObject.offsetWidth;
	i_objectWidth = (i_objectWidth != null) ? i_objectWidth : o_domObject.style.pixelWidth;
	return i_objectWidth;
}


function clickedGuide(b_isOpening)
{
	/* obtain body and image */
	
	var o_divArticleImageLarge = $('divSizeGuide');
	var o_divWrapperBody = $('wrapperBody');
	
	/* set class for body and image */
	
	o_divArticleImageLarge.className = (b_isOpening ? '' : 'itemHidden');
	o_divWrapperBody.className = (b_isOpening ? 'itemTranslucent' : '');

	/* determine dimensions of body and image */
	
	var i_divHeight = getHeight(o_divArticleImageLarge);
	var i_divWidth = getWidth(o_divArticleImageLarge);
	
	/* determine scroll offset */
	
	var i_scrollHorizontal = 0;
	var i_scrollVertical = 0;

	if (self.pageYOffset) 
	{
		i_scrollHorizontal = self.pageXOffset;
		i_scrollVertical = self.pageYOffset;
	} 
	else if (document.documentElement && document.documentElement.scrollTop)
	{
		i_scrollHorizontal = document.documentElement.scrollLeft;
		i_scrollVertical = document.documentElement.scrollTop;
	}
	else if (document.body)
	{
		i_scrollHorizontal = document.body.scrollLeft;
		i_scrollVertical = document.body.scrollTop;
	}

	/* determine viewpart dimensions */
	
	var i_centerHorizontal = 0;
	var i_centerVertical = 0;

	if (self.innerHeight)
	{
		i_centerHorizontal = self.innerWidth;
		i_centerVertical = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	{
		i_centerHorizontal = document.documentElement.clientWidth;
		i_centerVertical = document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		i_centerHorizontal = document.body.clientWidth;
		i_centerVertical = document.body.clientHeight;
	}

	/* set position of image holder */
	
	var i_leftOffset = i_scrollHorizontal + (i_centerHorizontal - i_divWidth) / 2;
	var i_topOffset = i_scrollVertical + (i_centerVertical - i_divHeight) / 2;

	o_divArticleImageLarge.style.top = i_topOffset + 'px';
	o_divArticleImageLarge.style.left = i_leftOffset + 'px';
}

