﻿/*
Method:          AP_PopulateFromSerializedObjectQString
Source:          AssetPicker.js
Override Reason: Incorrect use of for in loop resulted in mootools prototype methods being returned instead of array values.
Resolution:      Changed the for in loop to a for loop with an integer indexer.
*/

function AP_PopulateFromSerializedObjectQString(objectToPopulate, queryStringSegment) {
    var currentWorkingQString = queryStringSegment
    var indexOfQStringStart = queryStringSegment.indexOf("?");
    if (-1 != indexOfQStringStart) {
        currentWorkingQString = queryStringSegment.substr(indexOfQStringStart);
    }
    var propArray = currentWorkingQString.split("&");
    // Changed the following line from:
    //     for (var i in propArray)
    // to: 
    for (var i = 0; i < propArray.length; i++) {
        var nameValuePair = propArray[i].split("=");
        if (nameValuePair.length == 2) {
            objectToPopulate[nameValuePair[0]] = decodeURIComponent(nameValuePair[1]);
        }
    }
}
