/**
        remove the content of te list
        */

function clearList(list)
{
    if (!list) return;
    while (list.length > 0)
    {
        list.remove(0);
    }
}

/**
        Add a new element to a selection list
        */
function addElementToList(list, value, label)
{
    var option = document.createElement("option");
    option.value = value;
    option.title = label;
    var labelNode = document.createTextNode(label);
    option.appendChild(labelNode );
    list.appendChild(option);
}

/*function createArgumentList(strArray)
        {
            var arglist = "";
            for (i=0; i< strArray.length ; i++)
            {
                if(document.getElementById(strArray[i]) != null)
                    {
                        arglist += strArray[i] + "=" + document.getElementById(strArray[i]).value;
                    }
            }
            return arglist;
        }*/

function clearItems(itemArray)
{
    for(i=0;i < itemArray.length ; i++)
    {
        var list = document.getElementById(itemArray[i]);
        if (!list) return;
        clearList(list);
        addElementToList(list, "", "-- Select One --");
    }
}

function getServerData(urlpath,querystr,displaydatain)
{
    var url=urlpath;
    url=url+"?" +querystr;
    showResultWithQueryStr(url,displaydatain,showOnStateChange,null);
    return true;

}
function getServerData1(urlpath,querystr,displaydatain)
{
    requrl =urlpath;
    requrl=requrl+"?" +querystr;
    showResultWithQueryStr(requrl,displaydatain,showOnStateChange,null);
    return true;
}

function showOnStateChange1(result,divname)
{
    jsonString = eval('('+result+')');
}

function showOnStateChange(result,divname)
{
    jsonString = eval('('+result+')');
}

function getAreaAndFill(dependent)
{
    var list = document.getElementById(dependent);
    if (!list) return;
    fillCombo(list,jsonString);
}

function getCategoryAndFill(objCombo,dependent)
{
    var selIndex = objCombo.selectedIndex;
    var comboValue = objCombo.options[selIndex].value;
    //alert('comboval' + comboValue);
    interest_area = jsonString[comboValue];
    if(interest_area == null)
        return;

    var list = document.getElementById(dependent);
    fillCombo(list,interest_area);
}

function getSubCategoryAndFill(objCombo,dependent)
{
    var selIndex = objCombo.selectedIndex;
    var comboValue = objCombo.options[selIndex].value;
    //alert('comboval' + comboValue);
    area_category = interest_area[comboValue];
    if(area_category == null)
        return;

    var list = document.getElementById(dependent);
    fillComboWithUniqueEntries(list,area_category);
}

//Get worths
function getWorth(objExp,objSubCat,dependent)
{
    var list = document.getElementById(dependent);
    var selIndex = objExp.selectedIndex;
    var exp = objExp.options[selIndex].value;
    var subcatcmb = document.getElementById(objSubCat);
    var selIndex1 = subcatcmb.selectedIndex;
    var key = exp;
    if(selIndex1 != -1)
    {
        var subcat = subcatcmb.options[selIndex1].value;
        if(subcat.length != 0)
        {
            key = subcat + "#" + exp;
        }
    }
    //Get per min worth and convet it to hour rate.
    list.innerHTML = "$" + area_category[key] * 60 + "/Hr";
}

//Check if the number is numeric or not
function IsNumeric(sText)
{
    var ValidChars = "0123456789.";
    var IsNumber=true;
    var Char;

    for (i = 0; i < sText.length && IsNumber == true; i++)
    {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1)
        {
            IsNumber = false;
        }
    }
    return IsNumber;
}

//Removes duplicates from string
Array.prototype.deDupe = function ()
{
    var retVal = this;
    var j,ctr;
    for (var i=0;i<retVal.length;i++){
        ctr=i+1;
        for (j=ctr;ctr<retVal.length;j++){
            if (retVal[i]==retVal[ctr]){
                retVal.splice(ctr,1);
            }
            else ctr++;
        }
    }
    return retVal;
};

//Fill combo with unique entries and remove # and number entries from it.
function fillComboWithUniqueEntries(list,parentObj)
{
    clearList(list);
    if (parentObj.length > 0) {
        addElementToList(list, "", "-- Select One --");
        for(var i = 0; i < parentObj.length ; i++)
        {
            addElementToList(list, parentObj[i], parentObj[i]);
        }
    } else {
        addElementToList(list, "", "-- NA --");
    }
/*var subcatlist = new Array();
    var i  = 0;
    for(var category in parentObj)
    {
        var strcat = category.split("#");
        if(IsNumeric(strcat[0]))
        {
            clearList(list);
            addElementToList(list, "", "-- NA --");
            break;
        }
        //var value = strcat[0];
        var label = strcat[0];
        if(label != null)
        {
            subcatlist[i++] = label;
        }
    }
    subcatlist.deDupe();
    for(i = 0; i < subcatlist.length ; i++)
    {
        addElementToList(list, subcatlist[i], subcatlist[i]);
    }*/
}

function fillCombo(list,parentObj)
{
    clearList(list);
    addElementToList(list, "", "-- Select One --");
    for(var category in parentObj)
    {
        if (!parentObj.hasOwnProperty(category)) continue;
        if(category != null)
        {
            addElementToList(list, category, category);
        }
    }
}

function launchCalculator()
{
    getServerData('WorthCalculator.do','','workarea');
    hideInfo('detailContent');
    var list = document.getElementById("registration_category_list");
    list.selectedIndex = 0;
    ModalPopup('calculate','');
}


function selectsubcategory(){
    sub_subcategory = document.getElementById('sub_subcategoryadd1');
    selected_category = document.getElementById('categoryadd1');
    selected_subcategory = document.getElementById('subcategoryadd1');
    var selected_cat=selected_category.options[selected_category.selectedIndex].value;
    var selected_sub_category=selected_subcategory.options[selected_subcategory.selectedIndex].value;

    var selected_sub_subcategory ;
    document.getElementById("skillset").innerHTML='';
    i=0;

    for(var index=0;index<sub_subcategory.length;index++){
        if(sub_subcategory.options[index].selected){
            selected_sub_subcategory = selected_cat + " > " + selected_sub_category + " > " + sub_subcategory.options[index].value+'<br/>';
            CategorySelection[i] = new MyCategorySelection(selected_sub_subcategory);
            document.getElementById("skillset").innerHTML+= selected_sub_subcategory ;
            i++;
        }
    }

}

function set(){
    var div = document.getElementById('fees');
    if(div.style.display == 'none'){
        div.style.display='';
        document.getElementById('rate').value = "";
        document.getElementById('min_rate').value = "";
        document.getElementById('error').innerHTML = "";
    }
    else
        div.style.display='none';
}

function calculate(){
    var rate = document.getElementById('rate').value;
    var ValidChars = "0123456789.";
    var IsNumber=true;
    var Char;

    document.getElementById('error').innerHTML = "";

    for(i=0; i<rate.length && IsNumber == true; i++){
        Char = rate.charAt(i);
        if (ValidChars.indexOf(Char) == -1)
        {
            IsNumber = false;
        }
    }
    if(IsNumber == false){
        document.getElementById('error').innerHTML = "Error: Please enter numeric values only.";
        document.getElementById('rate').value = "";
        document.getElementById('min_rate').value = "";
    }
    else{
        rate *=  60;
        rate = "" + rate;
        document.getElementById('min_rate').value = rate.substring(0, 5);
    }
}
