// v1.23 2.8.2010. TCrnicki

//-------------------------------------------------------------------------------
//
// globalne varijable
//
//-------------------------------------------------------------------------------

var xDOC = document; 
var xNS = (navigator.appName.indexOf("Netscape") != -1);
var KosaricaPrazna=1;
var xWSPCID=871;

window.defaultStatus='Katarina Zrinski';


//-------------------------------------------------------------------------------
//
//  WSP Capcha zastita formula
//
//-------------------------------------------------------------------------------

function WSPCaptcha(ID) {
  if (!ID) { ID='WSP' }
  var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
  var wsp_key_length = 32;
  var wsp_key = '';
  for (var i=0; i<wsp_key_length; i++) {
    var rnum = Math.floor(Math.random() * (chars.length-1));
    wsp_key += chars.substring(rnum, rnum+1);
  }
  document.getElementById(ID+'_CAPTCHA').src = 'http://webspamprotect.com/captcha.php?id=' + xWSPCID + '&key=' + wsp_key;
  document.getElementById(ID+'_KEY').value   = wsp_key;
}


//-------------------------------------------------------------------------------

function IspisKosarice (Tekst) {
  red=/^.+\n/;
  KosaricaPrazna=red.exec(Tekst);
  Tekst=Tekst.replace(red,'');
  document.getElementById('KOSARICA').innerHTML = Tekst; 
}

function KosaricaPrviPut (IDG) {
  getDataReturnText('?A='+IDG+'&S=KOIX',IspisKosarice)
}

function KosaricaCheck () {
  if (KosaricaPrazna==1) { alert('Košarica je prazna!'); return(false) }
  return(true);
}

// provjera dali je broj
function TestNum(O) {
  KOL=/^[0-9][0-9]*$/;
  if (!KOL.test(O.value)) { O.value=0 }
}


// promjena statusa
function S(Msg) {
  if (Msg!='') { Msg='Katarina Zrinski: '+Msg }
  window.status=Msg;
  return(true);
}


// provjera da su unešena bar 3 znaka za pretraživanje
function TestSV(form) {
  SV=/[\d\w\č\ć\đ\š\ž\Č\Ć\Đ\Š\Ž]{3,}/;
  if (!SV.test(form.SV.value)) {
    alert('Niz koji tražite mora imati bar 3 slova!');
    return(false);
  }
  return(true);
}


// provjera da su unešena količina između 0 i 99
function TestKOL(form) {
  KOL=/^[0-9][0-9]*$/;
  if (!KOL.test(form.KOL.value)) {
    alert('Morate unijeti broj između 0 i 99!');
    return(false);
  }
  return(true);
}

// provjera parametara u narudzbi
function TestNarudzba(form) {
  mb=/^\d+$/;
  email=/[\w\-\.]+\@[\-\w\.]+\.[\w\-\.]{2,4}/;
  ime=/[\w\.]+.*\s+.*[\w\.]+/;
  prazno=/[\d\w]+/;
  if (!ime.test(form.IME.value)) {
    alert('Niste upisali ime i prezime!');
    return(false);
  }
  else if ((form.POD.value && !mb.test(form.MBR.value)) || ((!form.POD.value && form.MBR.value))) {
    alert('Ako naručujete za tvrtku morate upisati ime tvrtke i OIB,\na ako naručujete privatno ova dva podatka ostavite prazna!');
    return(false);
  }
  else if (!prazno.test(form.ADR.value)) {
    alert('Niste upisali adresu!');
    return(false);
  }
  else if (!prazno.test(form.PTT.value)) {
    alert('Niste upisali poštanski broj!');
    return(false);
  }
  else if (!prazno.test(form.MJE.value)) {
    alert('Niste upisali mjesto!');
    return(false);
  }
  else if (!prazno.test(form.DRZ.value)) {
    alert('Niste upisali državu!');
    return(false);
  }
  else if (!email.test(form.EMA.value)) {
    alert('Neispravna E-mail adresa!');
    return(false);
  }
  else if (!prazno.test(form.TEL.value)) {
    alert('Niste upisali telefon!');
    return(false);
  }
  form.submit();
}


