var logged_in = false;

function SetExpanderHeight()
{
    var contentDim = GetElementDimensions(document.getElementById("content"));
    var expLeft = document.getElementById("expanderLeft");
    var expRight = document.getElementById("expanderRight");
    var expDim = GetElementDimensions(expLeft);

    if(contentDim[1] > 930)
    {
        expLeft.style.height = (contentDim[1] - 929 + 15) + "px";
    }
    else
    {
        expLeft.style.height = "15px";
    }
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function ImageClick(imgId)
{
    var i;
    for(i = 0; i < document.images.length; i++)
    {        
        if(document.images[i].id == imgId)
        {
            var alt = document.images[i].getAttribute("alt").split("|");
            document.images[i].src = alt[0];
            document.images[i].setAttribute("alt", alt[0] + "|" + alt[1] + "|clicked");
        }
        else
        {
            if(document.images[i].id.indexOf("Image") > -1)
            {
                var alt = document.images[i].getAttribute("alt").split("|");
                document.images[i].src = alt[1];
                document.images[i].setAttribute("alt", alt[0] + "|" + alt[1] + "|");
            }
        }
    }
}

function ImageMouseOver(img)
{
    var alt = img.getAttribute("alt").split("|");
    if(alt[2] != "clicked")
    {
        img.src = alt[0];
    }
}

function ImageMouseOut(img)
{
    var alt = img.getAttribute("alt").split("|");
    if(alt[2] != "clicked")
    {
        img.src = alt[1];
    }
}

function UpdateHeader(url)
{
    var page = url.indexOf("/") > -1 ? url.substring(url.lastIndexOf("/") + 1) : url;
    page = page.indexOf("?") > -1 ? page.substring(0, page.indexOf("?")) : page;

    var found = false;
    var i;
    for(i = 0; i <  header.length; i++)
    {
        if(header[i][0] == page)
        {
            document.getElementById(header[i][1]).style.display = "block";
            found = true;
        }
        else
        {
            document.getElementById(header[i][1]).style.display = "none";
        }
    }
    
    if(!found)
    {
        if(url.indexOf("/wines/") > -1)
        {
            document.getElementById("hdrWine").style.display = "block";
        }
        else
        {
            document.getElementById("hdrHome").style.display = "block";
        }
    }
}

function SendToFriend(frm)
{    
    if(frm["name"].value == "")
    {
        HideWait();
        alert("Please enter your name!");
        return false;
    }
    
    if(frm.email.value == "")
    {
        HideWait();
        alert("Please enter your friend's email address!");
        return false;
    }
    else
    {      
        var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
        if(!emailRe.test(frm.email.value))
        {
            HideWait();
            alert("Please enter a valid email address for your friend!");
            return false;
        }
    }
    
    var XMLHTTP = GetXMLHTTPObject();
    XMLHTTP.open("POST", frm.action, true);
    XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4)
        {
            HideWait();
            alert(XMLHTTP.responseText);
        }
    }
    XMLHTTP.send("name=" + frm["name"].value + "&email=" + frm.email.value + "&pageurl=" + currentPage);

    return false;
}

function Subscribe(frm)
{
    var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
    
    if(frm["name"].value == "")
    {
        HideWait();
        alert("Please enter your name!");
        return false;
    }
    
    if(frm.email.value == "")
    {
        HideWait();
        alert("Please enter your email address!");
        return false;
    }
    else
    {
        if(!emailRe.test(frm.email.value))
        {
            HideWait();
            alert("Please enter a valid email address!");
            return false;
        }
    }
    
    if(frm["location"].value == "")
    {
        HideWait();
        alert("Please select your location!");
        return false;
    }
    
    var XMLHTTP = GetXMLHTTPObject();
    XMLHTTP.open("POST", frm.action, true);
    XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4)
        {
            HideWait();
            alert(XMLHTTP.responseText);
            
            frm["name"].value = "";
            frm.email.value = "";
            frm.location.value = "";
        }
    }
    XMLHTTP.send("name=" + frm["name"].value + "&email=" + frm.email.value + "&location=" + frm.location.value);
    
    return false;
}

