function personal_module()
{
//
// main function
//
var  hatDesc = new Object();
hatDesc[0] = "ravenclaw";
hatDesc[1] = "gryffindor";
hatDesc[2] = "slytherin";
hatDesc[3] = "hufflepuff";

var  wandDesc = new Object();
wandDesc[0] = "Lunghezza sconosciuta";
wandDesc[1] = "Piume di fenice, acero, 7 pollici e mezzo";
wandDesc[2] = "Corde di cuore di drago, cedro, 13 pollici";
wandDesc[3] = "Peli di unicorno, salice, 10 pollici";
wandDesc[4] = "Piume di fenice, agrifoglio, 10 pollici";
wandDesc[5] = "Piume di fenice, sequoia, 8 pollici e 3/4";
wandDesc[6] = "Peli di unicorno, tasso, 9 pollici";
wandDesc[7] = "Peli di unicorno, mogano, 8 pollici";
wandDesc[8] = "Corde di cuore di drago, frassino, 7 pollici";

var HPcookieName = "wbhp_visitor_id=";
var HPcookieLen = HPcookieName.length;
var HPpfcookie = "wbhp_pf=";
var HPpfcookieLen = HPpfcookie.length;
var HPCookie = "";
var HPpf = "";
var dc = document.cookie;
var dcLen = document.cookie.length;
var offset = 0;
var endstr = dcLen;
var cookieName=" ";
var cookieHat="-1";
var cookieWand = "-1";
//
// if the new cookie is there,  read the value
//
if (dcLen > 0) 
{
	var begstr = dc.indexOf(HPcookieName);
	if (begstr !=  -1)
	{
		offset = begstr + HPcookieLen;
		endstr = dc.indexOf(";", offset);
		if (endstr == -1)
			endstr = dcLen;
		HPCookie = unescape(dc.substring(offset,endstr));
	}
}

if (HPCookie != "") 
{
   var separator = HPCookie.indexOf("<^>");
   var hatptr = HPCookie.indexOf("=",separator);
   cookieName = HPCookie.substring(HPCookie.indexOf("=")+1,separator);
   cookieHat = HPCookie.substring(hatptr+1,HPCookie.length);
}

//Now, let get wand information
if (dcLen > 0)
{
        var begstr = dc.indexOf(HPpfcookie);
        if (begstr !=  -1)
        {
                offset = begstr + HPpfcookieLen;
                endstr = dc.indexOf(";", offset);
                if (endstr == -1)
                        endstr = dcLen;
                HPpf = unescape(dc.substring(offset,endstr));
        }
}
if (HPpf != "") 
{
   cookieWand = HPpf.substring(HPpf.indexOf("=")+1,HPpf.indexOf("<^>"));
}

//  Let check the value
if (cookieHat <0 || cookieHat >3)
	cookieHat = "-1";
if (cookieWand <0 || cookieWand > 8)
	cookieWand = "-1";

if (cookieHat == "-1") {
   document.write('<table width="200" border="0" cellspacing="0" cellpadding="2" align="left">\n');
   document.write('<tr valign="top">\n');
   document.write('<td>\n');
   document.write('<font size="1" face="Verdana" color="#00CCFF"><b>Benvenuto a harrypotter.com!</b><br>\n');
   if (cookieName = " ") {
	document.write('Clicca <a href="/web/hogwarts/index.jsp">qui</a> per iscriverti a Hogwarts.<br></font>\n');
   } else { 
	document.write('<img src="/personalmodule/img/enrollment_in_process.gif"><br></font>\n');
   }
   document.write('</td>\n');
   document.write('</tr>\n');
   document.write('</table>\n');
} else {
   document.write('<table width="200">\n');
   document.write('<tr valign="top">\n');
   document.write('<td width="61" valign="top"><img src="/personalmodule/img/' + hatDesc[cookieHat] + '.gif" width="61" height="60" alt="' + hatDesc[cookieHat] + '"></td>');
   document.write('<td valign="top"><font color="#d0d0d0" face="Verdana" size="1"><b>Benvenuto! ' +  cookieName + '!</b><br>'); 
   if (cookieWand == "-1")
   {
	document.write('Grazie per essere venuto a visitare harrypotter.co.uk. Dai un\'occhiata in giro!<br></font>');
   } else {
      	document.write('La tua bacchetta magica: ' + wandDesc[cookieWand] + '!<br></font>\n');
   }
   document.write('</td></tr>\n');
   document.write('</table>\n');
   document.write('<table align="left" width="200">\n');
   document.write('<tr align="left" width="100%"><td><font size="1" face="Verdana" color="#00CCFF"><a href="/web/hogwarts/index.jsp?HatSel=off">Non sei ancora iscritto a Hogwarts, </a><br>oppure<br><a href="/web/hogwarts/index.jsp?HatSel=on">' + cookieName + ' non &egrave; il tuo nome da studente?</a></font></td>\n');
   document.write('</tr>\n');
   document.write('</table>\n');
}
}

