// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||
// 
//    "Copyright (C) 2005 TSOrest"
//    "Web-shop v. 0.1" - скрипт для автоматизації інтернет  
//    магазину з використанням кошика замовлень! 
//    Усі права (с) на використання належать  розробнику!
//    Терлецький Орест Степанович
//    mail: tsorest@ukr.net         ICQ # 158564266 
//
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||

function checkForm(thisForm, checkForCreditCard)  {
        bFormError = false;   //ТАК АБО НІ, ДЛЯ ЗБЕРЕЖЕННЯ СТАНУ ПРАВИЛЬНОСТІ ФОРМИ
        strErrorList = "";    //СПИСОК НЕЗАПОВНЕНОГО АБО ПРОПУЩЕНОГО/СПИСОК ПОМИЛОК

        if( thisForm.IMYA.value==''          ) {bFormError = true;  strErrorList += "Ім'я, ";}
        if( thisForm.PRIZVYSHCHE.value==''   ) {bFormError = true;  strErrorList += "Прізвище, ";}
        if( thisForm.ADRES.value==''         ) {bFormError = true;  strErrorList += "Адресу, ";}
        if( thisForm.MISTO.value==''         ) {bFormError = true;  strErrorList += "Місто, ";}
        if( thisForm.OBLAST.value==''        ) {bFormError = true;  strErrorList += "Область, ";}
        if( thisForm.ZIP.value==''           ) {bFormError = true;  strErrorList += "Індекс, ";}
        if( thisForm.TEL_N.value==''         ) {bFormError = true;  strErrorList += "Телефон, ";}
        if( bFormError == true ) {
                alert("Вибачте, але ви не заповнили, або ввели некоректні дані у форму замовлення.\n"
                     +"Будь-ласка, перевірте ці поля: \n\n"
                     +strErrorList
                     +"\n\n");
                return false;
        }
        return needComments();
} //END function checkForm



//---------------------------------------------------------------------||
function CKquantity(checkString) {

        strNewQuantity = "";    // СТРІЧКА ЗАПИСУ КІЛЬКОСТІ ПРЕДМЕТІВ
        count     = 0;          // СТАНДАРТНИЙ ЗАЦИКЛЕНИЙ ЛІЧИЛЬНИК

        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 = "1";
	
        return strNewQuantity;
}


//---------------------------------------------------------------------||
function AddToCart(thisForm) {

        iNumberOrdered = 0;  //Integer КІЛЬКІСТЬ ВЖЕ ЗАМОВЛЕНИХ

        iNumberOrdered = GetCookie("NumberOrdered");
        iNumberOrdered++;

        if ( iNumberOrdered > 15 )
                alert("Вибачте, ваш кошик уже заповнений! Спершу оформіть замовлення на уже вибраний товар.");
        else {
                dbUpdatedOrder = thisForm.QUANTITY.value + "|"
                                 + thisForm.PRICE.value  + "|"
                                 + thisForm.ID_NUM.value + "|"
                                 + thisForm.NAME.value;

                NewOrder = "Order." + iNumberOrdered;
                SetCookie (NewOrder, dbUpdatedOrder, null, "/");
                SetCookie ("NumberOrdered", iNumberOrdered, null, "/");

                notice = thisForm.QUANTITY.value + " "
                         + thisForm.NAME.value
                         + " додано до кошика.";

                alert(notice);
        }
}



//---------------------------------------------------------------------||
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 (date) {
        var base = new Date(0);
        var skew = base.getTime();
        date.setTime (date.getTime() - skew);
}


