/* ***************************************************************************************** Cisz.eu JS** Autor:Michał Cisz (www.cisz.eu)* Wersja:2009-11-19** *****************************************************************************************/var app={imgDescTimeout:null,imgDescShowAnim:false,imgDescVisible:false,init:function() {app.preloader.init();($.browser.msie)?$("#menu img").css('visibility','hidden'):$("#menu img").fadeTo(1,0.0);$("#menu img").hover(function() {$(this).stop();($.browser.msie)?$(this).css('visibility','visible'):$(this).fadeTo(200,1.0);},function() {$(this).stop();($.browser.msie)?$(this).css('visibility','hidden'):$(this).fadeTo(100,0.0);});if(app.ajaxInit){$("#menu a").each(function(idx,val){$(this).click(function(){if(app.history.currentPageIdx != idx){app.history.currentPageIdx=idx;app.history.currentTagIdx=0;app.history.currentProjectIdx=-1;app.renderPage(idx);app.history.forceAdd(app.loader.pages[idx].url);($.browser.msie)?null:$('#leftSidebar > img').fadeTo(100,0.0);}});});}$('#leftSidebar > div').hover(function(){	app.showImgDesc(this);},function(){	app.hideImgDesc(this);});$('#leftSidebar > img').load(function(){($.browser.msie)?null:$(this).fadeTo(500,1.0);app.showImgDesc(2000);});$('#languageSelector > a').click(function() {var url=['site/switchToLang/',$(this).attr('rel'),'/',app.history.currentPageIdx+1,(app.history.currentTagIdx > -1)?'/'+(app.history.currentTagIdx+1):'/0',(app.history.currentProjectIdx > -1)?'/'+app.loader.projects[app.history.currentTagIdx][app.history.currentProjectIdx].id:'/0',].join('');document.location=url;});$('#languageSelector > a').attr('href','javascript:void(0)');if(!app.ajaxInit){var path=document.location.pathname.substr(4);window.location.hash=path;}app.loader.getAllPages(app.loader.getTags);app.history.init();app.replaceLinks();},showImgDesc:function(timeout) {if(this.imgDescTimeout)clearTimeout(this.imgDescTimeout);if(!this.imgDescVisible && !this.imgDescShowAnim && ($('#imgDesc > div').html().length > 0)){var obj=$('#leftSidebar > div #imgDesc');this.imgDescVisible=true;obj.stop();var h=$(obj).height();this.imgDescShowAnim=true;obj.css('bottom',-h).css('visibility','visible').animate({bottom:35},500,function(){app.imgDescShowAnim=false;});if(timeout > 0){if(this.imgDescTimeout)clearTimeout(this.imgDescTimeout);this.imgDescTimeout=setTimeout(function(){app.hideImgDesc();},timeout);}}},hideImgDesc:function() {if(this.imgDescTimeout)clearTimeout(this.imgDescTimeout);this.imgDescVisible=false;var obj=$('#leftSidebar > div #imgDesc');app.imgDescShowAnim=false;obj.stop();var h=$(obj).height();obj.animate({bottom:-h},500,function() {$(this).css('visibility','hidden');});},renderPage:function(pageIdx) {$('#content').stop();$('#content').hide();$('#contentHeader').hide();$('#content').html(app.loader.pages[pageIdx].content);$('#contentHeader > img').attr('src','img/'+app.lang+'/header_'+(pageIdx+1)+'.png');$('#leftSidebar > img').attr('src','img/img_'+(pageIdx+1)+'.jpg');$('#imgTitle > div').html(app.loader.pages[pageIdx].img_title);$('#imgDesc > div').html('');$('#bottomPanel').html('');if(pageIdx==1){app.loader.getProjectsByTag(app.history.currentTagIdx+1,function(){app.renderProjectSlider(app.history.currentTagIdx);$('#webdesignTagSelector').stop();$('#webdesignTagSelector').animate({top:app.history.currentTagIdx*24},300,function(){});});$("#webdesignTags a").each(function(idx,val){$(this).click(function(){if(app.history.currentTagIdx != idx){app.history.currentTagIdx=idx;app.history.currentProjectIdx=-1;app.history.forceAdd('tag/'+app.loader.tags[idx].url);if($('#leftSidebar img').attr('src') != 'img/img_2.jpg'){($.browser.msie)?null:$('#leftSidebar > img').fadeTo(100,0.0);app.hideImgDesc();$('#leftSidebar img').attr('src','img/img_2.jpg');$('#imgTitle > div').html(app.loader.pages[1].img_title);$('#imgDesc > div').html('');}app.loader.getProjectsByTag(idx+1,function(){app.renderProjectSlider(idx);});$('#webdesignTagSelector').stop();$('#webdesignTagSelector').animate({top:idx*24},300,function(){});}});});}$('#contentHeader').show('slide',{direction:'down'},1000);$('#content').show('fold',1500);},renderProjectSlider:function(tagIdx) {var projects=app.loader.projects[tagIdx];var total=projects.length;if(total > 0){$('#bottomPanel').html(app.loader.webdesignSliderTpl);$('#webdesignSliderNavi > div').slider({animate:true,slide:function(e,ui){$('#webdesignThumbsArea').css('left',51-ui.value);}}).attr('class','ui-slider ui-slider-horizontal').find('a').attr('class','ui-slider-handle').unbind().hover(function() {$(this).css('background-image','url("img/slider_btn_b.png")');},function() {$(this).css('background-image','url("img/slider_btn_a.png")');});$('#webdesignSliderNaviStatus > div:eq(0)').html('1');$('#webdesignSliderNaviStatus > div:eq(1)').html(total);$('#webdesignSliderNavi > div').slider('option','min',0).slider('option','max',(total-3)*200);if(projects.length >= 3)$('#webdesignSliderNavi > div').show();else $('#webdesignSliderNavi > div').hide();$('#webdesignThumbsArea').empty();for (i=0; i<projects.length; i++)$('#webdesignThumbsArea').append(['<div class="webdesignThumb">','<a href="javascript:void(0)"><img src="img/screenshots/thumbs/',projects[i].url,'.jpg" alt="screenshots/thumbs/',projects[i].url,'.jpg"/></a>','<div class="">',projects[i].title,'</div>','</div>'].join(''));$('.webdesignThumb').each(function(idx,val) {$(this).click(function(){if(app.history.currentProjectIdx != idx){($.browser.msie)?null:$('#leftSidebar > img').fadeTo(100,0.0);app.history.currentProjectIdx=idx;app.renderProject(tagIdx,idx);app.history.forceAdd('tag/'+app.loader.tags[tagIdx].url+'/'+app.loader.projects[tagIdx][idx].url);}});});if(app.history.currentProjectIdx >= 0)app.renderProject(tagIdx,app.history.currentProjectIdx);$('#webdesignSlider').show('slide',{direction:'down'},1500);}else {$('#bottomPanel').html('');}},renderProject:function(tagIdx,idx) {var project=app.loader.projects[tagIdx][idx];app.imgDescVisible=false;app.imgDescShowAnim=false;$('#leftSidebar > img').attr('src','img/screenshots/slide/'+ project.url+'.jpg');$('#imgTitle > div').html(project.title);$('#imgDesc > div').html(project.description);var total=app.loader.projects[tagIdx].length;if(total > 3){var width=(total-3)*200;var value=Math.ceil((idx+0.5)*(width/total));$('#webdesignSliderNavi > div').slider('option','value',value);$('#webdesignThumbsArea').css('left',51-value);}},gotoProject:function(tagIdx,url){var idx=app.loader.findProjectIdxByUrl(tagIdx,url);this.renderProject(tagIdx,idx);},error:function(id) {alert(id);},replaceLinks:function() {if(app.ajaxInit)$('.ajaxInit').attr('href','javascript:void(0)');else $('.ajaxInit').each(function(idx,val) {$(this).attr('href',app.lang+'#'+ $(this).attr('href').substr(3));});}};/* ***************************************************************************************** Cisz.eu JS - Loader** Autor:Michał Cisz (www.cisz.eu)* Wersja:2009-11-19** *****************************************************************************************/app.loader={pages:null,tags:null,projects:new Array(),projectsLoading:false,webdesignSliderTpl:['<div id="webdesignSlider">','<div style="height:40px;"></div>','<div id="webdesignSlideArea">','	<div id="webdesignThumbsArea"></div>','	<img id="webdesignSliderEastBorder" src="img/slider_west_border.png" alt="slider_west_border.png"/>','	<img id="webdesignSliderWestBorder" src="img/slider_east_border.png" alt="slider_east_border.png"/>','</div><!-- end of:webdesignSlideArea -->','<div id="webdesignSliderNavi"><div></div></div>','<div id="webdesignSliderNaviStatus">','	<div style="float:left;margin-left:5px;"></div>','	<div style="float:right;margin-right:5px"></div>','	<div style="clear:both"></div>','</div>','<div style="height:40px;"></div>','</div><!-- end of:webdesignSlider -->'].join(''),getAllPages:function(callback) {if(this.pages){if(typeof callback=='function')callback();}else {$.post(app.baseHref+'site/getAllPages/'+app.lang,{post:1},function(response){if(response.pages && (response.pages.length==4)){app.loader.pages=response.pages;var footerMenu=$('#footer > span');for (i=0; i<response.pages.length; i++){if(app.ajaxInit)footerMenu.append(' | <a href="javascript:void(0)">'+response.pages[i].title+'</a>');else footerMenu.append(' | <a href="'+app.lang+'#'+app.loader.pages[i].url+'">'+response.pages[i].title+'</a>');}if(app.ajaxInit){footerMenu.find('a').each(function(idx,val){$(this).click(function(){if(app.history.currentPageIdx != idx){app.history.currentPageIdx=idx;app.history.currentTagIdx=0;app.history.currentProjectIdx=-1;app.renderPage(idx);app.history.forceAdd(app.loader.pages[idx].url);($.browser.msie)?null:$('#leftSidebar > img').fadeTo(100,0.0);}});});}app.replaceLinks();app.preloader.checksum--;if(typeof callback=='function')callback();}else app.error('app.loader.getAllPages');},'json');}},getTags:function(callback) {if(this.tags){if(typeof callback=='function')callback();}else {$.post(app.baseHref+'site/getTags/'+app.lang,{post:1},function(response){if(response.tags && (response.tags.length==5)){app.loader.tags=response.tags;app.preloader.checksum--;if(typeof callback=='function')callback();}else app.error('app.loader.getTags');},'json');}},getProjectsByTag:function(tagId,callback) {if(this.projects[tagId-1]){if(typeof callback=='function')callback();}else  if(!this.projectsLoading){this.projectsLoading=true;$.post(app.baseHref+'site/getProjectsByTag/'+app.lang+'/'+tagId,{post:1},function(response){app.loader.projectsLoading=false;if(response.projects) {app.loader.projects[tagId-1]=response.projects;if(typeof callback=='function')callback();}else app.error('app.loader.getProjectsByTag');},'json');}},findPageIdxByUrl:function(url) {if(this.pages){for (i=0; i<this.pages.length; i++)if(this.pages[i].url==url)return i;return -1;}else return -1;},findTagIdxByUrl:function(url) {if(this.tags){for (i=0; i<this.tags.length; i++)if(this.tags[i].url==url)return i;return -1;}else return -1;},findProjectIdxByUrl:function(tagIdx,url) {if(this.projects[tagIdx]){for (i=0; i<this.projects[tagIdx].length; i++)if(this.projects[tagIdx][i].url==url)return i;return -1;}else return -1;}};/* ***************************************************************************************** Cisz.eu JS - Preloader** Autor:Michał Cisz (www.cisz.eu)* Wersja:2009-11-19** *****************************************************************************************/app.preloader={interval:null,images:new Array(),checksum:0,init:function() {this.showPreloader();this.checksum+=2;this.addImage('img/img_1.jpg');this.addImage('img/img_2.jpg');this.addImage('img/img_3.jpg');this.addImage('img/img_4.jpg');this.addImage('img/'+app.lang+'/mm_about_a.png');this.addImage('img/'+app.lang+'/mm_webdesign_a.png');this.addImage('img/'+app.lang+'/mm_photo_a.png');this.addImage('img/'+app.lang+'/mm_contact_a.png');this.addImage('img/'+app.lang+'/mm_about_b.png');this.addImage('img/'+app.lang+'/mm_webdesign_b.png');this.addImage('img/'+app.lang+'/mm_photo_b.png');this.addImage('img/'+app.lang+'/mm_contact_b.png');this.addImage('img/tag_selector.png');this.addImage('img/vertical_line.jpg');this.addImage('img/'+app.lang+'/header_1.png');this.addImage('img/'+app.lang+'/header_2.png');this.addImage('img/'+app.lang+'/header_3.png');this.addImage('img/'+app.lang+'/header_4.png');this.addImage('img/'+app.lang+'/tag_1.png');this.addImage('img/'+app.lang+'/tag_2.png');this.addImage('img/'+app.lang+'/tag_3.png');this.addImage('img/'+app.lang+'/tag_4.png');this.addImage('img/'+app.lang+'/tag_5.png');this.addImage('img/'+app.lang+'/tags_header.png');this.addImage('img/slider_btn_b.png');this.checksum+=this.images.length;this.interval=setInterval(app.preloader.callback,50);},addImage:function(src) {var image=new Image();image.onLoad=app.preloader.decrementChecksum();image.src=app.baseHref+src;this.images.push(image);},decrementChecksum:function() {app.preloader.checksum--;},showPreloader:function() {var w=$('#container').width();var h=$('#container').height();var pos=$('#container').position();var left=pos.left;var top=0;$(document.body).append(['<div id="preloader" style="left:',left,'px;top:',top,'px;width:',w,'px;height:',h,'px;','position:absolute;background-color:black;z-index:200;','">','<div style="margin:62px 0px 0px 220px;">',((app.lang=='pl')?'Ładowanie strony...':'Resources loading...'),'</div>','</div>'].join(''));},hidePreloader:function() {$('#languageSelector').css('visibility','visible');$('#menuBg').css('visibility','visible');$('#menu').css('visibility','visible');$('#main').css('visibility','visible');$('#preloader').fadeTo(2000,0.0,function(){$(this).remove();});},callback:function() {if(app.preloader.checksum <= 0){clearInterval(app.preloader.interval);app.preloader.hidePreloader();app.preloader.images=new Array();app.preloader.checksum=0;}}};/* ***************************************************************************************** Cisz.eu JS - History** Autor:Michał Cisz (www.cisz.eu)* Wersja:2009-11-20** *****************************************************************************************/app.history={recentHash:'',timeout:100,interval:null,currentPageIdx:-1,currentTagIdx:-1,currentProjectIdx:-1,init:function() {this.interval=setInterval(app.history.initCallback,this.timeout);},initCallback:function() {if(app.loader.pages && app.loader.tags){clearInterval(app.history.interval);app.history.interval=setInterval(app.history.callback,this.timeout);}},getHash:function() {return window.location.hash.replace('#','');},callback:function() {var hash=app.history.getHash();if(hash.length && (hash==app.history.recentHash))return;var hashArray=hash.split('/');if(hashArray[0]=='tag'){if(hashArray[2]){var tagIdx=app.loader.findTagIdxByUrl(hashArray[1]);if(tagIdx==-1){app.history.currentPageIdx=1;app.history.currentTagIdx=0;app.history.currentProjectIdx=-1;app.renderPage(1);app.history.forceAdd('tag/'+app.loader.tags[0].url);}else {app.loader.getProjectsByTag(tagIdx+1,function() {var projectIdx=app.loader.findProjectIdxByUrl(tagIdx,hashArray[2]);app.history.currentPageIdx=1;app.history.currentTagIdx=tagIdx;app.history.currentProjectIdx=projectIdx;app.renderPage(1);if(projectIdx==-1)app.history.forceAdd('tag/'+app.loader.tags[tagIdx].url);else app.history.forceAdd('tag/'+app.loader.tags[tagIdx].url+'/'+app.loader.projects[tagIdx][projectIdx].url);});}}else {var tagIdx=app.loader.findTagIdxByUrl(hashArray[1]);if(tagIdx==-1)tagIdx=0;app.history.currentPageIdx=1;app.history.currentTagIdx=tagIdx;app.history.currentProjectIdx=-1;app.renderPage(1);app.history.forceAdd('tag/'+app.loader.tags[tagIdx].url);}}else {var pageIdx=app.loader.findPageIdxByUrl(hashArray[0]);if(pageIdx==-1)pageIdx=0;app.history.currentPageIdx=pageIdx;app.history.currentTagIdx=0;app.history.currentProjectIdx=-1;app.renderPage(pageIdx);app.history.forceAdd(app.loader.pages[pageIdx].url);}},forceAdd:function(hash) {this.recentHash=hash;window.location.hash=hash;}};app.baseHref='http://www.cisz.eu/';$(document.body).ready(function(){app.init();});
