function qaimSetPictureReference(method, identifier)
{
    var imgElement = document.getElementById("qaimPictureFetch");
    imgElement.src = imgElement.src + "&m="+method+"&i="+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();
