/*--------------------------------------------------.
|  Inicializace                                     |
`--------------------------------------------------*/

// inicializace ikon v kosiku a kose pro ikony
function init(){
    Shadowbox.init();	// pouzivam shadowbox
}

/*
function checkSteps(){
    // jsou jiz vybrany ikony?
    if ($("kosik_s_ikonami_ikony").getElementsByClassName("icon").length == 0){
		$("vyber_ikony").className = 'vyber_ikony_vybrano';
    }
}
*/

// vola se po vyberu "Rozvrzeni" 
// (kontrola, jestli je vybran nejaky textil a ikony)
function templateChooserCheck(strings){
    // jsou jiz vybrany ikony?
    if ($("kosik_s_ikonami_ikony").getElementsByClassName("icon").length == 0){
	alert(strings[0]);
	return false;
    }

    // je jiz vybran textil?
    if ($("kosik_s_textilem_textil").descendants().length == 0){
	alert(strings[1]);
	return false;
    }
    return true;
}

// vola se po vyberu "Umisteni"
// (kontrola, jestli jsou vybrany ikony, textil a sablona)
function placementChooserCheck(strings){
    // jsou jiz vybrany ikony?
    if ($("kosik_s_ikonami_ikony").getElementsByClassName("icon").length == 0){
	alert(strings[0]);
	return false;
    }

    // je jiz vybran textil?
    if ($("kosik_s_textilem_textil").descendants().length == 0){
	alert(strings[1]);
	return false;
    }

    if ($("kosik_s_textilem_sablona").descendants().length == 0){
	alert(strings[2]);
	return false;
    }
    return true;
}

// upusteni ikony z kosiku nad trashem
function onIconTrashDrop(icon, trash){
    $("cart_indicator").show();
    var opt = {
	method : "get",
	asynchronous : true,
	onSuccess : function(t){ $("cart_indicator").hide(); },
	onFailure : function(t){ ajax_error(t.status, t.statusText); }
    };
    new Ajax.Request(s_add2trash + "?action=icon2trash&id=" + new DivElement(icon).getAttribute("id"), opt);
    icon.remove();
    
    //var smileys_file = changeIconsSmileysFile( $("kosik_s_ikonami_ikony").getElementsByClassName("icon").length );
    //document.getElementById('smileys_ikony').src = smileys_file;
}

//nastavi obrazek smajliku
function changeIconsSmileysFile(active_icons){
    
    var smileys_rullez = new Array('verybad', 'neutral', 'good', 'verygood');
    var smileys_file = '';
    
    if(Number(active_icons)<smileys_rullez.length){
	smileys_file = '/images/smileys/' + (smileys_rullez[active_icons]) + '.gif';
    }else{
	smileys_file = '/images/smileys/' + (smileys_rullez[3]) + '.gif';
    }
    
    return smileys_file;
}

function changeTextilSmileysFile(active_textil){
    
    var smileys_rullez = new Array('verybad', 'good', 'verygood');
    var smileys_file = '';
    
    if(Number(active_textil)<smileys_rullez.length){
	smileys_file = '/images/smileys/' + (smileys_rullez[active_textil]) + '.gif';
    }else{
	smileys_file = '/images/smileys/' + (smileys_rullez[2]) + '.gif';
    }
    
    return smileys_file;
}


// vyprazdni vybrany textil
function onTextilTrash(kazoostep, str){
    if (kazoostep && kazoostep == 'umisteni'){
	alert(str);
	return;
    }

    $("cart_textil_indicator").show();
    var opt = {
	method : "get",
	asynchronous : true,
	onSuccess : function(t){ $("cart_textil_indicator").hide(); $("textil2trash_a").hide() },
	onFailure : function(t){ ajax_error(t.status, t.statusText); }
    };
    new Ajax.Request(s_add2trash + "?action=textil2trash", opt);
    $A($("kosik_s_textilem_textil").getElementsByClassName("textil")).invoke("remove");
}

/*--------------------------------------------------.
|  Pridavani a odebirani ikonek a textilu z kosiku  |
`--------------------------------------------------*/

