// SEARCH FORM VALIDATION SCRIPT

     function validateSearchFrom(el) {
      var wrd="";
      wrd=el.word.value;
      //wrd=wrd.replace( /^\s+/g, "" );// strip leading
      //wrd=wrd.replace( /\s+$/g, "" );// strip trailing
      if (wrd.length<3) {
       alert('Minimum length for word is 3');
       return false;
      }
      else {return true;}
     }

// =================================================================


//
//	Version 2.4
//	
//	History
//	1.0 	Initial version
//	1.1		Added Macintosh browser check
//  1.2 	Fixed Macintosh IE 5.x detection, added version detection for PC IE
//  2.0		Added IE and Netscape 4 Flash version detection
//  2.1		Functions added: generateBasicFlashObject, generateBasicNoFlashPage
//  2.2 	Fixed Opera browser compatibility problem
//  2.3		Streamlined browser detection
//
var flash2Installed = false; 
var flash3Installed = false;   
var flash4Installed = false;    
var flash5Installed = false;  
var flash6Installed = false;   
var flash7Installed = false;   
var flash8Installed = false;    
var flash9Installed = false; 
var maxver = 9;

function checkBrowser() {
	this.agent=navigator.userAgent;
	this.msie = this.agent.indexOf("MSIE")>-1&&this.agent.indexOf("Opera")==-1;
	this.macmsie = this.agent.indexOf("MSIE")>-1&&this.agent.indexOf("Mac")>-1;
	this.firefox = this.agent.indexOf("Mozilla/5.0")>-1&&this.agent.indexOf("Firefox")>-1&&this.agent.indexOf("Netscape")==-1;
	this.mozilla = this.agent.indexOf("Mozilla/5.0")>-1&&this.agent.indexOf("Firefox")==-1&&this.agent.indexOf("Netscape")==-1;
	this.safari = this.agent.indexOf("Safari")>-1&&this.agent.indexOf("Mac")>-1;
	this.netscape4 = document.layers;
	this.netscape = this.agent.indexOf("Mozilla/5.0")>-1&&this.agent.indexOf("Firefox")==-1&&this.agent.indexOf("Netscape")>-1;
	this.operaie = this.agent.indexOf("MSIE")>-1&&this.agent.indexOf("Opera")>-1;
	this.opera = this.agent.indexOf("MSIE")==-1&&this.agent.indexOf("Opera")>-1;
	this.operasym = this.agent.indexOf("Symbian")>-1&&this.agent.indexOf("Opera")>-1;
	this.n770 = this.agent.indexOf("N770/SU-18")>-1;
	return this;
}

var br = checkBrowser();

function flashDetectHTML(flashHTML,noFlashHTML,required_version) {
	required_version = parseInt(required_version);
	if (br.operasym) {
		document.write(noFlashHTML);
	} else {
		if (br.n770) {
			document.write(noFlashHTML);
		} else if (br.opera || br.operaie || br.mozilla || br.netscape || br.safari || br.firefox || br.macmsie) {
		//
		//	Detection for Mac Internet Explorer, Safari, Opera (7.x, 8.x) and Gecko (Mozilla, FF, Netscape 6.x, 7.x) based browsers.
		//	Detects also version of Flash player and compares value to "required_version" variable.
		//
			if (navigator.plugins['Shockwave Flash']) {
				var description = navigator.plugins['Shockwave Flash'].description;
				var description_array = description.split(" ");
				var version_array = description_array[2].split(".");
				if (version_array[0]<required_version) {
					document.write(noFlashHTML);
				} else {
					document.write(flashHTML);
				}
			} else {
				document.write(noFlashHTML);
			}
		} else if (br.msie) {
		//
		//	Detection for Microsoft Internet Explorer 5.x and 6.x PC browsers.
		//	Does not detect flash version, just checks if plugin exists.
		//
		  var ie_true = false;
		  document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
		  document.write('on error resume next \n');
		  document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
		  document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
		  document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
		  document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');  
		  document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');  
		  document.write('flash7Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');
		  document.write('flash8Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.8"))) \n');
		  document.write('flash9Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.9"))) \n');
		  document.write('<\/SCR' + 'IPT\> \n'); // break up end tag so it doesn't end our script

		  for (var i=2;i<=maxver;i++) {
		  		if (i==required_version) {
					if (eval("flash" + i + "Installed") == true) {
						ie_true = true;
					}
				}
		  }

		  if (!ie_true) {
			document.write(noFlashHTML);
		  } else {
			document.write(flashHTML);
		  }
				
		} else if (br.netscape4) {
		//
		//	Detection for old Netscape 4.x browsers. 
		//
			ns_flash = false;
			for (var i=0;i<=navigator.plugins.length;i++) {
				var plugin = navigator.plugins[i];
				if (plugin.name=="Shockwave Flash") {
					ns_flash = true;
					var description = plugin.description;
					var description_array = description.split(" ");
					var version_array = description_array[2].split(".");
					if (version_array[0]>=required_version) {
						document.write(flashHTML);
					} else {
						document.write(noFlashHTML);
					}
				}
			}
			if (!ns_flash) {
				document.write(noFlashHTML);
			}
		} 
	}
}

