//----------------------------------------------------------------------------------------
// PRO KATALOGY:
// pro kazdej katalog by se melo nastavit 
//
//		default nazev pro katalog
//		defCookieName = "catalog"
//
//		cookieName podle id katalogu
//		cookieName = defCookieName + "_" + id_catalog
//
// PRO SHOPY:
// pro kazdej shopitem by se melo nastavit 
//
//		default nazev pro shop
//		defCookieName = "shop"
//
//		cookieName podle id typu zbozi - tohle by se melo provist az pri update cookiny
//		updateCookie(id_shopItem, id_shopItemType)
//----------------------------------------------------------------------------------------

//**************************************************************
function getCookieValue(offset){
	var endstr = document.cookie.indexOf (";", offset);
	if(endstr == -1){
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}
//**************************************************************
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 getCookieValue (j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if(i == 0){
			break;
		}
	}  
	return null;
}
//**************************************************************
function setCookie(name, value){  
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) +  ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
}
//**************************************************************
function deleteCookie(name){  
	var expire = new Date();  
	expire.setTime (expire.getTime() - 1);
	var cval = getCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + expire.toGMTString();
}
//**************************************************************
//update cookiny, netyka se zobrazeni
function updateCookie(cookieValue, cName){
	if(cName || cName!=null){
		cookieName = defCookieName + "_" + cName;
	}
	var currValue = getCookie(cookieName)
	if(currValue == null){
		setCookie(cookieName,cookieValue)
		return cookieValue
	}else{
		//cV == currValue, cV. == |currValue|, 
		if(currValue == cookieValue || currValue.indexOf("|" + cookieValue + "|") != -1){
			return currValue
		}else{
			//cV. == currValue| , cV. == |currValue
			var cookieArray = currValue.split("|");
			if(cookieArray.length>0){
				if((cookieArray[0]==(cookieValue)) || (cookieArray[cookieArray.length-1]==(cookieValue))){
					return currValue
				}
			}
			deleteCookie(cookieName);
			setCookie(cookieName,currValue+"|"+cookieValue,expire);
			return currValue+"|"+cookieValue
		}
   }
}
//**************************************************************
//jestlize jsou v QS itemy i kategorie
function updateCookieFromRequest(cookieValue, cName){
	if(cName || cName!=null){
		cookieName = defCookieName + "_" + cName;
	}
	var currValue = getCookie(cookieName)
	if(currValue != null){
		deleteCookie(cookieName);
    }
	setMaximumItemCount(unescape(cookieValue), cName)
}

function setMaximumItemCount(shopItems, cName){
	var cookieName = defCookieName + "_" + cName;
	var iArray = shopItems.split("|");
	if(iArray.length<6){
		setCookie(cookieName,shopItems)
	}else{
		var newShopItems = new String("");
		for(var i=0;i<4;i++){
			newShopItems += iArray[i] + "|";
		}
		newShopItems += iArray[4];
		document.location = "default.aspx?*shopcompare*&sitype=" + cName + "&items=" + newShopItems
	}
}
//**************************************************************
//jestlize nejsou v QS itemy, ale je kategorie
function getCookieFromRequest(cName){
	cookieName = defCookieName + "_" + cName;
	return getCookie(cookieName)
}
//**************************************************************
//odebrani polozek
function removeCookiePart(cookieValue, cName){
	if(cName || cName!=null){
		cookieName = defCookieName + "_" + cName;
	}
	var currValue = getCookie(cookieName)
	deleteCookie(cookieName);
	if(currValue != null){
		var valArray = currValue.split("|");
		if(valArray.length==1){
			if(valArray[0]==cookieValue){
				document.location = "default.aspx?*shopcompare*&sitype=" + cName
			}
		}else{
			var cValue = "";
			for(var i=0; i<valArray.length;i++){
				if(valArray[i]!=cookieValue){
					cValue += valArray[i] + "|"
				}
			}
			cValue = cValue.substring(0, cValue.length-1);
			document.location = "default.aspx?*shopcompare*&sitype=" + cName + "&items=" + cValue
		}
    }
}
//**************************************************************
function compareItems(item, itemType){
	updateCookie(item, itemType)
	window.open("default.aspx?*shopcompare*&sitype="+itemType,"comparer","scrollbars=yes, width=700, height=450, status=no, noresize")
}

//**************************************************************
//**************************************************************
var expDays 		= 1;
var expire 			= new Date();
var cookieName 		= new String("shop");
var defCookieName	= new String("shop");

expire.setTime(expire.getTime() + (expDays*24*60*60*1000));