// prida ikonu do kosiku
function add2cart(id, foto){
    
    $("cart_indicator").show();
    $("next_button").className = 'next';
	// mame vybrany ikony i textil - tlacitko next smeruje na sablony.html
	if ($("kosik_s_ikonami_ikony").getElementsByClassName("icon").length == 0){
		if ($("kosik_s_textilem_textil").descendants().length != 0){
			$("next_button").href = '/sablony.html';
	    }
	    // jsme v ikonach ale nemame textil, takze dalsi stranka musi byt textil
	    else {
			$("next_button").href = '/textil.html';
	    }
	}
	
	var opt = {
	method : "get",
	asynchronous : true,
	onSuccess : handleCartIcons,
	onFailure : function(t){ ajax_error(t.status, t.statusText); }
    };
    new Ajax.Request(s_add2cart + "?action=add2cart&id=" + id, opt);
    
}

// prida textil do kosiku
function add2cartTextil(id, nazev, strings){
    // pokud v kosiku jiz textil je, tak na to upozornim
    if ($("kosik_s_textilem_textil").descendants().length != 0){
	//alert("Lze mít maximálně jeden vybraný textil.\nPokud chcete jiný, nejprve musíte křížkem odstranit původní.");
	//return;
	var c = confirm(strings[0]);//"Opravdu si prejete zmenit material?"
	if(c==true){
	    onTextilTrash();	
	}else{
	    return
	}
	
    }

    /* OMEZENI: pokud v kosiku nejsou ikony, tak nelze vybrat textil */
    //if ($A($("kosik_s_ikonami_ikony").getElementsByClassName("icon")).length){
	$("cart_textil_indicator").show();
	$("next_button").className = 'next';
	
	// mame vybrany ikony i textil - tlacitko next smeruje na sablony.html
	if ($("kosik_s_ikonami_ikony").getElementsByClassName("icon").length != 0 && $("kosik_s_textilem_textil").descendants().length == 0){
		$("next_button").href = '/sablony.html';
    }
    // jsme v textilu ale nemame ikony, takze dalsi stranka musi byt ikony
    else {
		$("next_button").href = '/ikony.html';
    }
	var opt = {
	    method : "get",
	    asynchronous : true,
	    onSuccess : function(t) {
			handleCartTextil(t);
			//location.replace('/textil.html');
		},
	    onFailure : function(t){ ajax_error(t.status, t.statusText); }
	};
	new Ajax.Request(s_add2cart + "?action=add2cartTextil&id=" + id, opt);

    //} else {
	// v kosiku s ikonami nic neni
	//alert(strings[1]);//"Nejprve je třeba vybrat ikony."
    //}
}

// pouziva se jenom v editaci jiz hotoveho textilu jako pomocna funkce pro nastaveni textilu v kosiku
// @private
function add2cartTextilUnsafe(id){
    onTextilTrash();
    var opt = {
	method : "get",
	asynchronous : true,
	onSuccess : handleCartTextil,
	onFailure : function(t){ ajax_error(t.status, t.statusText); }
    };
    new Ajax.Request(s_add2cart + "?action=add2cartTextil&id=" + id, opt);
}

// server vraci info o pridanem textilu
function handleCartTextil(t){
    var xmlroot = t.responseXML.documentElement;
    showTextilInCart($A(xmlroot.getElementsByTagName("textil")));
    // smaze sablonu, pokud nejaka byla vybrana
    (new DivElement($("kosik_s_textilem_sablona"))).removeChildren();
}

// server vraci informaci o pridane ikone
function handleCartIcons(t){
    var xmlroot = t.responseXML.documentElement;
    showIconsInCart($A(xmlroot.getElementsByTagName("icon")));
}

// zobrazeni nove ikony v kosiku
// a upravi hodnotu "pocet polozek"
function showIconsInCart(icons){
    var kosik = $("kosik_s_ikonami_ikony");

    icons.each(function(i){
	var icon = new Icon(i);
	icon.setStyle({cssFloat: "left", backgroundColor: 'white'});
	icon.show(kosik);
	icon.makeDraggable();
    });
    
    $("cart_indicator").hide();
    
    //var smileys_file = changeIconsSmileysFile( $A(kosik.getElementsByClassName("icon")).length );
    //document.getElementById('smileys_ikony').src = smileys_file;
}

