
//functions and objects
Sanoma.Site.initEnhancements = function () {
	enhancedSelector();
	enhancedTextField();
}


/* graphical selectbox  */
function enhancedSelector(){
	var s =	jQ('#servicesSelect');
	if(Sanoma.Site.IE()) {
		s.change(function(){
			window.open( jQ(this).find('option:selected').val());
		});
		return false;	
	}


	var list = new Array();

	s.before('<div id="enhancedSelector"></div>');
	s.find('option:not(":first")').each(function(){
		list.push('<a href="' + jQ(this).val() + '">' + jQ(this).text() + '</a>');
	});
	s.remove();
	jQ('#enhancedSelector').append('<div id="selectList">'+	list.join("\n\r")+'</div>');
	jQ('#enhancedSelector').click(function(event){
		if(event.target == this) jQ('#selectList').slideToggle('fast');
		
	});
	
	jQ('body').click( function() {
		
		jQ('#selectList').hide();
	});

}

/*teach text inputs how to behave properly! */

function enhancedTextField() {
	jQ('input.text').each(function(){
		var defaultText = this.value;

			jQ(this).focus(
				function(){
					jQ(this).select().parent().removeClass('error');
				}	
			);
			
			jQ(this).blur(
				function(){ 
				if(jQ(this).hasClass('showDefault'))
					this.value == ''  ? this.value = defaultText : '';
				}
			);
	});
	
	jQ('select.required').each(function(){

			jQ(this).focus(
				function(){
					jQ(this).parent().removeClass('error');
				}	
			);
			
//			jQ(this).blur(
//				function(){ 
////					this.value == ''  ? this.value = defaultText : '';
//				}
//			);
	});
	
	
	
}

/* flash headers with Sanoma Beta font*/
Sanoma.Site.initSifr = function (filepath) {

	var bgColors = {
				normal:'#ffffff ' ,
				enterPage: '#fafafa'
				};

	jQ('#enterPageContent').length == 0 ? bg = bgColors.normal : bg = bgColors.enterPage;
	var colorId = jQ('body').attr('id');
	var useColor;
	if (filepath === undefined)
		filepath = '/js/sifr/SanomaBeta.swf';
		
		
	if (typeof sIFR == "function"){

		sIFR.setup();
		Sanoma.Site.sifrColors[colorId] === undefined ? useColor = Sanoma.Site.sifrColors['defaultColor'] : useColor = Sanoma.Site.sifrColors[colorId];
		
		//page main header (h1)
	    sIFR.replaceElement(
			named(
			{
				sSelector:"h1.sifrHdr",
				sWmode:'transparent',
				sFlashSrc:filepath, 
				sColor:useColor,
				sLinkColor:"#ffffff",
 				sBgColor:bg,
				nPaddingTop:0,
				nPaddingBottom:0,
				sFlashVars:"textalign=left&offsetTop=0"
			}
		));

	}
}

Sanoma.Site.tableColors = function() {
	if(jQ('.tableFrame').length == 0)
		return false;
	
	jQ('.tableFrame table ').find('tr:even').addClass('dark').end().find('tr').each(function(){jQ(this).find('td:last').css('border','0');});
}

function rowColors(idArray) {
	if(jQ('table.dataTable') === undefined)
	return 0;

	for(i=0;i < idArray.length;i++) {
		jQ(idArray[i]+ ' tr:even').addClass('dark');
		jQ(idArray[i]+ ' tfoot td:last').addClass('footRight');
		jQ(idArray[i]+ ' tfoot td:first').addClass('footLeft');
		jQ(idArray[i]+ ' tfoot td:eq(1)').addClass('footMiddle');
	}
	
}

/* magnification for magazine covers*/
function initCoverHover() {
	jQ('.coverBg').hover(
		function() {


		
		jQ(this).find('img').animate({ 
        		width: '156px',
				height: '205px' ,
				left: "10px",
				top: "7px"
			},
			{
				queue:false,
				duration:100
			});
		},

		function() {

			jQ(this).find('img').animate({ 
        			width: '140px',
				height: '185px',
				left: "18px",
				top: "15px"
				},{
				queue:false,
				duration:200
			});
		}
	);
}


