function qaimSetPictureReference(method, identifier){
    var imgElement = document.getElementById("qaimPictureFetch");
    imgElement.src = imgElement.src + "&method=" + method + "&identifier=" + identifier;
}

function qaimReadCookie(name){
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') 
            c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) 
            return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function qaimCreateCookie(name, value){
    var days = 300;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else 
        var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function qaimJavaScriptMain(){
    var identifier = "";
    try {
        // Try local storage solution
        identifier = localStorage.qaimHandsetIdentifier;
        if (identifier == null || identifier == 'null') {
            var myDate = new Date();
            identifier = myDate.getTime();
            localStorage.qaimHandsetIdentifier = identifier;
        }
        qaimSetPictureReference("domstorage", identifier);
    } 
    catch (e) {
        try {
            // Try setting cookie from javascript
            identifier = qaimReadCookie("handsetidentifier");
            if (identifier == null || identifier == 'null' || identifier == 'undefined') {
                var myDate = new Date();
                identifier = myDate.getTime();
                qaimCreateCookie("handsetidentifier", identifier);
            }
            qaimSetPictureReference("cookie", identifier);
        } 
        catch (e2) {
            // Cookie does not work either, just use DOM tree manipulation
            // to create static img element
            qaimSetPictureReference("staticfromjs", "");
        }
    }
}
qaimJavaScriptMain();
