/* Definition of Picture class * function getPictureAlt - returns the alt_text of the picture * function getPicture - returns the picture * function getPictureLink - returns the link of the picture */ function Picture(pic, picture_link, picture_alt) { this.Pic = new Image(); this.Pic.src = pic; this.PictureLink = picture_link; this.PictureAlt = picture_alt; this.getPictureAlt = function getPictureAlt() { return this.PictureAlt; } this.getPicture = function getPicture() { return this.Pic; } this.getPictureLink = function getPictureLink() { return this.PictureLink; } } /* Definition of Rotating Picture Class * function show - displays the initial picture, sets the size of the Div and starts the rotation process * function rotate - changes the picture according to parameteres */ function RotatingPicture(){ this.init = function init(id, width, height, interval, randomize, scale){ this.Width = width; this.Height = height; this.Interval = interval; this.Randomize = randomize; this.Scale = scale; this.currentPic = 0; this.ID = id; this.Pics = new Array(); } this.show = function show(){ //checks if there are any picture files if (this.Pics.length == 0){ //window.alert(this.ID + " No pictures"); var rpImg = document.getElementById( "RotatingPictureImg" + this.ID ); rpImg.width = 0; rpImg.height = 0; this.Interval = 1; }else { var rpDiv = document.getElementById( "RotatingPictureDiv" + this.ID ); rpDiv.style.width = this.Width; rpDiv.style.height = this.Height; this.currentPic = -1; this.rotate(); } } this.rotate = function rotate(){ var rpImg = document.getElementById( "RotatingPictureImg" + this.ID ); var rpDiv = document.getElementById( "RotatingPictureDiv" + this.ID ); //checks if there are any picture files if (this.Pics.length != 0){ //if (this.Pics.length == 1 && rpImg.src == ""){ // return; //} if (this.Randomize == false){ //checks if the last image is shown if(this.currentPic= this.Pics.length) this.currentPic = s; } // if picture has link then set pointer to hand, else set pointer to default if ( this.Pics[ this.currentPic ].getPictureLink() != "" ) rpDiv.style.cursor = "pointer"; else rpDiv.style.cursor = "default"; // if picture has alt then set picture alt if ( this.Pics[ this.currentPic ].getPictureAlt() != "" ){ rpImg.alt = this.Pics[ this.currentPic ].getPictureAlt(); rpImg.title = this.Pics[ this.currentPic ].getPictureAlt(); } else { rpImg.alt = ""; rpImg.title = ""; } //if scale then resize picture if (this.Scale){ var image_width = this.Pics[ this.currentPic ].getPicture().width; var image_height = this.Pics[ this.currentPic ].getPicture().height; if(image_width > this.Width || image_height > this.Height){ var proc_width = 100 - (this.Width * 100 / image_width); var proc_height = 100 - (this.Height * 100 / image_height); var proc = proc_width; if(proc < proc_height){ proc = proc_height; } //window.alert(this.Pics[ this.currentPic ].getPicture().src + ":" + proc); rpImg.src = ""; rpImg.width = image_width - (image_width * proc / 100); rpImg.height = image_height - (image_height * proc / 100); } else{ rpImg.src = ""; rpImg.width = image_width; rpImg.height = image_height; } } //set picture to currentPic rpImg.src = this.Pics[ this.currentPic ].getPicture().src; rpImg.align = "center"; } //function to handle the link on the picture this.goClick = function goClick(){ if ( this.Pics[ this.currentPic ].getPictureLink() != "" ) window.location = this.Pics[ this.currentPic ].getPictureLink(); } } }