// JavaScript Document

function set_protocol(ssl) {
  f = document.getElementById('loginform');
  if(ssl) { s1 = /^http:/; s2 = 'https:'; }
  else { s1 = /^https:/; s2 = 'http:'; }
  f.action = f.action.replace(s1, s2);
}
  
function sum_sell_prices()
{
  document.all.text_sum.value = parseInt(document.all.text_price.value)+parseInt(document.all.text_postage.value)+parseInt(document.all.text_other.value);
}

function show_user_details(id)
{
  window.open("/show_user_details.php?id="+id,"User_details","width=400,height=250,top=200,left=200,status=no");
}


function OpenWin2(OpenedFile, IWidth, IHeight) 
{
	window.open(OpenedFile,"Reklama", "toolbar=0,location=0,scrollbars=0,copyhistory=no,width="+IWidth+",height="+IHeight+",resizable=0");
  self.focus();
}

function delete_search(form)
{
  form.search_text.value = "";
}

function openWindowVariable(url, caption, width, height, scrolls)
{
  windowRef = window.open(url, caption, "width="+width+",height="+height+",top=100,left=100,status=no,scrollbars="+scrolls);
  wasOpen = false;
  if (typeof(windowRef) == "object")
  {
    wasOpen = true;
  }
    return wasOpen;
}

function image_view_replace(newimage)
{
  el=document.getElementById('imageView');
  el.src = "/fotos/"+newimage;
}

function textLimit(field, maxlen) {
  if (field.value.length > maxlen + 1)
    alert('Váš text bude zkrácen!\nDosáhli jste maximální délky '+maxlen+' znaků!');
    if (field.value.length > maxlen)
  {
    field.value = field.value.substring(0, maxlen);
  }
}


function parentOpenLogin(url)
{
  window.opener.location.href=window.opener.location.href+('?action=login');
}

function thisWindowReload()
{
  window.location.reload();
}

function openInBlankBrowser(page) 
{
	
  windowRef = window.open(page,"TARGET_BLANK_EBUM", "");
  wasOpen = false;
  if (typeof(windowRef) == "object")
  {
    wasOpen = true;
  }
    return wasOpen;	
}

function repaintView()
{
  bg=1;
  pos=1;
  font=1;
  layout=1;
  with(document.konffrm) 
  {
    for (i=0; i<opt_bckp.length; i++) 
      if (opt_bckp[i].checked==true)
         bg=i+1;  
    for (i=0; i<opt_pos.length; i++) 
      if (opt_pos[i].checked==true)
         pos=i+1;        
    for (i=0; i<opt_font.length; i++) 
      if (opt_font[i].checked==true)
         font=i+1;   
    for (i=0; i<opt_layout.length; i++) 
      if (opt_layout[i].checked==true)
         layout=i+1;
                               
  } 

  window.frames['viewer'].location = "shop/default/?bg="+bg+"&pos="+pos+"&font=1&layout="+layout; 
}

function goBack(toStep){
  formular = document.getElementById('Formular');
  formular.step.value=toStep;
  formular.submit();
}

function confirmation(message){
  cont = confirm(message);
  // nyní mám v proměnné pokracovat uloľeno true nebo false
  if(cont) 
    return true;
  else
    return false;  
}

function replaceBigPhoto(image)
{
  var bigPhotoE = document.getElementById("big");
  bigPhotoE.src=image.src;
  bigPhotoE.width=image.width*4; 
  bigPhotoE.height=image.height*4;  
}



/** ----------------------- DROPDOWN MENU ---------------------- */
var dropdownmenu = {

    init : function (){
      var t = this;    
    },

    display : function (href, eid) {
      var t = this;


      emnu = document.getElementById('mnu_'+eid);
      emnu.style.display = 'block';
      
      emnu.onmouseout = function (ev) {
        t.hide(ev, eid);
      }; 
      
      href.onmouseout = function(ev) { 
        t.hide(ev, eid);
      };
      
    },

    hide : function (ev, eid) {
      var t = this, blockhide=false;
      
      var emnu = document.getElementById('mnu_'+eid);
      
      var mousePos = getMousePosition(ev);    // Ziskame pozici mysi
      var mnuPos = getElementPosition(emnu); // Ziskame pozici objektu
      var mnuSize = {
         width  : parseInt(emnu.offsetWidth),
         height : parseInt(emnu.offsetHeight)
      };

      if ( mnuPos.x                   < mousePos.x &&
           mnuPos.x + mnuSize.width   > mousePos.x &&
           mnuPos.y                   < mousePos.y &&
           mnuPos.y + mnuSize.height  > mousePos.y              
         ) 
        blockhide = true;                      
      if (!blockhide){
        emnu.style.display = 'none';   
      }
    }
    
};

