// JavaScript Document
// OPIS DATOTEKE: javascript funkcije, ki so potrebne za spletno trgovino

// FUNKCIJA: definiranje ajax objekta
var shop_ajax_object=null;
var shop_ajax_object2=null;
function shop_new_ajax_object(){
	if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else {
		return null;
	}
}

var shop_info_id = "shop_info";
var shop_add_to_cart_button_id = "shop_add_to_cart_button";

// FUNKCIJA: na server pošlje AJAX zahtevek po ceni za izbrano velikost in barvo - ista funkcija, kot za dodajanje v košarico, samo flag je "request_data_only"
function shop_get_price() {
	// nastavi privzete vrednosti za optional spremenljivke
	if(getElement("shop_item_no")) { var item_no = getElement("shop_item_no").value; } else { var item_no = ""; }
	if(getElement("shop_colors")) { var color_no = getElement("shop_colors").value; } else { var color_no = ""; }
	if(getElement("shop_sizes")) { var size_no = getElement("shop_sizes").value; } else { var size_no = ""; }
	if(getElement("shop_quantity")) { var quantity = getElement("shop_quantity").value; } else { var quantity = ""; }

	shop_ajax_object2 = shop_new_ajax_object();
	if (shop_ajax_object2!=null) {
		shop_ajax_object2.open("GET", encodeURI($root_adress+$root_prefix+"core/shop_add_to_cart.php?item_no="+item_no+"&color_no="+color_no+"&size_no="+size_no+"&quantity="+quantity+"&flag=request_data_only"), true);
		shop_ajax_object2.send(null);
		shop_ajax_object2.onreadystatechange = shop_get_price_response;
	}
}

// FUNKCIJA: od serverja prevzame informacijo o ceni in jo prepiše v ustrezno polje
function shop_get_price_response() {
	if(shop_ajax_object2.readyState == 4) {
		// sem daj kodo, ki se naj zgodi ob prejetju odgovora
		// alert(shop_ajax_object2.responseText);
		// popravi ceno na zaslonu
		if(getElement("shop_price_price")) {
			getElement("shop_price_price").innerHTML = shop_ajax_object2.responseText.split('	')[9];
		}

		if(getElement("shop_price_price_crossed")) {
			getElement("shop_price_price_crossed").innerHTML = shop_ajax_object2.responseText.split('	')[15];
			if(shop_ajax_object2.responseText.split('	')[15]=='') {
				getElement('shop_price_label_crossed').style.visibility = 'hidden';
			} else {
				getElement('shop_price_label_crossed').style.visibility = 'visible';
			}
		}

		// popravi besedilo gumba dodaj v košarico
		if(getElement(shop_add_to_cart_button_id)) {
			if(shop_ajax_object2.responseText.split('	')[6]==0) {
				// izdelek v izbrani velikosti in barvi še ne obstaja v košarici
				getElement(shop_add_to_cart_button_id).innerHTML = $str_shop_add_to_cart;
				getElement("shop_quantity").value = 1;
				getElement(shop_info_id).innerHTML = "&nbsp;";
				if(getElement("shop_remove_from_cart")) { getElement("shop_remove_from_cart").style.display = "none"; }
			} else {
				getElement(shop_add_to_cart_button_id).innerHTML = $str_shop_cart_change_quantity;
				getElement("shop_quantity").value = shop_ajax_object2.responseText.split('	')[7];
				getElement(shop_info_id).innerHTML = $str_shop_item_already_in_cart;
				if(getElement("shop_remove_from_cart")) { getElement("shop_remove_from_cart").style.display = ""; }
			}
		}
	}
}



