//Otwórz okno z flashem
function flash(URL,szer,wys) {
nowe_okno=window.open("","_blank","toolbar=no,status=no,menu=no,scrollbars,resizable,width="+(szer+20)+",height="+wys+",top=30,left=30");
nowe_okno.document.open();
nowe_okno.document.writeln('<BODY topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>');
nowe_okno.document.writeln('<OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0 height='+wys+' width='+szer+' classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>');
nowe_okno.document.writeln('<PARAM NAME="Movie" VALUE="'+URL+'">');
nowe_okno.document.writeln('<PARAM NAME="Src" VALUE="'+URL+'">');
nowe_okno.document.writeln('<PARAM NAME="Play" VALUE="-1">');
nowe_okno.document.writeln('<PARAM NAME="Loop" VALUE="-1">');
nowe_okno.document.writeln('<PARAM NAME="Quality" VALUE="High">');
nowe_okno.document.writeln('<embed src="'+URL+'" type="application/x-shockwave-flash" width="'+szer+'" height="'+wys+'" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" quality="best" play="true">');
nowe_okno.document.writeln('</OBJECT>');
nowe_okno.document.writeln('</BODY>');
nowe_okno.document.close();
}
//Otwórz okno ze zdjeciem
function zdjecie(URL,w,h) {
obrazek = new Image();
obrazek.src = URL;
if(w>600) w=600;
if(h>500) h=500;
//Pętla opóźnaijąca
nowe_okno=window.open("","_blank","toolbar=no,status=no,menu=no,scrollbars,resizable,width="+(w+20)+",height="+h+",top=30,left=30");
nowe_okno.document.open();
nowe_okno.document.writeln('<SCRIPT language=Javascript>');
nowe_okno.document.writeln('function wymiary() { ');
nowe_okno.document.writeln('w=document.zdjecie.width; h=document.zdjecie.height; if(w>710) w=710; if(h>510) h=510;');
nowe_okno.document.writeln('window.resizeTo(w+40,h+40);');
nowe_okno.document.writeln('}');
nowe_okno.document.writeln('</SCRIPT>');
nowe_okno.document.writeln('<BODY topmargin=0 leftmargin=0 marginwidth=0 marginheight=0 onLoad="wymiary()">');
nowe_okno.document.writeln('<IMG src='+URL+' border=0 name=zdjecie>');
nowe_okno.document.writeln('</BODY>');
nowe_okno.document.close();
}
//Otwórz okno z dokumentem (określ rozmiary)
function okno(URL,szer,wys) {
nowe_okno=window.open(URL,"_blank","toolbar=no,status=no,menus=no,scrollbars,location=no,resizable,width="+szer+",height="+wys+",top=30,left=30");
return;
}
//Otwórz okno z dokumentem (zasymuluj target=_blank)
function url(URL) {
nowe_okno=window.open(URL,"_blank","toolbar,location,status,menubar,scrollbars,resizable,top=30,left=30,width=675,height=450");
return;
}
function okno_blank(URL,szer,wys) {
nowe_okno=window.open(URL,"_blank","toolbar=no,status=no,menus=no,scrollbars=no,resizable,width="+szer+",height="+wys+",top=30,left=30");
return;
}
//Create Flash
function createFlash(movie, wdth, hght, bgnd, idName, cel, fVars) {
       obj_setFlash = document.getElementById(cel);
       objTag = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' style='z-index:1' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='"+wdth+"' height='"+hght+"' id='"+idName+"'>";
       objTag2 = "<object data='"+movie+"' type='application/x-shockwave-flash' width='"+wdth+"' height='"+hght+"' id='"+idName+"'>";
       paramTag = "<param name='movie' value='"+movie+"' /><param name='bgcolor' value='"+bgnd+"' /><param name='quality' value='high' /><param name='menu' value='false' /><param name='FlashVars' value='"+fVars+"' /></object>";
       if (typeof HTMLElement != "undefined") {
              obj = document.createElement("object");
              obj.setAttribute("data", movie);
              obj.setAttribute("type", "application/x-shockwave-flash");
              obj.setAttribute("width", wdth);
              obj.setAttribute("height", hght);
              obj.setAttribute("id", idName);
              par = document.createElement("param");
              par.setAttribute("name", "quality");
              par.setAttribute("value", "high");
              obj.appendChild(par);
              par = document.createElement("param");
              par.setAttribute("name", "wmode");
              par.setAttribute("value", "transparent");
              obj.appendChild(par);
              par = document.createElement("param");
              par.setAttribute("name", "bgcolor");
              par.setAttribute("value", bgnd);
              obj.appendChild(par);
              par = document.createElement("param");
              par.setAttribute("name", "menu");
              par.setAttribute("value", "false");
              obj.appendChild(par);
              par = document.createElement("param");
              par.setAttribute("name", "FlashVars");
              par.setAttribute("value", fVars);
              obj.appendChild(par);
              par = document.createElement("param");
              par.setAttribute("name", "pluginspage");
              par.setAttribute("value", "http://www.macromedia.com/go/getflashplayer");
              obj.appendChild(par);
              obj_setFlash.appendChild(obj);
       } else {
              obj_setFlash.insertAdjacentHTML('beforeEnd',objTag+paramTag);
       }
}


