/**
 * Diverse javascriptfunksjoner, spesiellt laget for siten
 * I tillegg bør filen functions-standard.js inkluderes, den inneholder endel standardfunksjoner
 *
 * @author Tommy Gildseth <tommy at apt no>
 * @version 1.0.1
 */
var allInput;
onload = function() {
	externalLinks();
	var radiuses 		= [14,8];
	var allImages 		= document.getElementsByTagName('img');
	var roundedImages 	= Array();
	for(i = 0; i < allImages.length; ++i) {
		if (allImages[i].className.indexOf('replaceIllustr') > -1) {
			roundedImages.push(allImages[i]);
		}
	}

	i = roundedImages.length;
	j = 0;
	while(roundedImages && j < i) {
		radius  = radiuses[0];
		height 	= roundedImages[j].height;
		width 	= roundedImages[j].width;
		if (roundedImages[j].lang && roundedImages[j].lang != '') {
			switch (true) {
				case width >= 230 :
					height = (height > 330?330:height);
					break;
				case width == 160 :
					height = (height > 160?160:height);
					break;
				case width <= 150 :
					height = (height > 150?150:height);
					break;
			}
		}


		if (width < 200) {
			radius = radiuses[1];
		}

		src		= roundedImages[j].src;

		fo = new FlashObject('http://webfiles.tine.no/Tine.no/elm/flash/RoundedCorners.swf', false, width, height, 6, '#ffffff');
		fo.addVariable("imgURL",src);
		fo.addVariable("corners",radius);
		fo.addVariable("width",width);
		fo.addVariable("height",height);

		if (roundedImages[j].lang && roundedImages[j].lang != '') {
			fo.addVariable("valign", roundedImages[j].lang);
		}

		fo.addParam('scale', 'noscale');
		fo.addParam('salign', 'lt');
		fo.addParam('align', 'middle');
		fo.addParam('allowscriptaccess','always');
		fo.addParam('type', 'application/x-shockwave-flash');
		fo.addParam('pluginspage', 'http://www.macromedia.com/go/getflashplayer');
		fo.addParam("wmode","Opaque");
		fo.addParam("menu", "true");

		if (roundedImages[j].parentNode  && roundedImages[j].parentNode.tagName == 'A') {
			lParent = roundedImages[j].parentNode;
			fo.addVariable("linkURL",escape(lParent.href));
			fo.replace(lParent, roundedImages[j]);
		} else {
			fo.replace(roundedImages[j]);
		}


		++j;
	}


	allInput 		= document.getElementsByTagName('input');
	for(i = 0; i < allInput.length; ++i) {
		if (allInput[i].type == 'image') {
			allInput[i].onmouseover = function ( ) {
				this.src = this.src.replace(/\.jpg/, '_over.jpg');
				this.src = this.src.replace(/\.gif/, '_over.gif');
			}
			allInput[i].onmouseout	= function ( ) {
				this.src = this.src.replace(/_over/, '');
			}
		}
	}
}


var validateFields = Array();

function validateForm( ) {
	var formIsValid = true;
	var errorMessage = '';

	for (i = 0; i < validateFields.length; ++i) {
		var element = document.getElementById(validateFields[i]['id']);
		switch (validateFields[i]['type']) {
			case 'hasSelected':
				if (!(element.selectedIndex > 0)) {
					formIsValid = false;
				}
				break;
			case 'nonEmpty':
				if (isEmpty(element.value)) {
					formIsValid = false;
				}
				break;
			case 'validEmail':
				if (!validateEmail(element.value)) {
					formIsValid = false;
				}
				break;
			case 'selectedRadioBtn':

				formIsValid = false;
				var j = 1;
				element = document.getElementById(validateFields[i]['id'] + '_' + j);
				while(element && !formIsValid) {
					if (element.checked) {
						formIsValid = true;
					}
					++j;
					element = document.getElementById(validateFields[i]['id'] + '_' + j);
				}
				break;
			default:
				formIsValid = false;
				if (!validateFields[i]['error'] || isEmpty(validateFields[i]['error'])) {
					validateFields[i]['error'] = 'Ukjent feil. Får ikke sendt skjema.';
				}
		}

		if (!formIsValid) {
			alert(validateFields[i]['error']);
			return false;
		}
	}
}


