function iapop(URL)
	{
	
	widthWin=(arguments[1])?arguments[1]:470;
	heightWin=(arguments[2])?arguments[2]:290;
	range=(arguments[3])?'width='+widthWin+',height='+heightWin+','+arguments[3]:'width='+widthWin+',height='+heightWin+',scrollbars=no,resizable=no,menubar=no,status=no,toolbar=no,location=no,top=0,left=0,directories=no';
	mediaserver=(arguments[4])?arguments[4]:'http://www.isoxa.com/';

	winfiche=open(URL,"fiche",range);
	winfiche.focus();
	}	
	
function iavaldo()
  {
  document.body.removeChild(document.body.firstChild);
  }
 
function iapopon(layername,URL)
	{
	iadivimg.name = URL;
	iadivimg.src=URL;
	valtop=document.body.scrollTop;
	valleft=Math.abs(document.body.clientWidth/2-760/2+9);
	if(valtop<148){valtop=148;}
	document.getElementById(layername).style.visibility = "visible";
	document.getElementById(layername).style.top=valtop+14;	
	document.getElementById(layername).style.left=valleft;
	document.getElementById(layername).focus();
	}

function iapopoff(layername)
	{
	layername.style.height=0;
	layername.style.width=0;
	layername.style.visibility = "hidden";
	}
	
