
// this function controls input and password fields
// when they have a default value such as 'enter your search term here'
// the value is removed onclick and reset if needed
function formfieldControl(formElement)
{
  if($(formElement) != null)
  {
    var myForm      = $(formElement);
    var inputObj    = myForm.getElementsByTagName('input');
    for(var i = 0; i < inputObj.length; i++)
    {
      if(inputObj[i].type == 'text' || inputObj[i].type == 'password')
      {
        inputObj[i].oldId   = inputObj[i].id;
        inputObj[i].oldType = inputObj[i].type;
        inputObj[i].oldVal  = inputObj[i].value;
        inputObj[i].style.color = '#666';
        inputObj[i].onclick = function ()
        {
          if(this.value == this.oldVal)
          {
            this.type  = this.oldType;
            this.value = '';
          }
        }

        inputObj[i].onfocus = function ()
        {
          if(this.value == this.oldVal)
          {
            this.type  = this.oldType;
            this.value = '';
            this.style.color = '#000';
          }
        }

        inputObj[i].onblur = function ()
        {
          if(this.value == this.oldVal || !this.value)
          {
            this.value = this.oldVal;
            this.style.color = '#666';
          }
        }
      }
    }
  }
}


var currentSlave = null;

// Bon de commande
function populate(sender)
{
  if(sender.value !=0)
  {
    var idNumber = sender.id.replace(/cat_/, '');
    var quantId = 'quant_' + idNumber;
    if($('quant_' + idNumber) != null)
    {
      var bdcInput = $('quant_' + idNumber);
      bdcInput.value = ' -- Nombre -- ';
      bdcInput.disabled = true;
    }
    currentSlave = 'prod_' + idNumber
    var url = "http://www.dugas.fr/contents/pro_bdc_client.inc.php";
    var urlPara = 'cat=' + sender.value;
    var myAjax  = new Ajax.Request( url, { method: 'get', parameters: urlPara, onComplete: populateSelect });
  }
    if($('quant_' + idNumber) != null)
    {
      toggleBdcSubmit();
    }
}

function populateSelect(originalRequest)
{
  var optStr = originalRequest.responseText;
  var optArr = optStr.split('end|');
  var optNew = null;
  var optTuple = new Array();
  $(currentSlave).options.length = 1;
  for(var i = 0; i < optArr.length; i++)
  {
    if(optArr[i])
    {
      optTuple = optArr[i].split('|txt:');
      optNew = new Option(optTuple[1], optTuple[0].replace('|val:', ''), false, false);
      $(currentSlave).options[$(currentSlave).options.length] = optNew;
    }
  }
  $(currentSlave).disabled  = false;
}


function toggleBdcInput(sender)
{
  var bdcInput = $(sender.id.replace('prod_', 'quant_'));
  if(sender.value != 0)
  {
    bdcInput.disabled = false;
  }
  else
  {
    bdcInput.disabled = true;
    bdcInput.value    = ' -- Nombre -- ';
  }
  toggleBdcSubmit();
}

function toggleBdcSubmit()
{
  var bdcSubmit = $('bdc-submit');
  var bdcForm   = $('bdc-form');
  var bdcInputs = bdcForm.getElementsByTagName('input');
  for (var i = 0; i < bdcInputs.length; i++)
  {
    if(!isNaN(bdcInputs[i].value))
    {
      bdcSubmit.disabled     = false;
      bdcSubmit.style.cursor = 'pointer';
      break;
    }
    else
    {
      bdcSubmit.disabled     = true;
      bdcSubmit.style.cursor = 'not-allowed';
    }
  }
}


function bdcInput2Num(sender)
{
  var tmpVal = parseInt(sender.value.replace(/[\. ]/, ''));
  sender.value = !isNaN(tmpVal) ? tmpVal : '';
  toggleBdcSubmit();
}



