/**
 *  Javascript OPAC WWW
 *
 *  Data utworzenia: 26.08.2008 
 */  
var gError = 0;       /* 1 - nieprawidlowy e-mail; 
                         2 - bledny kod z obrazka
                      */

/**
 *  Obsluga listy wyboru biblioteki
 */
var czyZmienilBiblioteke = false;

function ChangeLibrary()
{
  document.getElementById('listabibliotek').style.display = 'block';
  YAHOO.lib_list.listabibliotek.show();
}  
/* --- END - Obsluga listy wyboru biblioteki --- */

/**
 *  Obsluga zmiany języka
 */
var langMenu;
var activeLangIdx;
function initLang() {
        langMenu = new YAHOO.widget.Menu("ch-lang",{context:["lnch","tl","bl"]});
        langMenu.render();
        langMenu.subscribe("show", langMenu.focus);
        YAHOO.util.Event.addListener("lnch", "click", langMenu.show, null, langMenu);
        document.getElementById("ch-lang").className="yuimenu";
        SetActiveLang();
        /**/
    }
    
    function ZmienJezykNB(prname,uri,lname) 
    {          var re = /ln=[0-9A-Za-z]*/;
               var newuri = uri.replace(re, "ln="+lname);
               document.location = prname + "?" + newuri ;
      
    }; 
    function SetActiveLang() 
    {
       langMenu.getItem(activeLangIdx).cfg.setProperty("checked", true);
      
    }; 
/* --- END - Obsluga zmiany języka --- */

/**
 *  Walidacja adresu e-mail
 */ 
 function checkValidation(email) 
 {
    if (stringEmpty(email))
        gError = 1;
    else if (noAtSign(email))
        gError = 1;
    else if (nothingBeforeAt(email))
        gError = 1;
    else if (noLeftBracket(email))
        gError = 1;
    else if (noRightBracket(email))
        gError = 1;
    else if (noValidPeriod(email))
        gError = 1;
    else if (noValidSuffix(email))
        gError = 1;
    else
        return (true);
    return (false);
}

function linkCheckValidation(email) 
{
    if (checkValidation(email) == true) 
    {
        alert('E-Mail Address Validates OK' );
    }
    return (false);
}

function stringEmpty(address) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if (address.length < 1) {
        return (true);
    } else {
        return (false);
    }
}

function noAtSign(address) {
    // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
    if (address.indexOf ( '@', 0 ) == -1) {
        return (true)
    } else {
        return (false);
    }
}

function nothingBeforeAt(address) {
    // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
    if (address.indexOf ( '@', 0 ) < 1) {
        return (true)
    } else {
        return (false);
    }
}

function noLeftBracket ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
    if (address.indexOf('[', 0) == -1 && address.charAt(address.length - 1) == ']') {
        return (true)
    } else {
        return (false);
    }
}

function noRightBracket(address) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
    if (address.indexOf('[', 0) > -1 && address.charAt(address.length - 1 ) != ']') {
        return (true);
    } else {
        return (false);
    }
}

function noValidPeriod(address) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (address.indexOf('@', 0) > 1 && address.charAt(address.length - 1 ) == ']')
        return (false);

    // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
    if (address.indexOf('.', 0) == -1)
        return (true);
    return (false);
}

function noValidSuffix ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (address.indexOf('@', 0) > 1 && address.charAt(address.length - 1 ) == ']')
        return ( false );
    // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
    var len = address.length;
    var pos = address.lastIndexOf ('.', len - 1) + 1;
    if ((len - pos) < 2 || (len - pos) > 3) {
        return (true);
    } else {
        return (false);
    }
}

/**
*  END - Walidacja adresu e-mail - END
*/

/*------------------ okno modalne QuestionBox------------------------*/
YAHOO.namespace("questionbox");

