

/*
 * logon
 */

function checkLogin(){
	if (document.user_details.sUsername.value.length == 0){alert("Du har ikke angitt brukernavn ditt. Skriv inn brukernavn ditt, og prøv på nytt!");return false;}
	if (document.user_details.sPassword.value.length == 0){alert("Du har ikke angitt passord. Skriv inn passordet ditt og prøv på nytt!");return false;}
}

/*
 *  bookpresentation
 */
function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {
		alert("E-postadressen ble ikke godkjent. Husk @-tegnet og punktum på riktig sted.");
		return false;
	}

	var user=matchArray[1];
	var domain=matchArray[2];

	if (user.match(userPat)==null) {
	    alert("E-postadressen ble ikke godkjent. Husk @-tegnet og punktum på riktig sted.");
	    return false;
	}

	var IPArray=domain.match(ipDomainPat);

	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("E-postadressen ble ikke godkjent. Husk @-tegnet og punktum på riktig sted.");
				return false;
			}
		}
		return true;
	}

	var domainArray=domain.match(domainPat);

	if (domainArray==null) {
		alert("E-postadressen ble ikke godkjent. Husk @-tegnet og punktum på riktig sted.");
	    return false;
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;

	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>5) {
	    alert("E-postadressen ble ikke godkjent. Husk @-tegnet og punktum på riktig sted.");
	    return false;
	}
	if (len<2) {
	    var errStr="E-postadressen ble ikke godkjent. Husk @-tegnet og punktum på riktig sted.";
	    alert(errStr);
	    return false;
	}
	return true;
}
 
     
function ArticleTextRule(objname,articletype,hasLargeBookText,hasMediumBookText,hasMediumBookTextHeading,hasMediumBookTextLead,hasMediumBookTextSplash,hasAuthorText,hasLeaderText,hasOtherText,hasSampleText,hasCampaignText,hasMainBookText,hasMainBookTextHeading,hasMainBookTextLead,hasMainBookTextSplash,hasWebIngressText,hasCatalogText, hasAnmeldelse, hasTranslator, hasPublisher, hasBindType, hasPages){
	var hasContentSizeDisplayText = 0;
	/* ## Förklaring ##
		Regler för artikel
	*/
	switch (articletype){
		case 1: 
			//huvudbok
			if (hasMainBookText == 1){
				xDOM(objname+"MainBookText").className = "displayblock";	
				if(hasMainBookTextHeading == 1) xDOM(objname+"MainBookTextHeading").className = "displayblock";
				if(hasMainBookTextLead == 1) xDOM(objname+"MainBookTextLead").className = "displayblock";
				//if(hasMainBookTextSplash == 1) xDOM(objname+"MainBookTextSplash").className = "displayblock";
			}else if(hasMediumBookText == 1){
				xDOM(objname+"MediumBookText").className = "displayblock";	
				if(hasMediumBookTextHeading == 1) xDOM(objname+"MediumBookTextHeading").className = "displayblock";
				if(hasMediumBookTextLead == 1) xDOM(objname+"MediumBookTextLead").className = "displayblock";
				//if(hasMediumBookTextSplash == 1) xDOM(objname+"MediumBookTextSplash").className = "displayblock";
			}else if(hasCatalogText == 1){
				xDOM(objname+"CatalogText").className = "displayblock";
			};
			//if(hasLeaderText == 1) xDOM(objname+"LeaderLink").className = "displayblock";
			if(hasAnmeldelse == 1) xDOM(objname+"Anmeldelse").className = "displayblock";
			if(hasAuthorText == 1) xDOM(objname+"AuthorLink").className = "displayblock";
			if(hasSampleText == 1) xDOM(objname+"SampleLink").className = "displayblock";
			if(hasContentSizeDisplayText == 1){
			    xDOM(objname+"ContentSizeDisplay").className = "displayblock"; 
			}else{
			    if(hasBindType.length >= 2) xDOM(objname+"BindType").className = "displayinline"; 
			    if(hasPages.length >= 2) xDOM(objname+"Pages").className = "displayinline"; 
			}
			if(hasTranslator.length >= 2) xDOM(objname+"Translator").className = "displayblock";
			if(hasPublisher.length >= 2) xDOM(objname+"Publisher").className = "displayblock";
			
			break;
		case 2: 
			//lesmer
			if (hasMainBookText == 1){
				xDOM(objname+"MainBookText").className = "displayblock";	
				if(hasMainBookTextHeading == 1) xDOM(objname+"MainBookTextHeading").className = "displayblock";
				if(hasMainBookTextLead == 1) xDOM(objname+"MainBookTextLead").className = "displayblock";
				//if(hasMainBookTextSplash == 1) xDOM(objname+"MainBookTextSplash").className = "displayblock";
				//if(hasLeaderText == 1) xDOM(objname+"LeaderText").className = "displayblock";
				//if(hasAnmeldelse == 1) xDOM(objname+"Anmeldelse").className = "displayblock";
			}else if(hasMediumBookText == 1){
				xDOM(objname+"MediumBookText").className = "displayblock";	
				if(hasMediumBookTextHeading == 1) xDOM(objname+"MediumBookTextHeading").className = "displayblock";
				if(hasMediumBookTextLead == 1) xDOM(objname+"MediumBookTextLead").className = "displayblock";
				//if(hasMediumBookTextSplash == 1) xDOM(objname+"MediumBookTextSplash").className = "displayblock";
			}else if(hasCatalogText == 1){
				xDOM(objname+"CatalogText").className = "displayblock";
			};
			
			if(hasAuthorText == 1) xDOM(objname+"AuthorLink").className = "displayblock";
			if(hasSampleText == 1) xDOM(objname+"SampleLink").className = "displayblock";
			if(hasContentSizeDisplayText == 1){
			    xDOM(objname+"ContentSizeDisplay").className = "displayblock"; //20060426
			}else{
			    if(hasBindType.length  >= 2) xDOM(objname+"BindType").className = "displayinline"; //20060426
			    if(hasPages.length  >= 2) xDOM(objname+"Pages").className = "displayinline"; //20060426
			}
			if(hasTranslator.length >= 2) xDOM(objname+"Translator").className = "displayblock";
			if(hasPublisher.length  >= 2) xDOM(objname+"Publisher").className = "displayblock";
			if(hasPublisher.length  >= 2) xDOM(objname+"Publisher").className = "displayblock";
			if(xDOM(objname+"Narrator").innerHTML.length >= 6) xDOM(objname+"Publisher").className = "displayblock";
			break;
		case 3:
			//normal 
			if(hasCatalogText == 1)	xDOM(objname+"CatalogText").className = "displayblock";
			if(hasMainBookText == 1 || hasMediumBookText == 1 || hasCatalogText == 1){
				xDOM(objname+"ReadLink").className = "displayblock";
				/*
				xDOM(objname+"Image").onclick = function() {
					location.href="../800/800.asp?ArticleId="+objname+"&typ=normal";
				}
				*/	
			}
			break;
		case 4: 
			//utdrag
			if(hasSampleText == 1) xDOM(objname+"SampleText").className = "displayinline";
			if(hasContentSizeDisplayText == 1){
			    xDOM(objname+"ContentSizeDisplay").className = "displayblock"; //20060426
			}else{
			    if(hasBindType.length  >= 2) xDOM(objname+"BindType").className = "displayblock"; //20060426
			    if(hasPages.length  >= 2) xDOM(objname+"Pages").className = "displayinline"; //20060426
			}
			if(hasTranslator.length >= 2) xDOM(objname+"Translator").className = "displayblock";
			if(hasPublisher.length  >= 2) xDOM(objname+"Publisher").className = "displayblock";
			break;
		case 5:
			//liten, mellan, stor
			if(hasMainBookText == 1 || hasMediumBookText == 1 || hasCatalogText == 1){
				xDOM(objname+"ReadLink").className = "displayblock";
				/*
				xDOM(objname+"Image").onclick = function() {
					location.href="../800/800.asp?ArticleId="+objname+"&typ=normal";
				}
				*/		
			}
			break;
		case 6: 
			//lesmer forfattere
			if (hasAuthorText == 1){
				 xDOM(objname+"AuthorText").className = "displayblock";
				 xDOM(objname+"AuthorTextHeading").className = "displayblock";
				 xDOM(objname+"AuthorTextLead").className = "displayblock";	
			}
			break;
		case 7: 
			//lesmer leder
			if (hasLeaderText == 1){
				 xDOM(objname+"LeaderText").className = "displayblock";
				 xDOM(objname+"LeaderTextHeading").className = "displayblock";
				 xDOM(objname+"LeaderTextLead").className = "displayblock";	
			}
			
			break;
		default : 
			break;
	}
}

