var prefix2 = "_180x135.jpg";
var prefix = "nude";
var domain = "celebsbase.com";

function preparestart(tp, wp) {
    preparestart._THUMBS = {};
    preparestart._ROTATION_PERIOD_MS = wp * 700;
    preparestart._ROTATION_ID = null;
    preparestart._ROTATION_UID = null;
    preparestart._DUMMY = tp;
}

function stopchange(image) {
    if (preparestart._ROTATION_ID) {
        var thumbData = preparestart._THUMBS[preparestart._ROTATION_ID];
        if (thumbData && thumbData['thumb'] && thumbData['thumbInitial']) {
            thumbData['thumb'].src = thumbData['thumbInitial'];
        }
    }
    preparestart._ROTATION_ID = null;
    preparestart._ROTATION_UID = null;
    preparestart._DUMMY = image;
}

function startchange(urlPrefix, image, thumbCount, thumbExt) {
	stopchange();
	if(urlPrefix.lastIndexOf(domain) == -1)
		return;
  	if (image) {

        var currentThumbUrl = image.src;
        var currentThumbIndex = 1;

		var tmpurl = urlPrefix;

		tmpurl = tmpurl.replace(/www/i, prefix);
		var tpos = tmpurl.lastIndexOf("/");
		if(tpos == tmpurl.length-1){
			tmpurl = tmpurl.substring(0, tpos);
			tpos = tmpurl.lastIndexOf("/");
		}

		if(tpos == -1){
			return;
		}
		thumbCount = tmpurl.substring(tpos+1,  tmpurl.length);
		tmpurl = tmpurl.substring(0, tpos);

		tpos = tmpurl.lastIndexOf("/");
		if(tpos == -1){
			return;
		}
		addprefix = tmpurl.substring(tpos+1,  tmpurl.length);
		tmpurl = tmpurl.substring(0, tpos);

		tpos = tmpurl.lastIndexOf("/");
		if(tpos == -1){
			return;
		}

		imname = tmpurl.substring(tpos+1,  tmpurl.length);

		urlPrefix = tmpurl;

        for (var i = 1; i < thumbCount; i++) {
           var stridx = i;
	   if(i < 10)
        	stridx = "0"+i;
            var url = urlPrefix + "-" + addprefix + "/" + imname + "-" + stridx + prefix2;

            if (currentThumbUrl.indexOf(url) == currentThumbUrl.length - url.length) {
                currentThumbIndex = i;
            }
        }

        var thumbId = image.id;
        if (!thumbId) {
            thumbId = 'preparestart_' + new Date().getTime();
            image.id = thumbId
        }
        preparestart._THUMBS[thumbId] = {
            thumb: image,
            thumbInitial: currentThumbUrl,
            prefix: urlPrefix,
            count: thumbCount,
            ext: thumbExt,
            idx: currentThumbIndex,
            imgnama: imname,
            addprx: addprefix
        };

        if (preparestart._THUMBS[thumbId]['thumb']) {
            preparestart._ROTATION_UID = new Date().getTime();
            preparestart._ROTATION_ID = thumbId;
            startinvoke(thumbId, preparestart._ROTATION_UID);
        }
    }
}

function startinvoke(thumbId, uid) {
    var thumbData = preparestart._THUMBS[thumbId];
    if (thumbData) {
        var thumb = thumbData['thumb'];
        var prefix = thumbData['prefix'];
        var count = thumbData['count'];
        var ext = thumbData['ext'];
        var idx = thumbData['idx'];
	var iname = thumbData['imgnama'];
	var addprefixt = thumbData['addprx'];
        idx = (idx == count ? 1 : idx + 1);
        thumbData['idx'] = idx;
        var stridx = idx;
        if(idx < 10)
        	stridx = "0"+idx;
        var url = prefix + "-" + addprefixt + "/" + iname + "-" + stridx + prefix2;
        var img = new Image();
        img.onload = function() {
            if ((thumbId == preparestart._ROTATION_ID) && (uid == preparestart._ROTATION_UID)) {
                if (img.width == 0) {
                    startinvoke(thumbId, uid);
                }
                thumb.src = url;
                setTimeout('startinvoke(\'' + thumbId + '\', ' + uid + ')', preparestart._ROTATION_PERIOD_MS);
            }
        }
        img.onerror = function() {
            if ((thumbId == preparestart._ROTATION_ID) && (uid == preparestart._ROTATION_UID)) {
                startinvoke(thumbId, uid);
            }
        }
        img.src = url;
        preparestart._THUMBS[thumbId] = thumbData;
    }
}