dropdownmenu.init();



/**
 * Funkce ziska pozici mysi (x,y) z objektu ev.
 *  
 * Funkce castecne inspirovana resenim na URL:
 *   http://www.webreference.com/programming/javascript/mk/column2/
 */
function getMousePosition(ev){
    ev           = ev || window.event;
    
  	if(ev.pageX || ev.pageY){
  		  return {x:ev.pageX, y:ev.pageY};
  	}

    // Varianta pro IE, nutne pocitat i scroll-souradnice
    var xScroll = 0;
    var yScroll = 0;

  	if (document.documentElement && document.documentElement.scrollTop)
  	{ // DTD 4.01+
  	   xScroll = document.documentElement.scrollLeft - document.documentElement.clientLeft;
       yScroll = document.documentElement.scrollTop - document.documentElement.clientTop;            
    }   
    else if (document.body && document.body.scrollTop)
    { // stare DTD HTML
       xScroll = document.body.scrollLeft - document.body.clientLeft;
       yScroll = document.body.scrollTop - document.body.clientTop;  
    }

  	return {
    		x:ev.clientX + xScroll /*+ document.body.scrollLeft - document.body.clientLeft*/,
    		y:ev.clientY + yScroll /* - document.body.clientTop*/
  	};
} /* getMousePosition() */

function getElementPosition(elem){
  var position = {x:0, y:0};
  
  /* Dokud element existuje, pripocteme offset a prejde na rodice */
  for (;elem != null; elem = elem.offsetParent)
  {
      position.x += elem.offsetLeft;
      position.y += elem.offsetTop;
  }

  return position;
} /* getElementPosition() */





/////////////////////////////////////////



document.getElementsByClassName = function (classname, node) {
   if(!node) node = document.getElementsByTagName("body")[0];
   var a = [];
   var re = new RegExp('\\b' + classname + '\\b');
   var els = node.getElementsByTagName("*");
   for(var i=0,j=els.length; i<j; i++)
      if(re.test(els[i].className))a.push(els[i]);
   return a;
}



function hideElements(){

  var elems = document.getElementsByClassName('hidable');
  
  for (var i=0; i<elems.length; i++)
    elems[i].style.display = 'none';
    
  var elems = document.getElementsByClassName('notvisible');
  
  for (var i=0; i<elems.length; i++)
    elems[i].style.visibility = 'hidden';

}

function displayElement(id){
  if (id == "") return;
  
  var elem = document.getElementById(id);
  if (elem)
     elem.style.display = 'block';

}

function atLink(link) {
   link.href = link.href.replace(/\(a\)/,"@");
   return true;
}

function showNextPhoto(actualID){
  var elem = document.getElementById( 'box_pic_foto_'+(++actualID) );
  if (elem){
    elem.style.display = 'block';
  }  
}


function disableElements(){

  var elems = document.getElementsByClassName('disabled');
  
  for (var i=0; i<elems.length; i++)
    elems[i].disabled = true;

}

function sellPostageCROnly(){
  document.getElementById('desc_postage_sr_1').disabled = true;
  document.getElementById('desc_postage_others_1').disabled = true;
  
  document.getElementById('desc_postage_sr_2').disabled = true;
  document.getElementById('desc_postage_others_2').disabled = true;
  
  document.getElementById('desc_postage_sr_3').disabled = true;
  document.getElementById('desc_postage_others_3').disabled = true;  
}
function sellPostageCRSROnly(){
  document.getElementById('desc_postage_sr_1').disabled = false;
  document.getElementById('desc_postage_others_1').disabled = true;
  
  document.getElementById('desc_postage_sr_2').disabled = false;
  document.getElementById('desc_postage_others_2').disabled = true;
  
  document.getElementById('desc_postage_sr_3').disabled = false;
  document.getElementById('desc_postage_others_3').disabled = true;  
}
function sellPostageAll(){
  document.getElementById('desc_postage_sr_1').disabled = false;
  document.getElementById('desc_postage_others_1').disabled = false;
  
  document.getElementById('desc_postage_sr_2').disabled = false;
  document.getElementById('desc_postage_others_2').disabled = false;
  
  document.getElementById('desc_postage_sr_3').disabled = false;
  document.getElementById('desc_postage_others_3').disabled = false;  
}

function updateLength(elemid, max, velem){
 document.getElementById(elemid).innerHTML = max-velem.value.length; 
}