// FUNKCIJA: na server pošlje AJAX zahtevek po dodajanju v košarico
function shop_cart_add(item_no, color_no, size_no, quantity, flag, text_1) {
	// flag je lahko naslednji:
	// 		"add" (default), če naj se količina prišteje obstoječi
	//		"replace", če naj količina zamenja obstoječo
	// 		"force_add", če naj se količina prišteje obstoječi tudi če kontrole ne štimajo
	//		"force_replace", če naj količina zamenja obstoječo, tudi če kontrole ne štimajo
	//		"ignore", če izdelek že obstaja v košarici, pa ga ne želimo nadomestiti (praviloma dobimo odgovor, da izdelek že obstaja)

	// nastavi privzete vrednosti za optional spremenljivke
	if(color_no===undefined) { color_no = ""; }
	if(size_no===undefined) { size_no = ""; }
	if(quantity===undefined) { quantity = 1; }
	if(flag===undefined) { flag = "replace"; }
	if(text_1===undefined) { text_1 = ""; }
	
	// alert(item_no+", "+color_no+", "+size_no+", "+quantity+", "+flag);
	
	// definiraj ajax objekt
	shop_ajax_object = shop_new_ajax_object();
	if (shop_ajax_object!=null) {
		shop_ajax_object.open("GET", encodeURI($root_adress+$root_prefix+"core/shop_add_to_cart.php?item_no="+item_no+"&color_no="+color_no+"&size_no="+size_no+"&quantity="+quantity+"&flag="+flag+"&text_1="+text_1), true);
		shop_ajax_object.send(null);
		shop_ajax_object.onreadystatechange = shop_cart_add_response;
	}
}

// FUNKCIJA: od serverja prevzame informacijo o dodajanju izdelka v košarico
function shop_cart_add_response() {
	if(shop_ajax_object.readyState == 4) {
		// alert(shop_ajax_object.responseText);
		// sem daj kodo, ki se naj zgodi ob prejetju odgovora
		// alert(shop_ajax_object.responseText.split('	')[0].length);
		if(shop_ajax_object.responseText.split('	')[0]=="ok" || shop_ajax_object.responseText.split('	')[0]=="  ok") {
			// zapiši v statusno polje, kaj se je zgodilo
			if(getElement(shop_info_id)) {
				if(shop_ajax_object.responseText.split('	')[6]!="0") {
					// izdelek je bil dodan v košarico - obvestilo z linkom za odstranitev
					getElement(shop_info_id).innerHTML = shop_ajax_object.responseText.split('	')[2];
					getElement(shop_add_to_cart_button_id).innerHTML = $str_shop_cart_change_quantity;
					if(getElement("shop_remove_from_cart")) { getElement("shop_remove_from_cart").style.display = ""; }
				} else {
					// izdelek je bil odstranjen iz košarice - obvestilo brez linka za odstranitev
					getElement(shop_info_id).innerHTML = shop_ajax_object.responseText.split('	')[2];
					getElement(shop_add_to_cart_button_id).innerHTML = $str_shop_add_to_cart;
					if(getElement("shop_remove_from_cart")) { getElement("shop_remove_from_cart").style.display = "none"; }
				}
				shop_flicker(shop_info_id);
			}
			// posodobi košarico
			if(getElement("shop_cart_lite_data")) {
				getElement("shop_cart_lite_data").innerHTML = $str_shop_cart_total+': <strong>'+shop_ajax_object.responseText.split('	')[11]+' '+$gl_currency_symbol+'</strong>&nbsp; &nbsp;'+$str_shop_cart_total_quantity+': <strong>'+shop_ajax_object.responseText.split('	')[10]+'</strong>';
			}
		} else if(shop_ajax_object.responseText.split('	')[0]=="ok_replaced") {
			// preusmeri v košarico
			document.location = '_page.php?view=shop_cart';
		} else {
			if(getElement(shop_info_id)) {
				getElement(shop_info_id).innerHTML = shop_ajax_object.responseText.split('	')[2];
				shop_flicker(shop_info_id);
			}
		}		
	}
}


// FUNKCIJE za utripanje. Najprej stvar npr. 1 sekundo utripa, potem je prikazana še npr. 5 sekund, potem pa izgine
var shop_flicker_interval = 75; // na koliko časa naj utripne? (milisekunde)
var shop_flicker_iterations = 10; // koliko časa naj utripa? (milisekunde)
var shop_flicker_iterations_left, shop_flicker_objekt, shop_flicker_timeout_id, shop_flicker_interval_id; 

function shop_flicker(object_id) {
	// počisti prejšnji interval, če obstaja, in naredi objekt viden
	if(shop_flicker_interval_id) { clearInterval(shop_flicker_interval_id); }
	if(shop_flicker_objekt) { shop_flicker_objekt.style.visibility="visible"; }
	shop_flicker_iterations_left = 0; // 

	// ugotovi novi objekt za utripanje in nastavi timeout in interval
	shop_flicker_objekt = getElement(object_id);
	shop_flicker_interval_id = setInterval("shop_flicker_interval_function()", shop_flicker_interval);
	// na novo določi število preostalih iteracij
	shop_flicker_iterations_left = shop_flicker_iterations; // 
}

