//----------------------------------------------------------------------------------------------------------
// Browser testen, erzeugt stBrowser (gleich wie CF Browsererkennung)
// stBrowser.bMac 		-> true, false (boolean) 
// stBrowser.sVersion	-> Versionsnummer (float)
// stBrowser.sBrowser	-> "NS", "IE", "SAFARI", "OPERA" (string)
// stBrowser.sType		-> "DOM", "IELAYER", "NSLAYER" (string)


function oBrowser(f_bMac,f_sVersion,f_sBrowser,f_sType) 
{
	this.bMac = f_bMac;
	this.sVersion = f_sVersion;
	this.sBrowser = f_sBrowser;
	this.sType = f_sType;
}

var bMac = false;
var sVersion = 3.0;
var sBrowser = "IE";
var sType = "IELAYER";
var http_user_agent = navigator.userAgent.toLowerCase(); 	

if (http_user_agent.indexOf("mac") != -1)
{
	bMac = true;
}

if (http_user_agent.indexOf("opera") != -1) 
{
	sBrowser = "OPERA";
	if (http_user_agent.indexOf("opera 7") != -1)		sVersion = "7";
	else if (http_user_agent.indexOf("opera 6") != -1)	sVersion = "6";
	else if (http_user_agent.indexOf("opera 5") != -1)	sVersion = "5";
	else if (http_user_agent.indexOf("opera 4") != -1)	sVersion = "4";
	else if (http_user_agent.indexOf("opera 3") != -1)	sVersion = "3";
	else sVersion = "2";	
		
}	
else if (http_user_agent.indexOf("msie") != -1 && http_user_agent.indexOf("compatible") != -1)
{
	sBrowser = "IE";
	if (http_user_agent.indexOf("msie 5.5") != -1)			sVersion = "5.5";
	else if (http_user_agent.indexOf("msie 5.2") != -1)		sVersion = "5.2";
	else if (http_user_agent.indexOf("msie 5") != -1)		sVersion = "5";
	else if (http_user_agent.indexOf("msie 6") != -1)		sVersion = "6";
	else sVersion = "4";
}
else if (http_user_agent.indexOf("applewebkit") != -1 && http_user_agent.indexOf("safari") != -1)
{
	sBrowser = "SAFARI";
	sVersion = "1";
}	
else if (http_user_agent.indexOf("mozilla") != -1)
{
	sBrowser = "NS";
	if (http_user_agent.indexOf("mozilla/5") != -1)			sVersion = "5";
	else if (http_user_agent.indexOf("mozilla/4") != -1)	sVersion = "4";
	else if (http_user_agent.indexOf("mozilla/3") != -1)	sVersion = "3";
}	

if ((sBrowser == "IE" && sVersion >= 5 && !bMac) ||
	(sBrowser == "IE" && sVersion >= 5.2 && bMac) ||
	(sBrowser == "NS" && sVersion >= 5) || 
	(sBrowser == "OPERA" && sVersion >= 7) || 
	(sBrowser == "SAFARI" && sVersion >= 1))
{
	sType = "DOM";
}
else if (sBrowser == "NS" && sVersion == 4)
{
	sType = "NSLAYER";
}
else if ((sBrowser == "IE" && sVersion == 4) || (bMac && sBrowser == "IE" && sVersion <= 5))
{
	sType = "IELAYER";
}
else
{
	sType = "OLD";
}	

stBrowser = new oBrowser(bMac,sVersion,sBrowser,sType);

//--------------------------------------------------
	var MM_contentVersion = 6; // min flash version
	
	var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
	if ( plugin ) 
	{
			var words = navigator.plugins["Shockwave Flash"].description.split(" ");
		    for (var i = 0; i < words.length; ++i)
		    {
			if (isNaN(parseInt(words[i])))
			continue;
			var MM_PluginVersion = words[i]; 
		    }
		var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
	}
	else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 
	   && (navigator.appVersion.indexOf("Win") != -1)) 
	   {
		document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); //FS hide this from IE4.5 Mac by splitting the tag
		document.write('on error resume next \n');
		document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
		document.write('</SCR' + 'IPT\> \n');
	}

//--------------------------------------------------
function getObject(f_sObject)
{
	if (stBrowser.sType == "DOM")
	{
		return document.getElementById(f_sObject);
	}
	else
	{
		return eval("document.all." + f_sObject);
	}
}

function noCache()
{
	return "uNC=" + parseInt(Math.random()*10000000);

}

/* win_open(where,x,y)*/
function winOpen(f_sWhere)
{
	if (arguments.length > 1)
	{
		sWin = arguments[1];
	}
	else
	{
		sWin = 1;
	}
	
	if (arguments.length <= 2)
	{
		iX = 700;
		iY = 550;
	}
	else
	{
		iX = arguments[2];
		iY = arguments[3];
	}
	
	win = window.open(f_sWhere,"Object"+sWin,"resizable=yes,status=0,scrollbars=1,width="+iX+",height="+iY);
	win.focus();
}

function getCheckedValue(f_objRadio)
{

	for (i = 0; i < f_objRadio.length; i++) 
	{
		if (f_objRadio[i].checked == true) 
		{
			return f_objRadio[i].value
		}
	}	

	return -1;
}


function showLayer(f_sObject)
{

	obj = getObject(f_sObject);
	if (obj.style.visibility == "hidden")
	{
		obj.style.visibility = "visible";
	}
	else
	{
		obj.style.visibility = "hidden";
	}
}

function minusSize()
{
	var bMinus = true;
	
	for(i=0; i < document.styleSheets.length; i++)
	{
		if(stBrowser.sBrowser == "IE")
		{
			oCSS = document.styleSheets[i].rules;
		}
		else
		{
			oCSS = document.styleSheets[i].cssRules;
		}
		
		for(j=0; j < oCSS.length; j++)
		{
			if(oCSS[j].selectorText == 'h3' && parseInt(oCSS[j].style.fontSize) < 8)
			{
				bMinus = false;
			}
		}
		if (bMinus)
		{
			for(j=0; j < oCSS.length; j++)
			{
				if (oCSS[j].style.fontSize != "" && parseInt(oCSS[j].style.fontSize) > 3)
				{
					oCSS[j].style.fontSize = (parseInt(oCSS[j].style.fontSize) - 1) + 'px';		
				}
			}
		}
			
	}	
}

function plusSize()
{
	for(i=0; i < document.styleSheets.length; i++)
	{
		if(stBrowser.sBrowser == "IE")
		{
			oCSS = document.styleSheets[i].rules;
		}
		else
		{
			oCSS = document.styleSheets[i].cssRules;
		}
		
		for(j=0; j < oCSS.length; j++)
		{
			if (oCSS[j].style.fontSize != "" && parseInt(oCSS[j].style.fontSize) > 3)
			{
				oCSS[j].style.fontSize = (parseInt(oCSS[j].style.fontSize) + 1) + 'px';	
			}
		}
	}
}