function setAuctionLength(bnprice){

  var optelems = document.getElementById('p1_auction_length');
  var is=11,ie=30;
  //alert(optelems.length);
  
  if (bnprice.length == 0){
    if (optelems.selectedIndex>=is)
      optelems.selectedIndex = 0;
    for (var i=is; i<ie; i++)
      optelems.options[i].style.display = 'none';  
  } else {
    for (var i=is; i<ie; i++)
      optelems.options[i].style.display = 'block';  
  }
}

function inputFieldMatchPrice(ifield){
  //alert( ifield.value.match(/^[0-9]*$/) );
  if ( ! ifield.value.match(/^[0-9]*$/)  )
    ifield.style.backgroundColor = '#FF9050';
  else  
    ifield.style.backgroundColor = '#FFFFFF';
}

function resetPutUpPrice(val){
  e = document.getElementById("p1_price_put_up");
  if (val!="" && e.value!="1")
  {
    e.value="1";
    alert("Vyvolávací cena byla změněna na 1Kč.");
  } 
}  

function validAuctionLength(esel) {
   var val = document.getElementById('p1_price_buy_now').value;
   var is=11;
   if (val.length == 0 && is < esel.selectedIndex ){
     alert('Pokud nevyplníte cenu Ihned koupit, může být délka aukce maximálne 14 dnů!');
     esel.selectedIndex = is-1;
   }
   
}

function registrationActivateCompany(val){

  document.getElementById('company_name').disabled = !val;

  if (val)
    document.getElementById('company_frm').style.display='block';
  else{
    document.getElementById('company_frm').style.display='none';  
    document.getElementById('company_name').value='';
  }
}
function registrationActivateCompanyAddress(val){

  if (val)
    document.getElementById('company_address_frm').style.display='block';
  else
    document.getElementById('company_address_frm').style.display='none';  

}

function registrationValidFreeUsername(){

  var usr = document.getElementById('username').value;
  var eStatImg = document.getElementById('free_username_wait'); 

  if (usr==""){
    alert("Jméno je prázdné!");
    return;
  }

  if (xmlHTTP)
  {
    try
    {
      xmlHTTP.open("GET","/service_api.php?service=checkFreeUsername&str="+usr, true);
      xmlHTTP.onreadystatechange = handleRequestFreeUsername;
      xmlHTTP.send(null);
      eStatImg.style.visibility = 'visible'; 
      document.getElementById('free_username').innerHTML = '';
    }
    catch (e)
    {
      alert("Server connection error.");
    }
  }

}
function registrationResetFreeUsername(){
  var eStat = document.getElementById('free_username');
  eStat.innerHTML = ''; 
}
function handleRequestFreeUsername(){
  if (xmlHTTP.readyState == 4)
  {
    if (xmlHTTP.status == 200)
    {
      var eStat = document.getElementById('free_username');
      document.getElementById('free_username_wait').style.visibility = 'hidden';       
      if ( xmlHTTP.responseText == 1 ){
        eStat.style.color='green'; 
        eStat.innerHTML = 'jméno je volné';         
      }
      else{
        eStat.style.color='red'; 
        eStat.innerHTML = 'jméno je obsazené'; 
      } 
    }
  }
}

function registrationPassChange(){
 var corr = ( document.getElementById('pass1').value.length >= 7 && document.getElementById('pass1').value==document.getElementById('pass2').value );
 //alert(corr+document.getElementById('pass1').value+' '+document.getElementById('pass2'))
 document.getElementById('pass_ok').style.display = !corr?'none':'inline';
 document.getElementById('pass_fail').style.display = corr?'none':'inline';
}    

function registrationStrongPasswd(pswd){
  var l1 = document.getElementById('passwd_l1'),
      l2 = document.getElementById('passwd_l2'),
      l3 = document.getElementById('passwd_l3');
  if (pswd.length<7 || pswd.match(/^[a-z]+$/) || pswd.match(/^[A-Z]+$/) || pswd.match(/^[0-9]+$/) ){
    l1.style.display = 'inline';
    l2.style.display = l3.style.display = 'none';
  } else if (pswd.match(/[a-z]+/) && pswd.match(/[A-Z]+/) && pswd.match(/[0-9]+/) && !(pswd.match(/^[a-zA-Z]+[0-9]+$/)||pswd.match(/^[0-9]+[a-zA-Z]+$/)) ){
    l3.style.display = 'inline';
    l2.style.display = l1.style.display = 'none';
  } else{
    l2.style.display = 'inline';
    l3.style.display = l1.style.display = 'none';  
  }
  
  
}