function viewProdPic(sender)
{	
  
  this.updateProdPic = function(req)
	{	
	  $('prod-image').style.backgroundImage = 'url(' + req.responseText + ')';
	  $('prod-name').innerHTML = sender.options[sender.selectedIndex].text.replace(/ ?- ?/,'\n');
	  adjustSize($('prod-name'));
	}
		  
  if(sender.value)
  {
	  var actionUrl = "http://www.dugas.fr/contents/pro_coupon_design_client.inc.php";
    var urlPara   = 'product=' + sender.value;
    var selfRef   = this;
    var myAjax    = new Ajax.Request( actionUrl, { method: 'get', 
                                                   parameters: urlPara, 
                                                   onComplete: selfRef.updateProdPic
                                                 }
                                     ); 
  }
}



function checkUserExists(sender)
{
  if(sender.value)
  {
    var url = "http://www.dugas.fr/contents/cavistes_client.inc.php";
    var urlPara = 'user=' + sender.value + '&el=' + sender.id;
    currentSlave = sender;
    var myAjax  = new Ajax.Request( url, { method: 'get', parameters: urlPara, onComplete: replyUserExists });
  }
}

function replyUserExists(originalRequest)
{
  if(originalRequest.responseText)
  {
    alert("Le nom d'utilisateur " + originalRequest.responseText + " existe déjà");
    currentSlave.value = '';
  }
}

function toggleTeaser(sender, id)
{
  var teaser   = $('info-teaser-' + id);
  var fulltext = $('info-full-' + id);
  if(teaser.style.display == 'none')
  {
    fulltext.style.display = 'none';
    teaser.style.display   = 'block';
    sender.title           = 'Voir plus';
    sender.style.backgroundImage = 'url(/pics/style/more.gif)';
  }
  else
  {
    teaser.style.display   = 'none';
    fulltext.style.display = 'block';
    sender.title           = 'Voir moin';
    sender.style.backgroundImage = 'url(/pics/style/less.gif)';
  }

}

function printDetails()
{
  if($('info-teaser-region') != null)
    $('info-teaser-region').style.display      = 'none';
  if($('info-full-region') != null)
    $('info-full-region').style.display        = 'block';
  if($('info-teaser-distillery') != null)
    $('info-teaser-distillery').style.display  = 'none';
  if($('info-full-distillery') != null)
    $('info-full-distillery').style.display    = 'block';
  window.print();
}


function deleteDegustation(recordId, msg)
{
  var check = confirm(msg);
  if(check == true)
  {
    location.href = 'pro_degustion_' + recordId + '.htm'
  }
}
  
function updateBox(imgObj)
{  
  imgObj = imgObj.replace('thumbs-', '');
  var propArr = imgObj.split('/'); 
  propArr.pop();  
  var targetEl = propArr.pop() + 'Display';
  var ext = targetEl == 'couponBox' ? 'jpg' : 'png'  
  imgObj = imgObj.replace('png', ext);
  $(targetEl).style.backgroundImage = 'url(' + imgObj + ')';
  this.updateSettings = function(req)
	{	
	  var probsObj = eval('(' + req.responseText + ')');
	  if(targetEl == 'couponDisplay') {
	    $('warning-abuse').style.color = probsObj['warning'];
	    $('valid_to_label').style.color = probsObj['valid_to'];
	    $('valid_to').style.color = probsObj['valid_to'];
	  }
	  if(targetEl == 'shapeDisplay') {
	    $('discount').style.color = imgObj.indexOf('Aucune') == -1 
	                              ? probsObj['label_text'] 
	                              : probsObj['title_text'];
	    $('title').style.color = probsObj['title_text'];
	  }
	}
		  
  var section   = imgObj.substring(imgObj.lastIndexOf('/') + 1, imgObj.lastIndexOf('.'));
  var actionUrl = "http://www.dugas.fr/contents/pro_coupon_get_props.inc.php";
  var urlPara   = 'target=' + targetEl + '&section=' + section;
  var selfRef   = this;
  var myAjax    = new Ajax.Request( actionUrl, { method: 'get', 
                                                   parameters: urlPara, 
                                                   onComplete: selfRef.updateSettings
                                               }
                                   ); 
}


function autoSubmit(formId, submitId) 
{
  if(document.getElementById(formId) == null) { return; }
  var formElem    = document.getElementById(formId);
  if(submitId && document.getElementById(submitId) != null) {
    var submitElem  = document.getElementById(submitId);
    submitElem.parentNode.removeChild(submitElem);
  }
  var sBoxes  = formElem.getElementsByTagName('select');
  for (var i = 0; i < sBoxes.length; i++) {
    sBoxes[i].onchange = function() {this.form.submit();}
  }
}