/*tab changer for contact info lists*/
Sanoma.Site.TabHandler = function($container, args){
	this.args = {};
	this.deepLink;

	this.$container = $container;
	args !== undefined ? this.args = args: '';
	
	this.currentTab;
	fthis = this;
	this.init = function() {
		fthis.updateDeepLink();
		fthis.$container.addClass('dynamic').find('h3, .tabContent').hide();
		fthis.$container.find('.cTabs li a').click(fthis.toggleTabs);

		if(fthis.$container.find(fthis.deepLink).length>0) {
			fthis.$container.find('.cTabs a[href="'+this.deepLink+'"]').click();
		} else {
			fthis.$container.find('.cTabs li:first a').click();
		}
		
	}

	this.toggleTabs = function () {
		
		$btn = jQ(this);
		fthis.$container.find('.active').removeClass('active');
		$btn.addClass('active');
		fthis.$container.find('.tabContent:visible').hide();
		fthis.$container.find($btn.attr('href')).fadeIn('normal');
		fthis.updateDeepLink();
	}

	this.updateDeepLink  = function() {
 			window.location.hash == '' ? fthis.deepLink= '0' : fthis.deepLink= window.location.hash;
			//equalizing browser behaviors
			if(fthis.deepLink.indexOf('#') != 0)
			fthis.deepLink =  '#'+fthis.deepLink
		}	
	this.init();

}
/* footer logo flash */
Sanoma.Site.LogoCarousel = function(vars, params) {
	vars === undefined ? vars = {}:'';
	params === undefined ? params={}:'';
	this.container = '#flashCarousel';
	this.vars = vars;
	this.h = "61";
	this.w ="979"
	this.version = "9.0.0"
	if(!this.vars.xmlUrl)
		this.vars.xmlUrl = "/swf/logo-carousel/logos.xml";
	if(!this.vars.logoFolder)
		this.vars.logoFolder = "/swf/logo-carousel/logos/";
	
	//insert flash
	jQ(this.container).media({
			flashvars:this.vars,
			src: "/swf/logo-carousel/footer.swf",
				width: this.w,
				height: this.h
	});

}

function getFlashParent() {
	return '<div style="margin:0 0 15px 15px;" class="flashParent"><div id="frontFlash" class="flashContainer"></div></div>';
}

Sanoma.Site.printPage = function() {
 return window.print();
}


Sanoma.Site.formValidator = function($form,valueSchemaFunction){
	var valid;
	$form.find('.required').each(valueSchemaFunction);
	$form.find('.error').size() ? valid = false : valid = true;
	return valid;
}


function loginValues () {

		var num = jQ.trim(this.value);

		switch(this.id) {
			case 'asiakasnro':
				var rex = /^\d{5,20}$/ ;

				num.match(rex) == null ? jQ(this).parent().addClass('error'):'';
			break;
		
			case'postinro' :
				var rex = /^\d{5}$/ ;
				num.match(rex) === null ? jQ(this).parent().addClass('error'):'';

			break;
			default:
				return false;
		}
}


Sanoma.Site.loginForm = function() {
	var $form = jQ('form#login');

	$form.find('#submitLogin').click(function(){this.disabled = 'disabled'}).end().submit(function(){

					var valid =  Sanoma.Site.formValidator($form,loginValues);

					if(!valid){
						jQ('#saveOrderForm').removeAttr('disabled');
					}
					
					return valid;
			});
		

}

Sanoma.Site.Tooltips = function()  {

	var generateToolTip = function(content) {
		return '<div class="tipArrow" > </div>\
				<div class="tipHeader hasPNG"></div> \
				<div class="tipContent hasPNG">'+content+'</div> \
				<div class="tipFooter hasPNG"></div>';
		
	}

//	var tipContent = jQ(this).find('span.tooltipContent').html();
//	jQ('a.tooltip').tooltip();
	jQ('a.tooltip').each(function(){
		var posLeft = 	jQ(this).hasClass('left');


		jQ(this).tooltip({
		delay:0,
		showURL:false,
		track:true,
		fixPNG:true,
		top:-30,
		left:(posLeft ? -10 : 10 ),
		fade:(Sanoma.Site.IE() ? false : 250),
		extraClass:(posLeft ? 'tipLeft' :'tipRight'),
		positionLeft:posLeft,
		bodyHandler:function() {
			return generateToolTip(jQ(this).find('span.tooltipContent').html());
		}

	});

		
		
	})
	return true;
	
}

