jQuery(document).ready(function()
{
	jQuery("a.categoryLink").bind("click", function()
	{
		if (jQuery(this).hasClass("normal"))
		{
			// jQuery(this).removeClass("normal");
			// jQuery(this).addClass("important");
		}
		else if (jQuery(this).hasClass("important"))
		{
			// jQuery(this).removeClass("important");
			// jQuery(this).addClass("normal");
		}
		else if (jQuery(this).hasClass("collapsed"))
		{
			jQuery(this).removeClass("collapsed");
			jQuery(this).addClass("expanded");
		}
		else if (jQuery(this).hasClass("expanded"))
		{
			jQuery(this).removeClass("expanded");
			jQuery(this).addClass("collapsed");
		}

		jQuery(this).parent().find("ul").slideToggle("fast");

		return false;
	});
});

function sendPage(mailHeadline)
{
	window.location="mailto:\?subject\=" + mailHeadline + "&body=" + mailHeadline + ": " + window.location;
}

function changePageTitle(newTitle)
{
	document.getElementById("pageTitleLink").innerHTML = newTitle;
}

function changeTipLica()
{
	if (document.getElementById("registrationPravnoLice").style.display == "block")
	{
		document.getElementById("registrationPravnoLice").style.display = "none";
		document.getElementById("pravnoLice").value = "false";
	}
	else
	{
		document.getElementById("registrationPravnoLice").style.display = "block";
		document.getElementById("pravnoLice").value = "true";
	}

	return false;
}

function showPravnoLice(tip)
{
	switch (tip)
	{
		case "F":
			document.getElementById("registrationPravnoLice").style.display = "none";

			break;
		case "P":
			document.getElementById("registrationPravnoLice").style.display = "block";

			break;
	}

	return false;
}

function displaySimiliarProduct(productId1)
{
	if (productId1 != null && productId1 != "" && productId1 != "undefined")
	{
		var win = window.open("/php/products/comparePopup.php?productId1="+productId1, "compare_popup", "width=840,height=600,scrollbars=yes,resizable=yes");
		win.focus();
	}
}

function displayRelatedProduct(productUrl)
{
	if (productUrl != "")
	{
		window.open(productUrl, "_self");

		return false;
	}
}

function validateUserRegistration(form, error, error2, error3)
{
	var email = form.email.value.toString();

	if (form.pravnoLice.value == "false")
	{
		if (form.ime.value == "" || form.prezime.value == "" || form.jmbg.value == "" || form.username.value == "" || form.password.value == "" || form.password2.value == "" || email == "" || form.telefon.value == "" || form.adresa.value == "" || form.ptt_broj.value == "" || form.grad.value == "" || form.drzava.value == "")
		{
			alert(error);
			return false;
		}

		if (form.jmbg.value.length != 13)
		{
			alert(error2);
			return false;
		}

		if (form.password.value != form.password2.value)
		{
			alert(error3);
			return false;
		}
	}
	else
	{
		if (form.ime.value == "" || form.prezime.value == "" || form.jmbg.value == "" || form.username.value == "" || form.password.value == "" || form.password2.value == "" || email == "" || form.telefon.value == "" || form.adresa.value == "" || form.ptt_broj.value == "" || form.grad.value == "" || form.drzava.value == "" || form.firma_naziv.value == "" || form.firma_pib.value == "" || form.firma_racun.value == "" || form.firma_mb.value == "" || form.firma_telefon.value == "" || form.firma_adresa.value == "" || form.firma_ptt_broj.value == "" || form.firma_grad.value == "" || form.firma_drzava.value == "")
		{
			alert(error);
			return false;
		}
	}
}

function validateUserLogin(form, error)
{
	if (form.username.value == "" || form.password.value == "")
	{
		alert(error);
		return false;
	}
}

function validateCustomizedFields(formObject){
	var f = formObject;
	var fields = f.childNodes;

	for (var i = 0; i < fields.length; i++)
	{
		if (fields[i].id != null && fields[i].id != "" && fields[i].id != "undefined" && fields[i].id == fields[i].value)
		{
			fields[i].value = '';
		}
	}

	return true;
}

