-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathlanding.js
123 lines (101 loc) · 3.95 KB
/
landing.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/**
* Landing.js v0.1.0
* https://github.com/vah7id/landing.js
* MIT licensed
*
* Copyright (C) 2014 Vahid Taghizadeh (@vah7id)
*/
var LandingJs = {
option: {
_slide: false,
_slideCount: null,
_CountDown: false,
_CountDownDate: null,
_brand: 'Untitled',
_description: 'No Description entered as config',
_breif: null,
_images: [],
},
currentSlider: 0,
maxSliderCount: 5,
start: function(config){
LandingJs._bingRequest(LandingJs.option._slideCount);
LandingJs._setOptions(config);
LandingJs._setContents();
},
_setOptions: function(config){
console.log(config.slideCount)
LandingJs.option[0] = config.slide;
LandingJs.option[1] = config.slideCount;
LandingJs.option[2] = config.countdown;
LandingJs.option[3] = config.countdownTime;
LandingJs.option[4] = config.brand;
LandingJs.option[5] = config.description;
LandingJs.option[6] = config.brief;
},
_setContents: function(){
var container = document.getElementById('container');
container.getElementsByTagName('h1')[0].innerHTML = LandingJs.option[4];
container.getElementsByTagName('h4')[0].innerHTML = LandingJs.option[5];
document.getElementById('brief').innerHTML = LandingJs.option[6];
var year = LandingJs.option[3].split(',')[0];
var month = LandingJs.option[3].split(',')[1];
var day = LandingJs.option[3].split(',')[2];
if(LandingJs.option[2]){
var cdtimer = setInterval(function(){
var cdtext = countdown(new Date(year,month,day)).toString();
var cdel = document.getElementById('countdown');
var splits = cdtext.split(',');
var result = '';
for(var i = 0 ; i < splits.length ; i++){
var number = splits[i].split(' ')[0];
var content = splits[i].split(' ')[1];
if(content != 'hours')
result = result + '<p><b>'+number+'</b><br /><span> '+content+'</span></p>';
}
cdel.innerHTML = result ;
},1000);
}
if(LandingJs.option[0]){
var slidertimer = setInterval(function(){
var url = 'bing.com/'+LandingJs.option._images[LandingJs.currentSlider].getElementsByTagName('url')[0].innerHTML;
var copyright = LandingJs.option._images[LandingJs.currentSlider].getElementsByTagName('copyright')[0].innerHTML;
var body = document.getElementById('blur');
body.style.backgroundImage = 'url("http://'+url+'")';
document.getElementById('copyright').innerHTML = copyright;
LandingJs.currentSlider++;
if(LandingJs.currentSlider>=LandingJs.option[1])
LandingJs.currentSlider = 0;
},8000);
}
},
_bingRequest: function(n){
var _url = LandingJs._urlGenerator();
LandingJs._loadXMLDoc(_url);
},
_urlGenerator: function(){
return 'data/bing.xml';
},
_loadXMLDoc: function(url){
var xmlhttp;
if (window.XMLHttpRequest)
xmlhttp=new XMLHttpRequest();
else
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var images = xmlhttp.responseXML.getElementsByTagName('images');
for(var i = 0 ; i<images[0].childNodes.length ; i++)
LandingJs.option._images[i] = images[0].childNodes[i];
var url = 'bing.com/'+images[0].getElementsByTagName('url')[0].innerHTML;
var copyright = images[0].getElementsByTagName('copyright')[0].innerHTML;
var body = document.getElementById('blur');
document.getElementById('container').style.minHeight = window.innerHeight-70+'px';
body.style.backgroundImage = 'url("http://'+url+'")';
document.getElementById('copyright').innerHTML = copyright;
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
};