var base_url = 'http://' + window.location.host;
var playing = true;
var was_playing = true;
//var deviceAgent = navigator.userAgent.toLowerCase();
//var agentID = deviceAgent.match(/(iPhone|iPod|iPad)/);

url = document.location.pathname + document.location.search;
url = url.replace(/\?ax=1/,'');

if(url != '/') {
	url = "/#" + url;
	top.location = url;
}

var IsiPhone = navigator.userAgent.indexOf("iPhone") != -1 ;
var IsiPod = navigator.userAgent.indexOf("iPod") != -1 ;
var IsiPad = navigator.userAgent.indexOf("iPad") != -1 ;

var agentID = IsiPhone || IsiPad || IsiPod ;


$(document).ready(function() {
	$('.email').html(email());
	external();
	magicline();

	loadaudio();
	facebook();
	
	$.address.init(function(event) {
		$('#nav a:not([rel^=external])').address(function() {
			return $(this).attr('href').replace(base_url, '');
		});
		$('#content a:not([href^=http], [href^=mailto])').address(function() {
			return $(this).attr('href').replace(base_url, '');
		});
		$('#chooser a').address();
	}).change(function(event) {
		if (event.value != '/') {
			loadContent(event.value);
		} else {
			initcarousel();
		}
	}).internalChange(function(event) {
		if (event.value == '/') {
			loadContent('/start/');
		}
	});
	
	$('#music').click(function() {
		if($('#music').hasClass('playing')) {
			jwplayer('player').stop();
		} else {
			jwplayer('player').play();
		}
		$('#music').toggleClass('playing');
	});
	
	$('#chooser a').click(function() {
		$('#chooser a').removeClass('active');
		$(this).addClass('active');
		return false;
	});
	

});

function loadaudio() {
			jwplayer('player').setup({
				'file': base_url + '/assets/piano.mp3',
				'controlbar': 'none',
			    'dock': 'false',
				'width': '0',
				'height': '0',
				'autostart' : true,
				'repeat' : 'always',
				'modes': [
					{type: 'html5'},
					{type: 'flash', src: base_url + '/js/player.swf'}
				],
				events: {
					onPlay: function() {
						playing = true;
					},
					onPause: function() {
						playing = false;
					},
					onIdle: function() {
						playing = false;
					},
					onReady: function() {
					  if (agentID) {
						  $('#music').removeClass('playing');
					  }
					}
					
				}
			  });
	}
function loadvideo() {
	jwplayer('raman').setup({
		'file': base_url + '/assets/Raman-Weddings-2011.mp4',
		'skin': base_url + '/css/skin/glow.zip',
		'image' : base_url + '/assets/raman.jpg',
		'width': '900',
		'height': '506',
		'modes': [
			{type: 'html5'},
			{type: 'flash', 
				src: base_url + '/js/player.swf',
				config: {
					file: base_url + '/assets/Raman-Weddings-2011.flv'
				}
			},
			{type: 'download'}
		],
		events: {
			onPlay: function() {
				if(playing) {
					was_playing = true;
				} else {
					was_playing = false;
				}
				jwplayer('player').stop();
			},
			onPause: function() {
				if(was_playing) {
					jwplayer('player').play();
					playing = true;
				}
			},
			onComplete: function() {
				if(was_playing) {
					jwplayer('player').play();
					playing = true;
				}
			}
		}
	  });
}

function loadContent(current) {
	current = current.substr(0, current.length - 1);
	$('#content-wrapper').load(base_url + current + '/ #content', function() {
		if((current == '/start') || (current == '/en')) {
			initcarousel();
		} else if ((current.indexOf('galerie') != -1) || (current.indexOf('gallery') != -1)) {
			gallery();
		} else if (current.indexOf('imagefilm') != -1) {
			loadvideo();
		} else if ((current.indexOf('kontakt') != -1) || (current.indexOf('contact') != -1)) {
			$('.wpcf7-submit').hide();
			$.getScript('/plugins/contact-form-7/jquery.form.js?ver=2.52', function() {
				$.getScript('/plugins/contact-form-7/scripts.js?ver=3.0', function() {
					$('.wpcf7-submit').show();
				});
			});
		}

	});
	
	$('#menu-main').load(base_url + current + '/ #menu-main li', function() {
	 	if ((current.indexOf('galerie') != -1) || (current.indexOf('gallery') != -1)) {
			if($('#menu-fotogalerie').length) {
				$('#menu-fotogalerie').addClass('current-menu-item');
			} else {
				$('#menu-gallery').addClass('current-menu-item');
			}
		} else if (current.indexOf('raman') != -1) {
			$('#menu-raman').addClass('current-menu-item');
		} else if ((current.indexOf('leistungen') != -1) || (current.indexOf('services') != -1)) {
			if($('#menu-leistungen').length) {
				$('#menu-leistungen').addClass('current-menu-item');
			} else {
				$('#menu-services').addClass('current-menu-item');
			}
		} else if ((current.indexOf('kontakt') != -1) || (current.indexOf('contact') != -1)) {
			if($('#menu-kontakt').length) {
				$('#menu-kontakt').addClass('current-menu-item');
			} else {
				$('#menu-contact').addClass('current-menu-item');
			}
		}
		magicline();
	});
	$('#menu-sub').load(base_url + current + '/ #menu-sub ul', function() {
		magicline();
	});

}

