/**
 * 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/jarlsberg.com/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('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 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;
}