function iaprint(URL) {
	if (!document.getElementById) {
		self.print();
		return;
	}
	widthWin=(arguments[1])?arguments[1]:500;
	heightWin=(arguments[2])?arguments[2]:500;
	range=(arguments[3])?'width='+widthWin+',height='+heightWin+','+arguments[3]:'width='+widthWin+',height='+heightWin+',scrollbars=yes,resizable=no,menubar=no,status=no,toolbar=no,location=no,top=0,left=0,directories=no';
	mediaserver=(arguments[4])?arguments[4]:'http://www.isoxa.com/';
	var winprint = open(URL,"iaprint",range);
	winprint.focus();
	var dprint = document.getElementById('iaprint');
	winprint.document.writeln('<html><head>');
	winprint.document.writeln('<title>'+URL.substr(11)+'</title>');
	winprint.document.writeln('<link rel="stylesheet" href="'+URL+'/iacss/ia.css">');
	winprint.document.writeln('<script>function iapopon(){return true;}</script>');
	winprint.document.writeln('</head>');
	winprint.document.writeln('<body style="margin:0px;">');
	winprint.document.writeln('<table cellspacing=0 cellpadding=0 border=0 width="100%">');
  winprint.document.writeln('<tr><td><div class="P">');
	winprint.document.writeln(dprint.innerHTML.replace(/href="[^"]+"/gi,''));
	winprint.document.writeln('</div></td></tr>');
  winprint.document.writeln('<tr><td align=center><div class="P"><hr>©'+URL.substr(11)+'</div></td></tr>');
	winprint.document.writeln('</table></body></html>');
	winprint.document.close();
	winprint.print();
}



//=====================================================================||
//               NOP Design JavaScript Shopping Cart                   ||
//                                                                     ||
// For more information on SmartSystems, or how NOPDesign can help you ||
// Please visit us on the WWW at http://www.nopdesign.com              ||
//                                                                     ||
// Javascript portions of this shopping cart software are available as ||
// freeware from NOP Design under the GPL.  You must keep this comment ||
// unchanged in your code.  For more information contact               ||
// Scott@NopDesign.com                                                 ||
//                                                                     ||
// JavaScript Shop Module, V.3.0.2                                     ||
//=====================================================================||


//---------------------------------------------------------------------||
// FUNCTION:    checkForm                                              ||
// PARAMETERS:  Form object, and true/false if we should check for     ||
//              a credit card number. You shouldn't accept credit cards||
//              via email.  Only use that when you are connected to a  ||
//              secure server.                                         ||
// RETURNS:     boolean (True form is correct, False form is in error) ||
// PURPOSE:     To check form elements                                 ||
//---------------------------------------------------------------------||
function checkForm(thisForm, checkForCreditCard)  {
        bFormError = false;   //Boolean variable to store form state
        bIsValidCard = false; //Boolean variable to store CC state
        strErrorList = "";    //String list of missing/errorsum fields

        if( thisForm.FIRST.value==''  ) {bFormError = true;  strErrorList += "First Name, ";}
        if( thisForm.LAST.value==''   ) {bFormError = true;  strErrorList += "Last Name, ";}
        if( thisForm.ADDRESS.value=='') {bFormError = true;  strErrorList += "Address, ";}
        if( thisForm.CITY.value==''   ) {bFormError = true;  strErrorList += "City, ";}
        if( thisForm.STATE.value==''  ) {bFormError = true;  strErrorList += "State, ";}
        if( thisForm.ZIP.value==''    ) {bFormError = true;  strErrorList += "Zip, ";}
        if( thisForm.PHONE.value==''  ) {bFormError = true;  strErrorList += "Phone, ";}
        if( thisForm.ACCOUNT.value=='') {bFormError = true;  strErrorList += "Credit Card Number, ";}
        if( thisForm.MONTH.value==''  ) {bFormError = true;  strErrorList += "Month, ";}
        if( thisForm.YEAR.value==''   ) {bFormError = true;  strErrorList += "Year ";}
        if( bFormError == true ) {
                alert("I'm sorry, but you had one or more missing or invalid entries.\n"
                     +"Please check the following fields: \n\n"
                     +strErrorList
                     +"\n\n");
                return false;
        }

                //Check for valid Visa
                if (((thisForm.ACCOUNT.value.length == 16) || (thisForm.ACCOUNT.value.length == 13)) &&
                (thisForm.ACCOUNT.value.substring(0,1) == 4))
                                bIsValidCard = true;

                //Check for valid MasterCard
                firstdig = thisForm.ACCOUNT.value.substring(0,1);
                seconddig = thisForm.ACCOUNT.value.substring(1,2);
                if ((thisForm.ACCOUNT.value.length == 16) &&
                    (firstdig == 5) && ((seconddig >= 1) &&
                        (seconddig <= 5))
                   )
                        bIsValidCard = true;

                if (bIsValidCard == false){
                        alert("I'm sorry, but you need to enter a valid credit card number.\n");
                        return false;
                }

        return needComments();
} //END function checkForm


//---------------------------------------------------------------------||
// FUNCTION:    CKquantity                                             ||
// PARAMETERS:  Quantity to                                            ||
// RETURNS:     Quantity as a number, and possible alert               ||
// PURPOSE:     Make sure quantity is represented as a number          ||
//---------------------------------------------------------------------||
function CKquantity(checkString) {

        strNewQuantity = "";    // String Adjusted Item Quantity
        count     = 0;          // Generic Loop Counter

        for (i = 0; i < checkString.length; i++) {
                ch = checkString.substring(i, i+1);

                if ((ch >= "0" && ch <= "9") || (ch == '.')) {
                        strNewQuantity += ch;
                }
        }

        if (strNewQuantity.length < 1)
                strNewQuantity = "";
        return strNewQuantity;
}


//---------------------------------------------------------------------||
// FUNCTION:    AddToCart                                              ||
// PARAMETERS:  Form Object                                            ||
// RETURNS:     Cookie to user's browser, with prompt                  ||
// PURPOSE:     Adds a product to the user's shopping cart             ||
//---------------------------------------------------------------------||
function AddToCart(thisForm) {
        iNumberOrdered = 0;  //Integer number of products already ordered
        iNumberOrdered = GetCookie("NumberOrdered");
        iNumberOrdered++;
        dbUpdatedOrder='';

        if ( iNumberOrdered > 120 )
                alert("I'm Sorry, your cart is full, please proceed to checkout.");
        else {
                NumberOrdered = GetCookie("NumberOrdered");
                for (i = 1; i <= NumberOrdered; i++) {
                    NewOrder = "Order." + i;
                    database = GetCookie(NewOrder);
                    Token0 = database.indexOf("|", 0);
                    Token1 = database.indexOf("|", Token0+1);
                    Token2 = database.indexOf("|", Token1+1);

                    fields = new Array;
                    fields[0] = database.substring( 0, Token0 );
                    fields[2] = database.substring( Token1+1, Token2);
                    if(fields[2]==thisForm.ID_NUM.value)
                      {
                      dbUpdatedOrder = Math.floor(thisForm.QUANTITY.value)+ Math.floor(fields[0]) + "|"
                                 + thisForm.PRICE.value  + "|"
                                 + thisForm.ID_NUM.value + "|"
                                 + thisForm.NAME.value;
                      notice = thisForm.NAME.value + "\nQuantity added : "+thisForm.QUANTITY.value;
                      var wincart = open('',"iacart",'width=300,height=150,scrollbars=no,resizable=no,menubar=no,status=no,toolbar=no,location=no,top=200,left=200,directories=no');
	                    wincart.document.writeln('<html><head>');
	                    wincart.document.writeln('<title>XXX</title>');
	                    wincart.document.writeln('<link rel="stylesheet" href="../iacss/ia.css">');
	                    wincart.document.writeln('<script src="../iajs/ia.js"></script>');
	                    wincart.document.writeln('</head>');
	                    wincart.document.writeln('<body bgcolor="red" style="margin:0px;" onunload="window.opener.document.forms.' + thisForm.name + '.QUANTITY.value=\'\';">');
	                    wincart.document.writeln('<table cellspacing=0 cellpadding=0 border=0 width="260" align="center">');
                      wincart.document.writeln('<tr><td height=120><h4 style="color:white;">' + notice + '</h4></td></tr>');
                      wincart.document.writeln('</table>');
                      wincart.document.writeln('<script>SetCookie("'+NewOrder+'","'+dbUpdatedOrder+'", null, "/");');
                      wincart.document.writeln('setInterval("window.close()",2000);</script>');
                      wincart.document.writeln('</body></html>');
                      wincart.document.close();
                      wincart.focus();
  
                      }
                    }
                 if(dbUpdatedOrder=='')
                  {
                  dbUpdatedOrder = thisForm.QUANTITY.value + "|"
                                 + thisForm.PRICE.value  + "|"
                                 + thisForm.ID_NUM.value + "|"
                                 + thisForm.NAME.value;
                  NewOrder = "Order." + iNumberOrdered;
                  notice = thisForm.NAME.value + "\n Quantity added : "+thisForm.QUANTITY.value;
                 var wincart = open('',"iacart",'width=300,height=150,scrollbars=no,resizable=no,menubar=no,status=no,toolbar=no,location=no,top=200,left=200,directories=no');
	               wincart.document.writeln('<html><head>');
	               wincart.document.writeln('<title>XXX</title>');
	               wincart.document.writeln('<link rel="stylesheet" href="../iacss/ia.css">');
	               wincart.document.writeln('<script src="../iajs/ia.js"></script>');
	               wincart.document.writeln('</head>');
	               wincart.document.writeln('<body bgcolor="red" style="margin:0px;" onunload="window.opener.document.forms.' + thisForm.name + '.QUANTITY.value=\'\';">');
	               wincart.document.writeln('<table cellspacing=0 cellpadding=0 border=0 width="260" align="center">');
                 wincart.document.writeln('<tr><td height=120><h4 style="color:white;">' + notice + '</h4></td></tr>');
                 wincart.document.writeln('</table>');
                 wincart.document.writeln('<script>SetCookie("'+NewOrder+'","'+dbUpdatedOrder+'", null, "/");');
                 wincart.document.writeln('SetCookie("NumberOrdered","'+iNumberOrdered+'", null, "/");</script>');                
	
                 wincart.document.writeln('<script>setInterval("window.close()",2000);</script>');
                 wincart.document.writeln('</body></html>');
                 wincart.document.close();
                 wincart.focus();
  
                  }
  }
}


//---------------------------------------------------------------------||
// FUNCTION:    getCookieVal                                           ||
// PARAMETERS:  offset                                                 ||
// RETURNS:     URL unescaped Cookie Value                             ||
// PURPOSE:     Get a specific value from a cookie                     ||
//---------------------------------------------------------------------||
function getCookieVal (offset) {
        var endstr = document.cookie.indexOf (";", offset);
        if (endstr == -1)
                endstr = document.cookie.length;
        return unescape(document.cookie.substring(offset, endstr));
}


//---------------------------------------------------------------------||
// FUNCTION:    FixCookieDate                                          ||
// PARAMETERS:  date                                                   ||
// RETURNS:     date                                                   ||
// PURPOSE:     Fixes cookie date, stores back in date                 ||
//---------------------------------------------------------------------||
function FixCookieDate (date) {
        var base = new Date(0);
        var skew = base.getTime();
        date.setTime (date.getTime() - skew);
}


//---------------------------------------------------------------------||
// FUNCTION:    GetCookie                                              ||
// PARAMETERS:  Name                                                   ||
// RETURNS:     Value in Cookie                                        ||
// PURPOSE:     Retrieves cookie from users browser                    ||
//---------------------------------------------------------------------||
function GetCookie (name) {
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while (i < clen)
                {
                var j = i + alen;
                if (document.cookie.substring(i, j) == arg) return getCookieVal (j);
                i = document.cookie.indexOf(" ", i) + 1;
                if (i == 0) break;
                }

        return null;
}


//---------------------------------------------------------------------||
// FUNCTION:    SetCookie                                              ||
// PARAMETERS:  name, value, expiration date, path, domain, security   ||
// RETURNS:     Null                                                   ||
// PURPOSE:     Stores a cookie in the users browser                   ||
//---------------------------------------------------------------------||
function SetCookie (name,value,expires,path,domain,secure) {
        document.cookie = name + "=" + escape (value) +
                        ((expires) ? "; expires=" + expires.toGMTString() : "") +
                        ((path) ? "; path=" + path : "") +
                        ((domain) ? "; domain=" + domain : "") +
                        ((secure) ? "; secure" : "");
}


//---------------------------------------------------------------------||
// FUNCTION:    DeleteCookie                                           ||
// PARAMETERS:  Cookie name, path, domain                              ||
// RETURNS:     null                                                   ||
// PURPOSE:     Removes a cookie from users browser.                   ||
//---------------------------------------------------------------------||
function DeleteCookie (name,path,domain) {
        if (GetCookie(name)) {
                document.cookie = name + "=" +
                                ((path) ? "; path=" + path : "") +
                                ((domain) ? "; domain=" + domain : "") +
                                "; expires=Thu, 01-Jan-70 00:00:01 GMT";
        }
}


//---------------------------------------------------------------------||
// FUNCTION:    MoneyFormat                                            ||
// PARAMETERS:  Number to be formatted                                 ||
// RETURNS:     Formatted Number                                       ||
// PURPOSE:     Reformats Dollar Amount to #.## format                 ||
//---------------------------------------------------------------------||
function moneyFormat(input) {
        var dollars = Math.floor(input)
        var tmp = new String(input)
        for (var decimalAt = 0; decimalAt < tmp.length; decimalAt++) {
                if (tmp.charAt(decimalAt)==".")
                        break;
        }

        var cents  = "" + Math.round(input * 100)
        cents = cents.substring(cents.length-2, cents.length)
        dollars += ((tmp.charAt(decimalAt+2)=="9")&&(cents=="00"))? 1 : 0;

        return dollars + "." + cents
}


//---------------------------------------------------------------------||
// FUNCTION:    RemoveFromCart                                         ||
// PARAMETERS:  Order Number to Remove                                 ||
// RETURNS:     Null                                                   ||
// PURPOSE:     Removes an item from a users shopping cart             ||
//---------------------------------------------------------------------||
function RemoveFromCart(RemOrder) {
        if (confirm("Click 'Ok' to remove this product from your shopping cart.")) {
                NumberOrdered = GetCookie("NumberOrdered");
                for(i=RemOrder; i <  NumberOrdered; i++) {
                        NewOrder1 = "Order." + (i+1);
                        NewOrder2 = "Order." + (i);
                        database = GetCookie(NewOrder1);
                        SetCookie (NewOrder2, database, null, "/");
                        }
                NewOrder = "Order." + NumberOrdered;
                SetCookie ("NumberOrdered", NumberOrdered-1, null, "/");
                DeleteCookie(NewOrder, "/");
                
                window.location=window.location;
                }
        }
function RemoveAllFromCart()  {
        NumberOrdered = GetCookie("NumberOrdered");
        for(i=1; i <  NumberOrdered; i++) {
                NewOrder = "Order." + i;
                DeleteCookie(NewOrder, "/");
                }
        DeleteCookie("NumberOrdered", "/");
        }


//---------------------------------------------------------------------||
// FUNCTION:    GetFromCart                                            ||
// PARAMETERS:  Null                                                   ||
// RETURNS:     Product Table Written to Document                      ||
// PURPOSE:     Draws current cart product table on HTML page          ||
//---------------------------------------------------------------------||
function GetFromCart() {
        NumberOrdered = 0;
        Total=0;
        TOTotal=0;
        TOquantity = " ";
        TOprice = " ";
        TOid_num = " ";
        TOname = " ";
        NumberOrdered = GetCookie("NumberOrdered");
        whattowrite = "";

        for (i = 1; i <= NumberOrdered; i++) {
                NewOrder = "Order." + i;
                database = "";
                database = GetCookie(NewOrder);

                Token0 = database.indexOf("|", 0);
                Token1 = database.indexOf("|", Token0+1);
                Token2 = database.indexOf("|", Token1+1);

                fields = new Array;
                fields[0] = database.substring( 0, Token0 );
                fields[1] = database.substring( Token0+1, Token1 );
                fields[2] = database.substring( Token1+1, Token2 );
                fields[3] = database.substring( Token2+1, database.length );

                Total = Total + (fields[1] * fields[0]);
                TOTotal = moneyFormat(Total);

                whattowrite += "<tr><td class='xtab' width='100%'><input type=checkbox checked onClick=\"RemoveFromCart("+i+");this.checked=true;\">" + fields[3] + "</td><td class='xeuro' align='right'><nobr>" + fields[1] + " &euro;</nobr></td><td class='xtab'><input type=text size=2 class='X2' style='text-align:center;width:30px;' readonly name=\""+fields[2]+"_q\" value=\""+ fields[0] + "\"></td><td align='right' class='xeuro'><nobr>" + moneyFormat(fields[1] * fields[0]) + " &euro;</nobr></td></tr>";
                }
        if(whattowrite=='')
          {
          document.write("<tr><td colspan=4 align='center' class=xbar>Panier vide</td></tr>");
          document.write("<tr><td colspan=4>&nbsp;</td></tr>");
          document.Form1.style.visibility='hidden';
          }
        else
          {
          document.write(whattowrite);
          document.write("<tr><td colspan=4>&nbsp;</td></tr>");
          document.write("<tr><td colspan=4 align='right' class='xbar'>Total à payer : <span class='xeuro'><nobr>" + TOTotal + " &euro;</nobr></span></td><td></td>");
          }
        
      }

//---------------------------------------------------------------------||
// FUNCTION:    WriteToForm                                            ||
// PARAMETERS:  Null                                                   ||
// RETURNS:     Product hidden fields Written to Document              ||
// PURPOSE:     Draws current cart product hidden fields on HTML form  ||
//---------------------------------------------------------------------||
function WriteToForm() {
        NumberOrdered = 0;
        Total=0;
        TOTotal=0;
        TOquantity = " ";
        TOprice = " ";
        TOid_num = " ";
        TOname = " ";
        NumberOrdered = GetCookie("NumberOrdered");
        whattowrite = "";

        for (i = 1; i <= NumberOrdered; i++) {
                NewOrder = "Order." + i;
                database = "";
                database = GetCookie(NewOrder);

                Token0 = database.indexOf("|", 0);
                Token1 = database.indexOf("|", Token0+1);
                Token2 = database.indexOf("|", Token1+1);

                fields = new Array;
                fields[0] = database.substring( 0, Token0 );
                fields[1] = database.substring( Token0+1, Token1 );
                fields[2] = database.substring( Token1+1, Token2 );
                fields[3] = database.substring( Token2+1, database.length );

                Total = Total + (fields[1] * fields[0]);
                TOTotal = moneyFormat(Total);

                document.write("<input type=hidden name=\"ID_"+ i +"\" value=\"" + fields[2] + "\">");
                document.write("<input type=hidden name=\"NAME_"+ i +"\" value=\"" + fields[3] + "\">");
                document.write("<input type=hidden name=\"PRICE_"+ i +"\" value=\"" + fields[1] + "\">");
                document.write("<input type=hidden name=\"QUANTITY_"+ i +"\" value=\"" + fields[0] + "\">");
        }
}


//=====================================================================||
//               END NOP Design SmartPost Shopping Cart                ||
//                              V.3.0.1                                ||
//=====================================================================||


	
