function substr_count( haystack, needle, offset, length ) {
    var pos = 0, cnt = 0;
    if(isNaN(offset)) offset = 0;
    if(isNaN(length)) length = 0;
    offset--;
    while( (offset = haystack.indexOf(needle, offset+1)) != -1 ){
        if(length > 0 && (offset+needle.length) > length){
            return false;
        } else{
            cnt++;
        }
    }
    return cnt;
}

//////////////////////////////////////////

function blocking(nr)
{
	if (document.layers) {
		current = (document.layers[nr].display == 'none') ? 'block' : 'none';
		document.layers[nr].display = current;
	} else if (document.all) {
		current = (document.all[nr].style.display == 'none') ? 'block' : 'none';
		document.all[nr].style.display = current;
	} else if (document.getElementById) {
		vista = (document.getElementById(nr).style.display == 'none') ? 'block' : 'none';
		document.getElementById(nr).style.display = vista;
	}
}

function inlining(nr)
{
	if (document.layers) {
		current = (document.layers[nr].display == 'none') ? 'inline' : 'none';
		document.layers[nr].display = current;
	} else if (document.all) {
		current = (document.all[nr].style.display == 'none') ? 'inline' : 'none';
		document.all[nr].style.display = current;
	} else if (document.getElementById) {
		vista = (document.getElementById(nr).style.display == 'none') ? 'inline' : 'none';
		document.getElementById(nr).style.display = vista;
	}
}

function trim(s) {
    return s.replace(/^\s+/, '').replace(/\s+$/, '');
}

function getElement(aID){
    return (document.getElementById) ? document.getElementById(aID) : document.all[aID];
}

function validate(id,type) {
  var val = document.getElementById(id).value;
  var img_span = document.getElementById("msg_"+id);
  var ok = "<img src='icons/ok.png' style='vertical-align:middle;width:15px;' border=0 />";
  var nok = "<img src='icons/nok.png' style='vertical-align:middle;width:15px;' border=0 />";
  var verif = '';
  switch(type) {
    case 'email':
      var verif = /^[A-Z0-9._%+-]+@[A-Z0-9._%+-]+\.[A-Z]{2,4}$/i;
    break;
    case 'tel': 
      var verif = /^((00|\+)[0-9]{3})?(0?[0-9]{2,})$/;
    break;
    case 'date': 
      var verif = /^(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|\/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))$/;
    break;
    case 'pass': 
      var verif = /^[A-Z0-9]{8,}$/i;   
    break;
    case 'char': 
      var verif = /^[a-zA-Z0-9]+[\s]*[a-zA-Z0-9\s.\-\,]+$/i;
    break;
    case 'siret': 
      var verif = /^[0-9]{9}$/i;  
    break;
    case 'tva': 
      var verif = /^[a-zA-Z]{2}[a-zA-Z0-9]+$/i;  
    break;
    default : 
      if(val.length > 0){
        img_span.innerHTML = ok;
      }else{
        img_span.innerHTML = nok;
      } 
    break;
  }
  if(verif != '') {
    if (verif.exec(val) == null) {  
      img_span.innerHTML = nok;
      return false;
    } else {
      img_span.innerHTML = ok;
      return true;
    }
  }
}
             
function user_new(){
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/account/new_user.php', 
    {method: 'get', onComplete: add_tooltip});
  
  function add_tooltip() {
    Tooltip.showEvent = new Array("focus");
    Tooltip.hideEvent = new Array("blur");
    Tooltip.add('login', 'help_login');
    Tooltip.add('pass', 'help_pass');
    Tooltip.add('contact_mobile', 'help_contact_mobile');
    Tooltip.add('contact_home', 'help_contact_home');
    Tooltip.add('contact_office', 'help_contact_office');
    Tooltip.add('contact_fax', 'help_contact_fax');
    Tooltip.add('contact_birthday', 'help_contact_birthday');
  }
}

