﻿// Ovládání prezentace vytvořené pomocí inCMS
// (C)2007 Špika David, Inexes

// Inicializační fce po načtení stránky
addEvent(window,'onload','pageInit();');
function pageInit() {
	hoverByClass('tr','hoverIE');
	addEventByClass('input','focusStyle','onfocus','o.className += \' text-focus\';');
	addEventByClass('input','focusStyle','onblur','o.className = o.className.replace(\'text-focus\',\'\');');
	addEventByClass('textarea','focusStyle','onfocus','o.className += \' text-focus\';');
	addEventByClass('textarea','focusStyle','onblur','o.className = o.className.replace(\'text-focus\',\'\');');
	var oldImages = document.getElementsByTagName('img');
	for (var i=0; i<oldImages.length; i++) {
		addEvent(oldImages[i],'onerror','o.parentNode.removeChild(o);');
		}
	}

// Fce na inicializaci hlavního menu (ovládané přes hover) - nahradí chybějící podporu css pseudotřídy li:hover pro IE6 + zruší kursor ruky při href="javascript:void(0)" + přidá šipku (class) u položek obsahujících podpoložky
// parametry: ID nebo menu (menu = <ul>)
function mainMenuInit (obj) {
	if (getObj(obj)) {
		var menu = getObj(obj);
		var childItems = menu.getElementsByTagName('li');
		for (var i=0; i<childItems.length; i++) {
			if (browser.IE6) {
				addEvent(childItems[i],'onmouseover','o.className += \' hover\';');
				addEvent(childItems[i],'onmouseout','o.className = o.className.replace(\' hover\',\'\');');
				}
			if (childItems[i].getElementsByTagName('ul').length > 0) {
				childItems[i].className += ' isParent';
				childItems[i].getElementsByTagName('li')[0].className = 'first';
				}	
			}
		childItems = menu.childNodes;
		for (var i=0; i<childItems.length; i++) {
			if (childItems[i].nodeName.toLowerCase() == 'li' && childItems[i].getElementsByTagName('li').length > 3) { // pouze <li> prvky na 1. úrovni, které obsahují aspoň 4 podpoložky
				if (browser.IE6) {
					addEvent(childItems[i],'onmouseover','hideOverMenuDropdowns(true);');
					addEvent(childItems[i],'onmouseout','hideOverMenuDropdowns(false);');
					}
				}
			}
		var links = menu.getElementsByTagName('a');
		for (var i=0; i<links.length; i++) {
			if (links[i].href == 'javascript:void(0);') setObjStyle(links[i],'cursor','default');
			}
		}
	}

// Fce na inicializaci submenu (ovládané přes onClick) - zabalí všechny položky a rozbalí určenou položku (včetně všech položek v cestě) + přidá šipku (class) u položek obsahujících podpoložky
// parametry: cesta k položce, která se má rozbalit (Array)
function subMenuInit (path) {
	var menuID = 'menuList-' + path[0];
	if (getObj(menuID)) {
		var menu = getObj(menuID);
		var childUL = menu.getElementsByTagName('ul');
		for (var i=0; i<childUL.length; i++) {
			displayObj(childUL[i],false);
			}
		for (var i=1; i<path.length; i++) {
			menuID += '-' + path[i];
			displayObj(menuID,true);
			}
		var childLI = menu.getElementsByTagName('li');
		for (var i=0; i<childLI.length; i++) {
			if (childLI[i].getElementsByTagName('ul').length > 0) {
				childLI[i].className += ' isParent';
				}	
			}
		}
	}	

// Fce na skrytí všech prvků <select>, jejichž className obsahuje "overMenu". Řešení chyby v IE6
// parametry: příznak skrytí/zobrazení
function hideOverMenuDropdowns (hide) {
	var dropdowns = getElementsByClass('select','overMenu');
	for (var i=0; i<dropdowns.length; i++) {
		showObj(dropdowns[i],(hide ? false : true));
		}
	}

// Fce na rozbalení určené položky submenu (ovládané přes onClick)
// parametry: položka na kterou bylo kliknuto; ID seznamu UL, který se má rozbalit
function expandMenuList (item,menuListID) {
	var path = menuListID.split('-');
	for (var i=0; i<path.length-1; i++) path[i] = path[i+1];
	path.length--;
	item.blur();
	subMenuInit(path);
	return false;
	}	

// Fce vrátí cenu jako upravený text
// parametry: cena jako číslo
function priceToString (price) {
	priceInt = Math.floor(price);
	priceFract = price.toString().indexOf('.') == -1 ? '0' : 100 * ('0.' + price.toString().split('.')[1]);
	return priceInt + ',' + (priceFract == '0' ? '&ndash;' : (priceFract < 10) ? ('0' + priceFract) : priceFract);
	}
	
// Fce vrátí zaokrouhlenou cenu na zadaný počet haléřů
// parametry: cena jako číslo, desetinná část na kterou zaokrouhlit (0.01 až 1), způsob zaokrouhlení (0 = matematicky | 1 = dolů)
function roundPrice (price,fract,mode) {
	priceInt = Math.floor(price);
	priceFract = price.toString().indexOf('.') == -1 ? '0' : '0.' + price.toString().split('.')[1]; // desetinná část ceny
	if (mode == 0) {
		for (var i=0; i<2/fract; i++) {
			var downLimit = Math.round(1000*i*fract/2)/1000;
			var upLimit = Math.round(1000*(i+1)*fract/2)/1000;
			if(downLimit<=priceFract && priceFract<upLimit) {
				if (i % 2 == 0) return priceInt + downLimit;
				else return priceInt + upLimit;
				}
			}
		}
	if (mode == 1) {
		for (var i=0; i<1/fract; i++) {
			var downLimit = Math.round(1000*i*fract)/1000;
			var upLimit = Math.round(1000*(i+1)*fract)/1000;
			if(downLimit<=priceFract && priceFract<upLimit) return priceInt + downLimit;
			}
		}
	return null;
	}