function gallery() {
	if($('.ad-preloads').length) {
		$('.ad-preloads').remove();
	}
	var galleries = $('.ad-gallery').adGallery({
		slideshow: {
            enable: true,
            autostart: true,
            speed: 5000
		}
	});
}

function initcarousel() {
	if (agentID) {
	    $('#carousel').featureCarousel({
	        smallFeatureWidth : 250,
	        smallFeatureHeight : 140,
	        sizeMultiplier : .25,
	        topPadding : 0,
	        sidePadding : 0,
	        carouselSpeed : 1100,
	        smallFeatureOffset : 195,
	        autoPlay : 4000,
	        preload : false,
	        inactiveItemOpacity : 0.3
	    });	
	} else {
	    $('#carousel').featureCarousel({
	        smallFeatureWidth : 250,
	        smallFeatureHeight : 140,
	        sizeMultiplier : .25,
	        topPadding : 0,
	        sidePadding : -150,
	        carouselSpeed : 1100,
	        smallFeatureOffset : 195,
	        autoPlay : 4000,
	        preload : true,
	        inactiveItemOpacity : 0.4
	    });	
	}
}

function email() {

	coded = "xZ2g@YZxZd-8bNN2d6l.Nb";
	key = "IDK7weNZ1RUqk5WisSmB6JXrnA8bfL9OvphF42lQxu3c0YdaMPCtHyToGVEzgj";
	name = "mail[at]raman-weddings.de";

	shift = coded.length;
	link = "";
	for (i=0; i<coded.length; i++) {
		if (key.indexOf(coded.charAt(i))==-1) {
			ltr = coded.charAt(i);
			link += (ltr);
		} else {     
			ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length;
			link += (key.charAt(ltr));
		}
	}

	return "<a href='mailto:"+link+"'>"+name+"</a>";
}

function facebook() {
	(function(d, s, id) {
	  var js, fjs = d.getElementsByTagName(s)[0];
	  if (d.getElementById(id)) {return;}
	  js = d.createElement(s); js.id = id;
	  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
	  fjs.parentNode.insertBefore(js, fjs);
	}(document, 'script', 'facebook-jssdk'));
}

function external() {
	$('a[rel="external"]').live('click', function () {
		window.open(this.href);
		return false;
	});
}

function magicline() {
	if(!$("#menu-main-line").length) {
		$("#menu-main").append("<li id='menu-main-line'></li>");
	    var $mainline = $("#menu-main-line");

		if($(".current-menu-item").length) {
		    $mainline
		        .width($(".current-menu-item").width())
		        .css("left", $(".current-menu-item a").position().left)
		        .data("origLeft", $mainline.position().left)
		        .data("origWidth", $mainline.width());		
		} else {
			$mainline
		        .width($(".current-menu-ancestor").width())
		        .css("left", $(".current-menu-ancestor a").position().left)
		        .data("origLeft", $mainline.position().left)
		        .data("origWidth", $mainline.width());
		}

	    $("#menu-main li").find("a").hover(function() {
	        $el = $(this);
	        leftPos = $el.position().left;
	        newWidth = $el.parent().width();

	        $mainline.stop().animate({
	            left: leftPos,
	            width: newWidth
	        });
	    }, function() {
	        $mainline.stop().animate({
	            left: $mainline.data("origLeft"),
	            width: $mainline.data("origWidth")
	        });  
	    });
	}
	
	if(!$("#menu-sub-line").length) {
		if($('#menu-sub').children().length) {
			if($('.current_page_item').length) {
				$("#menu-sub ul").append("<li id='menu-sub-line'></li>");
			    var $subline = $("#menu-sub-line");
			    $subline
			        .width($(".current_page_item").width())
			        .css("left", $(".current_page_item a").position().left)
			        .data("origLeft", $subline.position().left)
			        .data("origWidth", $subline.width());

			    $("#menu-sub ul li").find("a").hover(function() {
			        $el = $(this);
			        leftPos = $el.position().left;
			        newWidth = $el.parent().width();

			        $subline.stop().animate({
			            left: leftPos,
			            width: newWidth
			        });
			    }, function() {
			        $subline.stop().animate({
			            left: $subline.data("origLeft"),
			            width: $subline.data("origWidth")
			        });  
			    });				
			}
		}
	}
}