/*function validateUserLogin(loginError)
{
	var f = document.getElementById("formUserLogin");

	if (f.username.value == "" || f.password.value == "")
	{
		alert(loginError);

		return false;
	}

	userLogin(f.username.value, f.password.value, escape(f.goToUrl.value));

	return false;
}*/

function validate_shopping_cart_login(loginError)
{
	var f = document.getElementById("formUserLogin2");

	if (f.username.value == "" || f.password.value == "")
	{
		alert(loginError);

		return false;
	}

	shopping_cart_login();

	return false;
}

function validateFormPasswordRetrieve(loginError)
{
	var f = document.getElementById("formPasswordRetrieve");
	var e = f.email.value.toString();

	if (e == "")
	{
		alert(loginError);

		return false;
	}

	retrievePasswordSend(e);

	return false;
}

function validateRegistrationForm(f, jsalert, jsalert2)
{
	var tip = f.tip_lica.value;
	var email = f.email.value.toString();

	switch (tip)
	{
		case "F":
			if (f.ime.value == "" || f.prezime.value == "" || f.jmbg.value == "" || f.username.value == "" || 
				f.password.value == "" || f.password2.value == "" || email == "" || 
				f.telefon.value == "" || f.adresa.value == "" || f.ptt_broj.value == ""  || 
				f.grad.value == ""  || f.drzava.value == ""){
				alert(jsalert);

				return false;
			}

			if (f.password.value != f.password2.value){
				alert(jsalert2);

				return false;
			}

			break;
		case "P":
			if (f.ime.value == "" || f.prezime.value == "" || f.jmbg.value == "" || f.username.value == "" || 
				f.password.value == "" || email == "" || f.firma_naziv.value == "" || f.firma_pib.value == "" || f.firma_racun.value == "" || f.firma_mb.value == "" || f.firma_telefon.value == "" || f.firma_adresa.value == "" || f.firma_ptt_broj.value == "" || f.firma_grad.value == "" || f.firma_drzava.value == ""){
				
				alert(jsalert);

				return false;
			}

			break;
	}
	return true;
}

function loadLargeImage(largeImage)
{
	if (largeImage != null && largeImage != "" && largeImage != "undefined")
	{
		document.getElementById("lightboxImage").src = largeImage;
	}

	return false;
}

function addToMyFavorites()
{
	if (document.getElementById("formAddToMyFavorites"))
	{
		document.getElementById("formAddToMyFavorites").submit();
	}

	return false;
}


function disableEnterKey(e)
{
	var key;

	if(window.event) key = window.event.keyCode; // IE
	else key = e.which; // firefox

	return (key != 13);
}

// var star_on = new Image();
// star_on.src = "/images/basic/star_on.gif";

// var star_off = new Image();
// star_off.src = "/images/basic/star_off.gif";

function mark(mark)
{
	for (var i = 1; i < mark + 1; i++)
		document.getElementById('mark_img'+i).src = star_on.src;
	for (var i = mark + 1; i < 6; i++) 
		document.getElementById('mark_img'+i).src = star_off.src;
	//document.getElementById('mark').value=mark;
}

document.getElementsByClassName = function(cl)
{
	var retnode = [];
	var elem = this.getElementsByTagName('*');

	for (var i = 0; i < elem.length; i++)
	{
		var classes = elem[i].className;
		if (classes == cl) retnode.push(elem[i]);
	}

	return retnode;
}; 

function changed_payment(value, uplatnica_link, nalog_link)
{
	if (value == "2")
	{
		$("documents").innerHTML=uplatnica_link;
		$("documents").style.display="block";
	}
	else if (value == "3")
	{
		$("documents").innerHTML=nalog_link;
		$("documents").style.display="block";
	}
	else
	{
		$("documents").style.display="none";
		$("documents").innerHTML="";
	}
}

