//utf8 é//
nav=detnav();

function autoCompOff(id)
{
	document.getElementById(id).setAttribute("autocomplete","off");
}

function detnav() {
	var p,nav,ver; // variables locales
	var result = new Array();
	with(navigator.userAgent){
		switch(navigator.appName){
		case "Microsoft Internet Explorer" :
			nav='IE'; p=indexOf("MSIE"); ver= parseFloat(substring(p+5,p+9));
			if (indexOf("Opera")>-1){
				nav='Opera'; p=indexOf("Opera"); ver= parseFloat(substring(p+6,p+10));
			}
			break;
		case "Netscape" :
			nav='Netscape'; ver= parseFloat(substring(8,12));
			if (indexOf("Opera")>-1){nav='Opera'; p=indexOf("Opera"); ver= parseFloat(substring(p+6,p+10));}
			if (indexOf("Gecko")>-1){nav='Mozilla'; p=indexOf("rv:"); ver= parseFloat(substring(p+3,p+7));}
			if (indexOf("Netscape6")>-1){nav='Netscape6'; p=indexOf("Netscape6"); ver= parseFloat(substring(p+10,p+14));}
			if (indexOf("Firefox")>-1){nav='Firefox'; p=indexOf("Firefox"); ver= parseFloat(substring(p+8,p+12));}
			break;
		case "Opera" :
			nav='Opera'; p=indexOf("/"); ver= parseFloat(substring(p+1,p+5));
			break;
			default :
			nav='inconnu'; ver='';
		}
	}
	result[0]=nav; result[1]=ver;
	return result;
}

function windowCenter(myId) {
	//result=returnSize();
	result=getPageSize();
	var myWidth=result[2]; 
	var myHeight=result[3];
	var elementWidth=$("div#"+myId).width();
	//alert(elementWidth);
	var elementHeight=$("div#"+myId).height();
	var myScrollLeft=document.body.scrollLeft;
	var myScrollTop= document.body.scrollTop;
	var my_scroll =getPageScroll()
	var myScrollTop = my_scroll[1];
	var posX=myScrollLeft+myWidth-myWidth/2-elementWidth/2
	var posY=myScrollTop+myHeight-myHeight/2-elementHeight/2;
	$("div#"+myId).css({ 'left': posX+'px',  'top': posY+'px'}); 
}

function getPageSize(){
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight+window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) { // all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
	return arrayPageSize;
}

// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
// Code by Lokesh Dhakar
function getPageScroll(){
	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}
	arrayPageScroll = new Array('',yScroll)
	return arrayPageScroll;
}

function findPos(obj) {
	var curleft = obj.offsetLeft || 0;
	var curtop = obj.offsetTop || 0;
	while (obj = obj.offsetParent) {
		curleft += obj.offsetLeft
		curtop += obj.offsetTop
	}
	return {x:curleft,y:curtop};
}

//POUR LE RTE//
function fileBrowserCallBack(field_name, url, type, win) {
	var connector = "../../filemanager/browser.html?Connector=connectors/php/connector.php";
	var enableAutoTypeSelection = true;
	
	var cType;
	tinyfck_field = field_name;
	tinyfck = win;
	
	switch (type) {
	case "image":
		cType = "Image";
		break;
	case "flash":
		cType = "Flash";
		break;
	case "file":
		cType = "File";
		break;
	}
	
	if (enableAutoTypeSelection && cType){
		connector += "&Type=" + cType;
	}
	
	window.open(connector, "tinyfck", "modal,width=600,height=400");
}

//EQUIVALENT RETURN FALSE IE 6//
function suppr_event_ie6(){
	var event = event || window.event;
	if (event){if(!event.preventDefault){event.returnValue = false;}}
}