// Generates object and embed tags needed
function generateBasicFlashObject(flash_file, flash_width, flash_height, flash_params_obj, flash_params_emb) {

	var flash_HTML;

	flash_HTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+flash_width+'" height="'+flash_height+'" id="index" align="middle">';
	flash_HTML += '<param name="allowScriptAccess" value="sameDomain" />';
	flash_HTML += '<param name="movie" value="'+flash_file+'" />';
	if(flash_params_obj) { flash_HTML += flash_params_obj; }
	flash_HTML += '<param name="quality" value="high" />';
	flash_HTML += '<param name="bgcolor" value="#ffffff" />';
	flash_HTML += '<embed src="'+flash_file+'" ';
	if(flash_params_emb) { flash_HTML += flash_params_emb; }
	flash_HTML += ' quality="high" bgcolor="#ffffff" width="'+flash_width+'" height="'+flash_height+'" name="index" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	flash_HTML += '</object>';   

	return flash_HTML;

}

// Generates download link to flash plug-in
function generateBasicNoFlashPage() {
	
	var noFlash_HTML;
	
	noFlash_HTML = '<a href="http://www.macromedia.com/go/getflashplayer/" target="_blank">Lataa Flash-player Macromedian sivuilta.</a>';


	return noFlash_HTML;

}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}


/*
 * FlashObject embed
 * http://blog.deconcept.com/2004/10/14/web-standards-compliant-javascript-flash-detect-and-embed/
 *
 * by Geoff Stearns (geoff@deconcept.com, http://www.deconcept.com/)
 *
 * v1.0.7 - 11-17-2004
 *
 * Create and write a flash movie to the page, includes detection
 *
 * Usage:
 *
 *	myFlash = new FlashObject("path/to/swf.swf", "swfid", "width", "height", flashversion, "backgroundcolor");
 *	myFlash.altTxt = "Upgrade your Flash Player!";                // optional
 *	myFlash.addParam("wmode", "transparent");                     // optional
 *	myFlash.addVariable("varname1", "varvalue");                  // optional
 *	myFlash.addVariable("varname2", getQueryParamValue("myvar")); // optional
 *	myFlash.write();
 *
 */

FlashObject = function(swf, id, w, h, ver, c) {
	this.swf = swf;
	this.id = id;
	this.width = w;
	this.height = h;
	this.version = ver || 6; // default to 6
	this.align = "middle"; // default to middle
	this.redirect = "";
	this.sq = document.location.search.split("?")[1] || "";
	this.altTxt = "";
	this.bypassTxt = "";
	this.params = new Object();
	this.variables = new Object();
	if (c) this.color = this.addParam('bgcolor', c);
	this.addParam('quality', 'high'); // default to high
	this.doDetect = getQueryParamValue('detectflash');
}

