// JavaScript Document
function recommend(url){
	window.location.href = "mailto:?body="+url;
}
function printPage(){
	window.print();
}
//--------------------------------------------------
var qsParm = new Array();
function qs() {
	var query = window.location.search.substring(1);
	var parms = query.split('&');
	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0) {
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			qsParm[key] = val;
		}
	}
}
//--------------------------------------------------

function getAlias() {
	var pAlias = window.location.href;
	pAlias = pAlias.substring(pAlias.lastIndexOf("/")+1, pAlias.lastIndexOf("."));
	return pAlias;
}
//--------------------------------------------------
function testAsian(){
	var pAlias = getAlias();
	if(pAlias == "japan"){
		if(isXP()){
			var ja = hasCharacterSupport('\u30A2');
			ja = ja && hasCharacterSupport('\u7121');
			if(!ja){
				window.location.href = "/where-to-buy/regional-pages/japan/img.html";
			}else if(isIncompatibleBrowser()){
				window.location.href = "/where-to-buy/regional-pages/japan/img.html";
			}
		}
	}else if(pAlias == "korea"){
		if(isXP()){
			var ko = hasCharacterSupport('\uC52C');
			ko = ko && hasCharacterSupport('\uAC19');
			if(!ko){
				window.location.href = "/where-to-buy/regional-pages/korea/img.html";
			}else if(isIncompatibleBrowser()){
				window.location.href = "/where-to-buy/regional-pages/korea/img.html";
			}
		}
	}
}
function hasCharacterSupport(char){
	var div =  new Element('div', {
		styles: {
		position: 'absolute',
		'z-index':1,
		left:0,
		top:0,
		visibility:'hidden',
		'font-size':'40px'}
    });
	div.inject($('top'));
	var no =  new Element('span', {
		html: '\uFFFD'
    });
	no.inject(div);
	var test =  new Element('span', {
		html: char
    });
	test.inject(div);
	var support = (no.offsetWidth != test.offsetWidth);
//	var div2 =  new Element('div', {
//		html: (no.offsetWidth+":"+test.offsetWidth+":"+support)
//    });
//	div2.inject($('top'));
	div.destroy();
	return support;
}
//--------------------------------------------------
function isXP(){
	var OS = navigator.appVersion;
	if ((OS.indexOf("Windows NT 7.0") != -1)
			|| (OS.indexOf("Windows NT 6.1") != -1)){
	}else if ((OS.indexOf("Windows NT 5.1") != -1)
			|| (OS.indexOf("Windows XP") != -1)){
		return true;
	}
}
function IsIE8Browser() {
	var rv = -1;
	var ua = navigator.userAgent;
	var re = new RegExp("Trident\/([0-9]{1,}[\.0-9]{0,})");
	if (re.exec(ua) != null) {
		rv = parseFloat(RegExp.$1);
	}
	return (rv == 4);
}
function isIncompatibleBrowser(){
	var browserversion = false;
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { // test for MSIE x.x;
		var ieversion = new Number(RegExp.$1) // capture x.x portion and store as
												// a number
		if (ieversion >= 8)
			//"IE8 or +"
			browserversion = true;
		else if (ieversion >= 7)
		{
			if (IsIE8Browser()) {
				//"IE8+ (IE7 run mode)";
				browserversion = false;
			}
			else {
				//"IE7.x";
				browserversion = false;
			}
		}
		else if (ieversion >= 6)
			browserversion = false;
		else if (ieversion >= 5)
			browserversion = false;
		else
			browserversion = false;
	}
	return browserversion;
}
//--------------------------------------------------
//Flash visuals
function setupFlashVisuals(){
	var vis = $$('div.flash_visual div.ce_text');
	vis.each(function(el, index) {
		//flash_visual
		var vi = vis[index];
		var img = vi.getElements('img')[0];
		var container = vi.getElements('.image_container')[0];
		var p = container.getParent();
		var src = img.getProperty('src');
		var w = img.getProperty('width');
		var h = img.getProperty('height');

		var i = src.lastIndexOf("/");
		var path = src.substring(0, i+1);
		var alias = src.substring(i+1, src.lastIndexOf("."));
		container.setProperty("id", "flash_"+alias);
		p.setStyle('height', h.toInt());
		//console.log("",p.setStyle);
		
		var v= qsParm['v']?qsParm['v']:'';
		v = "&v="+v;
		var folder = "&folder="+path;
		if(alias=='cyclestage')folder+=alias+"/";
		if (Browser.Plugins.Flash.version >= 10) {
			new Swiff( path+alias+".swf", {
				id: alias+"Com",
				width: w,
				height: h,
				properties : {
					name: alias+"Com"
				},
				params : {
					allowFullScreen: true,
					swLiveConnect: true,
					wMode:"opaque",
					flashvars: "URL="+window.location.hostname+"&pAlias="+page_alias+v+folder
				},
				container: $("flash_"+alias)
			});
		}
	});
}
function setupFlashContent(){
	var vis = $$('div.flash_content');
	vis.each(function(el, index) {
		//flash_visual
		var vi = vis[index];
		if(vi.getElements('img').length > 0){
			var img = vi.getElements('img')[0];
			var container = vi.getElements('.image_container')[0];
			var src = img.getProperty('src');
			var w = img.getProperty('width');
			var h = img.getProperty('height');
	
			var i = src.lastIndexOf("/");
			var path = src.substring(0, i+1);
			var alias = src.substring(i+1, src.lastIndexOf("."));
			container.setProperty("id", "flash_"+alias);
			
			if (Browser.Plugins.Flash.version >= 10) {
				new Swiff( path+alias+".swf", {
					id: alias+"Com",
					width: w,
					height: h,
					properties : {
						name: alias+"Com"
					},
					params : {
						allowFullScreen: true,
						swLiveConnect: true,
						wMode:"opaque",
						flashvars: "URL="+window.location.hostname+"&pAlias="+page_alias
					},
					container: $("flash_"+alias)
				});
			}
		}
	});
}