//if new cookie exist, just go to new personalization 
function new_cookie() {
var WBHPcookieName = "wbhp_visitor_id=";
var hasCookie = document.cookie.indexOf(WBHPcookieName);
//var hasCookie = document.cookie.indexOf("harry_potter_visitor_id");
    return(hasCookie);
}

//
// main function
//
function personalization()
{
var HPcookieName = "harry_potter_visitor_id=";
var HPcookieLen = HPcookieName.length;
var HPpfcookie = "harry_potter_pf=";
var HPpfcookieLen = HPpfcookie.length;
var WBHPcookieName = "wbhp_visitor_id=";
var WBHPpfcookie = "wbhp_pf=";
var HPCookie = "";
var HPpf = "";
var exp_date = new Date(97,11,25);
var nextyear = new Date();
nextyear.setFullYear(nextyear.getFullYear() + 1);
var dc = document.cookie;
var dcLen = document.cookie.length;
var offset = 0;
var endstr = dcLen;
var cookieName=" ";
var cookieHat="-1";
var cookieWand = "-1";
//
// if the new cookie is there, just return
//
var exist = new_cookie();
if (exist == -1)
{
if (dcLen > 0) 
{
	var begstr = dc.indexOf(HPcookieName);
	if (begstr !=  -1)
	{
		offset = begstr + HPcookieLen;
		endstr = dc.indexOf(";", offset);
		if (endstr == -1)
			endstr = dcLen;
		HPCookie = unescape(dc.substring(offset,endstr));
	}
}

if (HPCookie != "") 
{
   var separator = HPCookie.indexOf("<^>");
   var hatptr = HPCookie.indexOf("=",separator);
   cookieName = HPCookie.substring(HPCookie.indexOf("=")+1,separator);
   cookieHat = HPCookie.substring(hatptr+1,HPCookie.length);
}

// Let write the information to new visitor cookis
var HPCookie = "";
var sep = "<^>";
HPCookie = ("userName=" + cookieName + sep + "hat=" + cookieHat );
document.cookie = WBHPcookieName + HPCookie + "; path=/; expires=" + nextyear.toGMTString();

// Let delete the old visitor cookie
document.cookie = HPcookieName + "; expires=" + exp_date.toGMTString();

//Now, let get wand information
if (dcLen > 0)
{
        var begstr = dc.indexOf(HPpfcookie);
        if (begstr !=  -1)
        {
                offset = begstr + HPpfcookieLen;
                endstr = dc.indexOf(";", offset);
                if (endstr == -1)
                        endstr = dcLen;
                HPpf = unescape(dc.substring(offset,endstr));
        }
}

if (HPpf != "") 
{
   cookieWand = HPpf.substring(HPpf.indexOf("=")+1,HPpf.indexOf("<^>"));
}

// Let write the information to new profile cookis
HPCookie = ("wand=" + cookieWand + sep + "name= " + sep + "mascot=-1" + sep + "trait1=-1" + sep + "trait2=-1");
document.cookie = WBHPpfcookie + HPCookie + "; path=/; expires=" + nextyear.toGMTString();

// Let delete the old profile cookie
document.cookie = HPpfcookie + "; expires=" + exp_date.toGMTString();

// Redirect to the cookie reader
personal_module();

} else {
personal_module();
}
}