// provjera parametara u prijavi za seminare za pravne osobe
function TestPrijavaPO(form) {
  mb=/^\d+$/;
  email=/[\w\-\.]+\@[\-\w\.]+\.[\w\-\.]{2,4}/;
  ime=/[\w\.]+.*\s+.*[\w\.]+/;
  prazno=/[\d\w]+/;

  if (!prazno.test(form.NAZ.value)) {
    alert('Niste upisali naziv tvrtke!');
    form.NAZ.focus();
    return(false);
  }
  else if (!mb.test(form.MAT.value)) {
    alert('Upišite OIB!');
    form.MAT.focus();
    return(false);
  }
  else if (!prazno.test(form.ULI.value)) {
    alert('Niste upisali ulicu i broj!');
    form.ULI.focus();
    return(false);
  }
  else if (!prazno.test(form.POS.value)) {
    alert('Niste upisali poštu ili mjesto!');
    form.POS.focus();
    return(false);
  }
  else if (!ime.test(form.KON.value)) {
    alert('Niste upisali ime i prezime kontakt osobe!');
    form.KON.focus();
    return(false);
  }
  else if (!prazno.test(form.TEL.value)) {
    alert('Niste upisali telefon!');
    form.TEL.focus();
    return(false);
  }
  else if (!email.test(form.EMA.value)) {
    alert('Neispravna E-mail adresa!');
    form.EMA.focus();
    return(false);
  }

  PRIJAVAPO.submit();
}


// provjera parametara u zahtjevu za ponudom za pravne osobe
function TestPrijavaZP(form) {
  mb=/^\d+$/;
  email=/[\w\-\.]+\@[\-\w\.]+\.[\w\-\.]{2,4}/;
  ime=/[\w\.]+.*\s+.*[\w\.]+/;
  prazno=/[\d\w]+/;

  if (!prazno.test(form.NAZ.value)) {
    alert('Niste upisali naziv tvrtke!');
    form.NAZ.focus();
    return(false);
  }
  else if (!mb.test(form.MAT.value)) {
    alert('Upišite OIB!');
    form.MAT.focus();
    return(false);
  }
  else if (!prazno.test(form.ULI.value)) {
    alert('Niste upisali ulicu i broj!');
    form.ULI.focus();
    return(false);
  }
  else if (!prazno.test(form.POS.value)) {
    alert('Niste upisali poštu ili mjesto!');
    form.POS.focus();
    return(false);
  }
  else if (!ime.test(form.KON.value)) {
    alert('Niste upisali ime i prezime kontakt osobe!');
    form.KON.focus();
    return(false);
  }
  else if (!prazno.test(form.TEL.value)) {
    alert('Niste upisali telefon!');
    form.TEL.focus();
    return(false);
  }
  else if (!email.test(form.EMA.value)) {
    alert('Neispravna E-mail adresa!');
    form.EMA.focus();
    return(false);
  }

  PRIJAVAZP.submit();
}


// provjera parametara u zahtjevu za ponudom za pravne osobe
function TestPrijavaFO(form) {
  mb=/^\d+$/;
  email=/[\w\-\.]+\@[\-\w\.]+\.[\w\-\.]{2,4}/;
  ime=/[\w\.]+.*\s+.*[\w\.]+/;
  prazno=/[\d\w]+/;

  if (!ime.test(form.IME.value)) {
    alert('Niste upisali ime i prezime!');
    form.IME.focus();
    return(false);
  }
  else if (!prazno.test(form.ULI.value)) {
    alert('Niste upisali ulicu i broj!');
    form.ULI.focus();
    return(false);
  }
  else if (!prazno.test(form.POS.value)) {
    alert('Niste upisali poštu ili mjesto!');
    form.POS.focus();
    return(false);
  }
  else if (!prazno.test(form.TEL.value)) {
    alert('Niste upisali telefon!');
    form.TEL.focus();
    return(false);
  }
  else if (!prazno.test(form.MOB.value)) {
    alert('Niste upisali mobitel!');
    form.MOB.focus();
    return(false);
  }
  else if (!email.test(form.EMA.value)) {
    alert('Neispravna E-mail adresa!');
    form.EMA.focus();
    return(false);
  }

  PRIJAVAFO.submit();
}


// provjera parametara u zahtjevu za ponudom za fizicke osobe
function TestPrijavaZF(form) {
  mb=/^\d+$/;
  email=/[\w\-\.]+\@[\-\w\.]+\.[\w\-\.]{2,4}/;
  ime=/[\w\.]+.*\s+.*[\w\.]+/;
  prazno=/[\d\w]+/;

  if (!ime.test(form.IME.value)) {
    alert('Niste upisali ime i prezime!');
    form.IME.focus();
    return(false);
  }
  else if (!prazno.test(form.ULI.value)) {
    alert('Niste upisali ulicu i broj!');
    form.ULI.focus();
    return(false);
  }
  else if (!prazno.test(form.POS.value)) {
    alert('Niste upisali poštu ili mjesto!');
    form.POS.focus();
    return(false);
  }
  else if (!prazno.test(form.TEL.value)) {
    alert('Niste upisali telefon!');
    form.TEL.focus();
    return(false);
  }
  else if (!prazno.test(form.MOB.value)) {
    alert('Niste upisali mobitel!');
    form.MOB.focus();
    return(false);
  }
  else if (!email.test(form.EMA.value)) {
    alert('Neispravna E-mail adresa!');
    form.EMA.focus();
    return(false);
  }

  form.submit();
}