var cal = null;
window.onload = function()
{
  var searchFfc = new formfieldControl('searchform');
  var searchFfc = new formfieldControl('bdc-form');
  var loginFfc  = new formfieldControl('loginform');
  
  if($('isb-coupon') != null
     && $('isb-shape') != null)
  {
    var customWidgetProps = {    
      previewBorderTop     : '1px solid ThreedDarkShadow',
      previewBorderRight   : '1px solid ThreedLightShadow',
      previewBorderBottom  : '1px solid ThreedLightShadow',
      previewBorderLeft    : '1px solid ThreedDarkShadow',
      widgetMarginLeft     : '155px',
      widgetWidth          : '230px', 
      widgetOnChange       : function(sender) {
                                updateBox(sender.value);
                             }
    }
    var isb1 = new imgSelectBox('isb-coupon', customWidgetProps);
    var isb2 = new imgSelectBox('isb-shape', customWidgetProps);
    if(document.createEventObject) {
      document.getElementById('address').style.zIndex = '-10';
    }
  }
  
  if(window.location.href.indexOf('pro_coupon_design') != -1
    || window.location.href.indexOf('pro_degustation') != -1)
  {
    var widgetProps = {
      language             : 'fr',
      dateFormat           : '%d/%m/%Y',
	    headBgCol            : '#8a9da1',
      offsetLeft           : '-80px'
    }
    cal = new calendar(widgetProps);
  }
  
  new autoSubmit('deptform');
}


function imposeMaxLength(obj, MaxLen)
{
  return (obj.value.length <= MaxLen);
}




function deleteCoupon( divId )
{
  this.replyRequest = function(req){
    if(req.responseText) {
      alert (req.responseText);
    }
    else {      
      var currentElement = $( divId );
      currentElement.parentNode.removeChild(currentElement);
    }
  }
  
  if( $( divId ) != null )
  {
	  var check = confirm('Voulez-vous vraiment supprimer ce coupon ?');
    if(check == true)
    {
	    var actionUrl = "http://www.dugas.fr/contents/pro_coupon_list_client.inc.php";
      var urlPara   = 'file=' + divId.replace('box-', '');
      var selfRef   = this;
      var myAjax    = new Ajax.Request( actionUrl, { method: 'get', 
                                                       parameters: urlPara, 
                                                       onComplete: selfRef.replyRequest
                                                   }
                                       ); 
    }
  }
}


function printCoupon( couponId )
{
  $('printframe').src = 'contents/coupon_print.inc.php?picture=' + couponId;
}


function emptyLogin() {
  var fields = new Array();
  fields[0] = document.getElementById('username');
  fields[1] = document.getElementById('password');
  for (var i = 0; i < fields.length; i++) {
    fields[i].value = fields[i].value.replace(fields[i].title, '');
  }
}

function promo_toggle(sender) {
  var ul = document.getElementById("promo-navi");
  var list = ul.getElementsByTagName('li');
  var box = document.getElementById("promo-special");
  var divs = box.getElementsByTagName('div');
  for (var i = 0; i < list.length; i++) {
    list[i].className = '';
    divs[i].style.display='none';
    if(sender == list[i]) {
      list[i].className = 'active';
      document.getElementById(list[i].id.replace('li', 'promo')).style.display='block';
    }
    if(sender.id == 'li-vendors') {
      document.getElementById('bottle').style.display='none';
    }
    else {
      document.getElementById('bottle').style.display='block';
    }
  }
}

function toggleAddr(sender) {
  var ul    = document.getElementById("pag-list");
  var list  = ul.getElementsByTagName('li');
  for(var i = 0; i < list.length; i++) {
    document.getElementById(list[i].id.replace('pag', 'ul')).style.display="none"
    list[i].className = '';
  }
  document.getElementById(sender.id.replace('pag', 'ul')).style.display="block"
  sender.className = 'active';
}


function filterDepartement(sender) {
  window.location.href = window.location.protocol + '//' 
                       + window.location.host 
                       + window.location.pathname + '?dep=' + sender.value;
}

