﻿function ChangeStyle(elem, style)
{
    elem.className = style;
}

function ChangePage(name)
{
    window.location = "index.html?page=" + name;
}


function SetPage(name)
{
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
      try {
      req = new XMLHttpRequest();
        } catch(e) {
      req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
        try {
          req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
          try {
              req = new ActiveXObject("Microsoft.XMLHTTP");
          } catch(e) {
              req = false;
          }
    }
    }
    /*var req = new XMLHttpRequest();*/
    req.open("GET", name + ".html", false);
    req.send(null);
    if (req.status == 200)
    {
        var startIndex = req.responseText.indexOf("!@#$%")
        var endIndex = req.responseText.indexOf("^&*()")

        document.getElementById("mainContent").innerHTML = req.responseText.substr(startIndex + 5, endIndex - startIndex - 5);
    }

    document.getElementById("menu_" + name).style.fontWeight = "bold";
}

function SendForm()
{
//    var emailTo = "rdurka@ift.uni.wroc.pl";

    var formFields = new Array
    (
        "FirstName",
        "LastName",
        "Title",
        "Sex",
        "Nationality",
        "Affiliation",
        "Address",
        "Email",
        "Phone",
        "Fax",
        "ArrDate",
        "DepDate",
        "ContribTitle",
        "Abstract",
        "FinancialSupport",
        "FinancialSupportDetails",
        "Comments"
    );

    var DataToSend = "";

    var first = true;

    for (i = 0; i < formFields.length; i++)
    {
        if (first)
        {
            first = false;
        }
        else
        {
            DataToSend += "&";
        }

        DataToSend += formFields[i] + "=" + URLEncode(document.getElementById(formFields[i]).value);
    }
    
//    DataToSend += "&emailto=" + emailTo;

    var req = new XMLHttpRequest();
//    req.open("POST", "http://www.kowgli.pl/planck/FormHandling.aspx", true);
    req.open("POST", "http://www.ift.uni.wroc.pl/~planckscale/sendnotify.php", true);
    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Content-length", formFields.length);
    req.setRequestHeader("Connection", "close");
    req.send(DataToSend);

    document.getElementById("mainContent").innerHTML = "Thank you for registering";
}

function QueryVariable(variable)
{
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++)
    {
        var pair = vars[i].split("=");
        if (pair[0] == variable)
        {
            return pair[1];
        }
    }
}

function PageLoad()
{
    var page = QueryVariable('page')

    if (page != undefined)
    {
        SetPage(page);
    }
    else
    {
        SetPage("home");
    }
}

function ValidateForm()
{
    var firstName = document.getElementById("FirstName");
    var lastName = document.getElementById("LastName");
    var email1 = document.getElementById("Email");
    var email2 = document.getElementById("EmailRetype");

    if (Trim(firstName.value) == "")
    {
        firstName.focus();
        return false;
    }

    if (Trim(lastName.value) == "")
    {
        lastName.focus();
        return false;
    }
    if (Trim(email1.value) == "")
    {
        email1.focus();
        return false;
    }


    if (Trim(email2.value) == "")
    {
        email2.focus();
        return false;
    }

    if (email1.value != email2.value)
    {
        email1.focus();
        return false;
    }

    return true;
}

function Trim(str, chars)
{
    return LeftTrim(RightTrim(str, chars), chars);
}

function LeftTrim(str, chars)
{
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function RightTrim(str, chars)
{
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function URLEncode(clearString)
{
    var output = '';
    var x = 0;
    clearString = clearString.toString();
    var regex = /(^[a-zA-Z0-9_.]*)/;
    while (x < clearString.length)
    {
        var match = regex.exec(clearString.substr(x));
        if (match != null && match.length > 1 && match[1] != '')
        {
            output += match[1];
            x += match[1].length;
        } else
        {
            if (clearString[x] == ' ')
                output += '+';
            else
            {
                var charCode = clearString.charCodeAt(x);
                var hexVal = charCode.toString(16);
                output += '%' + (hexVal.length < 2 ? '0' : '') + hexVal.toUpperCase();
            }
            x++;
        }
    }
    return output;
}