function company_new(){
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/account/new_company.php', 
    {method: 'get', onComplete: add_tooltip});
  
  function add_tooltip() {
    Tooltip.showEvent = new Array("focus");
    Tooltip.hideEvent = new Array("blur");
    Tooltip.add('login', 'help_login');
    Tooltip.add('pass', 'help_pass');
    Tooltip.add('contact_mobile', 'help_contact_mobile');
    Tooltip.add('contact_home', 'help_contact_home');
    Tooltip.add('contact_office', 'help_contact_office');
    Tooltip.add('contact_fax', 'help_contact_fax');
    Tooltip.add('company_siret', 'help_company_siret');
    Tooltip.add('company_tva', 'help_company_tva');
    Tooltip.add('company_identity', 'help_company_identity'); 
    Tooltip.add('contact_birthday', 'help_contact_birthday'); 

  }
}

function reseller_new(){
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/account/new_reseller.php', 
    {method: 'get', onComplete: add_tooltip});
  
  function add_tooltip() {
    Tooltip.showEvent = new Array("focus");
    Tooltip.hideEvent = new Array("blur");
    Tooltip.add('login', 'help_login');
    Tooltip.add('pass', 'help_pass');
    Tooltip.add('contact_mobile', 'help_contact_mobile');
    Tooltip.add('contact_home', 'help_contact_home');
    Tooltip.add('contact_office', 'help_contact_office');
    Tooltip.add('contact_fax', 'help_contact_fax');
    Tooltip.add('company_siret', 'help_company_siret');
    Tooltip.add('company_tva', 'help_company_tva');
    Tooltip.add('company_identity', 'help_company_identity');  

  }
}


function load_keyword(key,ind,ord) {
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/search/search.php', 
    {method: 'post', postBody: 'mode=keyword&key='+key+'&pg='+ind+'&ord='+ord+'&exacte='+getElement('exacte').checked + '&search_back=load_keyword(\''+key+'\',\''+ind+'\',\''+ord+'\')'});
}

function load_new(key,ind,ord) {
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/search/search.php', 
    {method: 'post', postBody: 'mode=new_products&key='+key+'&pg='+ind+'&ord='+ord + '&search_back=load_new(\''+key+'\',\''+ind+'\',\''+ord+'\')'});
}

function load_promo(key,ind,ord) {
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/search/search.php', 
    {method: 'post', postBody: 'mode=promo_products&key='+key+'&pg='+ind+'&ord='+ord + '&search_back=load_promo(\''+key+'\',\''+ind+'\',\''+ord+'\')'});
}

function load_solde(key,ind,ord) {
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/search/search.php', 
    {method: 'post', postBody: 'mode=solde_products&key='+key+'&pg='+ind+'&ord='+ord + '&search_back=load_solde(\''+key+'\',\''+ind+'\',\''+ord+'\')'});
}

function load_category(cat,ind,ord) {
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/search/search.php', 
    {method: 'post', postBody: 'mode=catalogue&cat='+cat+'&pg='+ind+'&ord='+ord + '&search_back=load_category(\''+cat+'\',\''+ind+'\',\''+ord+'\')'});
}

function load_compatible(ty,te,ind,ord) {
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/search/search.php', 
    {method: 'post', postBody: 'mode=compatible&ty='+ty+'&ter='+te+'&pg='+ind+'&ord='+ord + '&search_back=load_compatible(\''+ty+'\',\''+te+'\',\''+ind+'\',\''+ord+'\')'});
}

function load_brand(br,ind,ord) {
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/search/search.php', 
    {method: 'post', postBody: 'mode=brand&br='+br+'&pg='+ind+'&ord='+ord + '&search_back=load_brand(\''+br+'\',\''+ind+'\',\''+ord+'\')'});
}

function load_refine(ca,br,te,ke,ind,ord) {
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/search/search.php', 
    {method: 'post', postBody: 'mode=refine&ca='+ca+'&br='+br+'&te='+te+'&ke='+ke+'&pg='+ind+'&ord='+ord + '&search_back=load_refine(\''+ca+'\',\''+br+'\',\''+te+'\',\''+ke+'\',\''+ind+'\',\''+ord+'\')'});
}