iTimer = null;
function setLangMenu()
{
	var iWidth = 0;
	var iOffset = 0;
	
	if (arguments.length > 1)
	{
		iOffset = arguments[1];
	}
	
	obj = getObject("lang-menu");
	
	if (stBrowser.sType == "DOM")
	{
		if (stBrowser.sBrowser == "IE" && sVersion >= 5)
		{
			iWidth = document.body.clientWidth;
		}
		else
		{
			iWidth = window.innerWidth;
		}
		
		if (iWidth < 680)
		{
			obj.style.left = 0;
		}
		else
		{
			if (stBrowser.sBrowser == "NS" && stBrowser.sVersion == "5")
			{
				obj.style.left = Math.round((iWidth - 670)/2)+170-10;
			}
			else
			{
				obj.style.left = Math.round((iWidth - 670)/2)+170;
				//alert(getObject("lang-menu2").style.top);
				//getObject("lang-menu2").style.top = 14;
				getObject("lang-menu2").style.top = iOffset + 14;
			}
				
		}
		
		
	}
	iTimer = setTimeout("setLangMenu("+iOffset+")",100);
}


//--------------------------------------------------
/**
 * Application : image library
 * File        : _js/imageLibrary.js
 * @version    : 0.1
 * @author     : acn <acn@getunik.com>
 * @copyright  : copyright 05.07.2006 by http://www.getunik.com
 * 
 * Long desc:
 * Object oriented javascript function library to build a image library.
 * Take notice of the example created by acn@getunik.com.
 * 
 * Version-History:
 * 05.07.2006.getunik.acn : initial release
 * 25.08.2006.getunik.mvr : - checks now if description and caption elements are defined in html page
 * 							- if an element called 'imageLibrary#iIdx#Tooltip' exists it will be filled with description and caption
 */
 

/**
* main function to initiate a new image library object
*   - open a own data storage container, containig all informations for the image library
*
* @param  string  sImageLibraryName  the name of the image library. used to differ different image libraries od the same page.
* @param  array   aImageLibraryData  the data of the image library. format is not checked, must correspond to the example!
*/
function imageLibrary(sImageLibraryName, aImageLibraryData)
{
	if(typeof(sImageLibraryName) == 'string' && typeof(aImageLibraryData) == 'object' && sImageLibraryName != '' && aImageLibraryData.length > 0)
	{
		// save object specific data within the scope of 'this' object
		this.sImageLibraryName   = sImageLibraryName;
		this.aImageLibraryData   = aImageLibraryData;
		this.iActPos             = 0;
		this.iImageLibraryLength = aImageLibraryData.length
		this.aPrevImgs           = new Array();
		// generate preview image objects
		for(i in this.aImageLibraryData)
		{
			if(!isNaN(i))
			{
				if(this.aImageLibraryData[i]['previmgsrc'])
				{
					this.aPrevImgs[i]     = new Image();
					this.aPrevImgs[i].src = this.aImageLibraryData[i]['previmgsrc'];
				}
			}
		}
	}
	else
	{
		alert('imageLibrary.js\nError within imageLibrary():\nSubmitted data are corrupt!');
	}
}


/**
* set the visibility of the navigation buttons
*
* @param  string  sElementName  the id name of the object
* @param  array   sVisibility   the type of the new visibility status [visible|hidden]
*/
imageLibrary.prototype.setNavVisibility = function(sElementName, sVisibility)
{
	if(typeof(sElementName) == 'string' &&  typeof(sVisibility) == 'string')
	{
		if(document.getElementById(sElementName))
		{
			switch(sVisibility)
			{
				case "visible":
					document.getElementById(sElementName).style.visibility = "visible";
					break;
				case "hidden":
					document.getElementById(sElementName).style.visibility = "hidden";
					break;
				default:
					alert('imageLibrary.js\nError within setNavVisibility():\nVisibility value is wrong: \'' + sVisibility + '\'!');
					break;
			}
		}
		else
		{
			alert('imageLibrary.js\nError within setNavVisibility():\nElement id doesn\'t exist: \'' + sElementName + '\'!');
		}
	}
	else
	{
		alert('imageLibrary.js\nError within setNavVisibility():\nSubmitted data are corrupt!');	
	}
}


/**
* function to load the first object; use this as 'onload' statement
* within your html body tag, a.e.:
* <body onload="oMyImageLibrary.loadFirstObject();">
*/
imageLibrary.prototype.loadFirstObject = function()
{
	// load first image
	sImgName = this.sImageLibraryName + 'Image';
	if(document.getElementById(sImgName))
	{
		document.getElementById(sImgName).src    = this.aPrevImgs[this.iActPos].src;
		document.getElementById(sImgName).width  = this.aImageLibraryData[this.iActPos]['width'];
		document.getElementById(sImgName).height = this.aImageLibraryData[this.iActPos]['height'];
	}

	// load first description
	sDescriptionName = this.sImageLibraryName + 'Description';
	if(document.getElementById(sDescriptionName) && this.aImageLibraryData[this.iActPos]['description'] != "")
	{
		document.getElementById(sDescriptionName).firstChild.data = this.aImageLibraryData[this.iActPos]['description'];
	}
	
	// load first caption
	sCaptionName = this.sImageLibraryName + 'Caption';
	if(document.getElementById(sCaptionName) && this.aImageLibraryData[this.iActPos]['caption'] != "")
	{
		document.getElementById(sCaptionName).firstChild.data = this.aImageLibraryData[this.iActPos]['caption'];
	}
	
	// load first tooltip
	sTooltipName = this.sImageLibraryName + 'Tooltip';
	if(document.getElementById(sTooltipName))
	{
		document.getElementById(sTooltipName).firstChild.data = this.aImageLibraryData[this.iActPos]['description'] + '<br>' + this.aImageLibraryData[this.iActPos]['caption'];
	}
	
	// load e-card link text
	sLinkName = this.sImageLibraryName + 'ECard';
	if(document.getElementById(sLinkName) && this.aImageLibraryData['config']['bEcard'])
	{
		document.getElementById(sLinkName).firstChild.data = this.aImageLibraryData['config']['sEcardLinkText'];
	}
	
	// if only one (1) image is defined for the image library,
	// hide informations and navigation buttons
	if(this.iImageLibraryLength <= 1)
	{
		// hide actual position
		sActPos = this.sImageLibraryName + 'ActPos';
		this.setNavVisibility(sActPos, 'hidden');
		// just to ensure; hide the previous button
		sPrevious = this.sImageLibraryName + 'Previous';
		this.setNavVisibility(sPrevious, 'hidden');
		// just to esure; hide the next button
		sNext = this.sImageLibraryName + 'Next';
		this.setNavVisibility(sNext, 'hidden');
	}
	else
	{
		// display actual position
		sActPos = this.sImageLibraryName + 'ActPos';
		this.setNavVisibility(sActPos, 'visible');	
		sImagePos = this.sImageLibraryName + 'ImagePos';
		if(document.getElementById(sImagePos))
		{
			document.getElementById(sImagePos).firstChild.data = this.getActPosition();
		}
		// just to ensure; hide the previous button
		sPrevious = this.sImageLibraryName + 'Previous';
		this.setNavVisibility(sPrevious, 'hidden');
		// just to ensure; hide the next button
		sNext = this.sImageLibraryName + 'Next';
		this.setNavVisibility(sNext, 'visible');
	}
}


/**
* function to return the image position, a.e. '4 | 9'
*/
imageLibrary.prototype.getActPosition = function()
{
	iActPos = (this.iActPos <= 0) ? 1 : this.iActPos + 1;
	iActPos = (this.iActPos >= this.iImageLibraryLength) ? this.iImageLibraryLength : this.iActPos + 1;
	sPositionInformation = String(iActPos) + this.aImageLibraryData['config']['sActPosDelimiter'] + this.iImageLibraryLength;
	return sPositionInformation;
}


