// Created	: 21.06.06 by Thomas Mittet
// Modified	: xx.xx.xx by [PartnerName]

function fnNifty(){
	//alert('niftyStart');
	if(!NiftyCheck()){
    return;
	Rounded('div#nifty','all','#000000','#000000','smooth');
	}
}

// OnLoad function
function fnOnLoad() {
	// Run scroll fix
	fnNifty();
	fnScrollFix();
	// Internet Explorer object "Click to activate" fix
	if(navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) >= 4) {
		var poObjects = document.getElementsByTagName("object");
		for(var i=0; i < poObjects.length; i++) {
			poObjects[i].outerHTML = poObjects[i].outerHTML;
		}
	}
}

// Open link in window
function fnWindowLink(psURL, psType) {
	var piWidth		= 320;
	var piHeight	= 240;
	switch(psType) {
		case "window_640x480" :
			piWidth		= 640;
			piHeight	= 480;
		break;
		case "window_800x600" :
			piWidth		= 800;
			piHeight	= 600;
		break;
		case "window_1024x768" :
			piWidth		= 1024;
			piHeight	= 768;
		break;
		case "window_max" :
			piWidth		= screen.width;
			piHeight	= screen.height;
		break;
	}
	var poWindow = window.open(gsSiteURL + "objects/window_link.asp?url=" + escape(psURL) + "&type=" + psType,"window_link","width=" + piWidth + ",height=" + piHeight + ",left=" + (screen.width - piWidth) / 2 + ",top=" + (screen.height - piHeight) / 2 + ",toolbar=0,location=0,status=1,menubar=0,resizable=1,scrollbars=1");
	poWindow.focus();
}
// Open picture gallery in window
function fnWindowGallery(piFolder) {
	var poWindow = window.open(gsSiteURL + "objects/window_gallery.asp?folder=" + piFolder,"window_gallery","width=350,height=380,address=0,location=0,menubar=0,resizable=1,status=1,toolbar=0");
	poWindow.focus();
}
// Open video in window
function fnWindowVideo(piRecordID) {
	var poWindow = window.open(gsSiteURL + "objects/window_video.asp?RecordID=" + piRecordID,"window_video","width=560,height=470,address=0,location=0,menubar=0,resizable=1,status=1,toolbar=0");
	poWindow.focus();
}
// Open poll results in window
function fnWindowPollResults(piSiteID, piPollID) {
	var poWindow = window.open(gsSiteURL + "objects/window_pollresults.asp?siteID=" + piSiteID + "&pollID=" + piPollID,"window_pollresults","width=300,height=320,address=0,location=0,menubar=0,resizable=1,scrollbars=1,status=1,toolbar=0");
	poWindow.focus();
}
// Open published file in window
function fnWindowPubFile(psURL) {
	var poWindow = window.open(psURL,"window_pubfile","width=640,height=400,address=0,location=0,menubar=1,resizable=1,scrollbars=1,status=1,toolbar=1");
	poWindow.focus();
}
// Open email send window
function fnWindowEmail(psEmail) {
	var poWindow = window.open("mailto:" + psEmail);
}
// Open external search window
function fnSearchExternal() {
	if(frmSearchExternal.searchtext.value.length > 0) {
		if(frmSearchExternal.engine[0].checked)			var poWindow = window.open("http://www.google.no/search?q=" + frmSearchExternal.searchtext.value,"window_extsearch","toolbar=1,location=1,status=1,menubar=1,resizable=1,scrollbars=1,fullscreen=1");
		else if(frmSearchExternal.engine[1].checked)	var poWindow = window.open("http://search.kvasir.sol.no/query?q=" + frmSearchExternal.searchtext.value,"window_extsearch","toolbar=1,location=1,status=1,menubar=1,resizable=1,scrollbars=1,fullscreen=1");
	}
}

// Set sort method in product search function and submit form
function fnProductSearch(psSortMethod) {
	if(psSortMethod == "sort_title") {
		document.searchproduct.sortby.selectedIndex = 0;
	}
	else if(psSortMethod == "sort_price") {
		if(document.searchproduct.sortby.selectedIndex == 2)	document.searchproduct.sortby.selectedIndex = 3;
		else													document.searchproduct.sortby.selectedIndex = 2;
	}
	document.searchproduct.submit();
}

