onDomReady(init);

function init() {
  render_h2();
  render_corner();
  //render_tab();
  
  //imgSwitch.init();
  stripeTableByClass('strip');
};
function onDomReady(f){
  var a = onDomReady, b = navigator.userAgent, d = document, w = window, c="onDomReady", e = "addEventListener", o = "opera", r = "readyState", s = "<scr".concat("ipt defer src='//:' on",r,"change='if(this.",r," == \"complete\"){this.parentNode.removeChild(this);",c,".",c,"()}'></scr","ipt>");
  a[c] = (function(o){return function(){a[c] = function(){}; for(a=arguments.callee;!a.done; a.done = 1) f(o ? o() : o)}}) (a[c]);
  if(d[e])d[e]("DOMContentLoaded",a[c],false);
  if(/WebKit|Khtml/i.test(b)||(w[o]&&parseInt(w[o].version())<9)) (function(){/loaded|complete/.test(d[r])?a[c]() : setTimeout(arguments.callee,1)})();
  else if(/MSIE/i.test(b))d.write(s);
};
function getObj(id) {
  var obj = document.getElementById ? document.getElementById(id) : document.all[id];  
  return obj;
};

/* detail produktu: zmena nahledu
----------------------------------- */
var imgSwitch = {
	link: [],
  
	init: function () {
		var box = getObj('photo-set');
		if(!box) {
			return
		};
		var l = box.getElementsByTagName('a');    
		this.photo = l[0].getElementsByTagName('img')[0];
		// zaktivni privni nahled
		box.getElementsByTagName('a')[1].getElementsByTagName('img')[0].className = 'active';
		for (var i = 1, c = l.length; i < c; i++) {
			if ('exemplificative' != l[i].getAttribute('id')) {
				l[i].onclick = function() {
					this.blur();
					// zvyrazni aktivni nahled
					imgSwitch.cleanup();
					this.getElementsByTagName('img')[0].className = 'active';
					// nahrad obrazek    
					imgSwitch.load(this);
					return false;
				};
				this.link.push(l[i]);
			}
		}
	},


  load: function (obj) {     
    // docasny obrazek
    var tmp = new Image(); 
    dim = obj.rel.split(',');
    tmp.width = dim[0];    
    tmp.height = dim[1];
    
    var ext = obj.getElementsByTagName('img')[0].src.match(/\.\w{3}$/);
    tmp.src = obj.getElementsByTagName('img')[0].src.replace(/\.\w{3}$/, '_2' + ext);
    this.photo.parentNode.href = obj.getElementsByTagName('img')[0].src.replace(/\.\w{3}$/, '_3' + ext);  
    
    
    // po nacteni muzeme zobrazit
    tmp.onload = function () {
      imgSwitch.show(this);        
    }    
    if(tmp.complete) {
      imgSwitch.show(tmp);   
    }     
  },
  
  
  show: function (tmp) {
    this.photo.src = tmp.src;
		this.photo.height = tmp.height;
		this.photo.width = tmp.width;
  },
  
  
	cleanup: function () {
		for(var i = 0, l = this.link.length; i < l; ++i) {
			this.link[i].getElementsByTagName('img')[0].className = '';
		}
	}   
}


function gOI(obj) {
  var object = document.getElementById(obj);
  return object;
};

function showHide(id) {
	var div = gOI(id);
	if(div != null && div.style != null)
	{
  	display = div.style.display;
  	if (div.style.display=='')
  		div.style.display = 'none';
  	else
  		div.style.display = '';
   }
	return false;
};


function validEmail(email) {
  var emailReg = "^[a-zA-Z0-9\._-]+@+[a-zA-Z0-9\._-]+\.+[a-z]{2,4}$";
  var regex = new RegExp(emailReg);
  if (!regex.test(email.value)) {
  	alert('Neplatná e-mail adresa : ' + email.value);
  	email.focus();
  	return false;
  }
  else
  	return true;
};

function formTest(id, text) {
	var item = gOI(id);
	if(item) {
		if (item.value=='') {
			alert(text);
			item.className="wrong";
			item.focus();
			return false;
		}
		else
			item.className="";
	}
	return true;
};