function update_troskovi_isporuke(troskovi_isporuke, euro, tip_placanja)
{
	troskovi_isporuke = parseFloat(troskovi_isporuke);
	euro = parseFloat(euro);
	tip_placanja = parseInt(tip_placanja);
	
	var text = "";

	if (troskovi_isporuke == 0)
	{
		text = "Za po&#154;iljke u vrednosti ve&#263;oj od 500 evra, bez obzira na te&#158;inu isporuka je gratis!";
	}
	else if (tip_placanja != 0)
	{
		if (tip_placanja == 1)
		{
			troskovi_isporuke += 1;
		}

		text = "O&#269;ekivani tro&#154;kovi isporuke: "+format_float(troskovi_isporuke*euro)+" dinara.";
	}

	$("troskovi_isporuke_td").innerHTML = text;
}

function format_float(number)
{
	var str_number = number.toFixed(2);
	var decimal = str_number.substr(str_number.indexOf(".") + 1);
	var integer = Math.floor(str_number);

	if (integer > 0)
	{
		str_number = "";

		while (integer > 1000)
		{
			var rest = "" + integer %1000;
			while (rest.length < 3)
				rest = "0" + rest;
			str_number = "." + rest + str_number;
			integer = Math.floor(integer / 1000);
			
		}

		if (integer > 0)
			str_number = integer + str_number;
	}
	else
	{
		str_number = "0";
	}

	return str_number + "," + decimal;
}

function clearForm(form)
{
	for (var i = 0; i < form.elements.length; i++)
	{
		if ( form.elements[i].type == "text" || form.elements[i].type == "password" || form.elements[i].type == "textarea")
		{
			if (form.elements[i].name == "productTitle")
			{
				form.elements[i].value = "Naziv proizvoda ...";
			}
			else
			{
				form.elements[i].value = "";
			}
		}
		else if (form.elements[i].type == "select-one")
		{
			form.elements[i].selectedIndex = 0;
		}
	}
}

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;
}

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 imagePopup(imageSrc, productId, popupType)
{
	if (imageSrc.indexOf("www.youtube.com") > -1)
	{
		imageSrc = escape(imageSrc);
	}

	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	var objOverlay = document.getElementById("overlay");
	objOverlay.onclick = function() { hideLightbox(); return false; }
	objOverlay.style.display = 'block';
	objOverlay.style.position = 'absolute';
	objOverlay.style.top = '0';
	objOverlay.style.left = '0';
	objOverlay.style.zIndex = '90';
 	objOverlay.style.width = '100%';
 	objOverlay.style.height = arrayPageSize[1] + 'px';

	var objLightbox = document.getElementById("lightbox");
	objLightbox.style.position = 'absolute';
	objLightbox.style.zIndex = '100';

	// preload image
	imgPreload = new Image();
	imgPreload.onload = function()
	{
		// center lightbox and make sure that the top and left values are not negative
		// and the image placed outside the viewport

		var width = imgPreload.width;
		var height = imgPreload.height;

		if (width < 400)
		{
			width = 400;
		}

		if (height < 300)
		{
			height = 300;
		}
		
		switch (popupType)
		{
			case "galleryPopup":
				var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 400 - height) / 2); // bilo 35
				var lightboxLeft = ((arrayPageSize[0] - 170 - width) / 2);
				break;
			case "advancedSearch":
				var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 400 - height) / 2); // bilo 35
				var lightboxLeft = ((arrayPageSize[0] - 50 - width) / 2);
				break;
			case "imageLarge":
				var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 400 - height) / 2); // bilo 35
				var lightboxLeft = ((arrayPageSize[0] - 50 - width) / 2);
				break;
			case "shoppingCart":
			case "shoppingCartHistory":
				var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 300 - height) / 2); // bilo 35
				var lightboxLeft = ((arrayPageSize[0] - 230 - width) / 2);
				break;
		}

		objLightbox.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";
		objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";

		// Hide select boxes as they will 'peek' through the image in IE
		selects = document.getElementsByTagName("select");

		for (i = 0; i != selects.length; i++)
		{
			selects[i].style.visibility = "hidden";
        }

		objLightbox.style.display = 'block';

		// After image is loaded, update the overlay height as the new image might have
		// increased the overall page height.
		arrayPageSize = getPageSize();
		objOverlay.style.height = (arrayPageSize[1] + 'px');

		switch (popupType)
		{
			case "galleryPopup":
				// ***** ajax gallery popup ***** //
				galleryPopup(productId, imageSrc);
				// ***** /ajax gallery popup ***** //

				break;
			case "advancedSearch":
				// ***** ajax advanced search popup ***** //
				advancedSearchPopup();
				// ***** /ajax advanced search popup ***** //

				break;
			case "imageLarge":
				// ***** ajax advanced search popup ***** //
				imageLarge(imageSrc, productId);
				// ***** /ajax advanced search popup ***** //

				break;
			case "shoppingCart":
				// ***** ajax shopping cart popup ***** //
				if (productId.indexOf("|") > -1)
				{
					var temp = productId.split("|");
					shoppingCartPopup(temp[0], temp[1], temp[2]);
				}
				else
				{
					shoppingCartPopup(productId);
				}
				// ***** /ajax shopping cart popup ***** //

				break;
			case "shoppingCartHistory":
				shoppingCartHistory();
				break;
		}

		window.setTimeout("imgPreload.src = null", 100);

		return false;
	}

	if (imageSrc.indexOf("www.youtube.com") > -1)
	{
		imgPreload.src = "/images/basic/blank.gif";
	}
	else
	{
		imageSrc = (imageSrc == "")? "/images/basic/blank.gif" : imageSrc;
		imgPreload.src = imageSrc;
	}

	return false;
}

