function readIDD() {
    var expDays = 90; // number of days the cookie should last
    var expDate = new Date();
    expDate.setTime(expDate.getTime() +  (24 * 60 * 60 * 1000 * expDays)); 
    var idd = GetCookie('idd');
    if (idd == null || idd == "nosource") {
        if (location.search.length > 1) idd = location.search.substring(1, location.search.length);
        else idd = "nosource";
        if (idd != GetCookie('idd')) SetCookie('idd', idd, expDate);
    }
}

// this function lets us include the variable in the html - change the document write line to suit
function Write (){
    var id2 = GetCookie('idd');
    //alert(id2);
    if (id2 == null || id2 == "nosource") {
        if (location.search.length > 1) id2 = location.search.substring(1, location.search.length);
        else id2 = "nosource";
    }
    return id2;
}



function getCookieVal (offset) {  
    var endstr = document.cookie.indexOf (";", offset);  
    if (endstr == -1)    
    endstr = document.cookie.length;  
    return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {  
    var arg = name + "=";  
    var alen = arg.length;  
    var clen = document.cookie.length;  
    var i = 0;  
    while (i < clen) {    
        var j = i + alen;    
        if (document.cookie.substring(i, j) == arg)      
            return getCookieVal (j);    
        i = document.cookie.indexOf(" ", i) + 1;    
        if (i == 0) break;   
    }  
    return null;
}

function SetCookie (name, value) {  
    var argv = SetCookie.arguments;  
    var argc = SetCookie.arguments.length;  
    var expires = (argc > 2) ? argv[2] : null;  
    var path = (argc > 3) ? argv[3] : null;  
    var domain = (argc > 4) ? argv[4] : null;  
    var secure = (argc > 5) ? argv[5] : false;  
    document.cookie = name + "=" + escape (value) + 
    ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
    ((path == null) ? "" : ("; path=" + path)) +  
    ((domain == null) ? "" : ("; domain=" + domain)) +    
    ((secure == true) ? "; secure" : "");
}