﻿var _ERRORALERT = 'Hoppala! Da ist etwas schief gelaufen... versuchen Sie es erneut.';
var __DOMAIN = 'http://zwei-kameraden.de';

//####### INITIALIZE
var _BG;
function zkInit(){
	switch(rand(1,13)){
		case 1:		_BG = 'ZKBH01.jpg'; break;
		case 2: 	_BG = 'ZKBH02.jpg'; break;
		case 3: 	_BG = 'ZKBH03.jpg'; break;
		case 4: 	_BG = 'ZKBH04.jpg'; break;
		case 5: 	_BG = 'ZKBH05.jpg'; break;
		case 6: 	_BG = 'ZKBH06.jpg'; break;
		case 7: 	_BG = 'ZKBH07.jpg'; break;
		case 8: 	_BG = 'ZKBH08.jpg'; break;
		case 9: 	_BG = 'ZKHH01.jpg'; break;
		case 10: 	_BG = 'ZKPS01.jpg'; break;
		case 11: 	_BG = 'ZKPS02.jpg'; break;
		case 12: 	_BG = 'ZKPS03.jpg'; break;
		case 13: 	_BG = 'ZKMM01.jpg'; break;
		case 14: 	_BG = 'ZKMM02.jpg'; break;
	}

	$('head').down('img', 0).onclick = function(){ LoadByHash("!/"); };
	if(LoadByHash(HASH()) == true) Background(0);
	$$('a').each(function(a){
		if(a.readAttribute('href').substr(0, 1) == "#")
			a.onclick = function(){ LoadByHash(a.readAttribute('href')); };
	});
}
//####### // INITIALIZE

//####### HASH
function HASH(v){
	if(v && v != '!') window.location.hash = v;
	if(!window.location.hash || v == '!') window.location.hash = "!/";
	return window.location.hash;
}
function LoadByHash(v){
	if(v.match("/search,q:")){
		Search(v.split("#/search,q:").join(""), "get");
		return false;
	}
	else if(v.match("/aktuelles")){
		Search(false, "latest");
		return false;
	}
	else if(v.match("/sport")){
		Search("c:sp", "post");
		return false;
	}
	else if(v.match("/entertainment")){
		Search("c:en", "post");
		return false;
	}
	else if(v.match("/creative")){
		Search("c:cr", "post");
		return false;
	}
	else if(v.match("/login")){
		Page("login");
		return true;
	}
	else if(v.match("/impressum")){
		Page("impressum");
		return true;
	}
	else if(v.match("/agb")){
		Page("agb");
		return true;
	}
	else if(v.match("/neues")){
		Page("neues");
		return true;
	}
	else{
		Background(0);
		Page(0);
		return false;
	}
}
//####### // HASH

//####### BACKGROUND
function Background(act){
	if(act == 0){
		if(!$('background').down('img', 0)){
			$("background").insert({bottom: '<img src="'+__DOMAIN+'/_img/bg/'+_BG+'" />' });
			$('background').down('img', 0).setOpacity(0.0);
			BackgroundLoad($('background').down('img', 0));
			$('head').setStyle({ 
				'-moz-box-shadow': '0 0 10px 3px rgba(0, 0, 0, 0.3)',
				'-webkit-box-shadow': '0 0 10px 3px rgba(0, 0, 0, 0.3)',
				'box-shadow': '0 0 10px 3px rgba(0, 0, 0, 0.3)'
			});
		}
		if($("search"))
			$('search').fade({ 	duration: 0.2, from: 1, to: 0, 
								beforeStart: function(){ 
									parent.scrollTo(0, 0);
								},
								afterFinish: function(){ 
									$('search').remove();
									parent.scrollTo(0, 0);
									HASH('!');
								}
			});
	}
	else{
		if($('background').down('img', 0))
			$('background').down('img', 0).fade({ 	duration: 0.4, from: 1, to: 0, 
													afterFinish: function(){ 
														$('background').down('img', 0).remove();
													}
			});

		$('head').setStyle({ 
			'-moz-box-shadow': 'none',
			'-webkit-box-shadow': 'none',
			'box-shadow': 'none'
		});
	}
}