function formTestWrong(item,text) {
	alert(text);
	item.className="wrong";
	item.focus();
}

function formTestNumber(id, minlength, maxlength, textEmpty,textMinLength,textMaxLength,textNumber) {
	var item = gOI(id);
	if(item) {
		var nrReg = "^[0-9]+$";
		var regex = new RegExp(nrReg);		 
		
		item.value = item.value.replace(' ','');
		item.value = item.value.replace('+','00');
		if (item.value=='') {
			formTestWrong(item,textEmpty);
			return false;
		}
		else if(minlength != maxlength && item.value.length < minlength) {
			formTestWrong(item,textMinLength);
			return false;
		}		
		else if(item.value.length > maxlength) {
			formTestWrong(item,textMaxLength);
			return false;
		}
		else if(!regex.test(item.value)) {
			formTestWrong(item,textNumber);
			return false;
		}
		else
			item.className="";
	}
	return true;
};

function checkOrder(step, param1, param2) {

	switch (step) {
		case 1:
		
			//kontorla dopravy
			transfer = false;
			for (i=1;i<=param1;i++) {
				if (gOI('transfer'+i).checked)
					transfer = true;
			}
			if (!transfer) {
				alert('Musíte zadat způsob dopravy.');
				return false;
			}
			//kontrola platby
			payment = false;
			for (i=1;i<=param2;i++) {
				if (gOI('payment'+i).checked)
					payment = true;
			}
			if (!payment) {
				alert('Musíte zadat způsob platby.');
				return false;
			}
			
			if ( gOI('transfer3').checked && gOI('payment1').checked) {
				alert('Při osobním odběru nelze vybrat způsob platby dobírkou.');
				return false;
			}
			
			return true;
			break;
			
		case 2:
			if (! formTest('personName', 'Musíte zadat jméno.') )
				return false;
			if (! formTest('personSurname', 'Musíte zadat příjmení.') )
				return false;
			if (! formTest('personEmail', 'Musíte zadat e-mail.') )
				return false;
			if (! validEmail(gOI('personEmail')) ) {
				gOI('personEmail').className='wrong';
				return false;
			}			
			
			if (! formTestNumber('personPhone',9,13, 'Musíte zadat telefon.','Telefon musí mít nejméně 9 číslic.','Telefon by neměl mít více než 14 číslic.','Telefonní číslo musí být číslo.') )
				return false;
			
			if (! formTest('invoiceStreet', 'Musíte zadat ulici fakturační adresy.') )
				return false;
			if (! formTest('invoiceCity', 'Musíte zadat město fakturační adresy.') )
				return false;
			if (! formTestNumber('invoicePSC',5,5, 'Musíte zadat PSČ fakturační adresy.','','PSČ musí mít 5 znaků.','PSČ musí být číslo.') )
				return false;
						
			//invoice
			if (gOI('invoice').checked) {
			
				if (! formTest('deliveryStreet', 'Musíte zadat ulici dodací adresy.') )
					return false;
				if (! formTest('deliveryCity', 'Musíte zadat město dodací adresy.') )
					return false;
				if (! formTestNumber('deliveryPSC',5,5, 'Musíte zadat PSČ dodací adresy.','','PSČ musí mít 5 znaků.','PSČ musí být číslo.') )
					return false;				
			}
			
			
			break;
			
		case 3:
		
			break;
			
		case 4:
		
			break;
			
	}//case

};

function brandAll(bc) {
	if (gOI('brandall').checked)
		for (i=1;i<=bc;i++)
			gOI('brand'+i).checked=false;
};
function brandNull() {
	gOI('brandall').checked = false;
};



/* vykresleni nadpisu
----------------------------------- */
function render_h2() {  
  var caption = getObj("content-case").getElementsByTagName("h2"); 
  if(!caption) return;
  
  exp = new RegExp("tag");
  for(var i=0; i<caption.length; i++) {
    if(exp.test(caption[i].className))
      wrapObj(caption[i],2,'span');    
  } 
};