function MediaRule(objname,hasNarrator,Narrator,ItemCount,RunningTime,HasMultimediaType,MultimediaTypeDuration,MultimediaTypeBitRate,MultimediaTypeFileName, HasMultimedia2Type, MultimediaType2FileName) {
	//rule for show mp3 info + icon
    /*
    // Uncomment for media
    if(hasNarrator == "1") xDOM(objname+"Narrator").className = "displayblock";
    if(ItemCount.length > 0 && ItemCount != "0") xDOM(objname+"ItemCount").className = "displayblock";  
    if(RunningTime.length > 0 && RunningTime != "0") xDOM(objname+"RunningTime").className = "displayblock";   
    if(HasMultimediaType == "1"){ 
		if(MultimediaTypeFileName.length > 0) xDOM(objname+"Mp3Button").className = "displayblock";  
	}
	if(HasMultimedia2Type == "1"){ 
		if(MultimediaType2FileName.length > 0) xDOM(objname+"VideoButton").className = "displayblock";  
	}
	*/
}

function imagePopupSpecial(images){
    var oImg = window.open("/popup/imagespecial.asp?images="+images,null,"height=200,width=200,status=no,toolbar=no,menubar=no,location=no,resizable=1,scrollable=no");
}

function imagePopup(src){
    var oImg = window.open("/popup/image.asp?src="+src,null,"height=200,width=200,status=no,toolbar=no,menubar=no,location=no,resizable=1,scrollable=no");
}