function validateFormDialogue( ) {
	var formIsValid = true;
	var errorMessage = '';

	for (i = 0; i < validateFields.length; ++i) {
		var element = document.getElementById(validateFields[i]['id']);
		switch (validateFields[i]['type']) {
			case 'hasSelected':
				if (!(element.selectedIndex > 0) && element.disabled !== true) {
					formIsValid = false;
				}
				break;
			case 'nonEmpty':
				if (isEmpty(element.value) && element.disabled !== true) {
					formIsValid = false;
				}
				break;
			case 'validEmail':
				if (!validateEmail(element.value) && element.disabled !== true) {
					formIsValid = false;
				}
				break;
			case 'selectedRadioBtn':

				formIsValid = false;
				var j = 1;
				element = document.getElementById(validateFields[i]['id'] + '_' + j);
				while(element && !formIsValid) {
					if (element.checked) {
						formIsValid = true;
					}
					++j;
					element = document.getElementById(validateFields[i]['id'] + '_' + j);
				}
				break;
			default:
				formIsValid = false;
				if (!validateFields[i]['error'] || isEmpty(validateFields[i]['error'])) {
					validateFields[i]['error'] = 'Ukjent feil. Får ikke sendt skjema.';
				}
		}

		if (!formIsValid) {
			$("#btnShowModalBox").click();
			$('#errormsg').html(validateFields[i]['error']);
			return false;
		}
	}
}



function validateInput( ) {
	var formIsValid = true;
	var errorMessage = '';

	for (i = 0; i < validateFields.length; ++i) {
		var element = document.getElementById(validateFields[i]['id']);
		document.getElementById('feedback_'+validateFields[i]['id']).style.display = 'none';
		switch (validateFields[i]['type']) {
			case 'hasSelected':
				if (!(element.selectedIndex > 0)) {
					formIsValid = false;
				}
				break;
			case 'nonEmpty':
				if (isEmpty(element.value)) {
					formIsValid = false;
				}
				break;
			case 'validEmail':
				if (!validateEmail(element.value)) {
					formIsValid = false;
				}
				break;
			case 'selectedRadioBtn':

				formIsValid = false;
				var j = 1;
				element = document.getElementById(validateFields[i]['id'] + '_' + j);
				while(element && !formIsValid) {
					if (element.checked) {
						formIsValid = true;
					}
					++j;
					element = document.getElementById(validateFields[i]['id'] + '_' + j);
				}
				break;
			default:
				formIsValid = false;
				if (!validateFields[i]['error'] || isEmpty(validateFields[i]['error'])) {
					validateFields[i]['error'] = 'Ukjent feil. Får ikke sendt skjema.';
				}
		}

		if (!formIsValid) {
			document.getElementById('feedback_'+validateFields[i]['id']).style.display = 'block';
			return false;
		}
	}
}