function BackgroundLoad(img){
	if(img.complete){
		img.fade({ duration: 0.6, from: 0, to: 1 });
		Resize({ obj: img });
	}
	else
		setTimeout(function(){ BackgroundLoad(img); }, 100);
}

var _IPR = 0;
function Resize(data){
	if(data.obj){
		if(document.viewport.getWidth() > 0 && document.viewport.getHeight() > 0){
			if(data.obj.getWidth() >= data.obj.getHeight())
				data.obj.setStyle({ 
					display: 'block', 
					width: document.viewport.getWidth()+'px', 
					height: 'auto'
				});
			else
				data.obj.setStyle({ 
					display: 'block', 
					width: 'auto', 
					height: document.viewport.getHeight()+'px'
				});
			if(document.viewport.getHeight() >= data.obj.getHeight())
				data.obj.setStyle({ 
					display: 'block', 
					width: 'auto', 
					height: document.viewport.getHeight()+'px'
				});
		}
		else
			data.obj.setStyle({ 
				display: 'block', 
				width: '100%', 
				height: '100%'
			});
	
		data.obj.setStyle({ left: ((document.viewport.getWidth() - data.obj.getWidth())/2)+'px' });
		data.obj.setStyle({ top: ((document.viewport.getHeight() - data.obj.getHeight())/2)+'px' });
	}

	if($("search")){
		$("search").setStyle({ 
			display: 'block', 
			width: (Math.floor((document.viewport.getWidth()-22)/252)*252)+'px'
		});
		_IPR = Math.floor((document.viewport.getWidth()-22)/252);
	}

	window.onresize = function(){
		Resize(data);
	}
}
//####### // BACKGROUND

