﻿var CURRENT_CRITERIA;
function SubmitTo(listUrl, whereClauseElement){
    var whereClause = document.getElementById(whereClauseElement).value;
   
    document.location = listUrl + "?" + whereClause;
}

function SaveSelection(selectedCriteriaName, criteriaMetadataControlId, savedCriteriaFieldId){
    var strValues = "";
    var aryInfo = document.getElementById(criteriaMetadataControlId).value.split("{");
        
    var aryCurrent;
    var isAfterSelected = false;
    for(var i = 0; i<aryInfo.length; i++){
        aryCurrent = aryInfo[i].split("|");
        var name = aryCurrent[0];
        var elementLower = document.getElementById(aryCurrent[1]);
        var elementUpper = document.getElementById(aryCurrent[2]);
       
        var strSelected = "|";
        if(elementLower != null){
            if(elementLower.selectedIndex > 0){
                strSelected = elementLower[elementLower.selectedIndex].value + "|";
            }
            
            //if this is a range field and upper range was selected, add to selected string
            if(elementUpper != null && elementUpper.selectedIndex > 0)
            {
                strSelected += elementUpper[elementUpper.selectedIndex].value 
            }
           
            var strCurrentValues = "";
            if(!isAfterSelected){
                strCurrentValues = _GetValues(elementLower);        
            }
            
            //format is make}SeaRay|}Sea Ray|Bayliner{Year}2005|2006}1970|1980|{....
            strValues += "{" + name + "}" + HtmlEncode(strSelected) + "}" + HtmlEncode(strCurrentValues);
             
            if(name == selectedCriteriaName){
                isAfterSelected = true;
            }
        }
    }
    //removing last separator
    if(strValues.length > 0){
        strValues = strValues.substr(1, strValues.length -1);
    }
    
    document.getElementById(savedCriteriaFieldId).value = strValues;   
}
function HtmlEncode(str){
   
    var prev = "";
    var i =0;
    while (prev != str){
        i ++;
        prev = str;
        str = str.replace("®", "&reg;").replace("™", "&trade;").replace("©", "&copy;");
    }
   
    return str;
}


function NavigateParentToList(bvdid, indid, listPageUrl, metadataControlId){
    var strValues = "";
    var aryInfo = document.getElementById(metadataControlId).value.split("{");
    
    var aryCurrent;
    var isAfterSelected = false;
    var strQueryString = "";
    var strCriteriaQuery;
    for(var i = 0; i<aryInfo.length; i++){
        strCriteriaQuery = "";
        aryCurrent = aryInfo[i].split("|");
        var name = aryCurrent[0];
        var elementLower = document.getElementById(aryCurrent[1]);
        var elementUpper = document.getElementById(aryCurrent[2]);

        if(elementLower != null){
            if(elementLower.selectedIndex > 0){
                strCriteriaQuery = elementLower[elementLower.selectedIndex].value;
            }
            
            if(elementUpper != null && (elementUpper.selectedIndex > 0 || elementLower.selectedIndex > 0)){
                strCriteriaQuery += "|";
            }
            
            //if this is a range field and upper range was selected, add to selected string
            if(elementUpper != null && elementUpper.selectedIndex > 0)
            {
                strCriteriaQuery += elementUpper[elementUpper.selectedIndex].value 
            }
           
            if(strCriteriaQuery.length > 0){
                strQueryString += "&" + name + "=" + strCriteriaQuery.replace("&","%26");
            }
        }
    }
    if(strQueryString.length >0){
        strQueryString = strQueryString.substr(1, strQueryString.length -1);
    }
    
    var strUrl = listPageUrl + "?bvdid=" + bvdid + "&indid=" + indid + "&" + strQueryString;
    
    window.top.document.location = strUrl;
}

function _GetValues(element){
    var strCurrentValues = "";
    for(var i=0; i<element.length; i++){
        strCurrentValues += element[i].value + "|";
    }

    if(strCurrentValues.length > 0){
        strCurrentValues = strCurrentValues.substr(0, strCurrentValues.length -1);
    }
    return strCurrentValues;
}


