/* SVN $Id: main.js 205 2010-04-19 20:30:31Z Jeroen $ */
/* SVN $URL: file:///T:/SOURCE_SVN/WHITE_WebShop/trunk/httpdocs/js/main.js $ */

//##############################################################################
/*# CATALOG OVERALL */

if ('function' == typeof WHITE_AddBodyLoadFunction)
{
  WHITE_AddBodyLoadFunction(WhiteForm_InstallDynamics);
}

function TPL_Text(sCode,sLang,sOutputType)
{
  if ('string' != typeof sLang)
  {
    sLang = CATALOG_GetLang();
  } 
  if ('string' != typeof sOutputType)
  {
    sOutputType = 'html';
  }
  
  var aText = new Object();
  aText['FIELD_SEARCH'] = new Object;
  aText['FIELD_SEARCH']['nl'] = 'Zoeken'; 
  aText['FIELD_SEARCH']['en'] = 'Search'; 
  aText['FIELD_SEARCH']['de'] = 'Suche';
  aText['FIELDERROR_REQUIRED'] = new Object;
  aText['FIELDERROR_REQUIRED']['nl'] = 'Dit is een verplicht veld.'; 
  aText['FIELDERROR_REQUIRED']['en'] = 'This is a required field'; 
  aText['FIELDERROR_REQUIRED']['de'] = 'Dies ist ein Pflichtfeld';
  aText['FIELDERROR_EMAILINVALID'] = new Object;
  aText['FIELDERROR_EMAILINVALID']['nl'] = 'Dit is geen geldig e-mailadres.'; 
  aText['FIELDERROR_EMAILINVALID']['en'] = 'The e-mailaddress is not correct.'; 
  aText['FIELDERROR_EMAILINVALID']['de'] = 'Das ist keine gültige e-Mailadresse.';

  var sResult = sCode+'['+sLang+']';    
  if ( aText[sCode] 
       && aText[sCode][sLang] )
  {
    sResult = aText[sCode][sLang];
  }  
  if ('html' == sOutputType)
  {
    sResult = WHITE_htmlentities(sResult);
  }  
  return sResult;
}

