/******************************************************************************
* ixoctSpecificSelect.js
******************************************************************************/

/* Remplacement BALISE SELECT */
function selectReplacement(obj) {
  obj.className += ' replaced';
  var ul = document.createElement('ul');
  ul.className = 'selectReplacement';
  var opts = obj.options;
  var selectedOpt = (!obj.selectedIndex) ? 0 : obj.selectedIndex;
  for (var i=0; i<opts.length; i++) {
    var li = document.createElement('li');
    var txt = document.createTextNode(opts[i].text);
    li.appendChild(txt);
    li.selIndex = i;
    li.selectID = obj.id;
    li.onclick = function() {
      selectMe(this);
    };
    if (i == selectedOpt) {
      li.className = 'selected';
      li.onclick = function() {
        this.parentNode.className += ' selectOpen';
        this.onclick = function() {
          selectMe(this);
        };
      };
    }
    if (window.attachEvent) {
      li.onmouseover = function() {
        this.className += ' hover';
      };
      li.onmouseout = function() {
        this.className = 
          this.className.replace(new RegExp(" hover\\b"), '');
      };
    }
    ul.appendChild(li);
  }
  obj.onfocus = function() {
    ul.className += ' selectFocused';
  };
  obj.onblur = function() {
    ul.className = 'selectReplacement';
  };
  obj.onchange = function() {
    var idx = this.selectedIndex;
    selectMe(ul.childNodes[idx]);
  };
  obj.onkeypress = obj.onchange;
  obj.parentNode.insertBefore(ul,obj);
}


function selectMe(obj) {
  var lis = obj.parentNode.getElementsByTagName('li');
  for (var i=0; i<lis.length; i++) {
    if (lis[i] != obj) {
      lis[i].className='';
      lis[i].onclick = function() {
        selectMe(this);
      };
   } else {
      setVal(obj.selectID, obj.selIndex);
      obj.className='selected';
      obj.parentNode.className = 
        obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
      obj.onclick = function() {
        obj.parentNode.className += ' selectOpen';
        this.onclick = function() {
          selectMe(this);
        };
      };
    }
  }
}

function setVal(objID,val) {
	var obj = document.getElementById(objID);
	var startOid = objID.substring(0,objID.indexOf("_",0));
	
	obj.selectedIndex = val;
	
	if(startOid == "gshpReferenceDimensionSelect")
		objGshpPriceManager.onChangeDimension(obj);
	
	if(startOid == "filter") {
		
		var _oid = $("#"+objID + " option:selected").val();
		if (_oid == "") {
			_oid = "All";
		}
		var num = Number(objID.substring(7,8)) + 2;
		var linkFiltre = $("#dynLink").val();
		var linkFiltre = new String(linkFiltre);
		var linkFiltre = linkFiltre.split('|');
		var ch = "";
		for (var i=0; i<9; i++) {
			if (i == num) {
				ch = ch + _oid;
			} else {
				ch = ch + linkFiltre[i];
			}
			ch = ch + "|";		
		}
		$("#dynLink").val(ch);
	}
}

function f () {
	var p = $("#dynLink").val();
	filterRedirection(p);
}

function setForm() {
  var s = $("select.filterSelect");
  for (var i=0; i<s.length; i++) {
    selectReplacement(s[i]);
  }
}

function onLoad() {
	(document.all && !window.print) ? null : setForm();
};

addLoadAction(onLoad);


// Compter type de carctère
function countCharacter(szString, separator) {
    var myString = new String(szString);
    var ss = myString.split(separator);
    return (ss.length);
}


// Redirection filtrage des produits
function filterRedirection(value) {

    var resultCountCharacter = countCharacter(value, "|");

    table = new Array(resultCountCharacter);

    for (var i = 0; i < resultCountCharacter; i++) {
        pos = value.indexOf("|");
        table[i] = value.substring(0, pos);
        value = value.substring(pos + 1, value.length);
    }

    var url = table[0] + "?l=" + table[1] + "&cat=" + table[2];

    if (resultCountCharacter > 3) {
        for (var i = 3; i < resultCountCharacter - 1; i++) {
            if (table[i] != '')
                url = url + "&filter" + (i - 2) + "=" + table[i];
        }
    }

    document.location.href = url;
}


function selectLangueReplacement(obj) {
	if(typeof(obj)!='undefined'){
	    obj.className += ' replaced';
	    var ul = document.createElement('ul');

	    ul.className = 'selectReplacement';
	    var opts = obj.options;
	    for (var i=0; i<opts.length; i++) {
		    var selectedOpt;
		    if (opts[i].selected) {
			    selectedOpt = i;
			    break;
		    } else {
			    selectedOpt = 0;
		    }
	    }

	    for (var i=0; i<opts.length; i++) {
		    var li = document.createElement('li');

		    var img = document.createElement('img');
		    img.setAttribute("src","./iso_icons/xrg_"+opts[i].value+".png");

		    var span = document.createElement('span');
		    span.innerHTML = opts[i].text;

			
		    if (opts[i].selected == true) {
				li.appendChild(span);
			    li.appendChild(img);
				
		    } else {
			    var a = document.createElement('a');
			    a.setAttribute("href",opts[i].title);
				a.appendChild(span);
			    a.appendChild(img);				
			    li.appendChild(a);			
		    }
    		
		    li.selIndex = opts[i].index;
		    li.selectID = obj.id;
		    li.onclick = function() {
			    selectMe(this);
		    }
    		
		    if (i == selectedOpt) {
			    li.className = 'selected';
			    li.onclick = function() {
				    this.parentNode.className += ' selectOpen';
				    this.onclick = function() {
					    selectMe(this);
				    }
			    }
		    }
    		
		    if (window.attachEvent) {
			    li.onmouseover = function() {
				    this.className += ' hover';
			    }
			    li.onmouseout = function() {
				    this.className = 
				    this.className.replace(new RegExp(" hover\\b"), '');
			    }
		    }
    		
		    ul.appendChild(li);
	    }

	    $(ul).insertAfter('select#xrg-select-langue')
	}
}