// prijava u preporuceni program knjiga
function TestPrijava(form) {
  email=/[\w\-\.]+\@[\-\w\.]+\.[\w\-\.]{2,4}/;
  ime=/[\w\.]+.*\s+.*[\w\.]+/;
  prazno=/[\d\w]+/;
  if (!form.PPK.value) {
    alert('Niste izabrali Preporučeni program knjiga!');
    return(false);
  }
  else if (!ime.test(form.IME.value)) {
    alert('Niste upisali ime i prezime!');
    return(false);
  }
  else if (!prazno.test(form.DTR.value)) {
    alert('Niste upisali datum rođenja!');
    return(false);
  }
  else if (!prazno.test(form.BOI.value)) {
    alert('Niste upisali broj osobne iskaznice!');
    return(false);
  }
  else if (!prazno.test(form.PU.value)) {
    alert('Niste upisali koja PU je izdala osobnu iskaznicu!');
    return(false);
  }
  else if ((form.POD.value && !form.MBR.value) || ((!form.POD.value && form.MBR.value))) {
    alert('Ako prijavljujete tvrtku morate upisati ime tvrtke i OIB,\na ako se prijavljujete privatno ova dva podatka ostavite prazna!');
    return(false);
  }
  else if (!prazno.test(form.ADR.value)) {
    alert('Niste upisali adresu!');
    return(false);
  }
  else if (!prazno.test(form.PTT.value)) {
    alert('Niste upisali poštanski broj!');
    return(false);
  }
  else if (!prazno.test(form.MJE.value)) {
    alert('Niste upisali mjesto!');
    return(false);
  }
  else if (!prazno.test(form.DRZ.value)) {
    alert('Niste upisali državu!');
    return(false);
  }
  else if (!email.test(form.EMA.value)) {
    alert('Neispravna E-mail adresa!');
    return(false);
  }
  else if (!prazno.test(form.TEL.value)) {
    alert('Niste upisali telefon!');
    return(false);
  }
  form.submit();
}

// odjava iz preporucenog programa knjiga
function TestOdjava(form) {
  email=/[\w\-\.]+\@[\-\w\.]+\.[\w\-\.]{2,4}/;
  ime=/[\w\.]+.*\s+.*[\w\.]+/;
  prazno=/[\d\w]+/;
  if (!ime.test(form.IME.value)) {
    alert('Niste upisali ime i prezime!');
    return(false);
  }
  else if (!prazno.test(form.ADR.value)) {
    alert('Niste upisali adresu!');
    return(false);
  }
  else if (!prazno.test(form.PTT.value)) {
    alert('Niste upisali poštanski broj!');
    return(false);
  }
  else if (!prazno.test(form.MJE.value)) {
    alert('Niste upisali mjesto!');
    return(false);
  }
  else if (!prazno.test(form.DRZ.value)) {
    alert('Niste upisali državu!');
    return(false);
  }
  else if (!email.test(form.EMA.value)) {
    alert('Neispravna E-mail adresa!');
    return(false);
  }
  else if (!prazno.test(form.TEL.value)) {
    alert('Niste upisali telefon!');
    return(false);
  }
  form.submit();
}

//-------------------------------------------------------------------------------
//
// zatamnjenje ekrana
//
//-------------------------------------------------------------------------------

function GrayOut(vis, options) {
  // Pass true to gray out screen, false to ungray
  // options are optional.  This is a JSON object with the following (optional) properties
  // opacity:0-100         // Lower number = less grayout higher = more of a blackout 
  // zindex: #             // HTML elements with a higher zindex appear on top of the gray out
  // bgcolor: (#xxxxxx)    // Standard RGB Hex color code
  // grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
  // Because options is JSON opacity/zindex/bgcolor are all optional and can appear
  // in any order.  Pass only the properties you need to set.
  var options = options || {}; 
  var zindex = options.zindex || 50;
  var opacity = options.opacity || 75;
  var opaque = (opacity / 100);
  var bgcolor = options.bgcolor || '#393155';
  var dark=xDOC.getElementById('darkenScreenObject');
  if (!dark) {
    // The dark layer doesn't exist, it's never been created.  So we'll
    // create it here and apply some basic styles.
    // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
    var tbody = xDOC.getElementsByTagName("body")[0];
    var tnode = xDOC.createElement('div');           // Create the layer.
        tnode.style.position='absolute';                 // Position absolutely
        tnode.style.top='0px';                           // In the top
        tnode.style.left='0px';                          // Left corner of the page
        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars            
        tnode.style.display='none';                      // Start out Hidden
        tnode.id='darkenScreenObject';                   // Name it so we can find it later
    tbody.appendChild(tnode);                            // Add it to the web page
    dark=xDOC.getElementById('darkenScreenObject');  // Get the object.
  }
  if (vis) {
    // Calculate the page width and height 
    if( xDOC.body && ( xDOC.body.scrollWidth || xDOC.body.scrollHeight ) ) {
        var pageWidth = xDOC.body.scrollWidth+'px';
        var pageHeight = xDOC.body.scrollHeight+'px';
    } else if( xDOC.body.offsetWidth ) {
      var pageWidth = xDOC.body.offsetWidth+'px';
      var pageHeight = xDOC.body.offsetHeight+'px';
    } else {
       var pageWidth='100%';
       var pageHeight='100%';
    }   
    //set the shader to cover the entire page and make it visible.
    dark.style.opacity=opaque;                      
    dark.style.MozOpacity=opaque;                   
    dark.style.filter='alpha(opacity='+opacity+')'; 
    dark.style.zIndex=zindex;        
    dark.style.backgroundColor=bgcolor;  
    dark.style.width= pageWidth;
    dark.style.height= pageHeight;
    dark.style.display='block';				 
  } 
  else {
     dark.style.display='none';
  }
}