/**
* function to load the full view image of the actual object
* important notice: it use the function 'openPopUp' which is defined a.e. within 'openPopUp.js'!
*/
imageLibrary.prototype.getFullviewObject = function()
{
	if(this.aImageLibraryData[this.iActPos]['origimgsrc'] != "")
	{
		openPopUp(this.aImageLibraryData[this.iActPos]['origimgsrc'], this.aImageLibraryData['config']['PopUpWidth'], this.aImageLibraryData['config']['PopUpHeight'], this.aImageLibraryData['config']['PopUpToolbar'], this.aImageLibraryData['config']['PopUpScrollbars'], this.aImageLibraryData['config']['PopUpResizable']);
	}
}


/**
* function to turn the image library to the next object
*/
imageLibrary.prototype.getNextObject = function()
{
	if(this.iActPos < this.iImageLibraryLength - 1)
	{
		// eval the next pos
		this.iActPos = this.iActPos + 1;
		// load image
		sImgName = this.sImageLibraryName + 'Image';
		document.getElementById(sImgName).src    = this.aPrevImgs[this.iActPos].src;
		document.getElementById(sImgName).width  = this.aImageLibraryData[this.iActPos]['width'];
		document.getElementById(sImgName).height = this.aImageLibraryData[this.iActPos]['height'];
		// load description
		sDescriptionName = this.sImageLibraryName + 'Description';
		if(document.getElementById(sDescriptionName))
		{
			document.getElementById(sDescriptionName).firstChild.data = this.removeHtml(this.aImageLibraryData[this.iActPos]['description']);
		}
		// load caption
		sCaptionName = this.sImageLibraryName + 'Caption';
		if(document.getElementById(sCaptionName))
		{
			document.getElementById(sCaptionName).firstChild.data = this.removeHtml(this.aImageLibraryData[this.iActPos]['caption']);
		}
		// load tooltip
		sTooltipName = this.sImageLibraryName + 'Tooltip';
		if(document.getElementById(sTooltipName))
		{
			document.getElementById(sTooltipName).firstChild.data = this.removeHtml(this.aImageLibraryData[this.iActPos]['description']) + '<br>' + this.removeHtml(this.aImageLibraryData[this.iActPos]['caption']);
		}
		// display actual position
		sImagePos = this.sImageLibraryName + 'ImagePos';
		document.getElementById(sImagePos).firstChild.data = this.getActPosition();
		// manage visibility
		sNext     = this.sImageLibraryName + 'Next';
		sPrevious = this.sImageLibraryName + 'Previous';
		if(this.iActPos + 1 == this.iImageLibraryLength)
		{
			this.setNavVisibility(sNext, 'hidden');
			this.setNavVisibility(sPrevious, 'visible');
		}
		else
		{
			this.setNavVisibility(sNext, 'visible');
			this.setNavVisibility(sPrevious, 'visible');
		}
	}
}


/**
* function to turn the image library to the previous object
*/
imageLibrary.prototype.getPreviousObject = function()
{
	if(this.iActPos <= this.iImageLibraryLength - 1)
	{
		// eval the next pos
		this.iActPos = this.iActPos - 1;
		if(this.iActPos < 0)
		{
			this.iActPos = 0;
		}
		// load image
		sImgName = this.sImageLibraryName + 'Image';
		document.getElementById(sImgName).src    = this.aPrevImgs[this.iActPos].src;
		document.getElementById(sImgName).width  = this.aImageLibraryData[this.iActPos]['width'];
		document.getElementById(sImgName).height = this.aImageLibraryData[this.iActPos]['height'];
		// load description
		sDescriptionName = this.sImageLibraryName + 'Description';
		if(document.getElementById(sDescriptionName))
		{
			document.getElementById(sDescriptionName).firstChild.data = this.removeHtml(this.aImageLibraryData[this.iActPos]['description']);
		}
		// load caption
		sCaptionName = this.sImageLibraryName + 'Caption';
		if(document.getElementById(sCaptionName))
		{
			document.getElementById(sCaptionName).firstChild.data = this.removeHtml(this.aImageLibraryData[this.iActPos]['caption']);
		}
		// load tooltip
		sTooltipName = this.sImageLibraryName + 'Tooltip';
		if(document.getElementById(sTooltipName))
		{
			document.getElementById(sTooltipName).firstChild.data = this.removeHtml(this.aImageLibraryData[this.iActPos]['description']) + '<br>' + this.removeHtml(this.aImageLibraryData[this.iActPos]['caption']);
		}
		// display actual position
		sImagePos = this.sImageLibraryName + 'ImagePos';
		document.getElementById(sImagePos).firstChild.data = this.getActPosition();
		// manage visibility
		sNext     = this.sImageLibraryName + 'Next';
		sPrevious = this.sImageLibraryName + 'Previous';
		if(this.iActPos <= 0)
		{
			this.setNavVisibility(sNext, 'visible');
			this.setNavVisibility(sPrevious, 'hidden');
		}
		else
		{
			this.setNavVisibility(sNext, 'visible');
			this.setNavVisibility(sPrevious, 'visible');
		}
	}
}



/**
 * function to call the ecard template with the corresponding image id (ximg.ximg_id)
 */
imageLibrary.prototype.getECard = function(iFormIdx)
{
	var sOrigUrl = top.location.href;
	var sFormAction = sOrigUrl;
	if(window.location.search != "")
	{
		sFormAction += "&";
	}
	else
	{
		sFormAction += "?";
	}
	sFormAction += "uECardId=" + this.aImageLibraryData['config']['iEcardId'];
	sFormAction += "&uMode=set";
	sFormAction += "&uImgId=" + this.aImageLibraryData[this.iActPos]['img_id'];
	sFormId = 'imageLibrary' + iFormIdx;
	document.getElementById(sFormId).fImageLibraryOrigUrl.value = sOrigUrl;
	document.getElementById(sFormId).action = sFormAction;
	document.getElementById(sFormId).submit();
}


/**
 * removes html tags from a string
 * attention: it removes also "<this>" but "< this >" not!
 */
imageLibrary.prototype.removeHtml = function(sString)
{
	sString = sString.replace(/<[a-z]+>/gi, "");
	sString = sString.replace(/\<\/[a-z]+>/gi, "");
	return sString;
}


//--------------------------------------------------
function arrayToList(aArrayList)
{
	return aArrayList.join(",");
}

function listToArray(lListArray)
{
	return lListArray.split(",");
}

function listGetAt(lList,iPos)
{
	var sDelimiter = ",";
	if (arguments.length > 2)
	{
		sDelimiter = arguments[2];
	}
	var aList = lList.split(sDelimiter);

	if (iPos > 0 && iPos < aList.length+1)
	{
		return aList[iPos - 1];
	}
	else
	{
		return 0;
	}
}

function listSetAt(lList,iPos,sValue)
{
	var aList = lList.split(",");

	if (iPos > 0 && iPos < aList.length+1)
	{
		aList[iPos - 1] = sValue;
		return aList.join(",");
	}
	else
	{
		return lList;
	}	
}