// Set AddVAT true/false
function fnVATSet(psQueryString, pbAddVAT) {
	psQueryString = psQueryString.replace(/[\&|\?]?session_vat=\d/gi,"");
	piAddVAT = pbAddVAT ? 1 : 0;
	if(psQueryString.length > 0)	psQueryString = "?" + psQueryString + "&session_vat=" + piAddVAT;
	else							psQueryString = "?session_vat=" + piAddVAT;
	document.location = "default.asp" + psQueryString;
}

// Set scroll position
function fnScrollSet() {
	// Check if browser supports client side cookies
	if(window.navigator.cookieEnabled == true) {
		// Store current scroll position in cookie
		document.cookie = "scrollfix=" + document.body.scrollTop + ";";
	}
}
// Scroll to specified position if position is set
function fnScrollFix() {
	var psScrollFix = "";
	var piScrollPos = 0;
	// Check if browser supports client side cookies
	if(window.navigator.cookieEnabled == true) {
		// Get cookie data
		psScrollFix	= document.cookie;
		if(psScrollFix.indexOf("scrollfix=") > -1) {
			psScrollFix	= psScrollFix.substring(psScrollFix.indexOf("scrollfix="), psScrollFix.length);
			if(psScrollFix.indexOf(";") > -1) {
				psScrollFix	= psScrollFix.substring(10, psScrollFix.indexOf(";"));
			}
			else {
				psScrollFix	= psScrollFix.substring(10, psScrollFix.length);
			}
		}
		else {
			psScrollFix = 0;
		}
		piScrollPos = parseInt(psScrollFix);
		// If scroll position is larger than 0, scroll to that postition and clear cookie
		if(piScrollPos > 0) {
			var poTimeOut = setTimeout("window.scrollBy(0, " + piScrollPos + ")", 20);
			document.cookie = "scrollfix=" + 0 + ";";
		}
	}
}

// Validate forms created with response form function in PagePublisher
function fnMailFormValidate(poForm) {
	var poValid = true;
	if(document.images) {
		for(var i=0;i < poForm.length;i++) {
			var poTempField = poForm.elements[i];
			if(poTempField.name.substring(0,3) == "xR_") {
				if(((poTempField.type == "text" || poTempField.type == "textarea") && poTempField.value == "") || (poTempField.type.toString().charAt(0) == "s" && poTempField.selectedIndex == 0)) {
					poValid = false;
					break;
				}
			}
		}
	}
	if(!poValid) alert("Please make sure the \"" + poTempField.name.substring(3,30).toUpperCase() + "\" field was properly completed.");
	return(poValid);
}


//NIFTY
function NiftyCheck(){
if(!document.getElementById || !document.createElement)
    return(false);
isXHTML=/html\:/.test(document.getElementsByTagName('body')[0].nodeName);
if(Array.prototype.push==null){Array.prototype.push=function(){
      this[this.length]=arguments[0]; return(this.length);}}
return(true);
}

function Rounded(selector,wich,bk,color,opt){
var i,prefixt,prefixb,cn="r",ecolor="",edges=false,eclass="",b=false,t=false;

if(color=="transparent"){
    cn=cn+"x";
    ecolor=bk;
    bk="transparent";
    }
else if(opt && opt.indexOf("border")>=0){
    var optar=opt.split(" ");
    for(i=0;i<optar.length;i++)
        if(optar[i].indexOf("#")>=0) ecolor=optar[i];
    if(ecolor=="") ecolor="#666";
    cn+="e";
    edges=true;
    }
else if(opt && opt.indexOf("smooth")>=0){
    cn+="a";
    ecolor=Mix(bk,color);
    }
if(opt && opt.indexOf("small")>=0) cn+="s";
prefixt=cn;
prefixb=cn;
if(wich.indexOf("all")>=0){t=true;b=true}
else if(wich.indexOf("top")>=0) t="true";
else if(wich.indexOf("tl")>=0){
    t="true";
    if(wich.indexOf("tr")<0) prefixt+="l";
    }
else if(wich.indexOf("tr")>=0){
    t="true";
    prefixt+="r";
    }
if(wich.indexOf("bottom")>=0) b=true;
else if(wich.indexOf("bl")>=0){
    b="true";
    if(wich.indexOf("br")<0) prefixb+="l";
    }
else if(wich.indexOf("br")>=0){
    b="true";
    prefixb+="r";
    }
var v=getElementsBySelector(selector);
var l=v.length;
for(i=0;i<l;i++){
    if(edges) AddBorder(v[i],ecolor);
    if(t) AddTop(v[i],bk,color,ecolor,prefixt);
    if(b) AddBottom(v[i],bk,color,ecolor,prefixb);
    }
}

