

// usage in opening popup windows displaying item info
function openPopupWin(itemType, code, cdHeight, cdWidth,theme)
{
   if(theme!=null && theme.length > 0 )
   {
     openPopupWinTheme(itemType, code, cdHeight, cdWidth,theme);
   }
    else
   {
    var win = window.open('buyPopup.jsp?itemType=' + itemType + '&code=' + code + '', 'Windowx', 'menubar=0, toolbar=0, status=0, width=' + cdWidth + ', height=' + cdHeight + '') ;
    win.focus();
     }

}

function openPopupWinTheme(itemType, code, cdHeight, cdWidth,theme)
{

    var win = window.open('buyPopup.jsp?theme='+theme+'&itemType=' + itemType + '&code=' + code + '', 'Windowx', 'menubar=0, toolbar=0, status=0, width=' + cdWidth + ', height=' + cdHeight + '') ;
    win.focus();

}
//aval
//called when user has submited a mobile company and model selection
function ShowMobileSelection()
{
    //div that contains user mobile info
    document.getElementById("mobileChangeSelection").style.display = "none";
    //div that contains mobile selection listboxes
    document.getElementById("mobileSelection").style.display = "block";
    document.getElementById("resetMobileForm").submit();
}

function ShowMobileSelectionRegister()
 {
     document.getElementById("mobileChangeSelection").style.display = "none" ;
    document.getElementById("mobileChangeSelection2").style.display = "none" ;
     document.getElementById("mobileSelection").style.display = "block" ;
 }


// deprecated
function ShowMobileChange()
{
    document.getElementById("mobileChangeSelection").style.display = "block";
    document.getElementById("mobileSelection").style.display = "none";
}
//end