function load_terms(id,elm) {
  new Ajax.Updater(
    getElement(elm), 
    'template/search/search_terms.php', 
    {method: 'post', postBody: 'br=' + id});
}

function load_terminals(id,elm) {
getElement('all_terms').style.display = 'block';
  new Ajax.Updater(
    getElement('all_terms'), 
    'template/search/search_terminals.php', 
    {method: 'post', postBody: 'br=' + id + '&ty=' + elm});

}

function load_modeles(br,ca) {
  new Ajax.Updater(
    getElement('lmod'), 
    'ajax/account/_load_modeles.php', 
    {method: 'post', postBody: 'br=' + br + '&ca=' + ca});
}

function product_view (id, search){
  getElement('central').innerHTML = '<div style="width:100%;text-align:center;"><img src="icons/loading.gif"></div>';
  new Ajax.Updater(
    getElement('central'), 
    'template/product/view.php', 
    {method: 'post',postBody: 'id='+id+'&search_back='+search, onComplete: add_tab});

  function add_tab() {
    for(var i=1;i<6;i++) {
      if(getElement('player'+i))
        flowplayer("player"+i, "/videos/flowplayer-3.0.2.swf", {plugins: {controls: null}});
    }
    new Fabtabs('tabs');
    getElement('last_display').style.display = 'block';
    new Ajax.Updater(
      getElement('last_viewed'), 
      'template/product/last_viewed.php');
    }

}

function add_favoris (id){
  new Ajax.Request(
    'ajax/product/_favoris.php', 
    {method: 'post',postBody: 'id='+id+'&mode=add',onComplete: function (rep){alert(rep.responseText);}});
}
/* */ 

/***************************************************************/

function imprime() {
  var f ='';
 var Headers = '<!DOCTYPE HTML PUBLIC ><HTML><HEAD><title></title><LINK rel="stylesheet" type="text/css" href="css/default.css"><LINK rel="stylesheet" type="text/css" href="css/fabtabulous.css"><meta http-equiv="Content-type" content="text/html; charset=UTF-8"></HEAD><BODY style="color:black; background-color:white; padding:5px;" onload="window.print();window.close();">';
 var Footers = "</body></html>";
 var zi = getElement("central").innerHTML;

 var f = window.open("", "ZoneImpr", "height=600, width=800,toolbar=1, menubar=1, scrollbars=1, resizable=1, status=0, location=0, left=10, top=10");

 f.document.write ("" + Headers + zi +Footers);
 f.document.close();
 return;
}
    
function login_user(log,pas) {
var req = '';
    req += 'log=' + log;
    req += '&pas=' + pas;
	r_options = new Object();
	r_options = {method: 'post', postBody:''+req, onComplete: result};
  new Ajax.Request( 
    'ajax/account/_login.php', 
    r_options);
  
  function result(t) {
    if(t.responseText) {
      getElement('err_login').innerHTML = t.responseText;
      getElement('err_login').style.display = 'block';
    } else {
      document.location = 'index.php?page=account';
    }
  }   
}    

function add_cart(val) {
    var elementHTML = getElement('cart');

    var req = '';
    req += 'id=' + val;
    req += '&qty=' + getElement('nbcart' + val).value;
    
	r_options = new Object();
	r_options = {method: 'post', postBody:''+req, onComplete: function(){getElement('cart_display').style.display = 'block';}};
    var laRequete = new Ajax.Updater(elementHTML,'template/cart/add.php',r_options);

}

function del_cart(val) {
    var elementHTML = getElement('cart');

    var req = '';
    req += 'id=' + val;

	r_options = new Object();
	r_options = {method: 'post', postBody:''+req};
    var laRequete = new Ajax.Updater(elementHTML,'template/cart/del.php',r_options);
    return true;
}

function update_cart (val) {
    var elementHTML = getElement('cart');

    var req = '';
    req += 'id=' + val;
    if(val != '') {
        req += '&qty=' + getElement('nbcart' + val).value;
    }
	r_options = new Object();
	r_options = {method: 'post', postBody:''+req, onComplete:youpi};
    var laRequete = new Ajax.Updater(elementHTML,'template/cart/update.php',r_options);
    
    function youpi() {
       var elementHTML = getElement('central');
	   r_options = new Object();
	   r_options = {method: 'post', postBody:''};
       var laRequete = new Ajax.Updater(elementHTML,'template/buy/cart.php',r_options);
    }
}

