SitePoint Sponsor

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 25 of 41
  1. #1
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question rollover image position?

    Hi everyone! I am using some JS and CSS that loads a big image when you rollover the small image. This effect works when the small image is fully shown in the browser but if the browser is resized so the small image is cut off showing half the image then the bigger image doesnt adjust with the browser. I would like to know how to get the big image to adjust with the browsers height and width.

    This is the JS I am using:
    Code:
    <script type="text/javascript">
    function display(x,y,text,src) {
    var brokenstring = src.split("_small");
    var newstring = brokenstring[0]+'_big'+brokenstring[1];
    
    var c = document.getElementById("capt");
    c.innerHTML ="";
    c.style.left = x + "px";
    c.style.top = y + "px";
    
    var myImage = document.createElement('img');
    myImage.setAttribute('src',newstring);
    myImage.setAttribute('alt','');
    c.appendChild(myImage);
    
    c.appendChild(document.createTextNode(text));
    }
    
    function showdiv(id) {
    t = document.getElementById(id);
    document.getElementById("capt").style.display = "block";
    t.onmousemove = function(e) {
    var ev = e || event,ox=20,oy=20;
    display(ev.clientX+ox,ev.clientY+oy,this.getAttribute("alt"),this.getAttribute("src"));
    return false;
    }
    }
    function hidediv() {
    document.getElementById("capt").style.display = "none";
    }
    
    </script>
    The big image loads in this div:
    Code:
    <div style="display: none; left: 437px; top: 32px;" id="capt"></div>
    I hope someone out there knows how to do this?!

  2. #2
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    noone knows how to do this?

  3. #3
    I meant that to happen silver trophybronze trophy Raffles's Avatar
    Join Date
    Sep 2005
    Location
    Tanzania
    Posts
    4,662
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    What do you mean by "adjust"? A working example would be helpful.

  4. #4
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question

    Ok here is my site:
    http://www.newmedia.lincoln.ac.uk/jecgardner/

    When you rollover the screenshot in the first blog entry titled Conducting Code a bigger image appears.

    Now look at this site:
    http://www.skaffers.com/

    When you rollover an image here and change the browser window size the image adjusts so it can be seen in its best position within the browser.

    I would like my image to have the same effect as skaffers. So when you rollover the small image the big image puts itself into the best position to be seen in the browser.

  5. #5
    I meant that to happen silver trophybronze trophy Raffles's Avatar
    Join Date
    Sep 2005
    Location
    Tanzania
    Posts
    4,662
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    You need to introduce some logic to your display() function. I see what you mean by Skaffers, though their version is hardly brilliant. When hovering over the grill picture, the popup is half off the page. Same with the semi-naked girl.
    Code:
      viewport: function() {
        var de = document.documentElement;
        var w = self.innerWidth || de.clientWidth;
        var h = self.innerHeight || de.clientHeight;
        return [w,h];
      }
    That'll give you the viewport dimensions. Now you just need to do some simple maths to work out where the best placement for the popup is, all within the display() function so the information gets refreshed constantly.

    I find this way of popping things up a bit annoying to tell you the truth. Particularly the opacity, which is completely useless and stops people from being able to see the image properly. Also, if the image is larger than the viewport, then some of the image will be impossible to see. Perhaps you should consider using Lightbox JS or Thickbox.

  6. #6
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I added -20px to the display function like this:
    Code:
        c.style.left = x + "-20px";
        c.style.top = y + "-20px";
    This has made the pop up move to the top of the browser. I dont think I have done it right.. If i shrink the browser and hover over the small image the pop up still stays out of sight..

    This is how all of the JS looks like:
    Code:
    <script type="text/javascript">
    function display(x,y,text,src) {
        var brokenstring = src.split("_small");
        var newstring = brokenstring[0]+'_big'+brokenstring[1];
        
        var c = document.getElementById("capt");
        c.innerHTML ="";
        c.style.left = x + "-20px";
        c.style.top = y + "-20px";
    
        var myImage = document.createElement('img');
        myImage.setAttribute('src',newstring);
            myImage.setAttribute('alt','');
        c.appendChild(myImage);
    
        c.appendChild(document.createTextNode(text));
        }
    
    function showdiv(id) {
                    t = document.getElementById(id);
                    document.getElementById("capt").style.display = "block";
                    t.onmousemove = function(e) {
                        var ev = e || event,ox=20,oy=20;
                        display(ev.clientX+ox,ev.clientY+oy,this.getAttribute("alt"),this.getAttribute("src"));
                        return false;
                    }
    }
    function hidediv() {
        document.getElementById("capt").style.display = "none";
    }
    
     viewport: function() {
        var de = document.documentElement;
        var w = self.innerWidth || de.clientWidth;
        var h = self.innerHeight || de.clientHeight;
        return [w,h];
      }
    
    </script>
    I tried using lightbox before but I dont think I can use it in my blog plus you have to click on the image when using lightbox.. I wanted to reduce the amount of clicks by using a rollover effect. I understand your point about the opacity but it is a cool little effect :-P Right now I post an image with a text entry and the image has this pop up effect attached to it.. If it is possible to use lightbox in the same way then I would like to know how to do so!

    Please look at the code above and tell me what I have done wrong

    I just checked my site in IE6 and when I rolled over the small image I got an error: Invalid argument .. No error in firefox though

  7. #7
    I meant that to happen silver trophybronze trophy Raffles's Avatar
    Join Date
    Sep 2005
    Location
    Tanzania
    Posts
    4,662
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Just putting the viewport() function in there isn't magically going to solve anything - you need to actually use it! You need to work this out for yourself using some simple logic:

    - if (clientY + imageheight) > (viewportheight - clientY) then the image will not fit and it needs to be positioned higher up. So it needs to be positioned from the top at a distance equal to:

    Code:
    var t = (clientY + imageheight) - (viewportheight - clientY)
    if (t > 0) top = clientY - t;
    else top = clientY;
    So the popup box would need to be positioned at a height of top (var above) relative to the viewport. However, then you have to work out whether this new top value will make the top of the image stickout above the height of the viewport. This would probably mean the image is higher than the viewport and so thus you would need to think about what to do in that situation.

    he same sort of logic would need to be applied for the width, though the width is probably less tricky than the height since viewports tend to be much wider than they are high.

  8. #8
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question

    I am not an expert at JS. I understand what you have said but when I look at the JS it is hard to understand.

    Right now I would add the code like this:
    Code:
     viewport: function() {
        var de = document.documentElement;
        var w = self.innerWidth || de.clientWidth;
        var h = self.innerHeight || de.clientHeight;
        return [w,h];
    var t = (clientY + imageheight) - (viewportheight - clientY)
    if (t > 0) top = clientY - t;
    else top = clientY;
      }
    I can see that t has been used in function showdiv(id) above the viewport function. I dont know if I am getting closer or further at getting this to work

  9. #9
    I meant that to happen silver trophybronze trophy Raffles's Avatar
    Join Date
    Sep 2005
    Location
    Tanzania
    Posts
    4,662
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    You can't just copy and paste code without looking at it and understanding it. viewportheight is meaningless at the moment, it's nothing. It hasn't been set, and neither have the other things. I was hoping you would be able to work out how to do this yourself because it's important to understand what is going on rather than simply copying and pasting code provided by other people.

    Regarding what you did earlier:
    Code:
    c.style.left = x + "-20px";
    c.style.top = y + "-20px";
    That is wrong because x and y are integers but "-20px" is a string. So if x is 50, for example, c.style.left will end up being "50-20px" which to a browser is meaningless.

    In that case what you should have done is:
    Code:
    c.style.left = (x - 20) + 'px';
    c.style.top = (y - 20) + 'px';
    This is an example of when Javascript's attempt at guessing what the developer is trying to do backfires because the "+" operator is used to perform mathematical additions as well as concatenate strings.

    In any case, that code above is pointless because onmousemove on you're calling display() with ev.clientX+ox and ox is 20, so c.style.top ends up being equal to clientX.

    I've had a play about with this because I've never used onmousemove before, so I came up with this:

    Code Javascript:
    window.onload = function() {
      var thumbs = getElementsByClassName('thumb'), capt = document.getElementById('capt');
      for (var i = 0; i < thumbs.length; i++) {
        var thumb = thumbs[i], preloadedimages = [], bigsrc = thumb.src.replace('small', 'big');
        preloadedimages[i] = new Image();
        preloadedimages[i].src = bigsrc;
        preloadedimages[i].onload = function() {
          var im = this;
          thumb.onmouseover = function() {
            var myImage = document.createElement('img');
            myImage.setAttribute('src', bigsrc);
            myImage.setAttribute('alt', this.alt);
            capt.innerHTML = '';
            capt.appendChild(myImage);
            capt.appendChild(document.createTextNode(this.alt));
            capt.style.display = 'block';
            this.onmousemove = function(e) {
              if (!e) var e = window.event;
              display(this, bigsrc, capt, e, im);
            }
          }
          thumb.onmouseout = function () {
            capt.style.display = 'none';
          }
        }
      }
    }
     
    function display(from, what, where, e, im) {
      var w = self.innerWidth || document.documentElement.clientWidth;
      var h = self.innerHeight || document.documentElement.clientHeight;
      var scrolled = self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
     
      var prelh = im.height, prelw = im.width;
      if (prelh > h) {
        alert('too big');
        // the image is higher than the viewport. You'll have to decide what to do in this case
      }
      else {
        var posx = e.clientX, posy = e.clientY, top;
        if (posy > prelh + 50) {
          // there is enough space above mouse cursor
          top = posy - 50 - prelh;
        }
        else if (h - posy > prelh + 50) {
          // there is enough space under mouse cursor
          top = posy + 50;
        }
        else if (parseInt(where.style.top.length)) {
          // there was enough space before, but not any more in either direction (up or down). So just leave it where it is
          return;
        }
        else {
          // the image is shorter than the viewport, but doesn't fit above or below mouse cursor
          // so put it in the middle of the viewport
          top = (h - prelh) / 2;
        }
     
        // logic for horizontal positioning needed here.
     
        top = top + scrolled; // add distance scrolled down the page
        where.style.top = top + 'px';
        where.style.left = 0 + 'px';
      }
    }
     
    function getElementsByClassName(c) {
        var children = document.getElementsByTagName('*');
        var els = [];
        for (var i = 0; i < children.length; i++) if (hasClass(children[i], c)) els.push(children[i]);
        return els;
    }
    function hasClass(el, c) {
      var has = false;
      if (!el || !el.className.length) return;
      var bits = el.className.split(' ');
      for (var j = 0; j < bits.length; j++) if (bits[j] === c) has = true;
      return has;
    }

    It's much cleaner and better structured and you can put this in an external .js file and avoid inline event handlers (e.g. onmouseover="" - nasty). This means all you need to do to "activate" it for a thumbnail is add the class "thumb":
    HTML Code:
    <img src="whatever_small.jpg" alt="caption" class="thumb">
    For this to be possible, I also added code to preload the larger images, which is also a general improvement. So now you can have any number of thumbs with that class in the same page and as long as the larger version follows the _small -> _big pattern, it'll work. I've tested this in Firefox and it works.

    I've deliberately not added any code to work out where to place the image horizontally (at the moment, as you can see, it is always at 0px from the left). This is partly because I'm hungry and want to go and cook dinner but also partly because I think you should do it and understand how the code works. You just need to do a bit of maths with posx (horizontal pos. of mouse cursor), w (width of viewport) and prelw (large image width).

  10. #10
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I applied your code to my site (didnt put it in an external js file) and the pop up effect has gone. Have a look at the source of my site too see how I appied your code:
    http://www.newmedia.lincoln.ac.uk/jecgardner/

    Every image I upload I will have to add this every time?
    <img src="whatever_small.jpg" alt="caption" class="thumb">
    <img src="whatever2_small.jpg" alt="caption" class="thumb">

    Can I see the version you tested in Firefox?

    This site below has a few examples of what I want to achieve:
    http://www.bosrup.com/web/overlib/
    Maybe I can use one of these on my site?

    This is the PHP on my site that makes the image pop up:
    echo "<img id='thisimage$i' onmouseover='showdiv(this.id);' onmouseout ='hidediv();' src='entry/blog_images/".showinweb($row['image'])."' alt='' /> ";
    This is some code from overlib:
    <a href="javascript:void(0);" onMouseOver="return overlib('Nifty, ehh?');" onMouseOut="return nd();">

    Not sure if I am getting closer or further away from getting this to work hehe
    Last edited by shtoom; Jul 15, 2007 at 16:22.

  11. #11
    I meant that to happen silver trophybronze trophy Raffles's Avatar
    Join Date
    Sep 2005
    Location
    Tanzania
    Posts
    4,662
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Well, it doesn't work because you haven't added the class "thumbs" to the HTML and you also haven't removed the inline event handlers, onmouseover and onmouseout, which are causing JS errors in the console. Perhaps you should find out about "unobtrusive javascript" on Google.

    I tested the code in Firefox only, but it should work in IE and the others too since all the code is, I'm quite sure, cross-browser.

    Forget about overlib, it's a bit enormous and I think rather old. What I posted should work just as well if you put the HTML in properly.

  12. #12
    SitePoint Guru
    Join Date
    Sep 2006
    Posts
    731
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by shtoom View Post
    Hi everyone! I am using some JS and CSS that loads a big image when you rollover the small image. This effect works when the small image is fully shown in the browser but if the browser is resized so the small image is cut off showing half the image then the bigger image doesnt adjust with the browser. I would like to know how to get the big image to adjust with the browsers height and width.
    Read the absolute position of the mouse cursor, the viewport's dimensions and the horizontal and vertical displacement of the page.
    Divide the viewport into four overlapping rectangles that surround the mouse cursor within a given margin.
    Calculate the pixel area of the image, then calculate which of the four screen areas can accomodate the maximum image area.
    Place the image adjacent to the nearest side of the rectangle to the mouse cursor.
    Centre the image horizontally or vertically.
    If one edge overlaps the viewport, calculate by how much, compare it to the gap opposite and compensate by the smaller of the two. MagnifImage
    Tab-indentation is a crime against humanity.

  13. #13
    SitePoint Guru Chroniclemaster1's Avatar
    Join Date
    Jun 2007
    Location
    San Diego, CA
    Posts
    784
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I find the skaffers site pretty annoying. You can't see the whole picture unless your screen resolution is way up. I'm viewing at 1024x768 and I usually had the picture vanish on me as I was trying to get it into the viewport. Because of course, as I tried to drag the picture where I could see it, I would mouse off the underlying picture. If you've got the similar alpha effect set so that people can see where their cursor is going, I'd center the larger image on the viewport rather than attaching it to the mouse. Much more user friendly. Then it IS visible, you DON'T have to track the mouse position (just the mouseover, mouseout events which is much easier), and people can leave their cursor where it is until they want to stop seeing the image. That seems like a much more user intuitive design. Though, it's probably a @#$! in AJAX, if this is how other people are doing it.
    Whatever you can do or dream you can, begin it.
    Boldness has genius, power and magic in it. Begin it now.

    Chroniclemaster1, Founder of Earth Chronicle
    A Growing History of our Planet, by our Planet, for our Planet.

  14. #14
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    hi everyone I have not got the internet at the moment I am going to save this thread and work off line and keep you up to date when I can..

  15. #15
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question

    I have added this to the div that loads the big image class="thumb"
    Code:
    <div style="display: none; left: 437px; top: 32px;" id="capt" class="thumb">
    I have also tried adding class='thumb' single quotes to the PHP echo of the mouseover.
    PHP Code:
    echo "<img id='thisimage$i' src='entry/blog_images/".showinweb($row['image'])."' alt='' class='thumb'/> "
    (without onmouseover and onmouseout)
    The big image is nolonger loading or preloading
    What am i doing wrong?

    Quote Originally Posted by Logic Ali View Post
    Thanks for the link Logic Ali I see this site says it does the trick without the onmouseover

  16. #16
    I meant that to happen silver trophybronze trophy Raffles's Avatar
    Join Date
    Sep 2005
    Location
    Tanzania
    Posts
    4,662
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    You have two conflicting window.onload functions. That is probably the problem.

    In the code that I provided, you need to replace this:
    Code:
    window.onload = function() {
    with this:

    Code:
    function rolloverInit() {
    or whatever name you want for it. Then add it to the other things in your window.onload block:

    Code:
    window.onload = function() {
      makeNiceTitles();
      startList();
      rolloverInit();
    }
    And you should use double quotation marks in HTML, not single ones.

  17. #17
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Raffles View Post
    You have two conflicting window.onload functions. That is probably the problem.
    The other onload function in the code is this:
    Code:
    preloadedimages[i].onload = function() {


    Quote Originally Posted by Raffles View Post
    Then add it to the other things in your window.onload block:

    Code:
    window.onload = function() {
      makeNiceTitles();
      startList();
      rolloverInit();
    }
    Dont you mean
    function rolloverInit() { instead of window.onload?

    Quote Originally Posted by Raffles View Post
    And you should use double quotation marks in HTML, not single ones.
    Think I fixed it. I have added the thumb to the PHP where it echos the bigger image:
    PHP Code:
    echo "<img id='thisimage$i' src='entry/blog_images/".showinweb($row['image'])."' alt='' class="thumb"/> "
    This is how the JS looks:
    Code Javascript:
    <script type="text/javascript">
    function rolloverInit() {
      var thumbs = getElementsByClassName('thumb'), capt = document.getElementById('capt');
      for (var i = 0; i < thumbs.length; i++) {
        var thumb = thumbs[i], preloadedimages = [], bigsrc = thumb.src.replace('small', 'big');
        preloadedimages[i] = new Image();
        preloadedimages[i].src = bigsrc;
        preloadedimages[i].onload = function() {
          var im = this;
          thumb.onmouseover = function() {
            var myImage = document.createElement('img');
            myImage.setAttribute('src', bigsrc);
            myImage.setAttribute('alt', this.alt);
            capt.innerHTML = '';
            capt.appendChild(myImage);
            capt.appendChild(document.createTextNode(this.alt));
            capt.style.display = 'block';
            this.onmousemove = function(e) {
              if (!e) var e = window.event;
              display(this, bigsrc, capt, e, im);
            }
          }
          thumb.onmouseout = function () {
            capt.style.display = 'none';
          }
        }
      }
    }
     
    function display(from, what, where, e, im) {
      var w = self.innerWidth || document.documentElement.clientWidth;
      var h = self.innerHeight || document.documentElement.clientHeight;
      var scrolled = self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
     
      var prelh = im.height, prelw = im.width;
      if (prelh > h) {
        alert('too big');
        // the image is higher than the viewport. You'll have to decide what to do in this case
      }
      else {
        var posx = e.clientX, posy = e.clientY, top;
        if (posy > prelh + 50) {
          // there is enough space above mouse cursor
          top = posy - 50 - prelh;
        }
        else if (h - posy > prelh + 50) {
          // there is enough space under mouse cursor
          top = posy + 50;
        }
        else if (parseInt(where.style.top.length)) {
          // there was enough space before, but not any more in either direction (up or down). So just leave it where it is
          return;
        }
        else {
          // the image is shorter than the viewport, but doesn't fit above or below mouse cursor
          // so put it in the middle of the viewport
          top = (h - prelh) / 2;
        }
     
        // logic for horizontal positioning needed here.
     
        top = top + scrolled; // add distance scrolled down the page
        where.style.top = top + 'px';
        where.style.left = 0 + 'px';
      }
    }
     
    function getElementsByClassName(c) {
        var children = document.getElementsByTagName('*');
        var els = [];
        for (var i = 0; i < children.length; i++) if (hasClass(children[i], c)) els.push(children[i]);
        return els;
    }
    function hasClass(el, c) {
      var has = false;
      if (!el || !el.className.length) return;
      var bits = el.className.split(' ');
      for (var j = 0; j < bits.length; j++) if (bits[j] === c) has = true;
      return has;
    }
     
    </script>

  18. #18
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This is what the browser reads when I used the double quotes:
    Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/webmedia/public_html/jecgardner/index.php on line 273
    How can the rolloverInit function be triggered?

  19. #19
    I meant that to happen silver trophybronze trophy Raffles's Avatar
    Join Date
    Sep 2005
    Location
    Tanzania
    Posts
    4,662
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Well, that's a PHP error, not a JS error. You're not escaping the double quotation marks properly. This is better:
    PHP Code:
    echo "<img id=\"thisimage$i\" src=\"entry/blog_images/".showinweb($row['image'])."\" alt=\"\" class=\"thumb\"/>"
    You need to understand how window.onload works. When a browser loads a page, it first reads the HTML and also executes any javascript within <script> tags in the body. Then it loads images. When all that is done, an event fires, and this event is the "onload" event on the window object. Basically, it just means "the page has finished loading".

    The javascript in the external file is parsed before the body is parsed. This is why if you try to do document.getElementById('element') in an external JS file, you will get an error because the DOM hasn't been built yet - "element" doesn't exist yet. That is why it has to be delayed until the page has finished loading, which is where window.onload comes in.

    onload is an event that is also applied to images created with Javascript, like what you posted above: preloadedimages[i].onload. This has nothing to do with window.onload.

    The JS you've posted above is good. Now, in your other JS file, you must only have ONE window.onload function. If there are two, the second will overwrite the first. So you need to find the line with window.onload on it and replace it with this:
    Code:
    window.onload = function() {
      makeNiceTitles();
      startList();
      rolloverInit();
    }
    That basically says, "when the page has loaded, run these functions".

  20. #20
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question

    I have changed the JS in the tooltip.js file to this:
    Code:
    window.onload = function() {
      makeNiceTitles();
      startList();
      rolloverInit();
    }
    and I pasted the PHP code you provided:
    PHP Code:
    echo "<img id=\"thisimage$i\" src=\"entry/blog_images/".showinweb($row['image'])."\" alt=\"\" class=\"thumb\"/>"
    When I view the changes on my homepage (CLICK HERE) the _big image doesn't popup on rollover..
    When I click on the valid W3C XHTML button on my site there are 7 errors:
    http://validator.w3.org/check?uri=ht...Fjecgardner%2F

  21. #21
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    hello?

  22. #22
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    up

  23. #23
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    i need to get this working!?
    Last edited by shtoom; Aug 2, 2007 at 03:14.

  24. #24
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    raffles??????

  25. #25
    SitePoint Addict
    Join Date
    Dec 2006
    Posts
    378
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •