function enlarge(picname,w,h) {
	popup = window.open('','','toolbar=no,location=no,directories=no,menubar=no,resizable=no,status=no,scrollbars=auto,width='+w+',height='+h); 
	popup.document.write('<HTML><BODY><div style="position: absolute; left: 0px; top: 0px; right:0px; bottom:0px;"><TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR VALIGN=MIDDLE><TD ALIGN=CENTER>'); 
	popup.document.write('<IMG ID="pic1" SRC="'+picname+'" BORDER=0 OnClick=self.close()></TR></TD></TABLE></div></BODY></HTML>'); 
	popup.document.close(); 
}


function mail(m)
{
        pos = m.replace(' at ','@');
        location.href = 'mailto:'+pos;
}
firstImg = 1
lastImg  = 12
nextImg = firstImg
timerID = 0
imgName = "pgrade"
delay = 1000
newDelay = 0

flipBook = new Array()
for (i=firstImg; i <= lastImg; i++){            //preload all images before entire page is visible.
   flipBook[i] = new Image()
   flipBook[i].src = "images/p_" + i + ".png"
}

function startAnimation(){
stopAnimation()
   if (ready){
     nextImg = firstImg       //uncomment to start over at first image
     changeImage()
   }
}

function resetAnimation(){
stopAnimation()
     nextImg = firstImg       //uncomment to start over at first image
   document[imgName].src = flipBook[nextImg].src
}

function stopAnimation(){
   clearTimeout(timerID)
}

function changeDelay(formRef){
delay = formRef.time[formRef.time.selectedIndex].value
}

function oneStep(){
stopAnimation()
   document[imgName].src = flipBook[nextImg].src
   nextImg++
   if (nextImg > lastImg) nextImg = firstImg
}
function changeImage(){
   document[imgName].src = flipBook[nextImg].src
   nextImg++
   if (nextImg > lastImg) nextImg = firstImg
   timerID = setTimeout("changeImage()",delay)
}

function colorize_on(obj)
{
        obj.style.backgroundColor = "#AEB5D8";
}

function colorize_off(obj)
        {
          obj.style.backgroundColor = "#969ECD";

          }

function subcolorize_on(obj)
{
        obj.style.backgroundColor = "#AEB5D8";
}

function subcolorize_off(obj)
        {
          obj.style.backgroundColor = "#C4CAE9";

          }



// ============================ pgportal_request_formcheck() =============================================