//needed to create an XMLhttp request
function createRequestObject()
{
    var ro;
    var browser = navigator.appName;
    if (browser == "Microsoft Internet Explorer")
    {
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();
var readyToGo = true ;
var optVal = "-3" ;
var whichSelect ;
var whichBrandSelect;


// used when user selects a mobile company to fill the company models in the 2nd listbox
function fillSubTupes(parentSelect, childSelect)
{
    whichSelect = childSelect;
    whichBrandSelect = parentSelect;

    if (document.getElementById(parentSelect).value == -2)
    {
        document.getElementById("modelSelect").disabled = true;
        document.getElementById("img0").src = "images/mobile/mobile_demo.jpg";
        document.getElementById("showbutt").style.display = "none";
       
        return;
    }
    if (readyToGo)
    {
        readyToGo = false;
        // intermediate.jsp contains code that returns models formatted as : model1,model2,...,modeln,
        http.open('get', 'intermediate.jsp?company=' + document.getElementById(parentSelect).value);

        http.onreadystatechange = handleBrand;
        http.send(null);
        document.getElementById("modelSelect").disabled = false;
    }
    else
    {
        alert("Please wait. Previous AJAX request has not returned yet...");
    }
}

// executed when request for mobile models is completed.
// Fills the company models in the 2nd listbox
function handleBrand()
{
    if (http.readyState == 4)//ready
    {
        var response = http.responseText;
        var update = new Array();

        response = response.replace(/^\s*|\s*$/g, "");

        if (response.indexOf(',' != -1))
        {
            update = response.split(',');
            selectElem = document.getElementById(whichSelect);
            //       selectElem = document.getElementById(childSelect) ;
            for (var count = selectElem.options.length - 1; count > -1; count--)
            {
                selectElem.options[count] = null;
            }

            optionItem = new Option("Select a Model", "-3", false, false);
            selectElem.options[selectElem.length] = optionItem;
            for (var i = 0; i < update.length - 1; i++)
            {

                optionItem = new Option(update[i], update[i], false, false);
                selectElem.options[selectElem.length] = optionItem;
                if(update[i] == optVal)
                {
                    selectElem.options[i+1].selected =true ;
                }

            }
           optVal="-3" ;
        }

        readyToGo = true;
    }
}

var readyToGo2 = true ;

function selectOpt(selectFormId, optVal)
{
   
    selectElem = document.getElementById(whichSelect);
    for (var count = selectElem.options.length - 1; count > -1; count--)
    {
        if(selectElem.options[count].value == optVal)
        {
           selectElem.options[count].selected =true ;
        }

    }


}
//deprecated - once used to fill item info in the popup window
function putSessionParams(parameters)
{
    if (readyToGo2)
    {
        readyToGo2 = false;

        http.onreadystatechange = openTheWindow;
        http.open('POST', 'insertPopupParameters.jsp', true);
        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        http.setRequestHeader("Content-length", parameters.length);
        http.setRequestHeader("Connection", "close");
        http.send(parameters);
    }
    else
    {
        alert("Please wait. Previous AJAX request has not returned yet...");
    }
}

//deprecated - once used to fill item info in the popup window
function openTheWindow()
{
    if (http.readyState == 4)//ready
    {

        readyToGo2 = true;

        window.open('buyPopup.jsp', 'Windowx', 'menubar=no,width=286,height=350,toolbar=no');

    }
}
//used when user selects model from the 2nd listbox. shows the equivalent model image
function switchImage(selectBrandElem, selectModelElem, imageElem)
{
    var model = document.getElementById("modelSelect").value;
    var brand = document.getElementById("brand").value;
    var mobDir = "images/mobile/";

    img = document.getElementById(imageElem);

    if (model == -3)
    {
        img.src = mobDir + "mobile_demo.jpg";
    }
    else
    {
        img.src = mobDir + brand + "_" + model + ".jpg";
    }
}

var dir = "images/";


// generic form sender function
function sendForm(whichForm)
{
    document.getElementById(whichForm).submit();
}

// used in paging, called when users selects another page
function sendPageForm(whichForm, pageInfo, itemType, categoryId, num)
{
    document.getElementById("cdcat").value = categoryId;
    document.getElementById("cdshowItem").value = itemType;
    document.getElementById("cdcategoryID").value = pageInfo;
    document.getElementById("cdpage").value = num;
    document.getElementById(whichForm).action = "index.jsp#" + categoryId;
    document.getElementById(whichForm).submit();
}

// used in paging only in landing.jsp , called when users selects another page
function sendLandForm(whichForm, theme, numCategory, numPage)
{

    document.getElementById("cdcat").value = numCategory;
    document.getElementById("cdpage").value = numPage;
    document.getElementById(whichForm).action = "index.jsp?action=land&theme="+theme+"#"+numCategory;
    document.getElementById(whichForm).submit();
}

// used in paging only in brandedItems.jsp , called when users selects another page
function sendBrandForm(whichForm, brandName, numCategory, numPage)
{
    var numInt = parseInt(numCategory)+1;
    document.getElementById("cdcat").value = numCategory;
    document.getElementById("cdpage").value = numPage;
    document.getElementById(whichForm).action = "index.jsp?action=branded&name="+brandName+"#"+numInt;
    document.getElementById(whichForm).submit();
}
// used in paging only in searchDisplay.jsp , called when users selects another page
function sendSearchForm(whichForm, titleKeyword, itemType, pageInfo)
{
    document.getElementById("pgtitleKeyword").value = titleKeyword;
    document.getElementById("pgsearchType").value = itemType;
    document.getElementById("pgsearchpage").value = pageInfo;
    document.getElementById(whichForm).submit();
}


// used in color (actually image) change
function act(imgName, side)
{
    if (document.images)
    {
        if (side == "left")
        {
            document[imgName].src = eval("greylefton.src");
        }
        else if (side == "right")
        {
            document[imgName].src = eval("greyrighton.src");
        }
        else
        {

            document[imgName].src = eval(imgName + "on.src");
        }
    }
}

// used in color (actually image) change 
function inact(imgName, side)
{
    if (document.images)
    {
        if (side == "left")
        {
            document[imgName].src = eval("greyleftoff.src");
        }
        else if (side == "right")
        {
            document[imgName].src = eval("greyrightoff.src");
        }
        else
        {

            document[imgName].src = eval(imgName + "off.src");
        }
    }
}

//used when user selects model from the 2nd listbox. shows the text that prompts user to submit his option
function showButton()
{
    if (document.getElementById("modelSelect").value == -3)
    {
        document.getElementById("showbutt").style.display = "none";
    }
    else
    {
        document.getElementById("showbutt").style.display = "block";
    }
}