function listDeleteAt(lList,iPos)
{
	var aList = lList.split(",");

	if(aList.length > 1)
	{ 
		if (iPos > 0 && iPos < aList.length+1)
		{
	
			if (sBrowser == "IE" && sVersion < "5.5")
			{
				if (aList.length > iPos)
				{
					for (i = iPos-1; i < aList.length-1; i++)
					{
						aList[i] = aList[i + 1];
					}
					
					aList.length --;
				}
				else
				{
					aList.length --;
				}	
			}
			else
			{
				aList.splice(iPos-1, 1);
			}	
			
			return aList.join(",");
		
		}
		else
		{
			return lList;
		}
	}
	else
	{
		return "";
	}		
}

function listFind(lList,sValue)
{
	var aList = lList.split(",");
	//alert(sValue.toLowerCase());
	
	for (i = 0; i < aList.length; i++)
	{
		if(sValue.toString().toLowerCase() == aList[i].toString().toLowerCase())
		{
			return i+1;
		}
	}
	return 0;
}

function listAppend(lList,sValue)
{

	if(lList.length > 0)
	{
		var aList = lList.split(",");
	
		/* keine doppelten hinzuf�gen
		for (i = 0; i < aList.length; i++)
		{
			if(sValue.toString().toLowerCase() == aList[i].toString().toLowerCase())
			{
				return i;
			}
		}
		*/
		
		if (sBrowser == "IE" && sVersion < "5.5")
		{
			aList.length ++;
			aList[aList.length-1] = sValue;
		}
		else
		{
			aList.push(sValue);
		}	
		
		
		return aList.join(",");
	}
	else
	{
		return sValue;
	}
}
//--------------------------------------------------
sOver = "a";
sNormal = "n";

function setClass(f_obj)
{
	if (stBrowser.sType == "IELAYER" || stBrowser.sType == "DOM")
	{
		
		sClassName = f_obj.className;
		sMainClassName = sClassName.substr(0,sClassName.length-1);
		sEndClassName = sClassName.substr(sMainClassName.length,sClassName.length);
	
		if (sEndClassName == sNormal)
		{
			f_obj.className = sMainClassName + sOver;
			setCursor(f_obj);
		}
		else
		{
			f_obj.className = sMainClassName + sNormal;
		}
	
	}
	
}

function setClassName(f_sObj)
{
	if (stBrowser.sType == "IELAYER" || stBrowser.sType == "DOM")
	{
		obj = getObject(f_sObj);
		sClassName = obj.className;
		sMainClassName = sClassName.substr(0,sClassName.length-1);
		sEndClassName = sClassName.substr(sMainClassName.length,sClassName.length);
		
		if (sEndClassName == sNormal)
		{
			obj.className = sMainClassName + sOver;
			setCursor(obj);
		}
		else
		{
			obj.className = sMainClassName + sNormal;
		}
	
	}
	
}

function setCursor(f_obj)
{

	if (stBrowser.sBrowser == "NS")
	{
		f_obj.style.cursor  = "pointer";
	}
	else
	{
		f_obj.style.cursor  = "hand";
	}
}

function setCursorNormal(f_obj)
{
	if (stBrowser.sBrowser == "NS")
	{
		f_obj.style.cursor  = "";
	}
	else
	{
		f_obj.style.cursor  = "";
	}
}

function setLoc(f_sLoc)
{
	document.location.href=f_sLoc;
}

function setExpColor(f_sObj,f_iSwitch)
{
	if (stBrowser.sType == "IELAYER" || stBrowser.sType == "DOM")
	{
		
		if (f_iSwitch == 0)
		{
			f_sObj.style.backgroundColor = "";
		}
		else
		{
			f_sObj.style.backgroundColor = "FDB15D";
		}
	
	}

}


//--------------------------------------------------
/**
 * Application : CF WCMS CORE
 * File        : _js/swfLiveConnect.js
 * @version    : 0.1
 * @author     : acn <acn@getunik.com>
 * @copyright  : copyright 17.07.2006 by http://www.getunik.com
 * 
 * Long desc:
 * Object oriented javascript function library to communicate with flash variables.
 * Please recognise that the flash variables must be accordingly prepared!
 *
 * Version-History:
 * 17.07.2006.getunik.acn : initial release
 */


/**
 * main function to initiate a new swf object
 *   - open a own data storage container, containing the specified swf movie as an object.
 *
 * @param  string  sSwfObjectName  the name oft the html element id containing the swf embed code 
 */
function swfLiveConnect(sSwfObjectName)
{
	
	this.sSwfObjectName = "";
	this.oSwfObject     = new Object();
	this.bProcStat      = false;
	this.bSwfDone       = false;
	
	if(sSwfObjectName != undefined && sSwfObjectName != '' || typeof(sSwfObjectName) == 'string')
	{
		this.sSwfObjectName = sSwfObjectName;
		
		// initiate the flash movie as js object depending on browser version
		// ie
		if(!this.bSwfDone)
		{
			if(document.all)
			{
				if(document.all[this.sSwfObjectName]){
					this.oSwfObject = document.all[this.sSwfObjectName];
					this.bSwfDone = true;
				}
				// opera
				if(window.opera)
				{
					var movie = eval(window.document + this.sSwfObjectName);
			    if(movie.SetVariable)
					{
						this.oSwfObject = movie;
						this.bSwfDone = true;
					}
				}
				return;
			}
		}
		
		// netscape
		if(!this.bSwfDone)
		{
			if(document.layers)
			{
				if(document.embeds)
				{
					var movie = document.embeds[this.sSwfObjectName];
					if(movie.SetVariable)
					{
						this.oSwfObject = movie;
						this.bSwfDone = true;
					}
				}
				return;
			}
		}
		
		// firefox
		if(!this.bSwfDone)
		{
			if(document.getElementById)
			{
				var movie = document.getElementById(this.sSwfObjectName);
				if(movie.SetVariable)
				{
					this.oSwfObject = movie;
					this.bSwfDone = true;
				}
				return;
			}
		}
		
		if(!this.bSwfDone)
		{
			alert('swfLiveConnect.js\nError within swfLiveConnect():\nProblem to initiate the object \'oSwfObject\'!');
			this.bProcStat = false;
		}
		else
		{
			this.bProcStat = true;
		}
		
	}
	else
	{
		alert('swfLiveConnect.js\nError within swfLiveConnect():\nSubmitted data are corrupt!');
	}
}


/**
 * function to set swf variables, using the object initiated by 'swfLiveConnect()'
 *
 * @param  string  sParamName   the name of the parameter which should be set
 * @param  string  sParamValue  the value of the parameter which should be set
 */
swfLiveConnect.prototype.setSwfParam = function(sParamName, sParamValue)
{
	if(sParamName != undefined && sParamName != '' && typeof(sParamName) == 'string' && sParamValue != undefined)
	{
		this.oSwfObject.SetVariable(sParamName, sParamValue);
	}
	else
	{
		alert('swfLiveConnect.js\nError within setSwfParam():\nSubmitted data are corrupt!');
	}
}