//####### SEARCH
function Search(v, act){
	sid = rand(9999,99999);
	switch(act){
		case "post":
			if(v.length >= 3){
				if($("search")){
					$('search').insert({top: '<div id="overlay"></div>' });
					$('overlay').setOpacity(0.9);
					$('overlay').setStyle({ 
						position: 'absolute',
						display: 'block',
						background: '#fff url(/_img/load-search.gif) center 135px no-repeat',
						width: $("search").getStyle("width"),
						height: $("search").getStyle("height"),
						padding: '0 10px',
						top: 0,
						left: 0,
						zIndex: 9
					});
				}
				new Effect.ScrollTo('menu');
				new Ajax.Request(__DOMAIN+"/search,"+sid, {
					method: 'post',
					postBody: "q-"+sid+"="+v,
					onSuccess: function(transport){
						if(transport.responseText){
							Background(1);
							if($("overlay")) $('overlay').remove();
							if(!$("search")) $('head').insert({after: '<div id="search"></div>' });
							$("search").innerHTML = transport.responseText;
							if($("QID").value != "false") HASH("/search,q:"+$("QID").value);
							Resize(0);
							$("head").down('input', 0).value = $("QVS").value;
						}
					}
				});
			}
			else
				Effect.Shake('head', { duration: 0.6 });
			break;
		case "get":
				if($("search")){
					$('search').insert({top: '<div id="overlay"></div>' });
					$('overlay').setOpacity(0.9);
					$('overlay').setStyle({ 
						position: 'absolute',
						display: 'block',
						background: '#fff url(/_img/load-search.gif) center 135px no-repeat',
						width: $("search").getStyle("width"),
						height: $("search").getStyle("height"),
						padding: '0 10px',
						top: 0,
						left: 0,
						zIndex: 9
					});
				}
				new Effect.ScrollTo('menu');
				new Ajax.Request(__DOMAIN+"/search,q:"+v, {
					method: 'get',
					onSuccess: function(transport){
						if(transport.responseText){
							Background(1);
							if($("overlay")) $('overlay').remove();
							if(!$("search")) $('head').insert({after: '<div id="search"></div>' });
							$("search").innerHTML = transport.responseText;
							if($("QID").value != "false") HASH("/search,q:"+$("QID").value);
							Resize(0);
							$("head").down('input', 0).value = $("QVS").value;
						}
					}
				});
			break;
		case "latest":
				if($("search")){
					$('search').insert({top: '<div id="overlay"></div>' });
					$('overlay').setOpacity(0.9);
					$('overlay').setStyle({ 
						position: 'absolute',
						display: 'block',
						background: '#fff url(/_img/load-search.gif) center 135px no-repeat',
						width: $("search").getStyle("width"),
						height: $("search").getStyle("height"),
						padding: '0 10px',
						top: 0,
						left: 0,
						zIndex: 9
					});
				}
				new Effect.ScrollTo('menu');
				new Ajax.Request(__DOMAIN+"/aktuelles", {
					method: 'get',
					onSuccess: function(transport){
						if(transport.responseText){
							Background(1);
							if($("overlay")) $('overlay').remove();
							if(!$("search")) $('head').insert({after: '<div id="search"></div>' });
							$("search").innerHTML = transport.responseText;
							Resize(0);
						}
					}
				});
			break;
	}
}
function SearchBrowse(obj, page, max, q){
	if(page == false && $("browse"))
		BrowseOut = window.setTimeout(function(){ $('browse').remove(); }, 300);
	else{
		if(max > 3){
			$('head').insert({after: '<div id="browse"></div>' });
			for(i=(page-6); i <= (page+6); i++){
				if(i > 0 && i <= max){
					var _q = q.split("_PAGE_").join(i);
					if(i == page) 	$('browse').insert({bottom: '<li>Seite '+i+' / '+max+'</li>' });
					else 			$('browse').insert({bottom: '<li onclick="Search(\''+_q+'\', \'get\');" style="padding:0 0 0 30px;">'+i+'</li>' });
				}
			}
			var _top = (page>7) ? 6 : (page-1);
			var _pos = obj.cumulativeOffset();
			$('browse').setStyle({
				top: (_pos[1]-(_top*30))-7+'px',
				left: (_pos[0])+'px',
				width: (obj.getWidth()-15)+'px',
				zIndex: 7
			});
	
			$('browse').onmouseout = function(){ SearchBrowse(obj, false); }
			$('browse').onmouseover = function(){ window.clearTimeout(BrowseOut); }
			$('browse').onclick = function(){ $('browse').remove(); }
		}
	}
}
//####### // SEARCH