function SubmitContact(frm)
{
    var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/

    if(frm.contact_name.value == "")
    {
        HideWait();
        alert("Please enter your name!");
        return false;
    }
    
    if(frm.contact_email.value == "")
    {
        HideWait();
        alert("Please enter your email address!");
        return false;
    }
    else
    {      
        if(!emailRe.test(frm.contact_email.value))
        {
            HideWait();
            alert("Please enter a valid email address!");
            return false;
        }
    }
    
    if(frm.comments.value == "")
    {
        HideWait();
        alert("Please enter your Questions & Comments!");
        return false;
    }
    
    var i;
    var form = "";
    
    for(i = 0; i < frm.length; i++)
    {
        form += frm[i].name + "=" + frm[i].value + "&";
    }
    
    form = form.substring(0, form.length - 1);
    
    var XMLHTTP = GetXMLHTTPObject();
    XMLHTTP.open("POST", frm.action, true);
    XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4)
        {
            HideWait();
            alert(XMLHTTP.responseText);
        }
    }
    XMLHTTP.send(form);
    
    return false;
}

function ShowWait(evt)
{
    var pnlWait = document.getElementById("pnlWait").style;
    var e = new Event(evt);
    var pos = e.eventElementPosition;
    pnlWait.left = (pos[0] + 15) + "px";
    pnlWait.top = (pos[1] - 50) + "px";
    pnlWait.visibility = "visible";
}

function HideWait()
{
    document.getElementById("pnlWait").style.visibility = "hidden";
}

//--------------------
// START OF LOGIN CODE
//--------------------

function SubmitLogin(frm)
{
    if(frm.username.value == "")
    {
        alert("Please enter a valid user name!");
        return false;
    }
    
    if(frm.password.value == "")
    {
        alert("Please enter a valid password!");
        return false;
    }

    var XMLHTTP = GetXMLHTTPObject();
    XMLHTTP.open("POST", siteUrl + "/login.aspx", false);
    XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XMLHTTP.send("username=" + frm.username.value + "&" + "password=" + frm.password.value);
    
    if(XMLHTTP.responseText.indexOf("Success") != -1)
    {
        logged_in = true;
        
        document.getElementById("mainMenu").style.display = "none";
        document.getElementById("adminMenu").style.display = "block";
        
        GetPage(siteUrl + "/admin.aspx", "content");
    }
    else
    {
        alert("Login failed! Please try again.");
    }
    
    return false;
}

function LoginLogout()
{
    if(!logged_in)
    {
        GetPage(siteUrl + "/login.aspx", "content");
        ScrollToTop();
    }
    else
    {
        logged_in = false;
        
        var XMLHTTP = GetXMLHTTPObject();
        XMLHTTP.open("GET", siteUrl + "/logout.aspx", false);
        XMLHTTP.send(null);

        window.location.href = siteUrl + "/default.aspx";
    }
}

function ScrollToTop()
{
    if(isFF)
    {
        document.anchors["top"].scrollIntoView();
    }
    else
    {
        document.getElementById("top").scrollIntoView();
    }
}

//------------------
// END OF LOGIN CODE
//------------------

//--------------------
// START OF ADMIN CODE
//--------------------

function SubmitWineType(frm)
{
    if(frm["name"].value == "")
    {
        alert("Please enter a Name!");
    }
    
    return PostPage(frm, "content");
}

function SubmitWine(frm)
{
    if(frm["name"].value == "")
    {
        alert("Please enter a Name!");
        return false;
    }
    
    if(frm["description"].value == "")
    {
        alert("Please enter a Description!");
        return false;
    }
    
    if(frm["technical_alcohol"].value != "")
    {
        if(isNaN(frm["technical_alcohol"].value))
        {
            alert("Please enter a numberical value for Alcohol!");
            return false;
        }
    }
    
    if(frm["technical_residualsugar"].value != "")
    {
        if(isNaN(frm["technical_residualsugar"].value))
        {
            alert("Please enter a numberical value for Residual Sugar!");
            return false;
        }
    }
    
    if(frm["technical_totalacid"].value != "")
    {
        if(isNaN(frm["technical_totalacid"].value))
        {
            alert("Please enter a numberical value for Total Acid!");
            return false;
        }
    }
    
    if(frm["technical_ph"].value != "")
    {
        if(isNaN(frm["technical_ph"].value))
        {
            alert("Please enter a numberical value for PH!");
            return false;
        }
    }
    
    return true;
}