function wrapObj(obj,level,tagName) {  
  var orig = obj;
  
  var content = orig.innerHTML;
  var parent = orig.parentNode;
  var prev;
  var tag = tag ? tag : 'div';
   
  for(var i=level; i>0; i--) {
    var node = document.createElement(tagName);
    //node.className += "r" + i;  
    
    if(i == level) {
      node.innerHTML = content;
    } else {
      node.appendChild(prev);  
    }
    prev = node;
  }  
  
  var origNode = document.createElement(orig.tagName); 
  origNode.id = orig.id;
  origNode.className = orig.className;
  origNode.appendChild(node);
  parent.replaceChild(origNode,orig);
} ;


/* vykresleni oblych rohu
----------------------------------- */
function render_corner() {
  var name = "round";
	var div = document.getElementById("content-case").getElementsByTagName('div');	
	if(!div) return;
	
	for (var i=0; i<div.length; i++) {
    if(div[i].className.indexOf(name) != -1) {     
      for(var j=1; j<5; j++) {
        var span = document.createElement("span");
        span.className = "c-0" + j;
        div[i].appendChild(span); 
      }         
    }  
  }
};


/* vykresleni tabu
----------------------------------- */
function render_tab() {  
  if(!document.getElementById("tab")) return;
  var aNodes = document.getElementById("tab").getElementsByTagName("a"); 
  
  for(var j=0; j<aNodes.length; j++) {
    var small = document.createElement("small");
    var span = document.createElement("span"); 
    if(j > 0)
      aNodes[j].appendChild(small);
    aNodes[j].appendChild(span);
    aNodes[j].position = j;
    aNodes[j].onmouseover = hideTabAncestor;
    aNodes[j].onmouseout = showTabAncestor;
  }  
};

function hideTabAncestor() {
  if(this.position == 0) return;
  var aNodes = document.getElementById("tab").getElementsByTagName("a");
  aNodes[this.position - 1].getElementsByTagName("span")[0].style.display = "none";
};

function showTabAncestor() {
  if(this.position == 0) return;
  var aNodes = document.getElementById("tab").getElementsByTagName("a");
  aNodes[this.position - 1].getElementsByTagName("span")[0].style.display = "block";  
};


/* striped tables
----------------------------------- */
function stripeTable(t) {
	var i, odd = true;
	for (i=0; i<t.rows.length; i++) {
		t.rows[i].className += odd ? ' odd' : ' even';
		odd = !odd;
	}
};

function stripeTableById(id) {
	var t = document.getElementById(id);
	if (t) stripeTable(t);
};

function stripeAllTables() {
	var t = document.getElementsByTagName('table');
	for (var i=0; i<t.length; i++) stripeTable(t[i])
};

function stripeTableByClass(name) {
	var t = document.getElementsByTagName('table');	
	var table = new Array();
	
	var j = 0;	
	for (var i=0; i<t.length; i++) {
    if(t[i].className.indexOf(name) != -1) {
      table[j] = t[i];
      j++;
    }  
  }
	for (var i=0; i<table.length; i++) stripeTable(table[i]);
};