function verif_mail(_mail){
	var verif = /^[a-zA-Z0-9\._-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
	if (verif.exec(_mail) == null){
		return false;
	}
	else{
		return true;
	}
}

function clear_text(id){
	if ($(id).attr('id') == 'newsletter-email') {
		if ($(id).val() == 'Votre adresse e-mail ici') 
			$(id).val(''); 
		return false;
	} else {
		$(id).val('');
	}
}

function add_panier(_ref){
	Overlay.display_from_url('/popup/panier-add.html?ref='+ _ref, 474);
	
	//on cache le bouton fermer de base//
	$('#popup #close').hide();
}

function number_format(number, decimals, dec_point, thousands_sep) {
    // Formats a number with grouped thousands  
    // 
    // version: 1004.2314
    // discuss at: http://phpjs.org/functions/number_format    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://getsprink.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +     bugfix by: Howard Yeend
    // +    revised by: Luke Smith (http://lucassmith.name)
    // +     bugfix by: Diogo Resende
    // +     bugfix by: Rival    // +      input by: Kheang Hok Chin (http://www.distantia.ca/)
    // +   improved by: davook
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +      input by: Jay Klehr
    // +   improved by: Brett Zamir (http://brett-zamir.me)    // +      input by: Amir Habibi (http://www.residence-mixte.com/)
    // +     bugfix by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: Theriault
    // *     example 1: number_format(1234.56);
    // *     returns 1: '1,235'    // *     example 2: number_format(1234.56, 2, ',', ' ');
    // *     returns 2: '1 234,56'
    // *     example 3: number_format(1234.5678, 2, '.', '');
    // *     returns 3: '1234.57'
    // *     example 4: number_format(67, 2, ',', '.');    // *     returns 4: '67,00'
    // *     example 5: number_format(1000);
    // *     returns 5: '1,000'
    // *     example 6: number_format(67.311, 2);
    // *     returns 6: '67.31'    // *     example 7: number_format(1000.55, 1);
    // *     returns 7: '1,000.6'
    // *     example 8: number_format(67000, 5, ',', '.');
    // *     returns 8: '67.000,00000'
    // *     example 9: number_format(0.9, 0);    // *     returns 9: '1'
    // *    example 10: number_format('1.20', 2);
    // *    returns 10: '1.20'
    // *    example 11: number_format('1.20', 4);
    // *    returns 11: '1.2000'    // *    example 12: number_format('1.2000', 3);
    // *    returns 12: '1.200'
    var n = !isFinite(+number) ? 0 : +number, 
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }    return s.join(dec);
}

function getElementsByClassName(className, tag, elm) {
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function IsNumeric(inputVal) {
     if (isNaN(parseFloat(inputVal))) {
          return false;
     }
     return true
}

function prepaid_sending(sending_id) {
	if(sending_id == 'sending1') {
		document.getElementById('prepaid_address').style.display = 'none';
		document.getElementById('prepaid_email').style.display = 'table-row';
	} else {
		document.getElementById('prepaid_address').style.display = 'table-row';
		document.getElementById('prepaid_email').style.display = 'none';
	}
}

function check_form_prepaid() {
	if(!document.form_prepaid.surname.value || !document.form_prepaid.name.value || (document.form_prepaid.sending[0].checked==true && !document.form_prepaid.email.value)
		|| !document.form_prepaid.signature.value || (document.form_prepaid.sending[1].checked==true && !document.form_prepaid.address.value) || (document.form_prepaid.sending[0].checked==false && document.form_prepaid.sending[1].checked==false)) {
		document.getElementById('error').style.visibility = "visible";
	}
	else
	{
		document.form_prepaid.submit();
	}
}
function format_number(p,d)
{
  var r;
  if(p<0){p=-p;r=format_number2(p,d);r="-"+r;}
  else   {r=format_number2(p,d);}
  return r;
}
function format_number2(pnumber,decimals)
{
  var strNumber = new String(pnumber);
  var arrParts = strNumber.split('.');
  var intWholePart = parseInt(arrParts[0],10);
  var strResult = '';
  if (isNaN(intWholePart))
    intWholePart = '0';
  if(arrParts.length > 1)
  {
    var decDecimalPart = new String(arrParts[1]);
    var i = 0;
    var intZeroCount = 0;
     while ( i < String(arrParts[1]).length )
     {
       if( parseInt(String(arrParts[1]).charAt(i),10) == 0 )
       {
         intZeroCount += 1;
         i += 1;
       }
       else
         break;
    }
    decDecimalPart = parseInt(decDecimalPart,10)/Math.pow(10,parseInt(decDecimalPart.length-decimals-1));
    Math.round(decDecimalPart);
    decDecimalPart = parseInt(decDecimalPart)/10;
    decDecimalPart = Math.round(decDecimalPart);
    //If the number was rounded up from 9 to 10, and it was for 1 'decimal'  
    //then we need to add 1 to the 'intWholePart' and set the decDecimalPart to 0.  
    if(decDecimalPart==Math.pow(10, parseInt(decimals)))
    {
      intWholePart+=1;
      decDecimalPart="0";
    }
    var stringOfZeros = new String('');
    i=0;
    if( decDecimalPart > 0 )
    {
      while( i < intZeroCount)
      {
        stringOfZeros += '0';
        i += 1;
      }
    }
    decDecimalPart = String(intWholePart) + "." + stringOfZeros + String(decDecimalPart);
    var dot = decDecimalPart.indexOf('.');
    if(dot == -1)
    {
      decDecimalPart += '.';
      dot = decDecimalPart.indexOf('.');
    }
    var l=parseInt(dot)+parseInt(decimals);
    while(decDecimalPart.length <= l)
    {
      decDecimalPart += '0';
    }
    strResult = decDecimalPart;
  }
  else
  {
    var dot;
    var decDecimalPart = new String(intWholePart);
    decDecimalPart += '.';
    dot = decDecimalPart.indexOf('.');
    var l=parseInt(dot)+parseInt(decimals);
    while(decDecimalPart.length <= l)
    {
      decDecimalPart += '0';
    }
    strResult = decDecimalPart;
  }
  return strResult;
}