//####### PAGE
var _Page = false;
function Page(act){
	if(_Page != act){
		if($("page"))
			new Effect.Morph('page', { 
				style: 'left:-400px', 
				duration: 0.5, 
				afterFinish: function(){ 
					$("page").remove();
					_Page = false;
					Page(act);
				} 
			});
		else{
			var _s = false;
			switch(act){
				case "impressum":
					_s = true;
					var _c = 	'<div id="_page">'+
								'	<p>'+
								'		<h2 class="red">Zwei Kameraden GbR</h2>'+
								'		<strong>Fotoagentur</strong><br />'+
								'		Postfach 30 42 09<br />'+
								'		20325 Hamburg'+
								'	</p>'+
								'	<p>'+
								'		E-Mail: in'+'fo@z'+'wei-k'+'amera'+'den.de<br />'+
								'		Internet: <a href="http://zwei-kameraden.de">zwei-kameraden.de</a><br />'+
								'	</p>'+
								'	<p>'+
								'		<h2 class="blue">Gesellschafter</h2>'+
								'		<strong>Philipp Szyza</strong><br />'+
								'		Telefon: +49 (0)176 49 29 74 72<br />'+
								'		E-Mail: ph'+'ili'+'pp.s'+'zyz'+'a@z'+'wei-k'+'amera'+'den.de<br />'+
								'		<br />'+
								'		<strong>Henrik Heitmann</strong><br />'+
								'		Telefon: +49 (0)176 49 69 39 29<br />'+
								'		E-Mail: he'+'nri'+'k.hei'+'tmann'+'@zwe'+'i-kamera'+'den.de'+
								'	</p>'+
								'	<p>'+
								'		<h2 class="green">Konzeption/Datenbank</h2>'+
								'		<a href="http://phactory.net">phactory.network</a>'+
								'	</p>'+
								'	<p>'+
								'		<h2 class="blue">Bankverbindung</h2>'+
								'		Institut: Postbank Köln<br />'+
								'		Bankleitzahl: 370 100 50<br />'+
								'		Kontonummer: 173 409 501<br />'+
								'		IBAN: DE13370100500173409501<br />'+
								'		<br />'+
								'		Finanzamt: Hamburg-Hansa<br />'+
								'		Steuernummer: 46/669/01512<br />'+
								'		USt-IdNr.: DE263553489'+
								'	</p>'+
								'	<p>'+
								'		<h2 class="blue">Urheberrecht</h2>'+
								'		Alle auf unserer Internetseite gezeigten Bilder sind urheberrechtlich geschützt. Jede Form der Nutzung und/oder Veröffentlichung ist honorarpflichtig.<br /><br />'+
								'		<h2 class="blue">Rechtshinweis</h2>'+
								'		Für den Inhalt und die Gestaltung verlinkter Internetseiten übernimmt die "Zwei Kameraden GbR", trotz sorgfältiger Überprüfungen, keine Haftung. Die "Zwei Kameraden GbR" übernimmt ebenfalls keinerlei Haftung für Irrtümer der redaktionellen Inhalte.<br />'+
								'		Desweiteren gelten die <a href="#/agb" onclick="LoadByHash(this.readAttribute(\'href\'));">allgemeinen Geschäftsbedingungen</a>.'+
								'	</p>'+
								'</div>';
					$("head").insert({ after: '<div id="page">'+_c+'</div>' });
					break;
				case "agb":
					_s = true;
					var _c = 	'<div id="_page">'+
								'	<p><h2 class="blue s20">AGB</h2></p>'+

								'	</p>'+
								'</div>';
					$("head").insert({ after: '<div id="page">'+_c+'</div>' });
					break;
				case "login":
					if(_LOGIN == false){
						_s = true;
						var _c = 	'<div id="_page">'+
									'	<div id="login">'+
									'		<h2 class="blue">Login</h2>'+
									'		<p id="login-form">'+
									'			<input id="user" type="text" value="Benutzer" onfocus="inputFocus(this, \'Benutzer\');" onblur="inputBlur(this, \'Benutzer\');" />'+
									'			<input id="pswd" type="password" value="Passwort" onfocus="inputFocus(this, \'Passwort\');" onblur="inputBlur(this, \'Passwort\');" />'+
									'			<span onclick="Login($(\'user\').value, $(\'pswd\').value, $(\'login-form\'));">anmelden</span>'+
									'		</p>'+
									'	</div>'+
									'</div>';
						$("head").insert({ after: '<div id="page">'+_c+'</div>' });
						$("login").setStyle({ 
							position: 'absolute',
							display: 'block',
							top: '50%',
							margin: '-'+$("login").getHeight()+'px 0 0 0'
						});
					}
					break;
				case "neues":
					_s = true;
					var _c = 	'<div id="_page">'+
								'	<p><h2 class="green s20">Stellenausschreibung</h2></p>'+
								'	<p>'+
								'		Wir suchen eine/n <br />'+
								'		<strong class="blue">Fotograf/in (m/w)</strong> auf Provisionsbasis <br />'+
								'		im Bereich Sport, Entertainment und News <br />'+
								'		Art: Freie Mitarbeit <br /><br />'+
								'		<p>'+
								'			<strong class="blue">Ihre Aufgabe</strong> <br />'+
								'			Stellvertretend für Zwei Kameraden besuchen Sie Sport-, Politik- und Konzertveranstaltungen. Sie fotografieren die Veranstaltungen und laden (optimal: aktuell) die Fotos mit Beschriftung auf unseren Server. Ihr Vorteil: Sie können vor Ihrer Haustür arbeiten! Ganz gleich, wo Sie in Deutschland leben, können Sie Ereignisse in Ihrer Umgebung für uns fotografieren.'+
								'		</p>'+
								'		<p>'+
								'			<strong class="blue">Was Sie auszeichnet</strong> <br />'+
								'			Sie haben Interesse an der Fotografie – optimal Ihre fotografische Ausbildung erfolgreich abgeschlossen. Sie verfügen über eine professionelle Kameraausrüstung, verlieren auch unter zeitlicher Anspannung nie den Blick fürs Detail und sind technisch versiert.'+
								'		</p>'+
								'		<p>'+
								'			<strong class="blue">Ihre Chance</strong> <br />'+
								'			Millionen Menschen in aller Welt sehen Ihre Bilder. Sie arbeiten in einem hochmotivierten Team. Sie erleben die besten Ereignisse in Ihrer Umgebung hautnah und spüren die Dynamik einer spannenden Branche.'+
								'		</p>'+
								'		<p>'+
								'			<strong class="blue">Was wir tun</strong> <br />'+
								'			Zwei Kameraden wurde 2009 gegründet mit Sitz in Hamburg. Wir vertreiben Fotos aus den Bereichen Sport, Creative und Entertainment an Zeitungen, Magazine, Werbeagenturen und ähnliches.'+
								'		</p>'+
								'		<p>'+
								'			<strong class="blue">Und jetzt?</strong> <br />'+
								'			Schnell die Bewerbungsunterlagen zusammenstellen und das Ganze an <br /><br />'+
								'			Zwei Kameraden <br />'+
								'			z.Hd. Henrik Heitmann <br />'+
								'			Postfach 30 42 09 <br />'+
								'			20325 Hamburg <br /><br />'+
								'			oder per E-Mail an '+
								'			in'+'fo'+'@zwe'+'i-kamera'+'den.de <br /><br />'+
								'			Wir freuen uns auf Ihren Kontakt!'+
								'		</p>'+
								'	</p>'+
								'	<hr class="more" />'+
								'	<p>'+
								'		Wir suchen eine/n <br />'+
								'		<strong class="orange">Bildredakteur/in (m/w)</strong> auf Provisionsbasis <br />'+
								'		Art: Freie Mitarbeit <br /><br />'+
								'		<p>'+
								'			<strong class="orange">Ihre Aufgabe</strong>'+
								'			<ul>'+
								'				<li>- Bildredaktion für die unterschiedlichen Unternehmensbereiche</li>'+
								'				<li>- Bildrecherche und –beschaffung auf dem nationalen und internationalen Bildermarkt</li>'+
								'				<li>- Auswahl der Motive für die unterschiedlichen Verwendungszwecke innerhalb des Unternehmens</li>'+
								'				<li>- Qualitative Kontrolle und rechtliche Prüfung der Bilder</li>'+
								'				<li>- Organisation von Foto Shootings</li>'+
								'			</ul>'+
								'		</p>'+
								'		<p>'+
								'			<strong class="orange">Was Sie auszeichnet</strong>'+
								'			<ul>'+
								'				<li>- Fachwissen im Bereich Bildrechte</li>'+
								'				<li>- Sicheres Gespür für die Auswahl und Beurteilung von Bildmaterial</li>'+
								'				<li>- Mac- und Photoshop-Kenntnisse</li>'+
								'				<li>- Kontakte zu Bildagenturen und Fotografen (optimal)</li>'+
								'				<li>- Begeisterung für das Medium Fotografie</li>'+
								'				<li>- Organisationstalent und Genauigkeit</li>'+
								'				<li>- Gute Englischkenntnisse</li>'+
								'				<li>- Organisationstalent und Genauigkeit</li>'+
								'				<li>- Eigeninitiative und selbständige Arbeitsweise</li>'+
								'			</ul>'+
								'		</p>'+
								'		<p>'+
								'			<strong class="orange">Ihre Chance</strong> <br />'+
								'			Sie treffen die Entscheidung, welches Bild verbreitet wird und von Millionen Menschen in aller Welt gesehen wird. Sie arbeiten in einem hochmotivierten Team. Sie erleben die besten Ereignisse in Ihrer Umgebung hautnah und spüren die Dynamik einer spannenden Branche. Gleichzeitig sind Ihre Arbeitszeiten flexibel.'+
								'		</p>'+
								'		<p>'+
								'			<strong class="orange">Was wir tun</strong> <br />'+
								'			Zwei Kameraden wurde 2009 gegründet mit Sitz in Hamburg. Wir vertreiben Fotos aus den Bereichen Sport, Creative und Entertainment an Zeitungen, Magazine, Werbeagenturen und ähnliches.'+
								'		</p>'+
								'		<p>'+
								'			<strong class="orange">Und jetzt?</strong> <br />'+
								'			Schnell die Bewerbungsunterlagen zusammenstellen und das Ganze an <br /><br />'+
								'			Zwei Kameraden <br />'+
								'			z.Hd. Henrik Heitmann <br />'+
								'			Postfach 30 42 09 <br />'+
								'			20325 Hamburg <br /><br />'+
								'			oder per E-Mail an '+
								'			in'+'fo'+'@zwe'+'i-kamera'+'den.de <br /><br />'+
								'			Wir freuen uns auf Ihren Kontakt!'+
								'		</p>'+
								'	</p>'+
								'</div>';
					$("head").insert({ after: '<div id="page">'+_c+'</div>' });
					break;
			}
	
			if(_s == true) {
				$("_page").insert({ top: '<img src="/_img/close.png" style="position:absolute;top15px;right:15px;cursor:pointer;" onclick="Page(0); _Page = false;" />' });
				$('_page').down('img', 0).setOpacity(0.8);
				_Page = act;
				new Effect.Morph('page', { style: 'left:0px', duration: 0.5 });
			}
		}
	}
}
//####### // PAGE

