Array.prototype.in_array = function(p_val) {
	for(var i = 0, l = this.length; i < l; i++) {
		if(this[i] == p_val) {
			return true;
		}
 	}
	return false;
}

function setCookie( name, value, expires, path) {
	var today = new Date();
	today.setTime( today.getTime() );

	if ( expires )
		expires = expires * 1000 * 60 * 60 * 24;
		
	var expires_date = new Date( today.getTime() + (expires) );	
	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
		( ( path ) ? ";path=" + path : "" );
}


Shadowbox.loadSkin('shadowbox', 'templates/corporate/styles'); // use the "classic" skin
$(document).ready(function () {
	Shadowbox.init({overlayColor: '#03555b',overlayOpacity:'0.93',onFinish: tx_bwarrivaframeAction});
	$("#location .regio img").click(function () {	
		redirectTo = document.location.href; 
		Shadowbox.open({player:'html',content:'<div id="regio-selector">Bezig met laden</div>',height:520,width:665});
	});
	$("#regio-info .regio-item").click(function () {	
		redirectTo = document.location.href; 
		Shadowbox.open({player:'html',content:'<div id="regio-selector">Bezig met laden</div>',height:520,width:665});
		
	    if (document.images) {
			preload_image_object = new Image();
			for(i=1; i<=tx_bwarriva_department.length; i++) 
				preload_image_object.src = 'templates/corporate/images/provincies/nederland_'+i+".png";
    	}
	});
	
});

var redirectTo = "";
var tx_bwarriva_department = Array();
var aRegioBus = Array();
var aRegioTrein = Array();
var aRegioBusTrein = Array();
var postVarSets = Array();
var iTreinCurrent = 0;

function highlightReset() {
	$(".regio-link").attr('class', 'regio-link');
	$("#regio-kaart").attr('src', 'templates/corporate/images/regios/nederland_leeg.png');
	$("#regio-kaart").css('cursor', 'default');
}
function highlightRegion(id) {
	highlightReset(false);
	$("#regio-link-"+id).attr('class', 'regio-link active');
	$("#regio-kaart").attr('src', 'templates/corporate/images/regios/regio_'+id+(aRegioBusTrein[id]?"_"+aRegioBusTrein[id]:"")+".png");
	$("#regio-kaart").css('cursor', 'pointer');
}

// obsolete?
function selectRegio(bus_id) {
	if (redirectTo && redirectTo.indexOf($('base').attr('href')) != 0)
		return false;
	
	params = redirectTo.split('?');
	aParts = params[0].replace($('base').attr('href'),'').split('/');
	
	var trein_id = 0;
	if (aRegioBusTrein[bus_id])	trein_id = aRegioBusTrein[bus_id];
	aRedirect = Array();
	
	setCookie('regio-bus', bus_id, 14, '/');
	setCookie('regio-trein', trein_id, 14, '/');
	
	while (aParts.length > 0) {
		part = aParts.shift();

		if ( aRegioBus.in_array(part) || aRegioTrein.in_array(part) )
			continue; 
		
		if ( postVarSets.in_array(part) || (aParts.length == 0 && part == "") ) {
			aRedirect.push(aRegioBus[bus_id]);
			if (trein_id > 0)
				aRedirect.push(aRegioTrein[trein_id]);
		}			
		aRedirect.push(part);
	}		
	
	document.location.href = $('base').attr('href')+aRedirect.join('/') + (params[1] ? "?"+params[1] : "");
	return false;
}


function highlightDepartment( id ){
	departmentReset(false);
	$("#regio-link-"+id).attr('class', 'regio-link active');
	$("#regio-kaart").attr('src', 'templates/corporate/images/provincies/nederland_'+id+'.png');
	$("#regio-kaart").css('cursor', 'pointer');
}

// used in map
function selectDepartment( id ){
	
	if (redirectTo && redirectTo.indexOf($('base').attr('href')) != 0)
		return false;
	
	params = redirectTo.split('?');
	aParts = params[0].replace($('base').attr('href'),'').split('/');
	aRedirect = Array();	
	
	setCookie('tx_bwarriva_department', id , 14 ,'/' );
	var hasDepartment = false;
	
	while (aParts.length > 0) {
		part = aParts.shift();		
		if ( tx_bwarriva_department.in_array(part) || postVarSets.in_array(part) ) {
			aRedirect.push(tx_bwarriva_department[id]);
			hasDepartment = true;
			break;
		} 
		else {
			if ( part.length > 0 )
				aRedirect.push(part);
			}
	}
	
	if ( !hasDepartment ) 
	aRedirect.push(	tx_bwarriva_department[id] );	
	
	document.location.href = $('base').attr('href')+aRedirect.join('/') + '/' + (params[1] ? "?"+params[1] : "");
	return false;
}

function departmentReset(){
	$(".regio-link").attr('class', 'regio-link');
	$("#regio-kaart").attr('src', 'templates/corporate/images/provincies/nederland_leeg.png');
	$("#regio-kaart").css('cursor', 'default');
}


$(document).ready(function() {
	$('a').click(function() {
		parts = this.href.replace($('base').attr('href'),'').split('/')
		root = parts.shift();
		while (parts.length > 0) {
			part = parts.shift();
			if (tx_bwarriva_department.in_array(part))
				return true;
		} 
		if (root == 'met-de-bus') {
			redirectTo = this.href;
			Shadowbox.open({player:'html',content:'<div id="regio-selector">Bezig met laden</div>',height:420,width:665});
			return false;		
		}
	});
});