function SubmitWineLabel(frm)
{
    if(frm["title"].value == "")
    {
        alert("Please enter a Title!");
        return false;
    }
    
    return true;
}

function SubmitRecipe(frm)
{
    if(frm["name"].value == "")
    {
        alert("Please enter a Name!");
        return false;
    }
    
    if(frm["ingredients"].value == "")
    {
        alert("Please enter the Ingredients!");
        return false;
    }
    
    if(frm["method"].value == "")
    {
        alert("Please enter the Method!");
        return false;
    }
    
    return true;
}

function SubmitNews(frm)
{
    if(frm["name"].value == "")
    {
        alert("Please enter a Name!");
        return false;
    }
    
    if(frm["description"].value == "")
    {
        alert("Please enter a Description!");
        return false;
    }
    
    return true;
}

function SubmitEvent(frm)
{
    if(frm["name"].value == "")
    {
        alert("Please enter a Name!");
        return false;
    }
    
    if(frm["location"] == "1")
    {
        if(frm["location_other"] == "")
        {
            alert("Please enter an Event Location!");
            return false;
        }
    }
    
    if(frm["description"].value == "")
    {
        alert("Please enter a Description!");
        return false;
    }
    
    if(frm["date"].value == "")
    {
        alert("Please enter a Date!");
        return false;
    }
    
    return true;
}

function SubmitHomePage(frm)
{
    if(frm["headertext"].value == "")
    {
        alert("Please enter the Header Text!");
        return false;
    }
    
    return true;
}

function SubmitAward(frm)
{
    if(frm["title"].value == "")
    {
        alert("Please enter a Title!");
        return false;
    }
    
    if(frm["group"].value == "" && frm["group_new"].value == "")
    {
        alert("Please enter a new Heading!");
        return false;
    }
    
    if(frm["description"].value == "")
    {
        alert("Please enter a Description!");
        return false;
    }
    
    return PostPage(frm, "content");
}

function SubmitSubscriber(frm)
{
    var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
    
    if(frm.email.value == "")
    {
        HideWait();
        alert("Please enter the email address!");
        return false;
    }
    else
    {      
        if(!emailRe.test(frm.email.value))
        {
            HideWait();
            alert("Please enter a valid email address!");
            return false;
        }
    }
    
    var form;
    if(frm.addnew != null)
    {
        form = "addnew=1&email=" + frm.email.value + "&name=" + frm["name"].value;
    }
    else
    {
        form = "oldemail=" + frm.oldemail.value + "&oldname=" + frm.oldname.value + "&email=" + frm.email.value + "&name=" + frm["name"].value + "&unsubscribed=" + (frm.unsubscribed.checked ? "1" : "0");
    }
    
    var XMLHTTP = GetXMLHTTPObject();
    XMLHTTP.open("POST", frm.action, true);
    XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4)
        {
            if(XMLHTTP.responseText != "")
            {
                eval(XMLHTTP.responseText);
            }
            
            HideWait();
        }
    }
    XMLHTTP.send(form);
    
    return false;
}

function ChangeLocation(sel)
{
    if(sel.value.indexOf("ZA|") > -1 && sel.value.indexOf("ZA||") == -1)
    {
        document.getElementById("tblSA").style.display = "block";
        document.getElementById("tblInt").style.display = "none";
    }
    else if(sel.value != "")
    {
        document.getElementById("tblSA").style.display = "none";
        document.getElementById("tblInt").style.display = "block";
    }
    
    var locParts = sel.value.split("|");
    document.getElementById("telephonecode").innerHTML = locParts[2];
    document.getElementById("faxcode").innerHTML = locParts[2];
}