//---------------------------------------------------------------------||
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 (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 (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(input) {
	if (input=='ціна') {
	  return input
	} 
	else 
	{
        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(RemOrder) {
        if (confirm("Ви впевнені що хочете видалити цей товар з вашого замовлення?")) {
                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, "/");
                location.href=location.href;
        }
}




//---------------------------------------------------------------------||
function GetFromCart() {
        NumberOrdered = 0;
        Total=0;
        TOTotal=0;
	  NEWTotal=0;
	  TOBonus=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 );           // ID
                fields[3] = database.substring( Token2+1, database.length );  // НАЗВА

                SUMMa = fields[1] * fields[0];
		TOSUMMa = moneyFormat(SUMMa);
		Total = Total + (fields[1] * fields[0]);
                TOTotal = moneyFormat(Total);
	Bonus = 0
	if ((TOTotal >= 2000) && (TOTotal < 5000))
		Bonus = (TOTotal/100)*2
	if ((TOTotal >= 5000) && (TOTotal < 10000))
		Bonus = (TOTotal/100)*3
	if (TOTotal >= 10000)
		Bonus = (TOTotal/100)*4
	TOBonus = moneyFormat(Bonus);
	NEWTotal = TOTotal-TOBonus
	
                whattowrite += "<tr><td>" + fields[2] + "</td><td><font size=-1>"
                                + fields[3] + "</font></td><td>" + fields[1]
		+ "<input type=hidden name=\"+=========================================================\" value=\"+        N" + i + "\">"
		+ " Грн.</td>"
                                + "<input type=hidden name=\"      АРТ_N "+ i +"       \" value=\" " + fields[2] + "\">"
                                + "<input type=hidden name=\"      НАЗВА "+ i +"       \" value=\" " + fields[3] + "\">"
                                + "<input type=hidden name=\"      ЦIНА "+ i +"        \" value=\" " + fields[1] + "\">"
		+ "<td><input type=text size=8 name=\"      КIЛЬКIСТЬ "+ i +"   \" value=\" "
                                + fields[0] + "\"></td><td><input type=text size=10 name=\"      SUMM "+ i +"        \" value=\" "
                                + TOSUMMa + "\"></td>"
                                + "<td><input type=button value=\"      Видалити      \" onClick=\"RemoveFromCart("+i+")\"></td>";
        }
// ДАНІ ПІД ТАБЛИЦЮ
        document.write(whattowrite);
        document.write("</td></tr><tr><td colspan=2><b>СУМА:</b></td><td><b>");
        document.write(TOTotal);
        document.write(" Грн.</b></td><td colspan=3>&nbsp;");
	if (TOTotal > 2000) {
        document.write("<b><font color=red>&nbsp;&nbsp;Вам надано знижку: &nbsp;");
        document.write(TOBonus);
        document.write(" Грн. </font></b>");
	}
        document.write("&nbsp;</td><tr><td colspan=4><br><b>Всього до оплати: <font size = 6>&nbsp;&nbsp;");
        document.write(moneyFormat(NEWTotal));
        document.write(" Грн. </font></b></td><td colspan=2 align = right><i>Система знижок:<br>від 2000 грн. до 5000 грн. - 2%<br>від 5000 грн. до 10000 грн. - 3%<br>більше 10000 грн. - 4%</i></td></tr>");

// ВИПИСКА ТІЛЬКИ У ЛИСТ
	document.write("<input type=hidden name=\"+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\" value=\"+\">")
	document.write("<input type=hidden name=\"Всього  \" value=\"  " + TOTotal + "\">")
	document.write("<input type=hidden name=\"+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\" value=\"+\">");
	document.write("<input type=hidden name=\"Do_oplaty\" value=\"" + NEWTotal + "\">")
	document.write("<input type=hidden name=\"+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\" value=\"+\">");

}

//---------------------------------------------------------------------||
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=\"АРТ_N "+ i +"\" value=\"" + fields[2] + "\">");
                document.write("<input type=hidden name=\"НАЗВА "+ i +"\" value=\"" + fields[3] + "\">");
                document.write("<input type=hidden name=\"ЦІНА "+ i +"\" value=\"" + fields[1] + "\">");
                document.write("<input type=hidden name=\"КIЛЬКIСТЬ "+ i +"\" value=\"" + fields[0] + "\">");
        }
}