var app= { hrefs:new Array(), currentImg:0, timer:0, form:null, boxContent:null, init:function() { if ( document.getElementById('tb') ) { ajaxHelper.init(app.ajaxCompleter); if ( xModalPopup.box == null ) { xModalPopup.init(); xModalPopup.fixCss('500', '500'); } var div = document.getElementById('tb'); app.hrefs = div.getElementsByTagName('a'); for ( i = 0; i < this.hrefs.length; ++i ) { if ( app.hrefs[i].parentNode.tagName == "LI" ) app.hrefs[i].onclick = app.thumbClick; } } if ( document.forms['h'] ) { app.form = document.forms['h']; } }, ajaxCompleter:function(status, data) { if ( status != 0 ) { var container = document.getElementById('ajaxContainer'); container.innerHTML = data; app.init(); var arr = document.location.href.split(/&/); var page = arr[arr.length-1].split(/=/); if ( app.form.direction.value == 1 ) { ++page[page.length-1]; page = page.join("="); arr.pop(); arr.push(page); arr = arr.join("&"); //document.URL = arr; //document.location.search = "?id=23&page=2"; // document.location.href = arr; app.staticClick(app.hrefs[0]); } else if ( app.form.direction.value == -1 ) { --page[page.length-1]; page = page.join("="); arr.pop(); arr.push(page); arr = arr.join("&"); // document.location.href = arr; app.staticClick(app.hrefs[app.form.perpage.value-1]); //--page[page.length-1]; } } return false; }, content:function() { /*if ( app.boxContent ) { var childNode = app.boxContent.firstChild; while ( childNode ) { var tmp = childNode; delete tmp; childNode = childNode.nextSibling; } xModalPopup.clearBox(); }*/ app.boxContent = document.createElement('div'); app.boxContent.id = "top_modal"; /*var play = document.createElement('a'); play.appendChild(document.createTextNode('Play')); play.href = "#"; play.onclick = function(){ app.play(); } var stop = document.createElement('a'); stop.appendChild(document.createTextNode('Stop')); stop.href = "#"; stop.onclick = function(){ app.stop(); }*/ var next = document.createElement('a'); //var nextImg = new Image(); //nextImg.src = "http://www.rallysson.net//gfx/next.gif"; next.appendChild(document.createTextNode("Nästa >")); next.className = "lnk2"; next.href = "#"; next.onclick = function(){ if ( app.currentImg + 1 == app.form.perpage.value ) { var args = new Array(); args.push(parseInt(app.form.id.value)); args.push(parseInt(app.form.page.value) + 1); args.push(1); ajaxHelper.ajaxHandlerUri = 'galleri.php'; ajaxHelper.doRequest(args); } else if ( app.currentImg + 1 < app.hrefs.length ) app.staticClick(app.hrefs[app.currentImg + 1]); return false; } var prev = document.createElement('a'); //prev.cssClass = "prevNext"; //var prevImg = new Image(); //prevImg.src = "http://www.rallysson.net//gfx/prev.gif"; prev.appendChild(document.createTextNode("< Föregående")); prev.className = "lnk"; prev.href = "#"; prev.onclick = function(){ if ( app.currentImg == 0 && app.form.page.value > 0 ) { var args = new Array(); args.push(parseInt(app.form.id.value)); args.push(parseInt(app.form.page.value) - 1); args.push(-1); ajaxHelper.ajaxHandlerUri = 'galleri.php'; ajaxHelper.doRequest(args); } else if ( app.currentImg > 0 ) app.staticClick(app.hrefs[app.currentImg - 1]); return false; } var current = ((app.form.page.value-1) * app.form.perpage.value + app.currentImg + 1); //alert((app.form.page.value-1) * app.form.perpage.value + app.currentImg ); var imgCountNode = document.createElement('span'); imgCountNode.id = 'imgCount'; imgCountNode.appendChild(document.createTextNode('Bild: ' + ((app.form.page.value-1) * app.form.perpage.value + app.currentImg + 1) + '/' + (app.form.imgCount.value))); app.boxContent.appendChild(imgCountNode); if ( current == 1 ) { // delete prev; prev = document.createElement('span'); prev.className = 'lnk'; prev.appendChild(document.createTextNode("< Föregående")); } if ( current == app.form.imgCount.value ) { next = document.createElement('span'); next.className = 'lnk2'; next.appendChild(document.createTextNode("Nästa >")); } //alert(app.currentImg); app.boxContent.appendChild(prev); app.boxContent.appendChild(next); var closeBtn = document.createElement('a'); closeBtn.id = "closeBtn"; closeBtn.href = "#"; closeBtn.appendChild(document.createTextNode('Stäng X')); closeBtn.onclick = function(){ xModalPopup.hide(); return false; } app.boxContent.appendChild(closeBtn); return app.boxContent; }, staticModal:function(width, height, file) { xModalPopup.clearBox(); xModalPopup.fixCss(width, height + 16, false); if ( document.getElementById('modal_image') ) { var i = document.getElementById('modal_image'); i.parentNode.removeChild(i); } var img = new Image(); img.id = "modal_image"; img.src = file; /*img.onload = function(){ //xModalPopup.clearBox(); //xModalPopup.box.appendChild(app.content()); //alert(this.src); alert xModalPopup.box.removeChild(xModalPopup.box.childNodes[1]); xModalPopup.box.appendChild(this); }*/ xModalPopup.box.appendChild(app.content()); xModalPopup.box.appendChild(img); //xModalPopup.box.appendChild(document.createTextNode('Loading image: ' + file + ' , please wait')); xModalPopup.box.style.color = "#000"; xModalPopup.box.style.background = "#ccc"; xModalPopup.show(); return false; }, getTarget:function(e) { var target; if ( window != null && window.event ){ target = window.event.srcElement; } else if (e){ target = e.target; } else { target = null; } return target; }, thumbClick:function(e) { xModalPopup.box.onclick = function(){ // xModalPopup.hide(); return false; } //xModalPopup.clearBox(); app.findImg(this.href); app.staticModal(640, 427, this.href); return false; }, staticClick:function(href, clear) { xModalPopup.box.onclick = function(){ // xModalPopup.hide(); return false; } //xModalPopup.clearBox(); app.findImg(href); app.staticModal(640, 427, href); return false; }, findImg:function(href) { var i = 0; for ( ; i < app.hrefs.length; i++ ) { //alert(app.hrefs[i]); if ( app.hrefs[i].href == href ) break; } //alert(i); app.currentImg = i; return false; }, play:function() { if ( app.currentImg + 1 == app.form.perpage.value ) { var args = new Array(); args.push(parseInt(app.form.id.value)); args.push(parseInt(app.form.page.value) + 1); args.push(1); ajaxHelper.ajaxHandlerUri = 'galleri.php'; ajaxHelper.doRequest(args); } else app.staticClick(app.hrefs[app.currentImg + 1]); app.timer = setTimeout(app.play, 5000); return false; }, stop:function() { clearTimeout(app.timer); return false; } } window.onload = function(){ app.init(); if ( document.getElementById('ai') || document.getElementById('tb') ) { window.onscroll = function() { xModalPopup.onScroll(); } } }