function AddBorder(el,bc){
var i;
if(!el.passed){
    if(el.childNodes.length==1 && el.childNodes[0].nodeType==3){
        var t=el.firstChild.nodeValue;
        el.removeChild(el.lastChild);
        var d=CreateEl("span");
        d.style.display="block";
        d.appendChild(document.createTextNode(t));
        el.appendChild(d);
        }
    for(i=0;i<el.childNodes.length;i++){
        if(el.childNodes[i].nodeType==1){
            el.childNodes[i].style.borderLeft="1px solid "+bc;
            el.childNodes[i].style.borderRight="1px solid "+bc;
            }
        }
    }
el.passed=true;
}
    
function AddTop(el,bk,color,bc,cn){
var i,lim=4,d=CreateEl("b");

if(cn.indexOf("s")>=0) lim=2;
if(bc) d.className="artop";
else d.className="rtop";
d.style.backgroundColor=bk;
for(i=1;i<=lim;i++){
    var x=CreateEl("b");
    x.className=cn + i;
    x.style.backgroundColor=color;
    if(bc) x.style.borderColor=bc;
    d.appendChild(x);
    }
el.style.paddingTop=0;
el.insertBefore(d,el.firstChild);
}

function AddBottom(el,bk,color,bc,cn){
var i,lim=4,d=CreateEl("b");

if(cn.indexOf("s")>=0) lim=2;
if(bc) d.className="artop";
else d.className="rtop";
d.style.backgroundColor=bk;
for(i=lim;i>0;i--){
    var x=CreateEl("b");
    x.className=cn + i;
    x.style.backgroundColor=color;
    if(bc) x.style.borderColor=bc;
    d.appendChild(x);
    }
el.style.paddingBottom=0;
el.appendChild(d);
}

function CreateEl(x){
if(isXHTML) return(document.createElementNS('http://www.w3.org/1999/xhtml',x));
else return(document.createElement(x));
}

function getElementsBySelector(selector){
var i,selid="",selclass="",tag=selector,f,s=[],objlist=[];

if(selector.indexOf(" ")>0){  //descendant selector like "tag#id tag"
    s=selector.split(" ");
    var fs=s[0].split("#");
    if(fs.length==1) return(objlist);
    f=document.getElementById(fs[1]);
    if(f) return(f.getElementsByTagName(s[1]));
    return(objlist);
    }
if(selector.indexOf("#")>0){ //id selector like "tag#id"
    s=selector.split("#");
    tag=s[0];
    selid=s[1];
    }
if(selid!=""){
    f=document.getElementById(selid);
    if(f) objlist.push(f);
    return(objlist);
    }
if(selector.indexOf(".")>0){  //class selector like "tag.class"
    s=selector.split(".");
    tag=s[0];
    selclass=s[1];
    }
var v=document.getElementsByTagName(tag);  // tag selector like "tag"
if(selclass=="")
    return(v);
for(i=0;i<v.length;i++){
    if(v[i].className.indexOf(selclass)>=0){
        objlist.push(v[i]);
        }
    }
return(objlist);
}

function Mix(c1,c2){
var i,step1,step2,x,y,r=new Array(3);
if(c1.length==4)step1=1;
else step1=2;
if(c2.length==4) step2=1;
else step2=2;
for(i=0;i<3;i++){
    x=parseInt(c1.substr(1+step1*i,step1),16);
    if(step1==1) x=16*x+x;
    y=parseInt(c2.substr(1+step2*i,step2),16);
    if(step2==1) y=16*y+y;
    r[i]=Math.floor((x*50+y*50)/100);
    }
return("#"+r[0].toString(16)+r[1].toString(16)+r[2].toString(16));
} 