function setupFlashProducts(){
	var vis = $$('div.flash_products');
	//var vis = $$('div.flash_products div.ce_text');
	vis.each(function(el, index) {
		//flash_visual
		var vi = vis[index];
		var img = vi.getElements('img')[0];
		var container = vi.getElements('.image_container')[0];
		var p = container.getParent();
		var src = img.getProperty('src');
		var w = img.getProperty('width');
		var h = img.getProperty('height');

		var alias = "visual_products2";
		container.setProperty("id", "flash_"+alias);
		p.setStyle('height', h.toInt());
		
		var v= qsParm['v']?qsParm['v']:'';
		if (Browser.Plugins.Flash.version >= 9) {
			new Swiff( "tl_files/cinterion/content/header_pic/"+alias+".swf", {
				id: alias+"Com",
				width: w,
				height: h,
				properties : {
					name: alias+"Com"
				},
				params : {
					allowFullScreen: true,
					swLiveConnect: true,
					wMode:"opaque",
					flashvars: "URL="+window.location.hostname+"&pAlias="+page_alias+"&v="+v
				},
				container: $("flash_"+alias)
			});
		}
	});
}
//--------------------------------------------------
//Flash image
function setupFlashImages(){
	var imgs = $$('img.flash');
	imgs.each(function(el, index) {
		//flash_visual
		var img = imgs[index];
				
		var src = img.getProperty('src');
		var w = img.getProperty('width');
		var h = img.getProperty('height');

		var i = src.lastIndexOf("/");
		var path = src.substring(0, i+1);
		var alias = src.substring(i+1, src.lastIndexOf("."));
		
		var container = new Element('div');
		container.setProperty("id", "flash_"+alias);
		container.setStyles(img.getStyles('float', 'margin'));
		if(img.getParent().get('tag') == 'p'){
			container.injectBefore(img.getParent());
			container.grab(img);
		}else{
			container.wraps(img);
		}
		
		img.setStyles({float:'', margin:''});

		if (Browser.Plugins.Flash.version >= 10) {
			new Swiff( path+alias+".swf", {
				id: alias+"Com",
				width: w,
				height: h,
				properties : {
					name: alias+"Com"
				},
				params : {
					allowFullScreen: true,
					swLiveConnect: true,
					wMode:"opaque",
					flashvars: "URL="+window.location.hostname+"&pAlias="+page_alias
				},
				container: $("flash_"+alias)
			});
		}
	});
}
//--------------------------------------------------
//Flash video
function setupFlashVideo(){
	var imgs = $$('img.flash_video');
	imgs.each(function(el, index) {
		//flash_visual
		var img = imgs[index];
				
		var src = img.getProperty('src');
		var w = img.getProperty('width');
		var h = img.getProperty('height');

		var i = src.lastIndexOf("/");
		var path = src.substring(0, i+1);
		var alias = src.substring(i+1, src.lastIndexOf("."));
		
		var container = new Element('div');
		container.setProperty("id", "flash_"+alias);
		container.setStyles(img.getStyles('float', 'margin'));
		if(img.getParent().get('tag') == 'p'){
			container.injectBefore(img.getParent());
			container.grab(img);
		}else{
			container.wraps(img);
		}
		
		img.setStyles({float:'', margin:''});

		if (Browser.Plugins.Flash.version >= 10) {
			replaceVideo(container, src, "/"+path+alias+".f4v", w, h);
		}
	});
}
function replaceVideo(container, image, video, width, height, autoplay) {
	if(!autoplay){
		autoplay = "false";
	}else{
		autoplay = "true";
	}
	var obj = new Swiff('plugins/mediabox/NonverBlaster.swf', {
		/*id: 'nonverblaster',*/
		width: width,
		height: height,
		params: {
			wmode: 'opaque',
			bgcolor: '#000000',
			allowFullScreen: "true",
			allowScriptAccess: "always",
			swLiveConnect: "true"
		},
		vars: {
			mediaURL: video,
			teaserURL: image,
			indentImageURL: "",
			autoPlay: autoplay,
			loop: "false",
			controlsEnabled: "true",
			controlColor: "ffffff",
			controlBackColor: "000000",
			showTimecode: "true",
			buffer: "",
			scaleIfFullScreen: "true",
			defaultVolume: "100",
			allowSmoothing: "true",
			showScalingButton: "true",
			crop: "false"
		},
		container: container
	});
	container.addClass('videoplayer');
}
function stopAllVideo(){
	var videos = $$('.videoplayer object');
	videos.each(function(el, index) {
		var video = videos[index];
		if(video.sendToActionScript)video.sendToActionScript("resetAll");
	});
}
//function computeEnd(){
	//if(console)console.log("computeEnd");