// Fce na validaci data
// parametry: formulář. pole (ID nebo prvek)
function validateDate (obj) {
	var o = getObj(obj);
	var date = o.value;
	var dateField = date.split('.');
	var testDate = new Date();
	var ok = true;
	if (dateField.length==3 && dateField[2].length==4) {
		testDate.setFullYear(dateField[2]);
		testDate.setMonth(dateField[1]-1);
		testDate.setDate(dateField[0]);
		if (testDate.getFullYear()!=dateField[2] || testDate.getMonth()!=dateField[1]-1 || testDate.getDate()!=dateField[0])
			ok = false;
		}
	else ok = date != '' ? false : true;
	if (!ok) {
		if (o.className.indexOf('date-error') == -1) o.className += ' date-error';
		alert((o.title!='' ? '"' + o.title + '"' : 'Datum') + ' není ve správném formátu.');
		}
	else o.className = o.className.replace('date-error','');
	}
	
var MyCookie = {
    Write:function(name,value,days) {
        var D = new Date();
        D.setTime(D.getTime()+86400000*days)
        document.cookie = escape(name)+"="+escape(value)+
            ((days == null)?"":(";expires="+D.toGMTString()))
        return (this.Read(name) == value);
    },
    Read:function(name) {
        var EN=escape(name)
        var F=' '+document.cookie+';', S=F.indexOf(' '+EN);
        return S==-1 ? null : unescape(     F.substring(EN=S+EN.length+2,F.indexOf(';',EN))    );
    }
} 
 
function setMenuCookie(value) {	
	setCookie("ShopExpandedMenuItemID", value, '/');	
	}	
		
function setCookie(name, value, path, domain, secure) {	
	expires = new Date ();
	expires.setTime (expires.getTime() + (24 * 60));    
	document.cookie= name + "=" + escape(value) +
	("; expires=" + expires.toGMTString()) +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");     		
	}
	
function showMessageBox(number, commentID) {
	for (var i=0; i<document.getElementsByTagName('div').length; i++) {
		if (document.getElementsByTagName('div').item(i).className.indexOf('messageBox') != -1) {
			var o = document.getElementsByTagName('div').item(i);
			o.innerHTML = '';
			displayObj(o,false);
			}
		}
	var messageBox = getObj('messageBox-' + number);
	displayObj(messageBox,true,'block');
	messageBox.innerHTML = messageBoxHTML;   
	if (getObj('ctl00_MainContent_ctrlComents_tbxTitle')) {
	    getObj('ctl00_MainContent_ctrlComents_tbxTitle').value = (getObj('title-' + number)) ? 'RE: ' + getObj('title-' + number).innerHTML : getObj('ctl00_MainContent_ctrlComents_tbxTitle').value;
	    getObj('ctl00_MainContent_ctrlComents_tbxTitle').focus();
	    getObj('ctl00_MainContent_ctrlComents_tbxTitle').select();
	    }
	if (getObj('ctl00_MainContent_ctrlProperties_ctrlComents_tbxTitle')) {
	    getObj('ctl00_MainContent_ctrlProperties_ctrlComents_tbxTitle').value = (getObj('title-' + number)) ? 'RE: ' + getObj('title-' + number).innerHTML : '';
	    getObj('ctl00_MainContent_ctrlProperties_ctrlComents_tbxTitle').focus();
	    getObj('ctl00_MainContent_ctrlProperties_ctrlComents_tbxTitle').select();
	    }
	if (getObj('ctl00_MainContent_ctrlComents_hfCommentID')) getObj('ctl00_MainContent_ctrlComents_hfCommentID').value = commentID;
	if (getObj('ctl00_MainContent_ctrlProperties_ctrlComents_hfCommentID')) getObj('ctl00_MainContent_ctrlProperties_ctrlComents_hfCommentID').value = commentID;
	if (getObj('ctl00_MainContent_ctrlComents_hfClientID')) getObj('ctl00_MainContent_ctrlComents_hfClientID').value = number;
	if (getObj('ctl00_MainContent_ctrlProperties_ctrlComents_hfClientID')) getObj('ctl00_MainContent_ctrlProperties_ctrlComents_hfClientID').value = number;
}

function showIfChecked(item,target) {
	if (item.checked) getObj(target).style.display = "block";
	else getObj(target).style.display = "none";
}

function SetUniqueRadioButton(nameregex, current)
{
   re = new RegExp(nameregex);
   for(i = 0; i < document.forms[0].elements.length; i++)
   {
      elm = document.forms[0].elements[i]
      if (elm.type == 'radio')
      {
         if (re.test(elm.name))
         {
            elm.checked = false;
         }
      }
   }
   current.checked = true;
}

function SetPayment(index) {
    for (var i=0; i<document.getElementsByTagName('input').length; i++) {       
		if (document.getElementsByTagName('input').item(i).id.indexOf('rptPaymentMethods') != -1) {
		    var obj = document.getElementsByTagName('input').item(i);
		    var bool = index == 0;
		    if (obj.id.indexOf('rptPaymentMethods_ctl00_rbMethod') != -1)
	        {
	            obj.checked = bool;
	            obj.disabled = !bool;
	        }
	        else
	        {
	            obj.checked = !bool;
	            obj.disabled = bool;
	        } 	           
		}
	}			
}