<!-- Hiding// This is an modification of the original Password Pro created by Lefteris Haritou// http://www.geocities.com/~lef// Please notice that this script among with others is copyrighted under the Greek copyright office which// make it valid worldwide except USA.// Some of Mr. Haritou's latest Script are also copyrighted under the US copyright office as well// (http://www.loc.gov/copyright/)// Edited by Howard Chen// Script compatible by Internet Explorer 3.02 or above//                      Netscape Navigator 3.0 or above// 0102: Dynamic Cross Browser Compatibility Improvements // for NS4x and Dom Browsers, New Generation// This last Vers. improvements is (c) 2002 by Battini Digital Solutions// 1202: add secure_urls pwbasedonlyvar base= new Array("A","a","B","C","D","E","t","u","F","G","b","s","W","v","9","H",     "h","8","r","7","I","J","w","K","X","6","g","q","L","Y","5","x","M","0","N","p",     "i","y","c","4","O","P","o","3","f","z","Q","2","j","R","n","1","e","S","T","d","U","k","m","V","l","Z")var alphabet= "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_"var z=23;var y=28;var f= new Array();var K= new Array();var freeRev = new Array();var lgnum=0;var len = "/";var ping =".html";for (x=0; x<10; x++){f[x]=x<<9f[x]+=x}for (x=10; x<36; x++){y=y<<1v= Math.sqrt(y)v = parseInt(v,16)v+=yf[x]=vy++}for (x=36; x<62; x++){z=z<<1v= Math.sqrt(z)v = parseInt(v,16)v+=zf[x]=vz++};function encFrm(code, algnum){var dirK ="";var dirKK ="";var ooOO = "Aab+B!gC_DctE=>\FhG?d$~fi@H(qI%`/eu&JKj}Lnr:#*1-M{N^oO]2ms. Pyk0)3Q<Rz9S4[pl8T;w57UV|v6WXYxZ"var oOOo = ""var oOoO = ""for (var i = 0; i < ooOO.length; i++){ if (i % 2 == 0) {oOOo+=ooOO.charAt(i)} else {oOoO+=ooOO.charAt(i)} }ooOO = oOOo + oOoOvar numbers = ooOO.length - 1var alphabet = new Array(ooOO.length)for (var adding = 0; adding <= numbers; adding++){ alphabet[adding] = ooOO.charAt(adding) }var ivar kvar j = code.lengthvar urlcode = "" for (i=0; i<= j; i++) {  for (k = 0; k <= numbers; k++) {   if (code.charAt(i) == alphabet[k]) {   if (code.charAt(i) == ooOO.charAt(ooOO.length - 1)) { urlcode += ooOO.charAt(0); continue }	  urlcode += alphabet[k + 1] }	}  }// 1202 batt: 1 half hour hacking on mine test offline rigth here: low lev sec end point // add a secure url path fix into original bad url ecoding routines, // now there are 2 levels of security: 0/1. low/hightif(login[algnum].dirX != 0) {	freepass = (document.layers)? document.resServicesFarma.document.lgformFrm.passwd.value : document.lgformFrm.passwd.value;if(login[algnum].dirX == 1 || login[algnum].dirX == 2){	var freel=freepass.length;for (l=0; l<freel; l++){ 	freeRev[l]=freepass.charAt(l);	}	if( login[algnum].dirX == 3 ){ 		dirK = freeRev;		}	  else{		dirK = freeRev.reverse();		}dirKK = dirK.join("");}var spc=(login[algnum].dirX!=0)?len:"";						// add psw FARMcheck 3 option 0804 :: unit doc name reverse + ok (no slash) like ref 2 pow security		if( login[algnum].dirX == 2 ){ spc=""; }	// rejoint on option 2 modevar bound = (login[algnum].dirX == 3) ? urlcode.length : urlcode.lastIndexOf("/");var dir = urlcode.substring(0,bound+1);urlcode = dir+dirKK+spc+keyDef+ping;}if(keyDef.length < 1 || keyDef == ("" || null || "undefined")){	incFrm();	return;	}	// alert(urlcode+":: allowed redir mode 1 and 2");return urlcode;};function cton (Char) { return (Ref.indexOf(Char)); };function ntoc (Val) { return (Ref.substring(Val, Val+1)) };function incFrm(){iCounter--if (iCounter > 0){	// alert('Login / Password Incorrect\n\nPlease try again')	alert('Password sbagliata.\nRiprovate. \n\nWrong Password.\nTried again still.');		resetdataFrm();		lgnum=0;			clonetoCheck = [];			clonedNamesToLoginNumb = 0;			foundpass = 0;		objallowed = null;		}		else {    document.open();    document.write('<HTML><HEAD><TITLE>Access Forbidden</TITLE></HEAD><BODY BGCOLOR="#FFFFFF"><CENTER>');    document.write("<H1>Access Forbidden</H1>L'accesso al Catalogo Farmacia &egrave consentito ai soli utenti registrati.");    document.write('<BR>The access to Pharmacy Catalog is for registered users only.');    document.write('</CENTER></BODY></HTML>');    document.close();    }};var clonetoCheck = new Array();var clonedNamesToLoginNumb = 0;var foundpass = 0;var objallowed = null;// upd. 06/08/04 :: adding frm check: farmacat registered users only accessfunction checkFrm(){		// farmform	var lgformusval = (document.layers)? document.resServicesFarma.document.lgformFrm.user.value : document.lgformFrm.user.value;	for (var f=0; f<login.length; f++){						// filtering routines				if (lgformusval==login[f].usid){				// loop indexed pp and clones too			clonetoCheck[clonedNamesToLoginNumb] = f;			clonedNamesToLoginNumb++;			}		}if (clonedNamesToLoginNumb>0 && clonetoCheck.length>0){	// if found pp		for (var g=0; g<clonetoCheck.length; g++){		// loop clones nms			var extloop = pwdchkFrm(clonetoCheck[g]);			}	 	}if (foundpass > 0 && objallowed != null){		goFrm(encFrm(login[objallowed].pgurl, objallowed));		window.focus();			clonetoCheck = [];			clonedNamesToLoginNumb = 0;			foundpass = 0;			objallowed = null;			}	 else{ incFrm();	 }};// batt enforced url security input passw based//// add 'index' empty doc in every directory for avoid indexing hacking on servers foldvar keyDef = "";function pwdchkFrm(klgnum){	keyDef = "";	var pass = (document.layers)? document.resServicesFarma.document.lgformFrm.passwd.value : document.lgformFrm.passwd.value;	var lpass=pass.lengthfor (l=0; l<lpass; l++){ K[l]=pass.charAt(l) }	var code=0;for (y=0; y<lpass; y++){	for(x=0; x<62; x++){ if (K[y]==base[x]){ keyDef += K[y]; code+=(y+1)*f[x]; } }	}if (code==login[klgnum].pwd) {		// if founded get array refs indx	objallowed = klgnum;	foundpass++;	return klgnum;	} };function goFrm(site){	alert("Ok!\n\nPassword corretta.\nL'accesso al Catalogo Farmacia e' Consentito.\n\nPassword is correct.\nThe Access to the Catalog Pharmacy is agreed.");			// alert('Login / Password is OK.\n\nIf the host server is online\n\nyou will be redirect to our services. At: '+site);	location.href = site;	// resetdataFrm();	};// Batt: 0103. Add Form imputs and locBar string display ctrl.// This way too, in login form, fix all problems: <form name="lgformFrm" action="javascript:checkFrm();//" method="get">// remember to put in login form doc the 'window.onload (and onreload) = resetdataFrm();' too, // this can help to hide the loc?searchs data location query_args to display sending data// when are used return key for submit forms.// IE browsers can display visible both userid and pasw in location bar,// the location bar "href+?+dataImputs" can remain visible even after a reload or a recall loc.// All these problems are solved in all browsers whith: // <form name="lgformFrm" action="javascript:checkFrm();//" method="get">function resetdataFrm(){	// fixed: now the onsubmit clear key mode is hidden then checked 	// and allowed throught the action get form code	// reset psw and id to null ever;  if (document.layers){ 	document.resServicesFarma.document.lgformFrm.user.value="";	document.resServicesFarma.document.lgformFrm.passwd.value="";	document.location.href = "javascript:void(0)";  }else{	document.lgformFrm.user.value="";	document.lgformFrm.passwd.value="";	document.location.href = "javascript:void(0)";	} }; var iCounter=4;//-->