//Wyślij formularz z wykorzystaniem xajaxa/jquery
//Patrz folder przyklady/xajax_form.html
function xajax_form_wyslij(opts) {
    if(!opts.form) {
      alert("ERR:xajax_form_wyslij.opts.form");
      return false;
    }//if(!opts.form) {
    if(!opts.action) {
      alert("ERR:xajax_form_wyslij.opts.action");
      return false;
    }//if(!opts.action) {

    if(opts.start) opts.start();

    $.ajax({
      type: "POST",
      url: ""+opts.action+"",
      data: ""+$(opts.form).serialize()+"",
      dataType: "html",
      cache: false,
      complete: function (htmlRequest,textStatus) {
        tmp = new RegExp("<rezultat>([^<]+)</rezultat>","");
        if(htmlRequest.responseText.match(tmp))
          rezultat = htmlRequest.responseText.match(tmp)[1];
        else
          rezultat = "???";
        if(opts.end) opts.end(rezultat);
      }//function (xml,textStatus) {
    });
    return false;
}//function xajax_form_wyslij(opts) {


//Wyślij formularz z wykorzystaniem iframe
iframe_form_wyslij_tmp = {};
function iframe_form_wyslij(options) {
    if(!options.form) {
      alert("ERR:iframe_form_wyslij.options.form");
      return false;
    }//if(!options.form) {
    if(!options.action) {
      alert("ERR:iframe_form_wyslij.options.action");
      return false;
    }//if(!options.action) {
    if(!options.id) {
      alert("ERR:iframe_form_wyslij.options.id");
      return false;
    }//if(!options.id) {
    //Ustaw zmienne globalne
    eval('iframe_form_wyslij_tmp.options_'+options.id+' = options;');
    //Ustaw formularz
    $(options.form).attr("id","form_"+options.id);
    $(options.form).attr("action",options.action);
    $(options.form).attr("method","post");
    $(options.form).attr("enctype","multipart/form-data");
    $(options.form).attr("target","iframe_"+options.id);
    return iframe_form_wyslij_iframe(options.id);
}//function iframe_form_wyslij(options) {
function iframe_form_wyslij_iframe(id) {
  //Dodaj diva z iframe
  tmp = 0;
  eval('tmp = iframe_form_wyslij_tmp.options_'+id+';');
  if(!document.getElementById('div_'+tmp.id)) {
    var div = document.createElement("DIV");
    $(div).attr("id","div_"+tmp.id);
    document.body.appendChild(div);
    $("div#div_"+tmp.id).html("<iframe name='iframe_"+tmp.id+"' id='iframe_"+tmp.id+"' onload='"+'iframe_form_wyslij_onload("'+tmp.id+'",this)'+"'></iframe>");
  }//if(!$("div#div_"+tmp.id)) {

  //wyślij formularz
  tmp.form.submit();
  //$(div).hide();
  return true;
}
function iframe_form_wyslij_onload(id,frm) {
  tmp = 0;
  eval('tmp = iframe_form_wyslij_tmp.options_'+id+';');
  rezultat = $("iframe#iframe_"+id).find("rezultat:first").text();
  alert($(frm).html());
  //if(tmp.end) tmp.end(rezultat);
  //$("div#div_"+id).remove();
  return true;
}//function iframe_form_wyslij_onload(id) {
function base64_encode(input) {
   var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);

   return output;
}

function base64_decode(input) {
   var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}