function shop_flicker_interval_function() {
	shop_flicker_iterations_left--;
	if(shop_flicker_iterations_left>=0) {
		if(shop_flicker_objekt.style.visibility=="hidden") {
			shop_flicker_objekt.style.visibility="visible";
		} else {
			shop_flicker_objekt.style.visibility="hidden";
		}
	} else {
		if(shop_flicker_interval_id) { clearInterval(shop_flicker_interval_id); }
		shop_flicker_objekt.style.visibility="visible";
	}
}

















/*
var last_kosarica_info_id = null;
function v_kosarico(izdelek, kolicina, color, size, color_mandatory, size_mandatory, orderable, kosarica_info_id) {
	if(color_mandatory===undefined) { color_mandatory = false; }
	if(size_mandatory===undefined) { size_mandatory = false; }
	if(orderable===undefined) { orderable = true; }
	if(kosarica_info_id===undefined) { kosarica_info_id = "kosarica_info"; } // to je id elementa, kjer se pokaže obvestilo o dodajanju
	
	// alert(izdelek+" "+kolicina+" "+color+" "+size+" "+color_mandatory+" "+size_mandatory+" "+orderable+" "+kosarica_info_id);
	
	if(flicker_on) {
		// dokler se izvaja flicker, se ne da dodati izdelka v košarico - da preprečimo dvojno dodajanje z dvojnim klikom
		return false;
	}
	
	if(color_mandatory && color=="") { 
		alert("Prosimo, izberite barvo!"); 
		return false;
	}

	if(size_mandatory && size=="") { 
		alert("Prosimo, izberite velikost oz. model!"); 
		return false;
	}
	
	if(!orderable) {
		alert("Izdelka ni mogoče naročiti. Prosimo, izberite eno od ponujenih različic izdelka.");
		return false;
	}
	
	// preveri, ali uporabnik zamenjuje izdelek, ki je že v košarici
	var shop_pos_replace_id = getCookie("shop_pos_replace_id");
	var shop_pos_replace_item = getCookie("shop_pos_replace_item");
	var shop_pos_replace_naziv = getCookie("shop_pos_replace_naziv");
	if(shop_pos_replace_id!=null) {
		if(!confirm("POZOR: izdelek, ki ga dodajate v košarico, bo v košarici zamenjal izdelek " + shop_pos_replace_naziv + ".\n\nČe želite v košarici zadržati izdelek " + shop_pos_replace_naziv + ", izberite Prekliči (Cancel).")) {
			// cookie se pobriše, izdelek pa se kljub temu doda v košarico.
			deleteCookie('shop_pos_replace_item'); 
			deleteCookie('shop_pos_replace_id'); 
			deleteCookie('shop_pos_replace_naziv'); 
		}
	}
	
	// dodaj v košarico
	getElement("shop_cart_lite").src = encodeURI("__shop_add_to_cart.php?izdelek="+izdelek+"&kolicina="+kolicina+"&color="+color+"&size="+size);
	
	// prikaži informacijo o uspešnem dodajanju v košarico
	getElement(kosarica_info_id).innerHTML = "Izdelek ste uspešno dodali v <a href='_shop_cart.php'>košarico</a>.";
	getElement(kosarica_info_id).style.visibility="visible";
	getElement(kosarica_info_id).style.filter = "";
	getElement(kosarica_info_id).style.opacity = "";
	getElement(kosarica_info_id).style.mozOpacity = "";

	
	// utripanje
	flicker_on = true;
	flicker_timeout_id = setTimeout("flicker_on=false;", 1000) // nastavi trajanje utripanja
	flicker_interval_id = setInterval("flicker(getElement('"+kosarica_info_id+"'))", 100) // nastavi ritem utripanja
	
	if(kosarica_info_id==last_kosarica_info_id) {
		// dodan je bil isti izdelek, prekliči interval preden nastaviš novega
		clearInterval(visible_timeout_id);
	} 
	visible_timeout_id = setTimeout("fade_out(getElement('"+kosarica_info_id+"'), 1200);", 6000); // nastavi, kako dolgo kdaj naj bo obvestilo vidno (od začetka po utripanja)

	last_kosarica_info_id = kosarica_info_id; // sa si zapomni, kateri kosarica_info_id je bil zadnji
}

*/