function centerDiv(divobj){ //Centers a div element on the page
  
  var ie=document.all && !window.opera
  
  var standardbody =(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
  
  //var dom=document.getElementById
  
  var scroll_top=(ie)? standardbody.scrollTop : window.pageYOffset
  
  var scroll_left=(ie)? standardbody.scrollLeft : window.pageXOffset
  
  //NaN??? proc
  var docwidth=(ie)? standardbody.clientWidth : window.innerWidth //-this.scrollbarwidth
  
  var docheight=(ie)? standardbody.clientHeight: window.innerHeight
  
  var docheightcomplete=(standardbody.offsetHeight>standardbody.scrollHeight)? standardbody.offsetHeight : standardbody.scrollHeight //Full scroll height of document !! Error???
  
  var objwidth=divobj.offsetWidth //width of div element
  
  var objheight=divobj.offsetHeight //height of div element
  
  var topposition=(docheight>objheight)? scroll_top+docheight/2-objheight/2+"px" : scroll_top+10+"px" //Vertical position of div element: Either centered, or if element height larger than viewpoint height, 10px from top of viewpoint
    
    
  divobj.style.left=(docwidth/2-objwidth/2)+"px" //Center div element horizontally
  
  divobj.style.top=Math.floor(parseInt(topposition))+"px"
  
  divobj.style.visibility="visible"
  
}

function isMouseLeaveOrEnter(e, handler)
{		
	  var ev = e
	  if(!ev) ev = window.event 
		if (ev.type != 'mouseout' && ev.type != 'mouseover') return false;
		var reltg = ev.relatedTarget ? ev.relatedTarget : ev.type == 'mouseout' ? ev.toElement : ev.fromElement;
		while (reltg && reltg != handler) reltg = reltg.parentNode;
		return (reltg != handler); // && typeof reltg != 'undefined'
}

function isMouseLeave2(e, handler1, handler2)
{		
	  var ev = e
	  if(!ev) ev = window.event 
	  
		if (ev.type != 'mouseout' && ev.type != 'mouseover') return false;
		var reltg = ev.relatedTarget ? ev.relatedTarget : ev.type == 'mouseout' ?  ev.toElement  : ev.fromElement;				      
      		
		while (reltg && reltg != handler1) { 
      reltg = reltg.parentNode;
      
      if(reltg == handler2)
        return false;
      
    }
		return (reltg != handler1); // && typeof reltg != 'undefined'
}

function findPos(obj,cP) {
	var curleft = curtop = 0;
     
  if (obj.offsetParent) {
  	while(1) {
  			curleft += obj.offsetLeft;
  			curtop += obj.offsetTop;
        if(!obj.offsetParent || (obj.offsetParent == cP))
            break;
        obj = obj.offsetParent;                  
  		}  	
  }  
  else
    if(obj.x && obj.y) {
          curleft += obj.x;
          curtop += obj.y;
    }      
        
  return [curleft,curtop];        
} 



function dotask(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
if (target.addEventListener)
  target.addEventListener(tasktype, functionref, false)
else if (target.attachEvent)
target.attachEvent(tasktype, functionref)
}

function domready_product() {
  tooltip('grey', ['span'], 'tooltip', 15, [6, 6], 'page');
	tooltip('info', ['img'], 'tooltip', 15, [6, 6], 'page');
	tooltip('hint', ['span'], 'tooltip', 15, [6, 6], 'page');
	/*
  var h = this.location.href;
	var l = h.length;
	if ("/homecredit#tab" == h.substring(l - 15)) {
		this.location.href = h.substring(0, l - 15);
	};
	$("#calculatortab").css({display: "none"});
	
  var s = document.getElementById("calculatorwin");
	var t = document.getElementById("page");
	var n = t.appendChild(s.cloneNode(true));
	s.parentNode.removeChild(s);
	n.setAttribute("id", "calculatorwin");
	
  
  $("#calculatorcloser").click(function(e){
		e.preventDefault();
		$("#calculatorwin").fade("out");
	});
	
	$('#calculator').click(function(e){
		e.preventDefault();
		var o = pageScroll(); 
		var left = (($("#page").width() - parseInt($(n).css("width"))) / 2) + "px";
		var top = Math.max((($(window).height() - parseInt($(n).css("height"))) / 2) + o.top, 0) + "px";
		$("#calculatorwin")
			.css({
				position: "absolute",
				top: top,
				left: left
			})
			.fadeIn("fast");
		if (!$("#calculatorsrc").attr("src")) {
			$("#calculatorsrc").attr("src", "{/literal}{$homecredit.url}{literal}");
		}
	}); */
}


/*
function isIE()
{
if(navigator.userAgent.match(/MSIE \d\.\d+/))
return true;
return false;
} 
function zIndexWorkaround()
{
  if(isIE())
  {
  var zi = 1000;
  $$("div.block").each(function(block) {
  block.style.zIndex = zi--;
  });
  }
}

dotask(window,zIndexWorkaround,"load");
*/