var flashversion = getFlashVersion();
function getFlashVersion() {
    var flashversion = 0;
    if (navigator.plugins && navigator.mimeTypes.length) {
        var x = navigator.plugins["Shockwave Flash"];
        if(x && x.description) {
            var y = x.description;
               flashversion = parseInt(y.charAt(y.indexOf('.')-2) + y.charAt(y.indexOf('.')-1));
        }
    } else {
        result = false;
        for(var i = 25; i >= 3 && result != true; i--){
               execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');
               flashversion = i;
           }
    }
    
    return flashversion;
}


var js_h = document.getElementsByTagName('head')[0];

function loadJS(file, en, type) { 
	eval ('var '+en+'= document.createElement("script");');
	eval(en+'.src = "'+file+'";');
	if (!type) {type = "text/javascript";};
	eval(en+'.type = "'+type+'";');
	eval('js_h.appendChild('+en+');');
}

function loadCSS(file, en) {
	eval('var '+en+' = document.createElement("link");');
	eval(en+'.href = "'+file+'";');
	eval(en+".type = 'text/css';");
	eval(en+".rel = 'stylesheet';");
	eval('js_h.appendChild('+en+');');
}



/*
jQuery.preloadContent = function(){
  for(var i = 0; i<arguments.length; i++)
  {
	jQuery("<div>").html(arguments[i]);
  }
}
*/


//Wykrywa rozszerzenie m.in. obrazkow
function file_getExtension(fileN) {
	var lastPos; var pos;
	lastPos = pos = fileN.indexOf(".");
	
	while (pos != -1) {   
		pos = fileN.indexOf(".",pos+1);
		if (pos != -1) lastPos = pos;
	}

	return fileN.substring(lastPos + 1);
}

/*
function file_dirname(str)
{
	return str.substr(0,str.lastIndexOf("/"));
}

function file_basename(str)
{
	return str.substr(str.lastIndexOf("/")+1);
}

function changeImages() {
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			if(document[changeImages.arguments[i]])
				document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}
*/


/*
//(poniższe funkcje głównie używane przy mapie polski w aplikacji shops)
ns6 = (document.getElementById)?true:false;
ns4 = (document.layers)?true:false;
ie4 = (document.all)?true:false;

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function hideDiv(divName) {
	if (ns4) document.layers[divName].visibility = "hide";
	else if (ns6) document.getElementById(divName).style.visibility = "hidden";
	else if (ie4) document.all[divName].style.visibility = "hidden";
}

function showDiv(divName) {
    if (ns4) document.layers[divName].visibility = "show";
	else if (ns6) document.getElementById(divName).style.visibility = "visible";
	else if (ie4) document.all[divName].style.visibility = "visible";
}



//Wg. mnie tej funkcji nie powinno byc tu albo powinna byc zmieniona
//ponizej zmodyfikowana przez mnie wersja
function showProv(Prov_id,nr) {
	for(i=1;i<nr+1;i++) { 
		//hideDiv('Prov_' + i);
		hideDiv('provMap_' + i);
	}

	//showDiv('prov_' + Prov_id);
	showDiv('provMap_' + Prov_id);
}
function showProvOld(Prov_id) {
	for(i=1;i<17;i++) { 
		//hideDiv('Prov_' + i);
		hideDiv('provMap_' + i);
	}

	//showDiv('prov_' + Prov_id);
	showDiv('provMap_' + Prov_id);
}
*/


function getSWFCode(imageFileName, imagesFolder, imageWidth, imageHeight, FlashVars) {
	widthCode	= ' width="'+imageWidth+'"';
	heightCode	= ' height="'+imageHeight+'"'; 

	code = "<OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" ";

	if (imageWidth)	 code += widthCode;
	if (imageHeight) code += heightCode;
	
	code +="><PARAM NAME=movie VALUE=\""+imagesFolder+"/" + imageFileName + "\"><PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFFF><PARAM NAME=wmode VALUE=transparent>";

	if (FlashVars) code +='<PARAM NAME=FlashVars VALUE="'+FlashVars+'">';
	
	code +="<EMBED src=\""+imagesFolder+"/" + imageFileName + "\" quality=high wmode=transparent bgcolor=#FFFFFF ";

	if (FlashVars) code +=' FlashVars="'+FlashVars+'"';
	
	if (imageWidth)	 code += widthCode;
	if (imageHeight) code += heightCode;

	code +=" TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"https://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"></EMBED></OBJECT>";
    return code;
}