function CATALOG_GetLang()
{
  var sResult = 'nl';
  var aMatch = document.location.pathname.match(/^\/(\w\w)\//);
  if (aMatch && aMatch[1])
  {
    sResult = aMatch[1].toLowerCase();
  }
  return sResult;
}

/*# /CATALOG OVERALL */
/*############################################################################*/
/*# ROLLOVER */
/*
function ROLLOVER_Init()
{
	//Grouppage + home products
	WHITE_AddEventToClass('productblockholder', 'rollover', 'mouseover', showImageTwo, 'a');
	WHITE_AddEventToClass('productblockholder', 'rollover', 'mouseout', showImageOne, 'a');

	//Matching products
	WHITE_AddEventToClass('matching_foldout', 'rollover', 'mouseover', showImageTwo, 'a');
	WHITE_AddEventToClass('matching_foldout', 'rollover', 'mouseout', showImageOne, 'a');
}

function showImageOne(oEvent)
{
	var oRollover 			= this;
	var aImage 					= WHITE_GetElementsByClass(oRollover, 'rolloverimage', 'img');
	var oImage					= aImage[0];
	var aPreLoadImages 	= WHITE_GetElementsByTagName('imagepreload1', 'img');
	
	for (var iP=0; iP < aPreLoadImages.length; iP++)
	{
		var oPreloadImage = aPreLoadImages[iP];
		if (oPreloadImage.id == oImage.id)
		{
			oImage.src = oPreloadImage.src;
		}
	}
}

function showImageTwo(oEvent)
{
	var oRollover 			= this;
	var aImage 					= WHITE_GetElementsByClass(oRollover, 'rolloverimage', 'img');
	var oImage					= aImage[0];
	var aPreLoadImages 	= WHITE_GetElementsByTagName('imagepreload2', 'img');
	
	for (var iP=0; iP < aPreLoadImages.length; iP++)
	{
		var oPreloadImage = aPreLoadImages[iP];
		if (oPreloadImage.id == oImage.id)
		{
			oImage.src = oPreloadImage.src;
		}
	}
}

if ('function' == typeof WHITE_AddBodyLoadFunction)
{
  WHITE_AddBodyLoadFunction(ROLLOVER_Init);
}
*/
/*# /ROLLOVER */
/*############################################################################*/
/*# SNIP_HOME */

/*# /SNIP_HOME */
/*############################################################################*/
/*# SNIP_GROUP */

/* Add event to page navigation pulldown */
function GROUP_Initialize()
{
  WHITE_AddEventToClass(document,'UrlGoSelect','change',UrlGoSelectChangeEvent,'select');
}

/* Goto page selected in the page navigation pulldown */
function UrlGoSelectChangeEvent(oEvent)
{
  var oSelect = false;
  if ('object' == typeof this && this.type && 'select-one' == this.type)
  {
    oSelect = this;
  }
  if (oSelect)
  {
    if (oSelect.options[oSelect.selectedIndex] && oSelect.options[oSelect.selectedIndex].value)
    {
      document.location = oSelect.options[oSelect.selectedIndex].value;
    }
  }
  return WHITE_CancelEvent(oEvent);
}

/* Run group initialize when body loaded */
if ('function' == typeof WHITE_AddBodyLoadFunction)
{
  WHITE_AddBodyLoadFunction(GROUP_Initialize);
}

/*# /SNIP_GROUP */
/*############################################################################*/
/*# SNIP_PRODUCT */

function Catalog_Product_Initialize()
{
  WHITE_AddEventToClass(document,'thumb_photo','click',Catalog_ThumbPhotoClick,'img');
  WHITE_AddEventToClass(document,'variantoption','click',Catalog_VariantSelect,new Array('option','input'));
}

function Catalog_ThumbPhotoClick(oEvent)
{
  if (this && this.src)
  {
    Catalog_ThumbSelect(this.src);
  }
}

function Catalog_ThumbSelect(sThumbUrl)
{
  var oImageElement = WHITE_GetElementFlex('detailimage');
  if (sThumbUrl && oImageElement)
  {
    var sNewDetailSrc = sThumbUrl;
    sNewDetailSrc = sNewDetailSrc.replace('/detailthumb/','/detail/');
    sNewDetailSrc = sNewDetailSrc.replace('/detailzoomthumb/','/detailzoom/');
    if (oImageElement.src != sNewDetailSrc)
    {
      oImageElement.src = sNewDetailSrc;
    }
  }
}

function Catalog_VariantSelect(oEvent)
{
  var sCurProductCode = this.value;
  var oDetailThumbHolder = WHITE_GetElementFlex('detailthumb_holder');
  if (oDetailThumbHolder)
  {
    var aCurSpans = WHITE_GetElementsByClass(oDetailThumbHolder,'detail_thumb','span');
    for (var iEl=0;iEl<aCurSpans.length;iEl++)
    {
      WHITE_AddClassName(aCurSpans[iEl],'hidden');
    }
    var oVariantDetailThumbSpan = WHITE_GetElementFlex('detail_thumb_'+sCurProductCode);
    if (!oVariantDetailThumbSpan)
    {
      oVariantDetailThumbSpan = WHITE_GetElementFlex('detail_thumb');
    }
    if (oVariantDetailThumbSpan)
    {
      WHITE_RemoveClassName(oVariantDetailThumbSpan,'hidden');
      var aThumbPhotos = WHITE_GetElementsByClass(oVariantDetailThumbSpan,'thumb_photo','img');
      if ('object' == typeof aThumbPhotos
          && 'object' == typeof aThumbPhotos[0]
          && 'string' == typeof aThumbPhotos[0].src)
      {
        Catalog_ThumbSelect(aThumbPhotos[0].src);
      }
    }
  }
}

if ( 'function' == typeof WHITE_AddBodyLoadFunction )
{
  WHITE_AddBodyLoadFunction(Catalog_Product_Initialize);
}

/*# /SNIP_PRODUCT */
/*############################################################################*/
/*# SNIP_SEARCH */

function Search_Initialize()
{
  var oForm = WHITE_GetElementFlex('searchform');
  if ('object' == typeof oForm)
  {
    WHITE_InitFieldExplanation('searchfield', '[zoeken]');
    WHITE_AddEvent(oForm, 'submit', WHITE_FormRemoveEplanationsEvent);
  }
}

function MAIN_SearchFormGoogleInit()
{
  var oSearchForm = WHITE_GetElementFlex('searchform');
  WHITE_AddEventToElement(oSearchForm, 'submit', MAIN_SearchFormSubmit);
}

function MAIN_SearchFormSubmit(oEvent)
{
  var oSearchForm = this;
  if ('object' == typeof oSearchForm && 'object' == typeof pageTracker)
  {
    var oSearchBox = WHITE_GetElementFlex('data[search]',oSearchForm);
    if ('object' == typeof oSearchBox && oSearchBox.value)
    {
      pageTracker._trackEvent('Search', 'SideBar Search', oSearchBox.value);
    }
  }
}

if ( 'function' == typeof WHITE_AddBodyLoadFunction )
{
  WHITE_AddBodyLoadFunction(MAIN_SearchFormGoogleInit);
  WHITE_AddBodyLoadFunction(Search_Initialize);
}

/*# /SNIP_SEARCH */
/*############################################################################*/
/*# USR_ACCOUNT_GENERAL */


function Tpl_UsrGeneral_Initialiaze()
{
  WHITE_AddEventToClass(document,'alert_close','click',Tpl_UsrMessage_Click,'span');
}

function Tpl_UsrMessage_Click(oEvent)
{
  WHITE_AddClassName('alert_text','hidden');
}

if ('function' == typeof WHITE_AddWindowLoadFunction)
{
  WHITE_AddWindowLoadFunction(Tpl_UsrGeneral_Initialiaze);
}


/*# /USR_ACCOUNT_GENERAL */
/*############################################################################*/
/*# USR_ORDER_RETURN */


function Tpl_UsrOrderRet_Initialiaze()
{
  var aRows = WHITE_GetElementsByClass(document,'UsrOrderRetRow','tr');
  for (var iEl=0;iEl<aRows.length;iEl++)
  {
    var oRow = aRows[iEl];
    var aCheckBoxes = WHITE_GetElementsByClass(oRow,'checkbox','input');
    if (aCheckBoxes && aCheckBoxes[0])
    {
      var oCheckBox = aCheckBoxes[0];
      WHITE_AddEventToElement(oCheckBox,'click',Tpl_UsrOrderRet_CheckboxChange);
      WHITE_AddEventToElement(oCheckBox,'change',Tpl_UsrOrderRet_CheckboxChange);
      Tpl_UsrOrderRet_UpdateRow(oRow);
    }
  }

  WHITE_AddEventToClass(document,'radioRetReason','click',Tpl_UsrOrderRet_RadioChange,'input'); 
  WHITE_AddEventToClass(document,'radioRetReason','change',Tpl_UsrOrderRet_RadioChange,'input'); 
  Tpl_UsrOrderRet_RadioChange();
}

function Tpl_UsrOrderRet_UpdateRow(oRow)
{
  var aSelects = WHITE_GetElementsByTagName(oRow,'select');
  var aCheckBoxes = WHITE_GetElementsByClass(oRow,'checkbox','input');
  if (aCheckBoxes && aCheckBoxes[0])
  {
    var oCheckBox = aCheckBoxes[0];
    for (var iS=0;iS<aSelects.length;iS++)
    {
      var oSelect = aSelects[iS];
      oSelect.disabled = !oCheckBox.checked;        
      if (!oCheckBox.checked)
      {
        //oSelect.selectedIndex = 0;
      }
    }      
  }  
}

function Tpl_UsrOrderRet_CheckboxChange(oEvent)
{
  var oCheckBox = this;
  var oRow = WHITE_GetParentNode(oCheckBox,'tr','UsrOrderRetRow');
  if (oRow)
  {
    Tpl_UsrOrderRet_UpdateRow(oRow);
  }
}

function Tpl_UsrOrderRet_RadioChange(oEvent)
{
  var oMoneyRadio = WHITE_GetElementFlex('UsrOrderRet_Money');
  var oBankInput = WHITE_GetElementFlex('inputBankAccount');
  if (oMoneyRadio && oBankInput)
  {
    oBankInput.disabled = !oMoneyRadio.checked;
  }
}

if ('function' == typeof WHITE_AddWindowLoadFunction)
{
	WHITE_AddWindowLoadFunction(Tpl_UsrOrderRet_Initialiaze);
}

/*# /USR_ORDER_RETURN */
/*############################################################################*/
/*# USR_WISHLIST */


function Tpl_UsrWishList_Initialiaze()
{
  WHITE_AddEventToElement('WishTafButton','click',Tpl_UsrWishList_TafClick);
}

function Tpl_UsrWishList_TafClick(oEvent)
{
  WHITE_RemoveClassName('WishTafDiv','hidden');
}

if ('function' == typeof WHITE_AddWindowLoadFunction)
{
  WHITE_AddWindowLoadFunction(Tpl_UsrWishList_Initialiaze);
}


/*# /USR_WISHLIST */
/*############################################################################*/