//}
//--------------------------------------------------
//ajax loding of pages
function replaceWithContent(id){
	//var url = "http://localhost/design4real_08007_Cinterion/deploy/index.php/"+id+".html";
	var url = id+".html";
 	var el = new Element('content');
	//console.log("",el);

	new Ajax(url, {
		method: 'get',
		update: el,
		onComplete: function() {
			// when complete, we remove the spinner
			//console.log('ajax-loading');
			//el.setHTML(newHTML);
			//console.log(el.getElements("#main")[0]);
			$("main").replaceWith(el.getElements("#main")[0]);
			$("left").replaceWith(el.getElements("#left")[0]);
			$("footer").replaceWith(el.getElements("#footer")[0]);
			setupTabNavigation();
		}

	}).request();
}
//--------------------------------------------------
//search for adresses
function modifyAdressesForm(){
	var url = "tl_files/cinterion/php/adresses.php";
	if($$('#adress_form').length > 0){
		$$('#adress_form select')[0].addEvent('change', function(e) {
			/**
			 * Prevent the submit event
			 */
			new Event(e).stop();

			new Ajax(url, {
				method: 'get',
				update: $('adresses_content')
			}).request("country="+this.options[this.selectedIndex].value);
		});

		$$('#adress_form select')[0].selectedIndex = 0;
		$$('#adress_form input')[0].setStyle('display', 'none');
	}
}
//--------------------------------------------------
//contact finder
function modifyContactFinder(){
	if($$('#contact_finder').length > 0){
		$$('#contact_finder select')[0].addEvent('change', function(e) {
			/**
			 * Prevent the submit event
			 */
			new Event(e).stop();

			$$('#contact_finder')[0].submit();
		});

		$$('#contact_finder input')[0].setStyle('display', 'none');
	}
}
//--------------------------------------------------
//country selector in contact
function selectCountry(){

	var country = $$('select.country')[0];
	var selValue = country[country.selectedIndex].text;

	var countryDivs = $$('div.country').dispose();
	countryDivs.each(function(el) {
		el.dispose();
	});

	$$('.state').setStyles({
	   display: 'none'
	});

	$$('.province').setStyles({
	   display: 'none'
	});

	if(selValue == 'United States'){
		$$('.state').setStyles({
		   display: 'inline'
		});

		$$('select.province')[0].selectedIndex = 0;
	}else if(selValue == 'Canada'){
		$$('.province').setStyles({
		   display: 'inline'
		});
		$$('select.state')[0].selectedIndex = 0;
	}else{
		$$('select.state')[0].selectedIndex = 0;

		$$('select.province')[0].selectedIndex = 0;
	}
}
function testContactForm(e){
	/**
	 * Prevent the submit event
	 */
	new Event(e).stop();

	removeErrors();
	var test = true;

	var country = $$('select.country')[0];
	var selValue = country[country.selectedIndex].text;

	if (country.selectedIndex == 0) {
		addErrorEmpty($$('select.country')[0], 'Country*');
		test = false;
	}

	if(selValue == 'United States'){
		if($$('select.state')[0].selectedIndex == 0){
			//div
			var p = new Element('p');
			p.addClass('error');
			p.addClass('country');
			p.set('text', 'Please fill in field "State*"!');

			//insert into dom
			p.injectBefore($$('select.state')[0]);
			test = false;
		}
	}
	if(selValue == 'Canada'){
		if ($$('select.province')[0].selectedIndex == 0) {
			//div
			var p = new Element('p');
			p.addClass('error');
			p.addClass('country');
			p.set('text', 'Please fill in field "Province*"!');

			//insert into dom
			p.injectBefore($$('select.province')[0]);
			test = false;
		}
	}

	if ($$('select.salutation')[0].selectedIndex == 0) {
		addErrorEmpty($$('select.salutation')[0], 'Salutation*');
		test = false;
	}

	if ($$('input.first_name')[0].value == '') {
		addErrorEmpty($$('input.first_name')[0], 'First Name*');
		test = false;
	}

	if ($$('input.last_name')[0].value == '') {
		addErrorEmpty($$('input.last_name')[0], 'Last Name*');
		test = false;
	}


	if ($$('input.company')[0].value == '') {
		addErrorEmpty($$('input.company')[0], 'Company*');
		test = false;
	}

	if ($$('input.email')[0].value == '') {
		addErrorEmpty($$('input.email')[0], 'E-Mail*');
		test = false;
	}	else if (!/^[\w\-]+(\.[\w\-]+)*@[\w\-]+\.([\w\-]+\.)*[a-z]{2,}$/i.test($$('input.email')[0].value)) {
		addError($$('input.email')[0], 'Please enter a valid e-mail address!');
		test = false;
	}
	
	if (!$$('div.agreement_save_personal_data input.checkbox')[0].checked) {
		addError($$('div.agreement_save_personal_data')[0], 'Please select checkbox!');
		test = false;
	}
	if(test){
		this.submit();
	}

}
function addErrorEmpty(el, name){
	addError(el, 'Field "'+name+'" must not be empty!');
}
function addError(el, name){
	//div
	p = new Element('p');
	p.addClass('error');
	p.set('text', name);

	//insert into dom
	p.injectBefore(el);
}
function removeErrors(){
	var errors = $$('p.error').dispose();
	errors.each(function(el) {
		el.dispose();
	});
}
function modifyContactForm(){
	if($$('form.contact').length > 0){
		$$('select.country')[0].addEvents({'change':selectCountry},{'blur':selectCountry});
		$$('form.contact')[0].addEvents({
			'submit': testContactForm
		});
		selectCountry();
	}
}