/**
 * function to get swf variables, using the object initiated by 'swfLiveConnect()'
 *
 * @param  string  sParamName  the name of the parameter which should be readed
*/
swfLiveConnect.prototype.getSwfParam = function(sParamName)
{
	if(sParamName != undefined && sParamName != '' && typeof(sParamName) == 'string')
	{
		sSwfParamValue = "";
		sSwfParamValue = this.oSwfObject.GetVariable(sParamName);
		return sSwfParamValue;
	}
	else
	{
		alert('swfLiveConnect.js\nError within getSwfParam():\nPlease specify the param name!');
	}
}
//--------------------------------------------------
/**
 * SWFObject v1.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for
 *   legal reasons.
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){
if(!document.createElement||!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=new Object();
this.variables=new Object();
this.attributes=new Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute("version"),_7);
if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=new Array();
var key;
var _18=this.getVariables();
for(key in _18){
_16.push(key+"="+_18[key]);}
return _16;
},getSWFHTML:function(){
var _19="";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var _1a=this.getParams();
for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");
if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}
_19+="/>";
}else{
if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var _1d=this.getParams();
for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");
if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}
_19+="</object>";}
return _19;
},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=new deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();
return true;
}else{
if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(_23,_24){
var _25=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_25=new deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{
var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
for(var i=3;axo!=null;i++){
axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
_25=new deconcept.PlayerVersion([i,0,0]);}}
catch(e){}
if(_23&&_25.major>_23.major){return _25;}
if(!_23||((_23.minor!=0||_23.rev!=0)&&_25.major==_23.major)||_25.major!=6||_24){
try{_25=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}
catch(e){}}}
return _25;};
deconcept.PlayerVersion=function(_29){
this.major=parseInt(_29[0])!=null?parseInt(_29[0]):0;
this.minor=parseInt(_29[1])||0;
this.rev=parseInt(_29[2])||0;};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){return false;}return true;};
deconcept.util={getRequestParameter:function(_2b){
var q=document.location.search||document.location.hash;
if(q){
var _2d=q.indexOf(_2b+"=");
var _2e=(q.indexOf("&",_2d)>-1)?q.indexOf("&",_2d):q.length;
if(q.length>1&&_2d>-1){
return q.substring(q.indexOf("=",_2d)+1,_2e);
}}return "";}};
if(Array.prototype.push==null){
Array.prototype.push=function(_2f){
this[this.length]=_2f;
return this.length;};}
var getQueryParamValue=deconcept.util.getRequestParameter;
var FlashObject=deconcept.SWFObject; // for backwards compatibility
var SWFObject=deconcept.SWFObject;


//--------------------------------------------------
/* 
Methods for resizing the flash stage at runtime.

setFlashWidth(divid, newW)
divid: id of the div containing the flash movie.
newW: new width for flash movie

setFlashWidth(divid, newH)
divid: id of the div containing the flash movie.
newH: new height for flash movie

setFlashSize(divid, newW, newH)
divid: id of the div containing the flash movie.
newW: new width for flash movie
newH: new height for flash movie

canResizeFlash()
returns true if browser supports resizing flash, false if not. 
*/
function setFlashWidth(divid, newW){
	document.getElementById(divid).style.width = newW+"px";
}
function setFlashHeight(divid, newH){
	document.getElementById(divid).style.height = newH+"px";		
}
function setFlashSize(divid, newW, newH){
	setFlashWidth(divid, newW);
	setFlashHeight(divid, newH);
}
function canResizeFlash(){
	var ua = navigator.userAgent.toLowerCase();
	var opera = ua.indexOf("opera");
	if( document.getElementById ){
		if(opera == -1) return true;
		else if(parseInt(ua.substr(opera+6, 1)) >= 7) return true;
	}
	return false;
}
//--------------------------------------------------

var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;
offsetX = -20;
offsetY = 20;
var toolTipSTYLE="";

function initToolTips()
{
  if(ns4||ns6||ie4)
  {
    if(ns4) toolTipSTYLE = document.toolTipLayer;
    else if(ns6) toolTipSTYLE = document.getElementById("toolTipLayer").style;
    else if(ie4) toolTipSTYLE = document.all.toolTipLayer.style;
    if(ns4) document.captureEvents(Event.MOUSEMOVE);
    else
    {
      toolTipSTYLE.visibility = "visible";
      toolTipSTYLE.display = "none";
    }
    document.onmousemove = moveToMouseLoc;
  }
}

function toolTip(msg, fg, bg)
{
  if(toolTip.arguments.length < 1) // hide
  {
    if(ns4) toolTipSTYLE.visibility = "hidden";
    else toolTipSTYLE.display = "none";
  }
  else // show
  {
    if(!fg) fg = "#666666";
    if(!bg) bg = "#FBF3DE";

//    var content =
 //   '<table border="0" cellspacing="0" cellpadding="0" width="250">' +
//	'<tr><td height="12" class="photodescription-topborder"><img src="'+rootWWW+'img/photodesc_arrow2.gif" border="0" width="28" height="12" alt=""></td></tr>' +
//	'<tr><td colspan="3" class="photodescription">' + msg + '</td></tr>' +
//	'<tr><td colspan="3" height="1" bgcolor="#999999"></td></tr>' +
//	'</table>';
	
	//var content = '<div style="background-color: yellow;">' + msg + '</div>';
	
	 var content =
	'<div class="tooltip">' +
	'<div class="tooltip-top"><img src="' + rootWWW + 'img/photodesc_arrow2.gif" border="0" width="28" height="12" /></div>' + 
	'<div class="tooltip-bottom">' + msg + '</div>' + 
	'</div>';

	
    if(ns4)
    {
      toolTipSTYLE.document.write(content);
      toolTipSTYLE.document.close();
      toolTipSTYLE.visibility = "visible";
    }
    if(ns6)
    {
      document.getElementById("toolTipLayer").innerHTML = content;
      toolTipSTYLE.display='block'
    }
    if(ie4)
    {
      document.all("toolTipLayer").innerHTML = content;
      toolTipSTYLE.display='block'
    }
  }
}

function moveToMouseLoc(e)
{
  if(ns4||ns6)
  {
  	
    x = e.pageX;
    y = e.pageY;
	
  }
  else
  {
   // x = event.x + document.body.scrollLeft;
   // y = event.y + document.body.scrollTop;

  	if (document.documentElement.scrollTop)
	{
   		x = document.documentElement.scrollLeft;
   		y = document.documentElement.scrollTop;	
	}
	else
	{
   		x = document.body.scrollLeft;
   		y = document.body.scrollTop;
	}

	x = x + event.x;
   	y = y + event.y;
	
  }
  toolTipSTYLE.left = x + offsetX + "px";
  toolTipSTYLE.top = y + offsetY + "px";
  return true;
}