//####### LOGIN
function Login(user, pswd, re){
	new Ajax.Request(__DOMAIN+"/_login", {
		method: 'post',
		postBody: "post=zweikameraden&remember=true&name="+user+"&pass="+pswd,
		onSuccess: function(transport){
			if($("error")) $("error").remove();
			if(transport.responseText == "1") location.reload();
			else _c = '<p id="error">Login fehlgeschlagen!</p>'
			if(_c) re.insert({ top: _c });
		}
	});
}
//####### // LOGIN

//####### IMAGE DETAILS
function ImageDetails(pid, q){
	var url = (q) ? __DOMAIN+"/photo,"+pid+":"+q : __DOMAIN+"/photo,"+pid;
	IMAGE = window.open(url, pid, "width=840,height=560,top=60,left=30,scrollbars=no");
}
function ImageClose(url){
	var valid = (window.opener && (typeof window.opener.closed == "boolean") && !window.opener.closed);
	if(!valid){
		window.location.href = url;
		window.focus();
	}
	else{
		window.opener.location.href = url;
		window.close();
	}
}
//####### // IMAGE DETAILS

//####### SYSTEM
function rand(min, max){
	return Math.floor(Math.random() * (max - min + 1)) + min;
}
function link(url){
	window.location.href = url;
}
function inputFocus(obj, vue){
	if (obj.value == vue) obj.value = '';
}
function inputBlur(obj, vue){
	if (obj.value == '') obj.value = vue;
}
onerror = function(){ return true; };
//####### // SYSTEM