function indexOptions(opt,val) {
  for(var i=0;i<opt.length;i++)
    if(opt[i].value==val) return i;
}

function indexradio(rad) {
  for(var i = 0; i < 2; i++)
    if(rad[i].checked) return rad[i].value;
}

function test_siret(number) {
	r_options = new Object();
	r_options = {method: 'get', parameters: {rncs: number}, onComplete: show_siret};
  var laRequete = new Ajax.Request('ajax/company/search_siret.php',r_options);
  
  function show_siret(t) {
    ret = t.responseText.split("-");
    getElement('company_name').value = ret[0];
    getElement('company_ape').selectedIndex = indexOptions(getElement('company_ape'),ret[1]);
    getElement('address_address').value = ret[2];
    zip = ret[3].split(" ");
    getElement('address_zipcode').value = zip[1];
    getElement('address_city').value = zip[2];
    getElement('address_country').selectedIndex = indexOptions(getElement('address_country'),"FRANCE");
  }
}

function test_tva(number) {
	r_options = new Object();
	r_options = {method: 'get', parameters: {tva: number}, onComplete: show_tva};
  var laRequete = new Ajax.Request('ajax/company/search_tva.php',r_options);
  
  function show_tva(t) {
    if(t.responseText != "")
      alert(t.responseText);
  }
}

function load_shipping(pays) {
	r_options = new Object();
	r_options = {method: 'post', parameters: {country: pays}, onComplete: show_shipping};
  var laRequete = new Ajax.Updater(getElement('shipping'),'ajax/buy/load_shipping.php',r_options);
  
  function show_shipping(t) {
  return true;
  }
}

function load_payment(pays) {
	r_options = new Object();
	r_options = {method: 'post', parameters: {country: pays}, onComplete: show_shipping};
  var laRequete = new Ajax.Updater(getElement('invoice'),'ajax/buy/load_invoice.php',r_options);
  
  function show_shipping(t) {
  return true;
  }
}

function resetpass(ema) {
	r_options = new Object();
	r_options = {method: 'post', parameters: {email: ema}, onComplete: show_result};
  var laRequete = new Ajax.Request('ajax/account/reset_pass.php',r_options);
  
  function show_result(t) {
    if(t.responseText != "")
      alert(t.responseText);
  }

}

function update_password(npas) {
	r_options = new Object();
	r_options = {method: 'post', parameters: {new_pass: npas}, onComplete: show_result};
  var laRequete = new Ajax.Request('ajax/account/_update_password.php',r_options);
  
  function show_result(t) {
    if(t.responseText != "")
      alert(t.responseText);
  }

}

function load_address(idaddress) {
	r_options = new Object();
	r_options = {method: 'post', parameters: {id: idaddress}, onComplete: show_result};
  var laRequete = new Ajax.Request('ajax/buy/load_address.php',r_options);
  
  function show_result(t) {
    var txt = t.responseText;
    var arr = txt.split('+');
    getElement('dappt').value=arr[0];
    getElement('dbat').value=arr[1];
    getElement('daddr').value=arr[2];
    getElement('dpostal').value=arr[3];
    getElement('dcity').value=arr[4];
    getElement('dcountry').value=arr[5];
  }
}

function add_blister() {
	r_options = new Object();
	r_options = {onComplete: show_result};
  var laRequete = new Ajax.Request('ajax/buy/add_blister.php',r_options);

  function show_result(t) {
    document.location = 'http://bluetrade.eu/index.php?page=buy';
  }
}
function remove_blister() {
	r_options = new Object();
	r_options = {onComplete: show_result};
  var laRequete = new Ajax.Request('ajax/buy/remove_blister.php',r_options);

  function show_result(t) {
    document.location = 'http://bluetrade.eu/index.php?page=buy';
  }
}