//--------------------------------------------------
/*	Unobtrusive Flash Objects (UFO) v3.20 <http://www.bobbyvandersluis.com/ufo/>
	Copyright 2005, 2006 Bobby van der Sluis
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/

var UFO = {
	req: ["movie", "width", "height", "majorversion", "build"],
	opt: ["play", "loop", "menu", "quality", "scale", "salign", "wmode", "bgcolor", "base", "flashvars", "devicefont", "allowscriptaccess", "seamlesstabbing"],
	optAtt: ["id", "name", "align"],
	optExc: ["swliveconnect"],
	ximovie: "ufo.swf",
	xiwidth: "215",
	xiheight: "138",
	ua: navigator.userAgent.toLowerCase(),
	pluginType: "",
	fv: [0,0],
	foList: [],
		
	create: function(FO, id) {
		if (!UFO.uaHas("w3cdom") || UFO.uaHas("ieMac")) return;
		UFO.getFlashVersion();
		UFO.foList[id] = UFO.updateFO(FO);
		UFO.createCSS("#" + id, "visibility:hidden;");
		UFO.domLoad(id);
	},

	updateFO: function(FO) {
		if (typeof FO.xi != "undefined" && FO.xi == "true") {
			if (typeof FO.ximovie == "undefined") FO.ximovie = UFO.ximovie;
			if (typeof FO.xiwidth == "undefined") FO.xiwidth = UFO.xiwidth;
			if (typeof FO.xiheight == "undefined") FO.xiheight = UFO.xiheight;
		}
		FO.mainCalled = false;
		return FO;
	},

	domLoad: function(id) {
		var _t = setInterval(function() {
			if ((document.getElementsByTagName("body")[0] != null || document.body != null) && document.getElementById(id) != null) {
				UFO.main(id);
				clearInterval(_t);
			}
		}, 250);
		if (typeof document.addEventListener != "undefined") {
			document.addEventListener("DOMContentLoaded", function() { UFO.main(id); clearInterval(_t); } , null); // Gecko, Opera 9+
		}
	},

	main: function(id) {
		var _fo = UFO.foList[id];
		if (_fo.mainCalled) return;
		UFO.foList[id].mainCalled = true;
		document.getElementById(id).style.visibility = "hidden";
		if (UFO.hasRequired(id)) {
			if (UFO.hasFlashVersion(parseInt(_fo.majorversion, 10), parseInt(_fo.build, 10))) {
				if (typeof _fo.setcontainercss != "undefined" && _fo.setcontainercss == "true") UFO.setContainerCSS(id);
				UFO.writeSWF(id);
			}
			else if (_fo.xi == "true" && UFO.hasFlashVersion(6, 65)) {
				UFO.createDialog(id);
			}
		}
		document.getElementById(id).style.visibility = "visible";
	},
	
	createCSS: function(selector, declaration) {
		var _h = document.getElementsByTagName("head")[0]; 
		var _s = UFO.createElement("style");
		if (!UFO.uaHas("ieWin")) _s.appendChild(document.createTextNode(selector + " {" + declaration + "}")); // bugs in IE/Win
		_s.setAttribute("type", "text/css");
		_s.setAttribute("media", "screen"); 
		_h.appendChild(_s);
		if (UFO.uaHas("ieWin") && document.styleSheets && document.styleSheets.length > 0) {
			var _ls = document.styleSheets[document.styleSheets.length - 1];
			if (typeof _ls.addRule == "object") _ls.addRule(selector, declaration);
		}
	},
	
	setContainerCSS: function(id) {
		var _fo = UFO.foList[id];
		var _w = /%/.test(_fo.width) ? "" : "px";
		var _h = /%/.test(_fo.height) ? "" : "px";
		UFO.createCSS("#" + id, "width:" + _fo.width + _w +"; height:" + _fo.height + _h +";");
		if (_fo.width == "100%") {
			UFO.createCSS("body", "margin-left:0; margin-right:0; padding-left:0; padding-right:0;");
		}
		if (_fo.height == "100%") {
			UFO.createCSS("html", "height:100%; overflow:hidden;");
			UFO.createCSS("body", "margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; height:100%;");
		}
	},

	createElement: function(el) {
		return (UFO.uaHas("xml") && typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", el) : document.createElement(el);
	},

	createObjParam: function(el, aName, aValue) {
		var _p = UFO.createElement("param");
		_p.setAttribute("name", aName);	
		_p.setAttribute("value", aValue);
		el.appendChild(_p);
	},

	uaHas: function(ft) {
		var _u = UFO.ua;
		switch(ft) {
			case "w3cdom":
				return (typeof document.getElementById != "undefined" && typeof document.getElementsByTagName != "undefined" && (typeof document.createElement != "undefined" || typeof document.createElementNS != "undefined"));
			case "xml":
				var _m = document.getElementsByTagName("meta");
				var _l = _m.length;
				for (var i = 0; i < _l; i++) {
					if (/content-type/i.test(_m[i].getAttribute("http-equiv")) && /xml/i.test(_m[i].getAttribute("content"))) return true;
				}
				return false;
			case "ieMac":
				return /msie/.test(_u) && !/opera/.test(_u) && /mac/.test(_u);
			case "ieWin":
				return /msie/.test(_u) && !/opera/.test(_u) && /win/.test(_u);
			case "gecko":
				return /gecko/.test(_u) && !/applewebkit/.test(_u);
			case "opera":
				return /opera/.test(_u);
			case "safari":
				return /applewebkit/.test(_u);
			default:
				return false;
		}
	},
	
	getFlashVersion: function() {
		if (UFO.fv[0] != 0) return;  
		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
			UFO.pluginType = "npapi";
			var _d = navigator.plugins["Shockwave Flash"].description;
			if (typeof _d != "undefined") {
				_d = _d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				var _m = parseInt(_d.replace(/^(.*)\..*$/, "$1"), 10);
				var _r = /r/.test(_d) ? parseInt(_d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
				UFO.fv = [_m, _r];
			}
		}
		else if (window.ActiveXObject) {
			UFO.pluginType = "ax";
			try { // avoid fp 6 crashes
				var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			}
			catch(e) {
				try { 
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
					UFO.fv = [6, 0];
					_a.AllowScriptAccess = "always"; // throws if fp < 6.47 
				}
				catch(e) {
					if (UFO.fv[0] == 6) return;
				}
				try {
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				}
				catch(e) {}
			}
			if (typeof _a == "object") {
				var _d = _a.GetVariable("$version"); // bugs in fp 6.21/6.23
				if (typeof _d != "undefined") {
					_d = _d.replace(/^\S+\s+(.*)$/, "$1").split(",");
					UFO.fv = [parseInt(_d[0], 10), parseInt(_d[2], 10)];
				}
			}
		}
	},

	hasRequired: function(id) {
		var _l = UFO.req.length;
		for (var i = 0; i < _l; i++) {
			if (typeof UFO.foList[id][UFO.req[i]] == "undefined") return false;
		}
		return true;
	},
	
	hasFlashVersion: function(major, release) {
		return (UFO.fv[0] > major || (UFO.fv[0] == major && UFO.fv[1] >= release)) ? true : false;
	},

	writeSWF: function(id) {
		var _fo = UFO.foList[id];
		var _e = document.getElementById(id);
		if (UFO.pluginType == "npapi") {
			if (UFO.uaHas("gecko") || UFO.uaHas("xml")) {
				while(_e.hasChildNodes()) {
					_e.removeChild(_e.firstChild);
				}
				var _obj = UFO.createElement("object");
				_obj.setAttribute("type", "application/x-shockwave-flash");
				_obj.setAttribute("data", _fo.movie);
				_obj.setAttribute("width", _fo.width);
				_obj.setAttribute("height", _fo.height);
				var _l = UFO.optAtt.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[UFO.optAtt[i]] != "undefined") _obj.setAttribute(UFO.optAtt[i], _fo[UFO.optAtt[i]]);
				}
				var _o = UFO.opt.concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") UFO.createObjParam(_obj, _o[i], _fo[_o[i]]);
				}
				_e.appendChild(_obj);
			}
			else {
				var _emb = "";
				var _o = UFO.opt.concat(UFO.optAtt).concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") _emb += ' ' + _o[i] + '="' + _fo[_o[i]] + '"';
				}
				_e.innerHTML = '<embed type="application/x-shockwave-flash" src="' + _fo.movie + '" width="' + _fo.width + '" height="' + _fo.height + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' + _emb + '></embed>';
			}
		}
		else if (UFO.pluginType == "ax") {
			var _objAtt = "";
			var _l = UFO.optAtt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.optAtt[i]] != "undefined") _objAtt += ' ' + UFO.optAtt[i] + '="' + _fo[UFO.optAtt[i]] + '"';
			}
			var _objPar = "";
			var _l = UFO.opt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.opt[i]] != "undefined") _objPar += '<param name="' + UFO.opt[i] + '" value="' + _fo[UFO.opt[i]] + '" />';
			}
			var _p = window.location.protocol == "https:" ? "https:" : "http:";
			_e.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + _objAtt + ' width="' + _fo.width + '" height="' + _fo.height + '" codebase="' + _p + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + _fo.majorversion + ',0,' + _fo.build + ',0"><param name="movie" value="' + _fo.movie + '" />' + _objPar + '</object>';
		}
	},
		
	createDialog: function(id) {
		var _fo = UFO.foList[id];
		UFO.createCSS("html", "height:100%; overflow:hidden;");
		UFO.createCSS("body", "height:100%; overflow:hidden;");
		UFO.createCSS("#xi-con", "position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#fff; filter:alpha(opacity:75); opacity:0.75;");
		UFO.createCSS("#xi-dia", "position:absolute; left:50%; top:50%; margin-left: -" + Math.round(parseInt(_fo.xiwidth, 10) / 2) + "px; margin-top: -" + Math.round(parseInt(_fo.xiheight, 10) / 2) + "px; width:" + _fo.xiwidth + "px; height:" + _fo.xiheight + "px;");
		var _b = document.getElementsByTagName("body")[0];
		var _c = UFO.createElement("div");
		_c.setAttribute("id", "xi-con");
		var _d = UFO.createElement("div");
		_d.setAttribute("id", "xi-dia");
		_c.appendChild(_d);
		_b.appendChild(_c);
		var _mmu = window.location;
		if (UFO.uaHas("xml") && UFO.uaHas("safari")) {
			var _mmd = document.getElementsByTagName("title")[0].firstChild.nodeValue = document.getElementsByTagName("title")[0].firstChild.nodeValue.slice(0, 47) + " - Flash Player Installation";
		}
		else {
			var _mmd = document.title = document.title.slice(0, 47) + " - Flash Player Installation";
		}
		var _mmp = UFO.pluginType == "ax" ? "ActiveX" : "PlugIn";
		var _uc = typeof _fo.xiurlcancel != "undefined" ? "&xiUrlCancel=" + _fo.xiurlcancel : "";
		var _uf = typeof _fo.xiurlfailed != "undefined" ? "&xiUrlFailed=" + _fo.xiurlfailed : "";
		UFO.foList["xi-dia"] = { movie:_fo.ximovie, width:_fo.xiwidth, height:_fo.xiheight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + _mmu + "&MMplayerType=" + _mmp + "&MMdoctitle=" + _mmd + _uc + _uf };
		UFO.writeSWF("xi-dia");
	},

	expressInstallCallback: function() {
		var _b = document.getElementsByTagName("body")[0];
		var _c = document.getElementById("xi-con");
		_b.removeChild(_c);
		UFO.createCSS("body", "height:auto; overflow:auto;");
		UFO.createCSS("html", "height:auto; overflow:auto;");
	},

	cleanupIELeaks: function() {
		var _o = document.getElementsByTagName("object");
		var _l = _o.length
		for (var i = 0; i < _l; i++) {
			_o[i].style.display = "none";
			for (var x in _o[i]) {
				if (typeof _o[i][x] == "function") {
					_o[i][x] = null;
				}
			}
		}
	}

};

if (typeof window.attachEvent != "undefined" && UFO.uaHas("ieWin")) {
	window.attachEvent("onunload", UFO.cleanupIELeaks);
}

//--------------------------------------------------
function Trim(s)
{
	var tempStr1, s1 ,tmpStr2 ;
	s1 = s;
	tempStr1 = lTrim(s1);
	tempStr2 = rTrim(tempStr1);
	return tempStr2 ;
}	
	
function rTrim(s)
{
	var temp="";
	tempStr="";
	temp=s;
	var len=s.length;
	
	if(len>0)
	{
		for(i=len;i > 0;i--)
		{
			if(temp.charAt(i-1)!=" ")
				break;
		}
		
		k=0;
		for(j=0;j<i;j++)
		{
			tempStr=tempStr+temp.charAt(j);
			k=k+1;
		}
		return tempStr;
	}
	else
		return tempStr;
}

function lTrim(s)
{
	var temp="";
	tempStr="";
	temp=s;
	var len=s.length;
	
	if(len>0)
	{
		for(i=0;i<len;i++)
		{
			if(temp.charAt(i)!=" ")
				break;
		}
		
		k=0;
		for(j=i;j<len;j++)
		{
			tempStr=tempStr+temp.charAt(j);
			k=k+1;
		}
		return tempStr;
	}
	else
		return tempStr;
}



function isBlank(obj,displayName)
{
	var str="";
	str=obj.value;
	var len=str.length;
	var i;
	for(i=0;i<len;++i)
	{
		if(str.charAt(i)!=" ")
		{
			return false;
		}
	}
	alert(displayName+" cannot be left blank");
	obj.focus();
	return true;
}


function isMessage(obj,displayName)
{
	var str="";
	str=obj.value;
	var len=str.length;
	var i;
	for(i=0;i<len;++i)
	{
		if(str.charAt(i)!=" ")
		{
			return false;
		}
	}
	obj.focus();
	if (!confirm(displayName+" cannot be left blank. Do you want to send our standard Message?"))
	 {
	return true;
	 }
}


function isLength(obj,num,displayName)
{
	var str="";
	str=obj.value;
	var len=str.length
	if(len!=num)
	{
		alert(displayName+" cannot be of length other than "+num); 
		return false;
	}
	return true
}


function isNumber(obj,displayName)
{
	var str=lTrim(obj.value);
	for(i=0;i<str.length;i++)
	{
		if(str.charAt(i)<'0'||str.charAt(i)>'9')
		{	
			if((str.charAt(0))=="-")
			{
				i=i+1;
					continue;
			}
			alert(displayName+" should be numeric.");
			obj.focus();
			return false;
		}
	}
	return true;
} 

function isAllNonNumber(obj,displayName)
{
	var str=lTrim(obj.value);
	var flag=false;
	
			for(i=0;i<str.length;i++)
			{	
				if((str.charAt(0))=="-")
				{
					i=i+1;
						continue;
				}
				if(str.charAt(i)<'0'||str.charAt(i)>'9')
				{
					flag=true;	
				}
				else
				{
				alert(displayName+" should be non-numeric.");
				obj.focus();
				return false;
				}
			}
			if(flag)
				return true;
			
	
}


function isNonNumber(obj,displayName)
{
	var str=lTrim(obj.value);
	var flag=false;
	if(str.length>0)
	{
			for(i=0;i<str.length;i++)
			{	
				if((str.charAt(0))=="-")
				{
					i=i+1;
						continue;
				}
				if(str.charAt(i)<'0'||str.charAt(i)>'9')
				{
					flag=true;	
				}
			}
			if(flag)
				return true;
			else
			{
				alert(displayName+" should be non-numeric.");
				obj.focus();
				return false;
			}
	}
	else
		return true;
	return flag;
}




function isValidDate(obj,dt)
{
	newdt=new Date(dt);
	str=(newdt.getMonth()+1)+"/"+newdt.getDate()+"/"+newdt.getFullYear();
	if(dt==str) return true;
	alert("Invalid date.");
	obj.focus();
	return false;
}



function hasNoSplChars(obj,displayName)
{
	var s="";
	s=lTrim(obj.value);
	splChars=new Array("@","#","$","%","^","&","*","!","\'","(",")","_","=","+","[","]","{","}","|","\\","<",">",".","/","?","\"");
	for(i=0;i<s.length;i++)
		for(j=0;j<splChars.length;j++)
		{
			if(s.charAt(i)==splChars[j])
			{
				alert(displayName+" cannot have special characters like @,#,$,% etc.");
				obj.focus();
				return true;
			}
		}
	return false;
}



function isEmail (obj,displayName) 
{ 
var theStr=lTrim(obj.value);
var atIndex = theStr.indexOf('@'); 
var dotIndex = theStr.indexOf('.', atIndex); 
var flag = true; 
theSub = theStr.substring(0, dotIndex+1) 

if ((atIndex < 1)||(atIndex != theStr.lastIndexOf('@'))||(dotIndex < atIndex + 2)||(theStr.length <= theSub.length)) 
{ 
	alert("Not a valid email id");
	obj.focus();
	flag = false; 
} 
else { flag = true; } 
return(flag); 
}



function isPositive(obj,displayName)
{
	var str="";
	str=lTrim(obj.value);
	if(str.length<=0)
		return true;
	if(!isNaN(obj.value))
	{
		if(parseFloat(obj.value)>=0)
			return true;
		else
		{
			alert(displayName+" should be a positive number.");
			obj.focus();
			return false;
		}
	}
	else
	{
		alert(displayName+" should be numeric");
		obj.focus();
		return false;
	}
	return true;
}


function isBetween (val, lo, hi) { 
if ((val < lo) || (val > hi)) { return(false); } 
else { return(true); } 
} 


function isDigit(theNum) { 
var theMask = '0123456789'; 

if (isEmpty(theNum)) return(false); 
else if (theMask.indexOf(theNum) == -1) return(false); 

return(true); 
} 


function isInt (theStr) { 
var flag = true; 

if (isEmpty(theStr)) { flag=false; } 
else 
{ for (var i=0; i<theStr.length; i++) { 
if (isDigit(theStr.substring(i,i+1)) == false) { 
flag = false; break; 
} 
} 
} 
return(flag); 
} 


function isFloatNumber(obj,displayName)
{
	var str=lTrim(obj.value);
	var firstIndex,lastIndex;
	firstIndex=str.indexOf(".");
	lastIndex=str.lastIndexOf(".");
	if(firstIndex!=lastIndex)
	{
		alert(displayName+" should be numeric.");
		obj.focus();
		return false;
	}
	for(i=0;i<str.length;i++)
	{
		if((str.charAt(i)<'0'||str.charAt(i)>'9')&&str.charAt(i)!=".")
		{	
			if((str.charAt(0))=="-")
			{
				i=i+1;
					continue;
			}
			alert(displayName+" should be numeric.");
			obj.focus();
			return false;
		}
	}
	return true;
}  


function maxLength(obj,displayname,num)
{
	var str="";
	var  num=num;
	str=lTrim(obj.value);

	if(str.length > num)
	{
		alert(displayname+" should not have more than "+num+" characters.");
		obj.focus();
		return false;
	}
	return true;
}



function closeWindow() 
{ 
self.close(); 
} 


//--------------------------------------------------
function testString(f_sString)
{
	if (f_sString.length > 0)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function testStringEq(f_sString, f_iLen)
{
	if (f_sString.length == f_iLen)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function testStringGt(f_sString, f_iLen)
{
	if (f_sString.length > f_iLen)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function testStringLt(f_sString, f_iLen)
{
	if (f_sString.length < f_iLen)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function testInt(f_iInteger)
{
	var regInt = /^[0-9]+$/;
	
	if (regInt.test(f_iInteger) == true)
	{
		return true;
	}	
	else
	{
		return false;
	}
}

function testFloat(f_flFloat)
{
	var regFloat = /^[0-9]+(\.[0-9]+)*$/;
	
	if (regFloat.test(f_flFloat) == true)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function testIntGtZero(f_iInteger)
{
	var regInt = /^[0-9]+$/;
	
	if (regInt.test(f_iInteger) == true && f_iInteger > 0)
	{
		return true;
	}	
	else
	{
		return false;
	}
}

function testMinusOne(f_iInteger)
{
	if (f_iInteger != -1)
	{
		return true;
	}	
	else
	{
		return false;
	}
}

function testTime(f_sTime)
{
	var regTime = /^([0-2]?[0-9]):[0-5][0-9](:[0-5][0-9])?$/;
	var iIndex;
	var iValue;
	var sValue = f_sTime;
	
	if (regTime.test(sValue) == true)
	{
		iIndex = sValue.indexOf(":");
		iValue = sValue.substr(0,iIndex);
		
		if (iValue <= 23 && iValue >=0)
		{
			return true;
		}
		else
		{
			return false;
		}	
	}
	else
	{
		return false;
	}
}

function testDate(f_sDate)
{
	var regDate = /^([0-3]?[0-9])\.([0-1]?[0-9])\.[1-9][0-9]{3}$/;
	var iIndex, iIndex2;
	var iMonth,iDay,iYear;
	var arrMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var sValue = f_sDate;
	
	if (regDate.test(sValue) == true)
	{
		iIndex = sValue.indexOf(".");
		iIndex2 = sValue.indexOf(".",iIndex+1);
		
		iDay = sValue.substr(0,iIndex);
		iMonth = sValue.substring(iIndex+1,iIndex2);
		iYear = sValue.substr(iIndex2+1,sValue.length);		

		if (iMonth < 1 || iMonth > 12)
		{
			return false;		
		}
		
		if (iMonth == 2 && ( ( (iYear % 4) == 0 && (iYear % 100) != 0 ) || (iYear % 400) == 0 ) ) 
		{
			if (iDay < 1 || iDay > 29)
			{
				return false;
			}
		}
		else
		{
			if (iDay < 1 || iDay > arrMonth[iMonth-1])
			{
				return false;
			}
		}		

		return true;

	}
	else
	{
		return false;
	}
}

function testEmail(f_sEmail)
{
	var regEmail = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*\.([a-zA-Z]{2,4})$/;
	
	if (regEmail.test(f_sEmail) == true)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function testChPlz(f_iPLZ)
{
	var regPLZ = /^[1-9][0-9]{3}$/;
	
	if (regPLZ.test(f_iPLZ) == true)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function testCHMoney(f_flMoney)
{
	var regMoney = /(^[1-9][0-9]*|^0)(\.[0-9](0|5))?$/;
	
	if (regMoney.test(f_flMoney) == true)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function testEmpty(f_sString)
{
	var regWhiteSpace = /[^ \f\n\r\t]/;
	
	if (regWhiteSpace.test(f_sString))
	{
		return false;
	}
	else
	{
		return true;
	}
}

function testReg(f_sString,f_regString)
{

	regString = new RegExp(f_regString,"gi");
	if (regString.test(f_sString) == true)
	{
		return true;
	}
	else
	{
		return false;
	}
}

//--------------------------------------------------