function pgportal_request_formcheck()
{

    var fullName = document.pgportal_request_form.fullName;
    var userName = document.pgportal_request_form.userName;
    var password = document.pgportal_request_form.password;
    var password2 = document.pgportal_request_form.password2;
    var address = document.pgportal_request_form.address;
    var phone = document.pgportal_request_form.phone;
    var institute = document.pgportal_request_form.organization;
    var emailAddress = document.pgportal_request_form.emailAddress;
    var confirmationCode = document.pgportal_request_form.confirmationCode;

    var usage = document.pgportal_request_form.usage;
    var accept = document.pgportal_request_form.accept;

    var messageArea = document.getElementById("messageArea");

    var errorOccurred = false;
    var message = "";
    
    //var messagePrefix = " - ";
    //var messageSuffix = "\n";
    var messagePrefix = "";
    var messageSuffix = "<br />\n";
   
    // LICENCE AGREEMENT
    if (accept.checked == false)
    {
	    alert("You didn't accept the Licence Agreement!");
	    return false;
    }
    
    // FULL NAME
    if (fullName.value == "")
    {
        message += messagePrefix + "Full name field is empty!" + messageSuffix;
        //if (!errorOccurred) fullName.focus();
        errorOccurred = true;
    }

    // USER NAME
    if (userName.value == "")
    {
        message += messagePrefix + "User name field is empty!" + messageSuffix;
        //if (!errorOccurred) userName.focus();
        errorOccurred = true;
    }
    
    // PASSWORD
    if (password.value == "")
    {
        message += messagePrefix + "Password field is empty!" + messageSuffix;
        //if (!errorOccurred) password.focus();
        errorOccurred = true;
    }
    else if (password.value.length < 5)
    {
        message += messagePrefix + "Password is too short!" + messageSuffix;
        //if (!errorOccurred) password.focus();
        errorOccurred = true;
    }
    
    // CONFIRM PASSWORD
    if (password2.value == "")
    {
        message += messagePrefix + "Password confirmation field is empty!" + messageSuffix;
        //if (!errorOccurred) password2.focus();
        errorOccurred = true;
    }
    else if (password2.value != password.value)
    {
        message += messagePrefix + "Passwords do not match!" + messageSuffix;
        //if (!errorOccurred) password2.focus();
        errorOccurred = true;
    }

    // ADDRESS
    if (address.value == "")
    {
        message += messagePrefix + "Address field is empty!" + messageSuffix; 
        //if (!errorOccurred) address.focus();
        errorOccurred = true;
    }

    // PHONE 
    if (phone.value == "") 
    {                              
        message += messagePrefix + "Phone number field is empty!" + messageSuffix;
        //if (!errorOccurred) phone.focus();
        errorOccurred = true;
    }
    else
    {
        x = parseInt(phone.value,10);
        if (isNaN(x)) 
        {
            message += messagePrefix + "The phone number is not a valid number! Only decimal digits are allowed." + messageSuffix;
            //if (!errorOccurred) phone.focus();
            errorOccurred = true;
        }
    }

    // ORGANIZATION
    if (institute.value == "")
    {
        message += messagePrefix + "Institute field is empty!" + messageSuffix;
        //if (!errorOccurred) institute.focus();
        errorOccurred = true;
    }

    // EMAIL
    if (emailAddress.value == "")
    { 
        message += messagePrefix + "E-mail address field is empty!" + messageSuffix;
        //if (!errorOccurred) emailAddress.focus();
        errorOccurred = true;
    }
    else if ((emailAddress.value.indexOf('@', 1)== -1) || (emailAddress.value.indexOf('.', 1)== -1))
    {
        message += messagePrefix + "E-mail address is invalid!" + messageSuffix;
        //if (!errorOccurred) emailAddress.focus();                        
        errorOccurred = true;
    }

    // USAGE
    if (usage.value == "")
    { 
     	message += messagePrefix + "Scientific case and planned usage field is empty!" + messageSuffix;
        //if (!errorOccurred) usage.focus();
        errorOccurred = true;
    }

    // GRID
    //if (!grid_1.checked && !grid_2.checked && !grid_3.checked && !grid_4.checked && !grid_5.checked && !grid_6.checked)
    //{
    //    message += messagePrefix + "No grids are selected!" + messageSuffix;
    //    errorOccurred = true;
    //}
    
    // CONFIRMATION CODE
    if (confirmationCode != null && confirmationCode.value == "")
    {
        message += messagePrefix + "No confirmation code has been entered!" + messageSuffix;
        //if (!errorOccurred) confirmationCode.focus();
        errorOccurred = true;
    }
    
    if (errorOccurred)
    {
      //alert("ERROR:" + message);
      
      messageArea.innerHTML = '<div class="error">' + message + '</div><br />';
      messageArea.focus();
    }
    
    return !errorOccurred;
}



// ============================ pgportal_problem_report_formcheck() =============================================

function pgportal_problem_report_formcheck()
{

var name = document.pgportal_problem_report_form.name;
var email = document.pgportal_problem_report_form.email;
var subject = document.pgportal_problem_report_form.subject;
var message = document.pgportal_problem_report_form.message;


// NAME 

         if (name.value == "")  {h1 = "\n - Name field is empty!!";
                                        er1 = false;
                                        name.focus();}                            
         else {h1 = "";
                        er1 = true;}

//  EMAIL 

         if (email.value == "") 
         { 
                                                h2 = "\n - E-mail field is empty!";
                                                er2 = false;
                                                email.focus();
         }
         else
         {
                                                if ((email.value.indexOf('@', 1)== -1) || (email.value.indexOf('.', 1)== -1))
                                                {
                                                        h2 = "\n - Not a valid e-mail address!";
                                                        er2 = false;
                                                        email.focus();                        
                                                }
                                                else
                                                 {
                                                        h2 = "";
                                                        er2 = true;
                                                 }
                }
			
// NAME 

         if (subject.value == "")  {h3 = "\n - Subject field is empty!!";
                                        er3 = false;
                                        subject.focus();}                            
         else {h3 = "";
                        er3 = true;}

// MESSAGE
         if (message.value == "") { 
         	h4 = "\n - Message field is empty!";
            er4 = false;
            message.focus();
            }
         else {
         	h4 = "";
            er4 = true;
            }

                
                

// ============================ ERROR KIIRAS =============================================

        er = er1 && er2 && er3 && er4;
        if (er == false) alert("ERROR! :"+h1+h2+h3+h4);
        return er;
}
          