//-------------------------------------------------------------------------------
//
// functions by tigra @ softcomplex
//
// http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html
//
//-------------------------------------------------------------------------------

function ClientWidth() {
	return PositionResult (
		window.innerWidth ? window.innerWidth : 0,
		xDOC.documentElement ? xDOC.documentElement.clientWidth : 0,
		xDOC.body ? xDOC.body.clientWidth : 0
	);
}

function ClientHeight() {
	return PositionResult (
		window.innerHeight ? window.innerHeight : 0,
		xDOC.documentElement ? xDOC.documentElement.clientHeight : 0,
		xDOC.body ? xDOC.body.clientHeight : 0
	);
}

function ScrollLeft() {
	return PositionResult (
		window.pageXOffset ? window.pageXOffset : 0,
		xDOC.documentElement ? xDOC.documentElement.scrollLeft : 0,
		xDOC.body ? xDOC.body.scrollLeft : 0
	);
}

function ScrollTop() {
	return PositionResult (
		window.pageYOffset ? window.pageYOffset : 0,
		xDOC.documentElement ? xDOC.documentElement.scrollTop : 0,
		xDOC.body ? xDOC.body.scrollTop : 0
	);
}

function PositionResult(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

//-------------------------------------------------------------------------------
//
// Floating Div from http://www.javascript-fx.com
// You may use this code for free on any web page provided that 
// these comment lines and the following credit remain in the code.
//
//-------------------------------------------------------------------------------

function FloatDiv (id, sx, sy) {

  var EL=xDOC.getElementById?xDOC.getElementById(id):xDOC.all?xDOC.all[id]:xDOC.layers[id];
  var PX = xDOC.layers ? "" : "px";
  window[id + "_obj"] = EL;
  if (xDOC.layers) EL.style=EL;
  EL.cx = EL.sx = sx;
  EL.cy = EL.sy = sy;

  EL.sP=function(x,y) { 
    this.style.left=x+PX;this.style.top=y+PX; 
  };

  EL.floatIt=function () {
    var pX, pY;
    pX = (this.sx >= 0) ? 0 : xNS ? innerWidth : 
	xDOC.documentElement && xDOC.documentElement.clientWidth ? 
	xDOC.documentElement.clientWidth : xDOC.body.clientWidth;
    pY = xNS ? pageYOffset : xDOC.documentElement && xDOC.documentElement.scrollTop ? 
	xDOC.documentElement.scrollTop : xDOC.body.scrollTop;
    if (this.sy<0) 
    pY += xNS ? innerHeight : xDOC.documentElement && xDOC.documentElement.clientHeight ? 
	    xDOC.documentElement.clientHeight : xDOC.body.clientHeight;
    this.cx += (pX + this.sx - this.cx)/8;this.cy += (pY + this.sy - this.cy)/8;
    this.sP(this.cx, this.cy);
    setTimeout(this.id + "_obj.floatIt()", 40);
  }
  return EL;
}


//-------------------------------------------------------------------------------
//
// prikaz i sakrivanje slike
//
//-------------------------------------------------------------------------------

function ShowPicture (BID) {
  var I=xDOC.getElementById('IMGSRC');
  GrayOut(true);
  I.src=BID;
  var XD=xDOC.getElementById('DIVIMG').offsetWidth;
  var YD=xDOC.getElementById('DIVIMG').offsetHeight;
  FloatDiv('DIVIMG',parseInt((ClientWidth()-XD)/2),50).floatIt();
  xDOC.getElementById('DIVIMG').style.visibility='visible';
}


function HidePicture () {
  var DIV=xDOC.getElementById('DIVIMG');
  DIV.style.visibility='hidden';
  var I=xDOC.getElementById('IMGSRC');
  I.src='_.gif';
  GrayOut(false);
}

//-------------------------------------------------------------------------------