//--------------------------------------------------
function modifyLinks(){
	var link = $$('a');
	var href;
	var str;
	var onclick;
	link.each(function(el, index) {
		href = el.getProperty('href');
		str = "";
		if(href){
			if(href.indexOf('tl_files/cinterion/downloads')!=-1){
				str = href.substring(href.indexOf('tl_files/cinterion/downloads'), href.lastIndexOf('.'));
			}else if(href.indexOf('tl_files/cinterion/marcompool/download')!=-1){
				str = href.substring(href.indexOf('tl_files/cinterion/marcompool/download'), href.lastIndexOf('.'));
			}else if(href.indexOf('http')!=-1 && href.indexOf('cinterion.com')==-1){
				str = 'external/'+ href.substring(href.indexOf('://')+3);
			}
			if(str != ""){
				onclick = el.getProperty('onclick');
				if(onclick){
					el.setProperty('onclick', ' pageTracker._trackPageview(\'' + str + '\'); '+onclick);
				}else{
					el.setProperty('onclick', 'pageTracker._trackPageview(\'' + str + '\'); ');
				}
			}
		}
	});
}
//--------------------------------------------------
//M2M
function modifyM2M(){
	if (Browser.Plugins.Flash.version >= 10) {
		var m2m_world_home = $$('#header li.m2m-world_home');
		if(m2m_world_home.length > 0){
			m2m_world_home[0].setStyle('display','none');
		}
		
		var m2m_world_explore = $$('#header li.m2m-world_explore');
		if(m2m_world_explore.length > 0){
			m2m_world_explore[0].setStyle('display','list-item');
		}
		
		var m2m_world_a = $$('#header li.m2m-world a');
		if(m2m_world_a.length > 0){
			m2m_world_a[0].setProperty('href','m2m-world/explore.html')
			if(	window.location.href.indexOf("/m2m-world/explore")!= -1){
				var m2m_world = $$('#header li.m2m-world')[0];
				var span =  new Element('span');
				span.setProperty('class',m2m_world_a.getProperty('class'))
				span.set('text',m2m_world_a.get('text'))
				span.inject(m2m_world);
				m2m_world_a.destroy();
			}
		}
		
		if(	window.location.href.indexOf("/m2m-world/home")!= -1){
			window.location.href = "/m2m-world/explore.html";
		}else if(	window.location.href.indexOf("/m2m-world/")!=-1 && 
					window.location.href.indexOf("/m2m-world/explore")== -1 && 
					window.location.href.indexOf("/m2m-world/m2m-markets")== -1
					){
			window.location.href = "/m2m-world/explore.html?v="+getAlias();
		}
		   
	}
}
//--------------------------------------------------
function setupTeaserHome() {
	var container = $('teaser-press-events-products');
	if(container){
		var items = container.getElements('.tab_navigation_item');
		var i = 0;
		items.each(function(el){
							
			//make more button
			var controls = new Element('div', {
			'class': 'controls'});
			
			controls.inject(el);	
			controls.set('html','<div class="pages"><div class="previous"></div><div class="numbers"><span class="current">0</span>/<span class="total">0</span></div><div class="next"></div></div><a href="javascript:;" class="more" title="more">more</a>');
			
			var content = el.getElements('.content');
			if(content.length > 0){
				var ul = content[0].getElements('ul');
				if(ul.length > 0){
					el.set('id','tab_item_'+i);
					content.set('id','element_'+i);
					ul.set('id','thumbs_'+i);
					new SlideItMoo({overallContainer: 'tab_item_'+i,
						elementScrolled: 'element_'+i,
						thumbsContainer: 'thumbs_'+i,		
						itemsVisible:1, // the number of thumbnails that are visible
						elemsSlide: null,
						itemsSelector: 'li',
						itemWidth: null,
						showControls:1, // show the next-previous buttons
						transition: Fx.Transitions.Quad.easeInOut,
						duration: 1800,
						direction: 1,
						autoSlide: 2500, // insert interval in milliseconds
						mouseWheelNav: false});
					el.set('id','');
							
				}
			}
			
			i++;
		});
		new TabNavigation({	overallContainer: '#teaser-press-events-products',
							itemsSelector: '.tab_navigation_item',
							titleContainer: '.ctitle',
							titleSelector: 'h2',
							switchHash: false
						});
	}
}
function testOs() {
	$$('html')[0].addClass(Browser.Platform.name);
}
function debug(data){
	//console.debug, console.info, console.warn, and console.error.
	if (typeof console != "undefined") { // safari, firebug
		if (typeof console.debug != "undefined") { // firebug
			console.log(data);
		}
	}
}
//--------------------------------------------------
window.addEvent('domready', function() {
	testOs();
	qs();
	testAsian();
	setupTeaserHome();
	new TabNavigation({	overallContainer: '#main .mod_article',
						itemsSelector: '.tab_navigation_item',
						titleContainer: '.ctitle',
						titleSelector: 'h2',
						switchHash: true
					});
	setupFlashVisuals();
	setupFlashProducts();
	setupFlashContent();
	setupFlashImages();
	setupFlashVideo();
	modifyAdressesForm();
	modifyContactFinder();
	modifyContactForm();
	modifyM2M();
});
