var logged_in = false;

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 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);
            
            frm["name"].value = "";
            frm.email.value = "";
        }
    }
    XMLHTTP.send("name=" + frm["name"].value + "&email=" + frm.email.value + "&page=" + currentPage);

    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 == "")
    {
        alert("Please enter your name!");
        return false;
    }
    
    if(frm.contact_email.value == "")
    {
        alert("Please enter your Email Address!");
        return false;
    }
    else
    {
        if(!emailRe.test(frm.contact_email.value))
        {
            alert("Please enter a valid Email Address!");
            return false;
        }
    }
    
    if(frm.comments.value == "")
    {
        alert("Please enter your Questions & Comments!");
        return false;
    }
    
    return PostPage(frm, "content");
}

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["username"].value == "")
    {
        HideWait();
        alert("Please enter your Username!");
        return false;
    }
    
    if(frm["password"].value == "")
    {
        HideWait();
        alert("Please enter your Password!");
        return false;
    }
    
    if(frm["confirmpassword"].value == "")
    {
        HideWait();
        alert("Please confirm your Password!");
        return false;
    }
    else if(frm["password"].value != frm["confirmpassword"].value)
    {
        HideWait();
        alert("Your Passwords doesn't match!");
        return false;
    }
    
    if(frm["hearabout"].value == "")
    {
        HideWait();
        alert("Please enter where you heard about Ripcord!");
        return false;
    }
    
    return true;
}

function ShowWait(evt)
{
    var pnlWait = document.getElementById("pnlWait").style;
    
    var e = new Event(evt);
    var pos = e.eventElementPosition;
    var dim = e.eventElementDimensions;
    
    pnlWait.width = (dim[0] - 14) + "px";
    pnlWait.left = (pos[0] + 7) + "px";
    pnlWait.top = Math.abs(pos[1] + ((dim[1] - 16) / 2)) + "px";
    pnlWait.visibility = "visible";
}

function HideWait()
{
    document.getElementById("pnlWait").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");
}

//--------------------
// 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", "login.aspx", false);
    XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XMLHTTP.send("username=" + frm.username.value + "&" + "password=" + frm.password.value + "&page=" + frm.page.value);
    
    if(XMLHTTP.responseText.indexOf("Success") != -1)
    {
        logged_in = true;
        
        var parts = XMLHTTP.responseText.split("|");
        if(parts[1] == "admin.aspx")
        {
            document.getElementById("mainmenu").style.display = "none";
            document.getElementById("adminmenu").style.display = "block";
        }
        
        GetPage(parts[1], "content");
    }
    else
    {
        alert("Login failed! Please try again.");
    }
    
    return false;
}

function LoginLogout()
{
    if(!logged_in)
    {
        GetPage("login.aspx", "content");
        ScrollIntoView("top");
    }
    else
    {
        logged_in = false;
        
        var XMLHTTP = GetXMLHTTPObject();
        XMLHTTP.open("GET", "logout.aspx", false);
        XMLHTTP.send(null);

        document.getElementById("mainmenu").style.display = "block";
        document.getElementById("adminmenu").style.display = "none";
        
        GetPage("default.aspx", "content");
    }
}

function ScrollIntoView(id)
{
    if(isFF)
    {
        document.anchors[id].scrollIntoView();
    }
    else if(isSafari)
    {
        window.scrollTo(0, GetElementPosition(document.anchors[id])[1]);
    }
    else
    {
        document.getElementById(id).scrollIntoView();
    }
}

//------------------
// END OF LOGIN CODE
//------------------

//--------------------
// START OF ADMIN CODE
//--------------------

function SubmitNews(frm)
{
    if(frm["name"].value == "")
    {
        alert("Please enter a Name!");
        return false;
    }
    
    if(frm["content"].value == "")
    {
        alert("Please enter Content!");
        return false;
    }
    
    if(frm["date"].value == "")
    {
        alert("Please enter a Date!");
        return false;
    }
    
    return true;
}

function SubmitEvent(frm)
{
    if(frm["title"].value == "")
    {
        alert("Please enter a Title!");
        return false;
    }
    
    if(frm["venue"].value == "")
    {
        alert("Please enter a Venue!");
        return false;
    }
    
    if(frm["start_date"].value == "")
    {
        alert("Please enter a Start Date!");
        return false;
    }
    
    if(frm["content"].value == "")
    {
        alert("Please enter Content!");
        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 SubmitCategory(frm)
{
    if(frm["name"].value == "")
    {
        alert("Please enter the Category Name!");
        return false;
    }
    
    return true;
}

function SubmitProduct(frm) {
    if (frm["name"].value == "") {
        alert("Please enter the Product Name!");
        return false;
    }

    return true;
}

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 GetBasket()
{
    var XMLHTTP = XMLHTTPObjectGet("basket.aspx");
    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4)
        {
            document.getElementById("basketitems").innerHTML = XMLHTTP.responseText;
        }
    }
    XMLHTTP.send(null);
}

function CheckInteger(value)
{
    var re = /[^0-9]/g;
    
    if(re.test(value))
    {
        alert("Please enter an integer zero or bigger.");
    }
}