//var noFlash = false; //stare użycie, obecnie jest flashused jako globalna zmienna
function getImageCode(imageFileName, imagesFolder, imageWidth, imageHeight, imgName, FlashVars){
	if (imageFileName == 's.gif') {imageFileName = 's.gif';imagesFolder = '';}
	isFlashFile = (file_getExtension(imageFileName).toUpperCase() == 'SWF');
	if (isFlashFile) flashused = 1; //Ustaw flage globalna, ze flash zostal chociaz raz uzyty
	
	if (isFlashFile && flashversion>=6) {
		var imgText = getSWFCode(imageFileName, imagesFolder, imageWidth, imageHeight, FlashVars);
	} else {
		if (isFlashFile) {
			imageFileName +='.png';
			//noFlash = true; //stare użycie, obecnie jest flashused jako globalna zmienna
		}

		var imgText = "<img border=0 src=\""+imagesFolder+"/" + imageFileName + "\"";
		if (imgName)	imgText += " name=\""+imgName+"\"";
		if (imageWidth)	imgText += " width=\""+imageWidth+"\"";
		if (imageHeight) imgText += " height=\""+imageHeight+"\"";
		imgText += ">";
	}

	return imgText;
}


function showImage(imageFileName, imagesFolder, imageWidth, imageHeight, FlashVars){
	imgText = getImageCode(imageFileName, imagesFolder, imageWidth, imageHeight, '', FlashVars);
	document.write(imgText);
}
	

function showBigImage(imageFileName, imagesFolder, imageWidth, imageHeight, pdN, imgName, FlashVars){
	imgText = getImageCode(imageFileName, imagesFolder, imageWidth, imageHeight, imgName, FlashVars);
	eval("$('#"+pdN+"').html(imgText);");
}


function showRandomBigImage(imageFileNames, imagesFolder,  imageWidth, imageHeight, pdN, imgName, FlashVars){
	//pdN = preloaderDivName czyli wzor preloadera do wykorzystania;
	iFNL = imageFileNames.length;
	imagesFolder = imageFileNames[iFNL-1];
	f = getRandomNumber(0,(iFNL - 2));
	
	showBigImage(imageFileNames[f], imagesFolder, imageWidth, imageHeight, pdN, imgName, FlashVars)
}


/*
function Preloader(imgName){
	if (!objImg_arr[imgName].complete) {
        setTimeout("Preloader('"+imgName+"')",50);
	}else{
		objP_arr[imgName].innerHTML =obj_arr[imgName].innerHTML;
	}
}
*/


//losowanie indeksu z tablicy
function getRandIndex(arr){
	return Math.round(Math.random()*(arr.length-1));
}

function getRandomNumber(m, n) {
    return Math.floor(Math.random() * (n-m+1)) + m;
}




/*
var fGlobalArr = new Array();

function showRandomImage(imageFileNames, imageWidth, imageHeight, dontRepeat){
	
	var imagesFolder = imageFileNames[imageFileNames.length-1];
	imageFileNames = unsetArrPos(imageFileNames,imageFileNames.length-1);

	if (dontRepeat) {
		var imageFileNamesCopy	= imageFileNames;

		for( var key in fGlobalArr ){
			for (var i = 0; i < imageFileNames.length; i++) {
			    if (imageFileNames[i]==key) {
					imageFileNamesCopy = unsetArrPos(imageFileNamesCopy, i);
				}
			}
		}

		imageFileNames  = imageFileNamesCopy;
	}

	iFNL = imageFileNames.length;

	f = getRandomNumber(0,(iFNL - 1));
	showImage(imageFileNames[f], imagesFolder, imageWidth, imageHeight);
	
	fGlobalArr[imageFileNames[f]]=true;
}

function unsetArrPos(arr,i) {
	i++;
	lArr = arr.slice(0,i);
	pArr = arr.slice(i);
	lArr.pop();
	arr = new Array();
	return arr.concat(pArr,lArr);    
}
*/




