SitePoint Sponsor

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 25 of 48
  1. #1
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Expand and Collapse headers through Javascript

    As a result of a previous thread, I started some programming with Javascript.
    I'd like to use it to expand/collapse some headers in a page.
    I made following code to do this.:
    collapse-expand.txt
    That works perfect!
    But I want to add something, and I have some problems with that. As I have e.g. 4 headers, I want to expand the text (in <p>-tag) by clicking on header 1. When I click on header 2, I want to collapse text of header 1 and expand header 2 text.
    And so on.
    That way, I get the height of the site relatively small without needing to scroll.
    I don't quite know how to implement this function into my JS-code!
    And if it could be implemented in my .js file, how do I link that in my html, because now I have in every header the same line:
    <a href="#first" onClick="shoh('first');">, <a href="#second" onClick="shoh('first');">, etc..

    Maybe an extra question: How can I get the content of header 1 be seen as soon as the screen pops up. So you don't have to click on Header1 before you can see it? And then go on from there: clicking on header2 makes text of header 1 disappear and expands text from header 2, and so on...

    Thanks for the help!!
    Kind regards
    Maxx-iT

  2. #2
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    maybe something like the javascript\jquery accordian

    perhaps this helps:

    <html>
    <head>
    <title>Untitled Page</title>
    <script type="text/javascript">
    function slideopen(me_id)
    {
    var me_obj = document.getElementById(me_id);
    var me_height = parseInt(me_obj.style.height);
    me_height = me_height + 5;
    me_obj.style.height = me_height + "px";

    if(me_height >= 400)
    {
    busy_sliding = false;
    clearInterval(timer_id_open);
    }
    }
    function slideclosed(me_id)
    {
    var me_obj = document.getElementById(me_id);
    var me_height = parseInt(me_obj.style.height);
    me_height = me_height - 5;
    me_obj.style.height = me_height + "px";

    if(me_height <= 40)
    {
    busy_sliding = false;
    clearInterval(timer_id_close);
    }
    }
    var busy_sliding = false;
    var timer_id_open;
    var timer_id_close;
    function start_slide(me_id)
    {
    var me_obj = document.getElementById(me_id);
    var me_height = parseInt(me_obj.style.height);

    if(busy_sliding == false)
    {
    slide_everyone_else(me_id);
    if(me_height == 40)
    {
    busy_sliding = true;
    timer_id_open = self.setInterval("slideopen('" + me_id + "')", 10);
    }
    else
    {
    busy_sliding = true;
    timer_id_close = self.setInterval("slideclosed('" + me_id + "')", 10);
    }
    }
    }
    function slide_everyone_else(me_id)
    {
    var me_obj = document.getElementById(me_id);
    var me_height = parseInt(me_obj.style.height);
    var me_top = parseInt(me_obj.style.top);

    var div_elems=document.getElementsByTagName("div");

    for(var i = 0; i < div_elems.length; i++)
    {
    var tempstr = div_elems[i].id;
    if(tempstr.search('_') == -1)
    {
    if((div_elems[i].id != me_id)&&(div_elems[i].id != ""))
    {
    var obj = document.getElementById(tempstr);
    var height = parseInt(obj.style.height);
    var top = parseInt(obj.style.top);

    if(height == 400)
    {
    //alert(div_elems[i].id);
    timer_id_close = self.setInterval("slideclosed('" + tempstr + "')", 10);
    }
    }
    }
    }
    }

    </script>
    </head>
    <body>
    <form id="form1" runat="server">
    <div id="DIV1" style="overflow:hidden; border: 1pt solid black; width:400px; height: 40px; background-color:Yellow; position: relative;" onclick="start_slide(this.id);">
    <div id="DIV1_title" style="top:0px; left:0px;">
    <font size="6" >Heading 1</font>
    </div>
    <div id="DIV1_content">
    lakab balbjalkjsf a oifasdfklj asdkf lakab bal lakab balbjalkjsf a oifasdfklj asdkf lakab bal lakab balbjalkjsf a oifasdfklj asdkf lakab bal
    </div>
    </div>
    <div id="DIV2" style="overflow:hidden; border: 1pt solid black; width:400px; height: 40px; background-color:Orange; position: relative;" onclick="start_slide(this.id);">
    <div id="DIV2_title" style="top:0px; left:0px;">
    <font size="6">Heading 2</font>
    </div>
    <div id="DIV2_content">
    lakab balbjalkjsf a oifasdfklj asdkf lakab balbjalkjsf a oifasdfklj asdkfasdof asdof lakab balbjalkjsf a oifasdfklj asdkfasdof
    </div>
    </div>
    <div id="DIV3" style="overflow:hidden; border: 1pt solid black; width:400px; height: 40px; background-color:Red; position: relative;" onclick="start_slide(this.id);">
    <div id="DIV3_title" style="top:0px; left:0px;">
    <font size="6">Heading 3</font>
    </div>
    <div id="DIV3_content">
    blakab balbjalkjsf a oifasdfklj asdkfas lakab balbjalkjsf a oifasdfklj asdkf lakab bal lakab balbjalkjsf a oifasdfklj asdkf lakab bal dof
    </div>
    </div>
    </form>
    </body>
    </html>

  3. #3
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for the answer, but actually that won't work so good, since I work within a table.
    my <h3>-tag is the header, which needs to be clicked, and the <p>- tag is the content that should collapse/expand.
    So I can't really give a height to those two tags...
    But I sure did like the idea.
    I'm a bit worried about my layout in the table and overall, if I put divs in it to make it work like your idea...
    Maybe something easier for code, based on yours, without having to change the whole layout? So WITH using h3 and p tags?

    Thanks!
    Maxx-iT

  4. #4
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Anybody 's got another solution please?
    Ulricht, I gave it a try with your entire code, and gave CSS layout lines to the DIV1_title,... and DIV1_content,... corresponding to my h3 and p-tags..
    It works fine in Firefox and also layout is correct but it doesn't expand in IE. The headers (DIV_titles) appear in the right layout, but clicking on them gives no result.. Fix for IE maybe?
    Does anyone happen to know the reason for this?

    Kind regards and thanks!
    Maxx-iT

  5. #5
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi Maxx-iT

    I coded that piece of code in IE 9

    just make sure you are parsing integers and then when assigning the new value to the width, height, left, top ,etc attributes to concatenate the 'px'

    i found that this is sometimes what casues an error

    example:
    var me_height = parseInt(me_obj.style.height);
    me_height = me_height - 5;
    me_obj.style.height = me_height + "px";
    Last edited by ulricht609; Oct 12, 2011 at 07:32. Reason: thats and this

  6. #6
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    also could you maybe post the new code you created so that we can have a look and see if we can fix it...
    Last edited by ulricht609; Oct 12, 2011 at 07:34. Reason: z

  7. #7
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    also can you provide the IE javascript error if there is one

  8. #8
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    My mistake!!! Works fine on IE aswell, just linked wrong!!
    Works as it should be :-)!! Saves me tons of pages on my site!!

    Thanks a lot!!
    Maxx-iT

  9. #9
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just encountered a new problem, not JS related or so, but maybe this is a quick fix, otherwise I'll post a new thread!

    When i make my screen smaller, on IE, my site looks like it should be on half the screen, just some scrolling needed to be done, on firefox I'm getting an oversized header, and my content with the table with photo and text in it, is floating somewhere in the topleftcorner..
    I think it could have something to do with the position relative or so, to make the JS code to work?
    Or what can it be?
    in attachment you can find the code of one of the pages with also the CSS from it!
    style.css.txtexample.txt

  10. #10
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    sure thing,. glad it could help you. will look at the attachments once they have been approved and will get back to you.

  11. #11
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    this method set_Position : sets the divs' position and size according to the browser window size
    maybe this will/could help with:
    When i make my screen smaller, on IE, my site looks like it should be on half the screen, just some scrolling needed to be done.
    code:
    <html>
    <head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">

    function set_Position() {
    var obj = document.getElementById('aaDIV');
    var obj_width = parseInt(obj.style.width);
    var obj_height = parseInt(obj.style.height);
    var obj_top = parseInt(obj.style.top);
    var obj_left = parseInt(obj.style.left);
    var obj_right = obj_left + obj_width;
    var obj_bottom = obj_top + obj_height;



    var winW = 630, winH = 460;
    if (document.body && document.body.offsetWidth) {
    winW = document.body.offsetWidth;
    winH = document.body.offsetHeight;
    }
    if (document.compatMode == 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {
    winW = document.documentElement.offsetWidth;
    winH = document.documentElement.offsetHeight;
    }
    if (window.innerWidth && window.innerHeight) {
    winW = window.innerWidth;
    winH = window.innerHeight;
    }


    var page_height = winH;
    var page_width = winW;
    obj.style.width = (page_width - 20) + 'px';
    //obj.style.height = page_height + 'px';

    obj.style.top = ((page_height - 5) - obj_height) + 'px';
    obj.style.left = 0;//((page_width / 2) - (obj_width / 2)) + 'px';

    } //end function set_Position()

    window.onresize = function(){set_Position();};

    </script>
    </head>
    <body onload="set_Position();">
    <form id="form1">
    <div id="aaDIV" style="border: 1pt solid black; width:200px; height: 30px; background-color:Orange; position: absolute; top:0px; left: 200px;"></div>
    </form>
    </body>
    </html>

  12. #12
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It works on IE, still can't get the Firefox screen to work, in attachment three printscreens: how it should be full screen, the smaller screen and correct version of IE, and the wrong one from Firefox!
    firefox.jpg
    fullscreen.jpg
    IE.jpg

  13. #13
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    will be able to assist more, when i can test it in ff & chrome... my work pc doesnt have them installed, so i'll check it out when i get back home..
    Last edited by ulricht609; Oct 12, 2011 at 09:00. Reason: ssd

  14. #14
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by ulricht609 View Post
    will be able to assist more, when i can test it in ff & chrome... my work pc doesnt have them installed, so i'll check it out when i get back home..
    Thanks!! Have a nice day at work till then !!!

  15. #15
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm having also a bit of problems with the previous code, working with the height in IE. My height shouldn't be more the 450, because there is a photo (as on the printscreens) next to the text that needs to be collapsed/expanded. That photo is on each page 450px high.
    I'm having quite some text, but if I put the expanded text into font-size 14px, I just got it to the height from the photo. However, the same amount of text cannot be displayed on IE, because apparently they show text a bit larger then Firefox.
    Is there a line of code that I can put into the css that adapts the size of the content-tag when it reaches Internet Explorer?
    OR MAYBE EVEN BETTER:
    Is it possible to make the div that has too much text to get on 450px height, have the option to scroll? So that only the text that isn't displayed because of the heightrestriction can be read through scrolling?


    Thanks again!

    Kind regards
    Maxx-iT

  16. #16
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    this will help with the scrolling => overflow:scroll;
    <html>
    <head>
    <title>
    </title>
    </head>
    <body>
    <div id='aDiv' style='width:300px;height:450px;overflow:scroll;position:relative'>
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    asdfkjasdlk fasdklfj as;dlfjasdkl fasdklfjasdlkfja sd;lfjas;dlk fj;asdlkf ;lasjf asdkfjahsdlfjkhasdlkjfhas lkdfhasdk
    </div>
    </body>
    </html>

  17. #17
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Is there a line of code that I can put into the css that adapts the size of the content-tag when it reaches Internet Explorer?
    and if you set the font size/family with either css or js? does ie still display the font differently?

  18. #18
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by ulricht609 View Post
    this will help with the scrolling => overflow:scroll;
    This indeed helps! However, the vertical scrolling is fine, BUT now, he places also a horizontal scroll bar, which is obviously not the intention. Plus, this has also the disadvantage that the height of the DIV1_title becomes higher because of the horizontal scroll bar.
    So any suggestions to get rid of the horizontal? I put an prtscrn to show you.
    scroll.jpg

    Concerning the IE font problem, I use normally CSS, as I am not used on doing layout with js.. So any tips on how to set the font-size through js? If I put the line for IE into js, does that mean I can delete the css-line. In other words would they interfere with eachother?

    Thanks, we're nearly there :-)!

    Kind regards
    Maxx-iT

  19. #19
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    However, the vertical scrolling is fine, BUT now, he places also a horizontal scroll bar, which is obviously not the intention.
    use overflow-y:scroll; for only vertical scrollbar

  20. #20
    SitePoint Enthusiast
    Join Date
    Jul 2011
    Location
    South Africa
    Posts
    66
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    If I put the line for IE into js, does that mean I can delete the css-line.
    if you did the styling with js you could remove that css..

    In other words would they interfere with eachother?
    i would imagine so yes, if the css yes one thing and the js says something else then i guess which ever runs last would have precedence over the other.

  21. #21
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    WORKS!!! thanksssss!!!

    Still one minor issue: in Firefox, I'm getting the headers as it should be and the scrollbar appears when it is clicked. In IE however, the scrollbar is there always, so when I enter the menuitem, I see my headers WITH the scrollbars, which is not so good-looking off course. Anyway how to get rid of them in IE, or just let it like it is?

    Any ideas about the wrong display when shrinking the screen in Firefox?

    Thanks!

  22. #22
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by ulricht609 View Post
    if you did the styling with js you could remove that css..



    i would imagine so yes, if the css yes one thing and the js says something else then i guess which ever runs last would have precedence over the other.
    I guess with the scroll bar, this problem is trivial... So thanks :-)

  23. #23
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hey there Ulrich

    Have you had the time to look into the problem with the shrinking of the screen in Firefox?
    Thanks and apologies for bothering you so long :-)!

  24. #24
    om nom nom nom Stomme poes's Avatar
    Join Date
    Aug 2007
    Location
    Netherlands
    Posts
    10,266
    Mentioned
    50 Post(s)
    Tagged
    2 Thread(s)
    There are a number of really, really wrong things going on here. However, to fix any of them would require rewriting everything and doing completely different practices. The code I'm seeing here is a good decade out of date, and while you are testing IE and Firefox on Windows to help make this cross-browser compatible, the way the code is written now practically ensures any browser on any other Operating System or with any other (non-default) user settings still has an excellent chance of breaking horribly. (Opera, Safari Windows or Mac, Chrome, and anyone with default larger font sizes and anyone with any disability affecting web surfing)

    But I am not sure how close you are to completion... is there a deadline... do you have the time/do you want to redo all this? Are you getting paid by this company? Are you doing this as a one-off favour or are you actively learning web development? Both?

    Because I don't know I want to list all the bad stuff if it doesn't apply to your situation anyway. If you're almost done and want to be done with it then anything I post will just cause headaches. The other option is to pile on more garbage code to get things mostly looking okay on Firefox and IE on Windows with default settings only (not something I'd be happy with but it's true most average users in NL/BE are using IE or Firefox (tho chrome is pretty big usage now) on Windows, meaning likely the majority of visitors to this site will see mostly what you see).

    And the trouble isn't mostly JS. The markup is very important to Javascript; the DOM is the API Javascript uses, and bad markup means more/bad/unnecessary Javascript as well. So even though this started out as a Javascript question, if you are interested in learning/seeing a different way of doing things, it starts now as an HTML and CSS question, with Javascript coming later.

    What do you want?


    *edit also a link to this site, even a dummy version without the company's personal info if you're worried, is nicest since then we can all play with it in our browsers for a closer look.

    Or, if that's absolutely not possible, you can post the code inside [code]code[/code] tags here... you don't have to link to a txt.

  25. #25
    SitePoint Enthusiast
    Join Date
    Oct 2011
    Location
    Zele, Belgium
    Posts
    94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just read your post and I feared somewhere there would come an answer like that. My education was very limited from webdesign, and indeed most of it is selfstudy. Indeed for that specific site, there is a deadline and we are very near, in november it should be running, but they want it like everyday now online... I'm getting paid, BUT my goal is to get better for the future offcourse.
    I do think that the site(like it is now) is running and looks good, for simple users (in most browsers as I noticed). Therefore I think rewriting the whole thing is a bit harsh.
    I do know it is necessary to change some drastic things in my designing for to next sites that are to come. I currently got 3 little companies wanting me to make a site for them.
    As I think re-evaluating my html and CSS skills need to be done and will also be time-saving in the future, I do appreciate any comment from you and are eager to learn any tips from you.
    So if you can, please give me any input you can and want! I know it's a bit disappointing for me, but I really want to know what I did all wrong so I can ignore this in the future.
    (Also a note: for the site we are talking here above, I used a premade template from the internet and css, which I changed then manually, I liked the images for the menubars and headers and so on, and the lay-out, so I used that as an example. I I look at the changes I made right now, best was actually to strat from 0 on my own.. because adjusting it cost me more ime then when I'd do it all by myself I guess..)

    Thanks a lot!!!!

    Kind regards
    Maxx-iT


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
  •