// zobrazi pridane textilie v kosiku
function showTextilInCart(textil){
    var kosik = $("kosik_s_textilem_textil");
    textil.each(function(t){
	var tex = $(document.createElement("div"));
	tex.addClassName("textil");
	tex.addClassName("in_basket");

	//!//ZMENA: pridana fotka
	var teximg = $(document.createElement("img"));
	teximg.src = "/foto/katalog/" + t.getAttribute("foto");
	teximg.style.width = t.getAttribute("foto_w");
	teximg.style.height = t.getAttribute("foto_h");
	teximg.style.margin = "0";
	teximg.style.paddingRight = "8px";
	teximg.setAttribute("align", "left");
	tex.appendChild(teximg);

	tex.appendChild(document.createTextNode(t.getAttribute("title")));
	kosik.appendChild(tex);
    });
    // zobrazi krizek pro odstraneni vybraneho textilu z kosiku
    if (textil.length){
	$("textil2trash_a").show();
    }
    $("cart_textil_indicator").hide();
}

// smaze kompletni vyber z kosiku podle jeho poradoveho cisla
function deleteCompleteTextil(number){
    //!//TODO: zapnout indikator
    var opt = {
	method : "get",
	asynchronous : true,
	onSuccess : function(t){ },
	onFailure : function(t){ ajax_error(t.status, t.statusText); }
    };
    new Ajax.Request(s_add2trash + "?action=ct2trash&number=" + number, opt);

    // odstranim polozku z DOM
//    $("full_choose").getElementsByClassName("full_choose_item").each(function(i){
    $A($("full_choose").select(".inner")[0].select(".full_choose_item")).each(function(i){
	if (i.hasClassName(number))
	    i.remove();
    });
    
    //zmena smileys
    //var smileys_file = changeTextilSmileysFile($("full_choose").getElementsByClassName("full_choose_item").length);
    //document.getElementById('smileys_textil').src = smileys_file;
    
    // pokud kosiku nic neni, skryju tlacitko pro objednani zbozi
    if (parseInt($("full_choose_pocet").innerHTML) == 0)
	$("objednat_btn").hide();
    
    
    if(document.getElementById('full_choose_details')){
//    	$("full_choose_details").getElementsByClassName("full_choose_item").each(function(i){
    	$(document.body).select(".full_choose_item").each(function(i){
	    if (i.hasClassName(number))
		i.remove();
	});
	window.location.reload();
//	window.location = '/kosik_detail.html';
    }
}

/**
 * Prida sablonu do kosiku.
 *
 * @param object div HTML div element sablony
 * @param int id idecko sablony
 */
function template_into_basket(div, id){
    //!//TODO: poslat serveru idecko vybrane sablony
    var opt = {
	method: "get",
	asynchronous: true,
	onSuccess: function(t){
	    (new DivElement($("kosik_s_textilem_sablona"))).setId(id);
	    //$("template_arrow").show();
	    var offs = $(div).cumulativeOffset();
	    location.replace('/umisteni.html');
	    //new Effect.Move($("template_arrow"), {x: offs.left , y: offs.top, mode: 'absolute'});
	},
	onFailure: function(t){ ajax_error(t.status, t.statusText); }
    };
    new Ajax.Request(s_add2cart + "?action=add2cartTemplate&id=" + id, opt);
}

/*--------------------------------------------------.
|						    |
|  POMOCNE FUNKCE                                   |
|						    |
`--------------------------------------------------*/


function ziskajNedostupnePary(someColor, destClass, sourceField, destField){

    var color_div = document.getElementById('color_palette');
    var color_div_buttony = color_div.getElementsByTagName("button");
    for(var i =0; i<color_div_buttony.length; i++){ 
    	//color_div_buttony[i].style.border = '';
    	color_div_buttony[i].style.display = 'block';
    	color_div_buttony[i].style.width = '18px';
    	color_div_buttony[i].style.height = '18px';
    }
    
    var opt = {
	method: "get",
	asynchronous: false,
	onSuccess: oznacNedostupnePary,
	onFailure: function(t){ ajax_error(t.status, t.statusText); }
    };
    new Ajax.Request('/scripts/ajax_ziskaj_pary.php?destclass=' + destClass + '&color=' + someColor + '&s=' + sourceField + '&d=' + destField, opt);
    
}

function oznacNedostupnePary(t){
    var xmlroot = t.responseXML.documentElement;
    $A(xmlroot.getElementsByTagName("nedostupne")).each(function(t){
    	
    	var ch = document.getElementsByClassName(t.getAttribute('className'));
    	ch[0].style.display = 'none';
    	ch[0].style.width = '9px';
    	ch[0].style.height = '9px';
    });
}