/* inicjalizacja */
function initQuestionBox(btnName1, btnName2, fn, fn2)
{   
    var handlePositive = fn;
    if(typeof(fn2) == "function"){
        var handleNegative = fn2
      }else{
        var handleNegative = function(){
        this.cancel();
      }
      };

  if(typeof(YAHOO.questionbox.questionbox)== "object"){
    var qbButtons = [ { text: btnName1, handler:handlePositive },
                  { text: btnName2, handler:handleNegative }]
       YAHOO.questionbox.questionbox.cfg.queueProperty("buttons", qbButtons);
       
      
  }else{

  YAHOO.questionbox.questionbox = new YAHOO.widget.SimpleDialog("questionbox", 
    { width : "400px",
      fixedcenter : true, 
      modal : true,
      visible : false,
      
      constraintoviewport : true,
      buttons : [ { text: btnName1, handler:handlePositive },
                  { text: btnName2, handler:handleNegative }]
    });
    
     
    }   
    YAHOO.questionbox.questionbox.render(); 
}

/* --- QuestionBox --- 
 *  header - tresc naglowka
 *  message - tresc komunikatu
 *  btnName1 - nazwa 1 przycisku (positive)
 *  btnName2 - nazwa 2 przycisku (negative)
 */
function questCanc(){YAHOO.questionbox.questionbox.cancel();  } 
function questionBox(header, message, btnName1, btnName2, go_function, go_function2)
{
  initQuestionBox(btnName1, btnName2, go_function, go_function2);
  /* dodanie naglowka */
  YAHOO.questionbox.questionbox.setHeader(header);
  /* dodanie tresci komunikatu */
  YAHOO.questionbox.questionbox.setBody(message);
  /* wylaczenie X do zamykania okienka */
  
  /* renderowanie */
   
  YAHOO.questionbox.questionbox.show();
  
  YAHOO.util.Event.addListener(YAHOO.questionbox.questionbox, 'click',questCanc);
  YAHOO.util.Event.addListener(YAHOO.questionbox.questionbox.firstButton, 'click', questCanc);
   if(typeof(go_function2) == "function"){
     YAHOO.util.Event.addListener(YAHOO.questionbox.questionbox.lastButton, 'click', questCanc);
  }
}
/*--------------------------------------------------------------------------*/
/*---------------------Rezygnacja z zamówienia------------------------------*/



function DoRezZam(url,p1,p2,p3,p4,p5){
var getCallback =
{
	customevents:{
	  onStart:function(eventType, args) { 
     document.getElementById(args[1][1]).innerHTML = '<img src="/prolib/img/loader-modal2.gif"/>';
      }, 
		onSuccess:function(eventType, args) {
       document.getElementById(args[0].argument[1]).innerHTML = "";
       eval(args[0].argument[0]);
    
		},
		onFailure:function(eventType, args) {
		document.getElementById(args[0].argument[1]).innerHTML = "";
    eval(args[0].argument[0]);
		}
	} ,argument:[] 
};

 getCallback.argument[0]="getEgzCz('"+p1+"','"+p2+"','"+p3+"','"+p4+"','"+p5+"')" ;/*eval func*/
 getCallback.argument[1]="CPEgz"+p1+p2;/*id CPEgz*/
  
 var stZas = YAHOO.util.Connect.asyncRequest('GET', url,getCallback); 

}

/*------------------funkcje dla procedury wo2_lista_za.p-------------------------------*/
function wyslijZam(){
var lIsChkbox;
  Spry.$$(".chkboxZam").forEach(function(n) {
  alert(n);
  });
}
/*------------------funkcja do przekierowania do konta czytelnika-------------------------------*/
function goToChangePass() {
  var loc = 'wo2_konto.p?ID1=' + sessionID1 +'&ln=' + sessionCKodJezyka;
  document.location = loc;
} 

/*------------------
funkcje do ustawiania wysokoci tabpanels() w wo2_opbib.p
-------------------------------*/
function setLinkTabs(){
    Spry.$$(".TabbedPanelsTab").forEach(function(n){   
       var fn = function(){
         Spry.$$(".TabbedPanelsContentVisible").forEach(function(m){
           if(m.scrollHeight>310){
              Spry.Utils.addClassName(m,"h300");
              YAHOO.util.Event.removeListener(n,'click',fn);
             };
          });         
         }
      YAHOO.util.Event.addListener(n,'click',fn);
    });
}

function setTabsHeight(){
 Spry.$$(".TabbedPanelsContentVisible").forEach(function(m){
           if(m.scrollHeight>301){Spry.Utils.addClassName(m,"h300");};
          });
}