function hideLightbox()
{
	// get objects
	objOverlay = document.getElementById('overlay');
	objLightbox = document.getElementById('lightbox');

	// hide lightbox and overlay
	objOverlay.style.display = 'none';
	objLightbox.style.display = 'none';

	// make select boxes visible
	selects = document.getElementsByTagName("select");

	for (i = 0; i != selects.length; i++)
	{
		selects[i].style.visibility = "visible";
	}

	// disable keypress listener
	document.onkeypress = '';

	window.clearTimeout();
}

function printConfigurator()
{
	var components = "";
	var amounts = "";
	
	for (var k = 0; k < 26; k++)
	{
		if (document.getElementById("komponenta_"+k))
		{
			var komponenta = document.getElementById("komponenta_"+k);
			components += komponenta.value + "|";
		}

		if (document.getElementById("kol_"+k))
		{
			var kolicina = document.getElementById("kol_"+k);
			amounts += kolicina.value + "|";
		}
	}

	if (components.length > 0)
	{
		components = components.substring(0, components.length - 1);	
	}

	if (amounts.length > 0)
	{
		amounts = amounts.substring(0, amounts.length - 1);
	}

	window.open("/php/configurator/templatePrint.php?components="+components+"&amounts="+amounts, "_blank", "width=640, height=480, scrollbars=yes, toolbars=yes, menubar=yes");

	return false;
}

function displayAllCategories(ulId)
{
	if (document.getElementById("categoryId"+ulId))
	{
		var ul = document.getElementById("categoryId"+ulId);
		var expansionMark = document.getElementById("expansionMark"+ulId);

		displaySubcategories(ul.childNodes);
		expansionMark.innerHTML = (expansionMark.innerHTML == "(+)")? "(-)" : "(+)";
	}

	return false;
}

function displaySubcategories(lis)
{
	if (lis.length > 0)
	{
		for (var l = 0; l < lis.length; l++)
		{
			var li = lis[l];
			
			if (li.nodeType != 1) continue;

			var className = li.className;

			if (className == "hidden")
			{
				li.className = "shown";
			}

			if (className == "shown")
			{
				li.className = "hidden";
			}

			if (li.getElementsByTagName("ul").length > 0)
			{
				var ulList = li.getElementsByTagName("ul");

				for (var i = 0; i < ulList.length; i++)
				{
					var newLis = ulList.item(i).childNodes;
					displaySubcategories(newLis);
				}
			}
		}
	}
}