function validateEmail( strValue) {
	var rx = new RegExp("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
	var matches = rx.exec(strValue);
	return (matches != null && strValue == matches[0]);
}

function validateStr(strValue){
	var objRegExp  =  /\S/;
	return objRegExp.test(strValue);
}



function mouseWheelScroll( event ){
	if( navigator.userAgent.match( "MSIE" ) ){
		var delta = event.wheelDelta;
		var multiplier = (parseInt(delta) / 120) * 3;
		event.returnValue = false;
	}
	if( navigator.userAgent.match( "Gecko" ) ){
		var delta = event.detail * -1;
		var multiplier = Math.round((parseInt(delta) / 3));
		event.preventDefault();
	}
	if( navigator.userAgent.match( "Safari" ) ){
		var delta = event.wheelDelta;
		var multiplier = Math.round((parseInt(delta) / 12)/10);
		event.returnValue = false;
	}

	var strDir = (delta >0) ? "UP" : "DOWN";
	var objTarget = document.getElementById("site");
	objTarget.SetVariable("objWheel.intDelta", multiplier);
	//objTarget.SetVariable("objWheel.strDir", strDir);
}

function mainSearch( formObj) 
{
	formObj.sok.value = formObj.q.value;
}

function spotlight(catVal) {
	var spotlighttag;
	var Tag;
	var axel = Math.random() + "";
	var ord = axel * 1000000000000000000;
	var prx = "?";

	spotlighttag="http://ad.no.doubleclick.net/activity;src=1165401;type=tiney416;;cat="+catVal+";ord="+ord+prx;
	Tag = new Image();
	Tag.src = spotlighttag;
}

function addProductFamilyBanner(id) {
	$("#header").append("<div id='familieBanner' style='background: url(binary?id=" + id + ")'>Banner</div>");
	$("body > .container").addClass("withBanner");
}

(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

/* Masked input */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(5($){3 s=($.1V.1H?\'1L\':\'1u\')+".t";$.t={B:{\'9\':"[0-9]",\'a\':"[A-Y-z]",\'*\':"[A-Y-1h-9]"},1w:5(c,r){$.t.B[c]=r}};$.1y.17({w:5(b,c){2(4.7==0)6;2(14 b==\'1s\'){c=(14 c==\'1s\')?c:b;6 4.13(5(){2(4.P){4.1q();4.P(b,c)}y 2(4.1c){3 a=4.1c();a.1P(19);a.20(\'10\',c);a.1a(\'10\',b);a.1Z()}})}y{2(4[0].P){b=4[0].1U;c=4[0].1R}y 2(Q.V&&Q.V.1b){3 d=Q.V.1b();b=0-d.1Q().1a(\'10\',-1O);c=b+d.1N.7}6{u:b,M:c}}},N:5(){6 4.21("N")},t:5(l,m){2(!l&&4.7>0){3 n=$(4[0]);3 o=n.J("R");6 $.1p(n.J("S"),5(c,i){6 o[i]?C:c}).T(\'\')}m=$.17({F:"1I",U:v,W:C},m);3 q=E X("^"+$.1p(l.1d(""),5(c,i){6 $.t.B[c]||((/[A-Y-1h-9]/.1e(c)?"":"\\\\")+c)}).T(\'\')+"$");6 4.13(5(){3 d=$(4);3 f=E 1g(l.7);3 g=E 1g(l.7);3 h=v;3 j=C;$.13(l.1d(""),5(i,c){g[i]=($.t.B[c]==C);f[i]=g[i]?c:m.F;2(!g[i]&&j==C)j=i});d.J("S",f).J("R",g);5 1k(){3 a=H();x();1m(5(){d.w(a)},0)};5 1n(e){3 a=$(4).w();3 k=e.11;h=(k<16||(k>16&&k<12)||(k>12&&k<1r));2((a.u-a.M)!=0&&(!h||k==8||k==1o)){G(a.u,a.M)}2(k==8){Z(a.u-->=0){2(!g[a.u]){f[a.u]=m.F;x();$(4).w(1i.1f(j,a.u));6 v}}}y 2(k==1o){G(a.u,a.u+1);x();$(4).w(1i.1f(j,a.u));6 v}y 2(k==1x){G(0,l.7);x();$(4).w(j);6 v}};5 18(e){2(h){h=v;6(e.11==8)?v:C}e=e||1z.1A;3 k=e.1B||e.11||e.1C;3 a=$(4).w();2(e.1D||e.1E){6 19}y 2((k>=1r&&k<=1F)||k==12||k>1G){3 p=O(a.u-1);2(p<l.7){3 c=1J.1K(k);2(E X($.t.B[l.I(p)]).1e(c)){f[p]=c;x();3 b=O(p);$(4).w(b);2(m.W&&b==l.7)m.W.1M(d)}}}6 v};5 G(a,b){1l(3 i=a;i<b&&i<l.7;i++){2(!g[i])f[i]=m.F}};5 x(){6 d.K(f.T(\'\')).K()};5 H(){3 a=d.K();3 b=j;1l(3 i=0;i<l.7;i++){2(!g[i]){f[i]=m.F;Z(b++<a.7){3 c=E X($.t.B[l.I(i)]);2(a.I(b-1).1t(c)){f[i]=a.I(b-1);15}}2(b>a.7)15}}L=x().1t(q);2(!L&&!m.U){d.K("");G(0,l.7)}6 L?l.7:(m.U?i:j)};5 O(a){Z(++a<l.7){2(!g[a])6 a}6 l.7};d.1S("N",5(){d.1T(".t").1j("S").1j("R")}).D("1q.t",1k).D("1W.t",H).D("1X.t",1n).D("1Y.t",18).D(s,5(){1m(H,0)});H()})}})})(1v);',62,126,'||if|var|this|function|return|length||||||||||||||||||||||mask|begin|false|caret|writeBuffer|else|||definitions|null|bind|new|placeholder|clearBuffer|checkVal|charAt|data|val|valid|end|unmask|seekNext|setSelectionRange|document|locked|buffer|join|allowPartial|selection|completed|RegExp|Za|while|character|keyCode|32|each|typeof|break||extend|keypressEvent|true|moveStart|createRange|createTextRange|split|test|max|Array|z0|Math|removeData|focusEvent|for|setTimeout|keydownEvent|46|map|focus|41|number|match|input|jQuery|addPlaceholder|27|fn|window|event|charCode|which|ctrlKey|altKey|122|186|msie|_|String|fromCharCode|paste|call|text|100000|collapse|duplicate|selectionEnd|one|unbind|selectionStart|browser|blur|keydown|keypress|select|moveEnd|trigger'.split('|'),0,{}))

jQuery.fn.fixedCenter = function(){
	return this.each(function(){
		var element = jQuery(this);
		centerElement();
		jQuery(window).bind('resize',function(){
			centerElement();
		});
			
		function centerElement(){
			var elementWidth = jQuery(element).outerWidth();
			var elementHeight = jQuery(element).outerHeight();
			var windowWidth = jQuery(window).width();
			var windowHeight = jQuery(window).height();	
			
			var X2 = windowWidth/2 - elementWidth/2;
			var Y2 = windowHeight/2 - elementHeight/2;
	 
			jQuery(element).css({
				'left':X2,
				'top':Y2,
				'position':'fixed'
			});						
		} //end of centerElement function
					
	}); //end of return this.each
}

$(document).ready(function() {
	if($.browser.msie && ($("#oppskrLeft").height() > $("#oppskrRight").height())) {
		$("#oppskrRight").height($("#oppskrLeft").height());
	}

	$("#holdbarhetsdatoID").mask("99.99.9999");
	$("#BankAccount").mask("99999999999");

	p = $("#kokeboktools").detach().appendTo("#oppskrLeft");

	//setTimeout("showEyeQuestionPopup()", 10 * 1000);
});

function createPopup(params) {
	var popup = $("#popupWindow");
	var overlay = $("#overlay");
	var btnclose = $("#btnClosePopup");

	if($("#overlay").length == 0) {
		$("body").append("<div id='overlay'></div>");
	}

	if($("#popupWindow").length == 0) {
		$("body").append("<div id='popupWindow'><img id='btnClosePopup' src='https://www.skolemelk.no/images/close.png'/><div class='popupContent'><a href='http://eq.test.tine.no/eq/r1/1kpkg' target='_blank'><img src='http://www.tine.no/binary?id=304294'/></a></div></div>");
		popup = $("#popupWindow");
		overlay = $("#overlay");
		btnclose = $("#btnClosePopup");

		$("#overlay, #btnClosePopup").click(function() {
			_gaq.push(['_trackEvent', 'Spørreundersøkelse', 'Forbedre TINE.no', 'Popup trykket bort']);
			$("#popupWindow").hide();
			$("#overlay").hide();
		});

		$("#popupWindow a").click(function() {
			_gaq.push(['_trackEvent', 'Spørreundersøkelse', 'Forbedre TINE.no', 'Popup klikket']);
			$("#popupWindow").hide();
			$("#overlay").hide();
		});
	}

	overlay.hide();
	popup.hide();

	popup.css("width", params.width);
	popup.css("height", params.height);
	popup.css("marginLeft", -1 * ((params.width / 2) + 20));
	popup.css("marginTop", -1 * (params.height / 2));
	btnclose.css("marginLeft", (params.width + 5));

	overlay.show();
	popup.show();
} 

function showEyeQuestionPopup() {
	if($.cookie("forbedre_tine") == null) {
		$.cookie("forbedre_tine", true, { 'path': '/', 'expires': 7 });
		_gaq.push(['_trackEvent', 'Spørreundersøkelse', 'Forbedre TINE.no', 'Popup vises']);
		createPopup({ 'width': 360, 'height': 200 });
	}
}