//email
function writeEmail(email_mailbox, email_host, email_show, email_class) 
{
	/*!
	protected email script by Joe Maller
	JavaScripts available at http://www.joemaller.com
	this script is free to use and distribute
	but please credit me and/or link to my site
	*/
	emailE=(email_mailbox + '@' + email_host);
	if (!email_show) email_show = emailE;
	if (email_class) email_class = ' class="'+email_class+'"'
	else email_class = '';
	document.write('<a' + email_class + ' href="mailto:' + emailE + '">' + email_show + '</a>');
}


//Funkcja dostosowana do CKEditora (definiowane w config.emailProtection)
function sendEmailCKE(email_mailbox, email_host, SUBJECT, BODY) 
{
	if (SUBJECT) email_host = email_host + "?subject=" + SUBJECT;

	if (BODY) email_host = email_host + "&body=" + BODY;

	location.href='mailto:' + email_mailbox + '@' + email_host;
}



/*
function writeSetHomePage(domain, addText) {
	var browserName=navigator.appName; 

	if (browserName=="Netscape") { 

	}
	else if (browserName=="Microsoft Internet Explorer") {
		var version = navigator.appVersion; 
		if (version.indexOf("5.") >= 0 || version.indexOf("6.") >= 0) {
			document.write("<a href=# onClick=\"this.style.behavior='url(#default#homepage)'; this.setHomePage('"+domain+"')\" style=\"text-decoration: none\">"+addText+"</a>");
		}
		else {		 
		}		
	}
	else {		
	}
}

function writeAddFovorites(domain, name, addText) {
	var browserName=navigator.appName; 

	if (browserName=="Netscape") { 

	}
	else if (browserName=="Microsoft Internet Explorer") {
		var version = navigator.appVersion; 
		document.write("<a href=# onClick=\"window.external.AddFavorite('"+domain+"', '"+name+"')\">"+addText+"</a>");
	}
	else {
		
	}
}
*/


/*
function allPagedDDMonClick() {
	document.all.linkType[0].checked=true;
}
*/

function closeWindow() {
    self.close();
	if (window.opener) window.opener.focus();
}



/*
//cookie
function setCookie(cookieName,cookieValue,nDays) {
	//alert("kuki set");
	var today = new Date();
	var expire = new Date();
	if (nDays==null || nDays==0) nDays=1;
	expire.setTime(today.getTime() + 3600000*24*nDays);
	//alert(cookieName+"="+escape(cookieValue)+ ";expires="+expire.toGMTString());
	//alert(document.location);
	document.cookie = cookieName+"="+escape(cookieValue)+ ";expires="+expire.toGMTString();
}

function setCookie2 (name, value, expires, path, domain, secure) {
   document.cookie = 
      name + "="
      + escape(value)
      + ((expires) ? "; expires=" + expires.toGMTString() : "")
      + ((path) ? "; path=" + path : "")
      + ((domain) ? "; domain=" + domain : "")
      + ((secure) ? "; secure" : ""); 
}

function readCookie(cookieName) {
	//alert("kuki read");
	var theCookie=""+document.cookie;
	var ind=theCookie.indexOf(cookieName);
	if (ind==-1 || cookieName=="") return ""; 
	var ind1=theCookie.indexOf(';',ind);
	if (ind1==-1) ind1=theCookie.length; 
	return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}
*/

/*
//(Używane przy warstwie z wykrywaniem flasha)
function df_getDivById(id){
	return (document.all)?document.all[id]:document.getElementById(id);
}
*/

function getStrengthenedHash(key, salt, iterations) {
	key = salt + ':' + key;

	for (var i=0; i<iterations; i++) {
		key = hex_sha1(key);
	}

	return key;
}