function videoPopup(src){
    var oVid = window.open("/popup/video.asp?src="+src,null,"height=255,width=320,status=no,toolbar=no,menubar=no,location=no,resizable=1,scrollable=no");
}

function soundPopup(src){
    var oSnd = window.open("/popup/sound.asp?src="+src,null,"height=255,width=320,status=no,toolbar=no,menubar=no,location=no,resizable=1,scrollable=no");
}

function infoPopup(subject, text, width, height){
    var oInf = window.open("/popup/information.asp?subject="+subject+"&text="+text,null,"height="+height+",width="+width+",status=no,toolbar=no,menubar=no,location=no,resizable=1,scrollable=yes");
}

/*
 *  other
 */

function checkField(){
	if(document.searchform.q.value.length == 0)
	{
		alert("Du må skrive inn noe i søkefeltet for å kunne søke");
		return false;
	}	
}

function goback(){
	location.replace(document.referrer);
}

function fAlterDate(inDate){
	var dDate = new Date(Date.parse(inDate.replace(/-/g, '/')));
	dDate.setDate(dDate.getDate()-1);
	var tempYear = dDate.getYear()+''
	if(dDate.getYear()<1000) tempYear = dDate.getYear()+1900+'';
	tempYear = tempYear.substring(2,4);
	var tempMonth = dDate.getMonth() + 1;
	var tempDay = dDate.getDate();
	outDate = tempDay + "." + tempMonth + "." + tempYear
	return outDate;
}

function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function xDOM(objectId) {
	if (document.getElementById) return (eval('document.getElementById(objectId)'));
	if (document.all) return (eval('document.all[objectId]'));
	if (document.layers) return (eval('document.layers[objectId]'));
} 

function validate(field, errMsg) {
	var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
	    temp = "" + field.value.substring(i, i+1);
	    if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
	    alert(errMsg);
	    field.focus();
	    field.select();
	}
}

function isValidDate(dateStr) {
	// Checks for the following valid date formats:
	// DDMMYY 

	var datePat = /^(\d{1,2})(\d{1,2})(\d{1,2})$/; // requires 4 digit year

	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		alert("(" + dateStr + ") Fødelsedato skall skrives slik: ddmmåå F.eks. 250499")
		return false;
	}
	day = matchArray[1];
	month = matchArray[2]; // parse date into variables
	year = matchArray[3];
	if (month < 1 || month > 12) { // check month range
		alert("Fødelsedato skall skrives slik: ddmmåå F.eks. 250499");
		return false;
	}
	if (day < 1 || day > 31) {
		alert("Fødelsedato skall skrives slik: ddmmåå F.eks. 250499");
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert("Fødelsedato skall skrives slik: ddmmåå F.eks. 250499")
		return false;
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	if (day>29 || (day==29 && !isleap)) {
		alert("Fødelsedato skall skrives slik: ddmmåå F.eks. 250499");
		return false;
	  }
	}
	return true;
}



function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}