function SubmitLocation(frm)
{
    var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
    
    if(frm["name"].value == "")
    {
        alert("Please enter the Name!");
        return false;
    }
    
    if(frm.location.value == "")
    {
        alert("Please select the Location!");
        return false;
    }
    
    if(frm.distribution.value == "Other" && frm.distribution_other.value == "")
    {
        alert("Please enter Distribution Other!");
        return false;
    }
    
    if(frm.email.value != "")
    {
        if(!emailRe.test(frm.email.value))
        {
            alert("Please enter a valid email address!");
            return false;
        }
    }
    
    return PostPage(frm, "content");
}

function SubmitThread(frm)
{
    if(frm["name"].value == "")
    {
        alert("Please enter the Name!");
        return false;
    }
    
    return true;
}

function SubmitGalleryImage(frm, pnl)
{
    if(frm.username.value == "")
    {
        alert("Please enter your Name!");
        return false;
    }
    
    if(frm.useremail.value == "")
    {
        alert("Please enter your Email!");
        return false;
    }
    
    if(frm.img_name.value == "")
    {
        alert("Please enter your Photo Title!");
        return false;
    }
    
    
    
    if(frm.img_desc.value == "")
    {
        alert("Please enter your Photo Description!");
        return false;
    }
    
    return PostPage(frm, pnl);
}

function frameGetPage(url, pnl)
{
    var tmr = setTimeout("GetPage('" + url + "', '" + pnl + "');", 10);
}
//------------------
// END OF ADMIN CODE
//------------------

var tmrPopup = null;
var tmrLocationPopup = null;

function GetImagePopup(src, evt)
{   
    window.clearTimeout(tmrPopup);
    
    var e = new Event(evt);   
    var popup = document.getElementById("popup");
    popup.style.visibility = "hidden";
    popup.style.top = e.eventElementPosition[1] + "px";
    popup.style.left = (e.eventElementPosition[0] + (e.eventElementDimensions[0] / 2) - 35) + "px";
    popup.style.width = "70px";
    popup.style.height = "30px";
    popupText.innerHTML = "Loading...";
    popup.style.visibility = "visible";
                
    //Get the image.
    var img = new Image();    
    img.onload = function()
    {
        popupText.innerHTML = "<img src=\"" + src + "\" />";
        
        var imgNew = popupText.getElementsByTagName("IMG");
        popup.style.width = imgNew[0].width + "px";
        
        if(e.eventElementPosition[0] + e.eventElementDimensions[0] - imgNew[0].width < 30)
        {
            var windowDim = GetWindowDimensions();
            
            if(imgNew[0].width > windowDim[0])
            {
                popup.style.left = "1px";
            }
            else
            {
                popup.style.left = Math.floor((windowDim[0] - imgNew[0].width) / 2) + "px";
            }
        }
        else
        {
            popup.style.left = (e.eventElementPosition[0] + e.eventElementDimensions[0] - imgNew[0].width) + "px";
        }
            
        popup.style.height = imgNew[0].height + "px";
    }
    img.src = src;
}

function ShowPopup()
{
    window.clearTimeout(tmrPopup);
    document.getElementById("popup").style.visibility = "visible";
}

function StartHidePopup()
{
    tmrPopup = window.setTimeout("HidePopup();", 1000, "JavaScript");
}

function HidePopup()
{
    document.getElementById("popup").style.visibility = "hidden";
}

function ShowLocationPopup(evt, position)
{
    window.clearTimeout(tmrLocationPopup);
    var popup = document.getElementById("pnlLocationPopup");
    
    if(position)
    {
        var e = new Event(evt);   
        
        popup.style.left = ((e.eventElementPosition[0] + e.eventElementDimensions[0]) - GetElementDimensions(popup)[0]) + "px";
        popup.style.top = (e.eventElementPosition[1] + e.eventElementDimensions[1]) + "px";
    }
    
    popup.style.visibility = "visible";
}

function StartHideLocationPopup()
{
    tmrLocationPopup = window.setTimeout("HideLocationPopup();", 100, "JavaScript");
}

function HideLocationPopup()
{
    document.getElementById("pnlLocationPopup").style.visibility = "hidden";
}

function ShowImage(img)
{
    document.getElementById("imgLarge").src = img.src.replace('thumbnails', 'large');
    document.getElementById("imgTitle").innerHTML = img.title;
    document.getElementById("imgDescription").innerHTML = img.getAttribute("alt");
}