FlashObject.prototype.addParam = function(name, value) {
	this.params[name] = value;
}

FlashObject.prototype.getParams = function() {
    return this.params;
}

FlashObject.prototype.getParam = function(name) {
    return this.params[name];
}

FlashObject.prototype.addVariable = function(name, value) {
	this.variables[name] = value;
}

FlashObject.prototype.getVariable = function(name) {
    return this.variables[name];
}

FlashObject.prototype.getVariables = function() {
    return this.variables;
}

FlashObject.prototype.getParamTags = function() {
    var paramTags = "";
    for (var param in this.getParams()) {
        paramTags += '<param name="' + param + '" value="' + this.getParam(param) + '" />';
    }
    if (paramTags == "") {
        paramTags = null;
    }
    return paramTags;
}

FlashObject.prototype.getHTML = function() {
    var flashHTML = "";
    if (window.ActiveXObject && navigator.userAgent.indexOf('Mac') == -1) { // PC IE
        flashHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '" align="' + this.align + '">';
        flashHTML += '<param name="movie" value="' + this.swf + '" />';
        if (this.getParamTags() != null) {
            flashHTML += this.getParamTags();
        }
        if (this.getVariablePairs() != null) {
            flashHTML += '<param name="flashVars" value="' + this.getVariablePairs() + '" />';
        }
        flashHTML += '</object>';
    }
    else { // Everyone else
        flashHTML += '<embed type="application/x-shockwave-flash" src="' + this.swf + '" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '" align="' + this.align + '"';
        for (var param in this.getParams()) {
            flashHTML += ' ' + param + '="' + this.getParam(param) + '"';
        }
        if (this.getVariablePairs() != null) {
            flashHTML += ' flashVars="' + this.getVariablePairs() + '"';
        }
        flashHTML += '></embed>';
    }
    return flashHTML;	
}


FlashObject.prototype.getVariablePairs = function() {
    var variablePairs = new Array();
    for (var name in this.getVariables()) {
        variablePairs.push(name + "=" + escape(this.getVariable(name)));
    }
    if (variablePairs.length > 0) {
        return variablePairs.join("&");
    }
    else {
        return null;
    }
}

FlashObject.prototype.write = function(elementId) {

	if(detectFlash(this.version) || this.doDetect=='false') {
		if (elementId) {
			document.getElementById(elementId).innerHTML = this.getHTML();
		} else {
			document.write(this.getHTML());
		}
	} else {
		if (this.redirect != "") {
			document.location.replace(this.redirect);
		} else {
			if (elementId) {
				document.getElementById(elementId).innerHTML = this.altTxt +""+ this.bypassTxt;
			} else {
				document.write(this.altTxt +""+ this.bypassTxt);
			}
		}
	}		
}

function getFlashVersion() {
	var flashversion = 0;
	if (navigator.plugins && navigator.plugins.length) {
		var x = navigator.plugins["Shockwave Flash"];
		if(x){
			if (x.description) {
				var y = x.description;
	   			flashversion = y.charAt(y.indexOf('.')-1);
			}
		}
	} else {
		result = false;
	    for(var i = 15; i >= 3 && result != true; i--){
   			execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');
   			flashversion = i;
   		}
	}
	return flashversion;
}

function detectFlash(ver) {	
	if (getFlashVersion() >= ver) {
		return true;
	} else {
		return false;
	}
}

// get value of querystring param
function getQueryParamValue(param) {
	var q = document.location.search;
	var detectIndex = q.indexOf(param);
	var endIndex = (q.indexOf("&", detectIndex) != -1) ? q.indexOf("&", detectIndex) : q.length;
	if(q.length > 1 && detectIndex != -1) {
		return q.substring(q.indexOf("=", detectIndex)+1, endIndex);
	} else {
		return "";
	}
}

/* add Array.push if needed */
if(Array.prototype.push == null){
	Array.prototype.push = function(item){
		this[this.length] = item;
		return this.length;
	}
}

