/*==========================================================================*\

|| ######################################################################## ||

|| # ILance 3.0.0 Release Candidate 1 - Enterprise Edition			  	  #	||

|| # -------------------------------------------------------------------- #	||

|| # Copyright ©2000–2004 EBusiness Conxions Inc. All Rights Reserved.	  #	||

|| # This file may not be redistributed in whole or significant part. 	  #	||

|| # ----------------- ILANCE IS NOT FREE SOFTWARE ---------------------- #	||

|| #	 http://www.ilance.ca | http://www.ilance.ca/license.html	  	  #	||

|| # -------------------------------------------------------------------- #	||

|| # Title........: Core JavaScript Functions

|| # -------------------------------------------------------------------- # ||

|| ######################################################################## ||

|| # CVS History and Technical Application Information

|| # -------------------------------------------------------------------- # ||

|| # CVS:	$RCSfile: clientscript.js,v $

|| # CVS:	$Version: 3.0.0 $

|| # CVS:  $Revision: 1.10 $

|| # CVS:	   $Date: 2005/12/17 19:35:17 $

|| # CVS:    $Author: Peter Salzmann $

|| # -------------------------------------------------------------------- # ||

|| ######################################################################## ||

\*==========================================================================*/



if (typeof ILSESSION == 'undefined')

{

	ILSESSION = '';

}



var userAgent = navigator.userAgent.toLowerCase();

var checkopera = (userAgent.indexOf('opera') != -1);

var checksaf = ((userAgent.indexOf('safari') != -1) || (navigator.vendor == "Apple Computer, Inc."));

var checkwebtv = (userAgent.indexOf('webtv') != -1);

var checkie = ((userAgent.indexOf('msie') != -1) && (!checkopera) && (!checksaf) && (!checkwebtv));

var checkie4 = ((checkie) && (userAgent.indexOf("msie 4.") != -1));

var checkmoz = ((navigator.product == 'Gecko') && (!checksaf));

var checkns = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!checkopera) && (!checkwebtv) && (!checksaf));

var checkns4 = ((checkns) && (parseInt(navigator.appVersion) == 4));

var checkregexp = (window.RegExp) ? true : false;



var DOMTYPE = '';

var AJAX_compatible = false;



if (document.getElementById) 

{

	DOMTYPE = "std";

}

else if (document.layers) 

{

	DOMTYPE = "ns4";

}

else if (document.all) 

{

	DOMTYPE = "ie4";

}





var v3objects = new Array();



function fetch_session_hash()

{

	return (ILSESSION == '' ? '' : ILSESSION.substr(2, 32));

}



function getv3obj(idobjname, obtainobj) 

{

	if (obtainobj || typeof(v3objects[idobjname]) == "undefined") 

	{

		switch (DOMTYPE) 

		{

			case "std": 

			{

				v3objects[idobjname] = document.getElementById(idobjname);

			}

			break;

			case "ns4": 

			{

				v3objects[idobjname] = document.layers[idobjname];

			}

			break;

			case "ie4": 

			{

				v3objects[idobjname] = document.all[idobjname];

			}

			break;

		}

	}

	

	return v3objects[idobjname];

	

}



function obtainv3cookie(name) 

{

	v3cookiename = name + "=";

	v3cookiesize = document.cookie.length;

	v3cookiestart = 0;

	

	while (v3cookiestart < v3cookiesize) 

	{

		v3cookievalue = v3cookiestart + v3cookiename.length;

		if (document.cookie.substring(v3cookiestart, v3cookievalue) == v3cookiename) 

		{

			var v3cookievalue2 = document.cookie.indexOf (";", v3cookievalue);

			if (v3cookievalue2 == -1) 

			{

				v3cookievalue2 = v3cookiesize;

			}

			return unescape(document.cookie.substring(v3cookievalue, v3cookievalue2));

		}

		v3cookiestart = document.cookie.indexOf(" ", v3cookiestart) + 1;

		if (v3cookiestart == 0) 

		{

			break;

		}

	}

	return null;

}



function updatev3cookie(name, value, expires) 

{

	if (!expires) 

	{

		expires = new Date();

	}

	document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() +  "; path=/";

}



function updatev3collapsablecookie(objid, setcookiedata) 

{

	var cookiedata = obtainv3cookie("ilance_collapse");

	var cookietemp = new Array();

	

	if (cookiedata != null) 

	{

		cookiedata = cookiedata.split("\n");

		for (i in cookiedata) 

		{

			if (cookiedata[i] != objid && cookiedata[i] != "") 

			{

				cookietemp[cookietemp.length] = cookiedata[i];

			}

		}

	}

	if (setcookiedata) 

	{

		cookietemp[cookietemp.length] = objid;

	}

	cookieexpire = new Date();

	cookieexpire.setTime(cookieexpire.getTime()+(500*86400*365));

	updatev3cookie("ilance_collapse", cookietemp.join("\n"), cookieexpire);

}



function toggle(objid) 

{

	if (!checkregexp)

	{

		return false;

	}

	

	obj = getv3obj("collapseobj_" + objid);

	img = getv3obj("collapseimg_" + objid);

	

	if (obj.style.display == "none") 

	{

		obj.style.display = "";

		updatev3collapsablecookie(objid, false);

		if (img) 

		{

			img_re = new RegExp("_collapsed\\.gif$");

			img.src = img.src.replace(img_re, '.gif');

		}

	}

	else 

	{

		obj.style.display = "none";

		updatev3collapsablecookie(objid, true);

		if (img) 

		{

			img_re = new RegExp("\\.gif$");

			img.src = img.src.replace(img_re, '_collapsed.gif');

		}

	}

	return false;

}



function toggleclosefilter(target) 

{

	obj=(document.all) ? document.all[target] : document.getElementById(target);

    obj.style.display=(obj.style.display=='none') ? 'none' : 'none';

}



function toggleclosestartdate(target) 

{

	obj=(document.all) ? document.all[target] : document.getElementById(target);

    obj.style.display=(obj.style.display=='none') ? 'none' : 'none';

}



function togglepulldown(id,text) 

{

    d=document.getElementById(id);

    d.innerHTML=text;

}



var checkobj

function agreesubmit(el) 

{

	checkobj=el

	if (document.all||document.getElementById) 

	{

		for (i=0;i<checkobj.form.length;i++)

		{

			var tempobj=checkobj.form.elements[i]

			if(tempobj.type.toLowerCase()=="submit")

				tempobj.disabled=!checkobj.checked

		}

	}

}



function defaultagree(el) 

{

	if (!document.all&&!document.getElementById) 

	{

		if (window.checkobj&&checkobj.checked)

			return true

			else 

			{

				alert('Bitte lesen Sie die AGB und bestätigen Sie hier')

				return false

			}

	}

}



function MM_swapImgRestore()

{

	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_preloadImages() 

{

	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_findObj(n, d) 

{

	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);

	if(!x && d.getElementById) x=d.getElementById(n); return x;

}



function log_out() 

{

	grayscale = document.getElementsByTagName("html");

	grayscale[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";

	if (confirm('Are you ready to log out?'))

	{

		return true;

	}

	else

	{

		grayscale[0].style.filter = "";

		return false;

	}

}



function MM_swapImage() 

{

	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 Help(daLink) 

{

	var comwin = window.open(daLink,'Help','width=560,height=450,scrollbars=yes,resize=no') ;

    comwin.focus();

}



function newWindow(file,window) 

{

	msgWindow=open(file,window,'resizable=no,width=430,height=380');

    if (msgWindow.opener == null) 

	{

		msgWindow.opener = self;

	}

}



function enhanceCheckboxes() 

{

	// finds every checkbox on the page

	// and converts it to a graphical version

  	// find all input controls:

	

	var els=document.getElementsByTagName("input");

	

  	// for each input element...

	for (var i=0; i < els.length; i++) 

	{

	

		if (els[i].type=='checkbox')

        {

			// hide the original checkbox control:  

			els[i].style.display='none';

			

			// create the graphical alternative:

			var img = document.createElement("img");

			

			// initial state of graphical checkbox 

			// is the same as the original checkbox:

			if (els[i].checked)

            {

				img.src="images/checked.gif";

				img.title="Checked";

			}

			else if (els[i].disabled)

            {

				img.src="images/checkdisabled.gif";

				img.title="Disabled";

			}

			else

            {

				img.src="images/unchecked.gif";

				img.title="Unchecked";

			} 

			

			// assign our onclick event 

			img.onclick= toggleCheckbox;

			

			// insert the new, clickable image into the DOM

			// infront of the original checkbox:

			els[i].parentNode.insertBefore(img, els[i]);

		}

	}

}



function toggleCheckbox()

{

	// graphical checkbox onclick event handler

  	// toggle the checkbox state:

  	if (this.title == "Checked")

    {

		// toggle the image and title:  

		this.src="images/unchecked.gif";

    	this.title="Unchecked";

		

		// update the hidden real checkbox to match the state of the graphical 

		// version:

    	this.nextSibling.checked=false;

	}

  	else if (this.title == "Unchecked")

    {

    	// toggle the image and title:  

    	this.src="images/checked.gif";

    	this.title="Checked";

		

		// update the hidden real checkbox to match the state of the graphical 

    	// version:

    	this.nextSibling.checked=true;

	}

	else if (this.title == "Disabled")

    {

    	// toggle the image and title:  

    	this.src="images/checkdisabled.gif";

    	this.title="Checked";

		

		// update the hidden real checkbox to match the state of the graphical 

    	// version:

    	this.nextSibling.checked=true;

	}

	else

    {

    	// toggle the image and title:  

    	this.src="images/checked.gif";

    	this.title="Checked";

		

		// update the hidden real checkbox to match the state of the graphical 

    	// version:

    	this.nextSibling.checked=true;

	}

}



// END MAC STYLE CHECKBOXES

// KB FUNCTION 

function clicklink(id1)

{

	window.document.hidform.id.value=id1

	window.document.hidform.submit();

}



// RADIO BUTTON SUBMIT CHECK FUNCTION

function subscription_check()

{

	// set var radio_choice to false

	var radio_choice = false;

	

	// Loop from zero to the one minus the number of radio button selections

	for (counter = 0; counter < newsubscription.subscriptionid.length; counter++)

    {

		// If a radio button has been selected it will return true

		// (If not it will return false)

		if (newsubscription.subscriptionid[counter].checked)

			radio_choice = true; 

	}

	

	if (!radio_choice)

    {

		// If there were no selections made display an alert box 

		alert('Sie haben keine Teilnehmerkategorie ausgewählt')

		return (false);

	}

	return (true);

}



function subscription_upgcheck()

{

	// set var radio_choice to false

	var radio_choice = false;

	

	// Loop from zero to the one minus the number of radio button selections

	for (counter = 0; counter < subscriptionupgrade.subscriptionid.length; counter++)

    {

		// If a radio button has been selected it will return true

		// (If not it will return false)

		if (subscriptionupgrade.subscriptionid[counter].checked)

			radio_choice = true; 

	}

	

	if (!radio_choice)

    {

		// If there were no selections made display an alert box 

        alert('Sie haben keine Upgrade-Kategorie ausgewählt')

		return (false);

	}

	return (true);

}



function showImage(imagename, imageurl, errors) 

{

	document[imagename].src = imageurl;

	if (!haveerrors && errors)

    {

        haveerrors = errors;

        alert('Bitte überprüfen Sie die markierten Felder');

    }

}



function register_review_invitee(f)

{

    haveerrors = 0;

    (f.username.value.length < 1)

    ? showImage("usernameerror", "images/misc/fieldempty.gif", true)

    : showImage("usernameerror", "images/misc/blankimage.gif", false);

    

    (f.password.value.length < 1)

    ? showImage("passworderror", "images/misc/fieldempty.gif", true)

    : showImage("passworderror", "images/misc/blankimage.gif", false);

    

    (f.email.value.search("@") == -1 || f.email.value.search("[.*]") == -1)

    ? showImage("emailerror", "images/misc/fieldempty.gif", true)

    : showImage("emailerror", "images/misc/blankimage.gif", false);

    

    (f.first_name.value.length < 1)

    ? showImage("first_nameerror", "images/misc/fieldempty.gif", true)

    : showImage("first_nameerror", "images/misc/blankimage.gif", false);

    (f.last_name.value.length < 1)

    ? showImage("last_nameerror", "images/misc/fieldempty.gif", true)

    : showImage("last_nameerror", "images/misc/blankimage.gif", false);

    (f.address.value.length < 1)

    ? showImage("addresserror", "images/misc/fieldempty.gif", true)

    : showImage("addresserror", "images/misc/blankimage.gif", false);

    (f.city.value.length < 1)

    ? showImage("cityerror", "images/misc/fieldempty.gif", true)

    : showImage("cityerror", "images/misc/blankimage.gif", false);

    (f.zipcode.value.length < 3)

    ? showImage("zipcodeerror", "images/misc/fieldempty.gif", true)

    : showImage("zipcodeerror", "images/misc/blankimage.gif", false);

    (f.phone1.value.length < 5)

    ? showImage("phoneerror", "images/misc/fieldempty.gif", true)

    : showImage("phoneerror", "images/misc/blankimage.gif", false);



    var user_input = '';



    for (i=0;i<f.has_UID.length;i++) { if (f.has_UID[i].checked) { user_input = f.has_UID[i].value; } } 

    (user_input.length < 1)

    ? showImage("UIDerror", "images/misc/fieldempty.gif", true)

    : showImage("UIDerror", "images/misc/blankimage.gif", false);



    return (!haveerrors);

}



function register1(f)

{

    haveerrors = 0;

	(f.username.value.length < 1)

	? showImage("usernameerror", "images/misc/fieldempty.gif", true)

	: showImage("usernameerror", "images/misc/blankimage.gif", false);

	

	(f.password.value.length < 1)

	? showImage("passworderror", "images/misc/fieldempty.gif", true)

	: showImage("passworderror", "images/misc/blankimage.gif", false);

	(f.password2.value.length < 1)

	? showImage("password2error", "images/misc/fieldempty.gif", true)

	: showImage("password2error", "images/misc/blankimage.gif", false);

	

	(f.secretquestion.value.length < 1)

	? showImage("secretquestionerror", "images/misc/fieldempty.gif", true)

	: showImage("secretquestionerror", "images/misc/blankimage.gif", false);

	(f.secretanswer.value.length < 1)

	? showImage("secretanswererror", "images/misc/fieldempty.gif", true)

	: showImage("secretanswererror", "images/misc/blankimage.gif", false);

	

	(f.email.value.search("@") == -1 || f.email.value.search("[.*]") == -1)

	? showImage("emailerror", "images/misc/fieldempty.gif", true)

	: showImage("emailerror", "images/misc/blankimage.gif", false);

	(f.email2.value.search("@") == -1 || f.email2.value.search("[.*]") == -1)

	? showImage("email2error", "images/misc/fieldempty.gif", true)

	: showImage("email2error", "images/misc/blankimage.gif", false);

	

	return (!haveerrors);

}



function register2(f)

{

    haveerrors = 0;

    

	(f.first_name.value.length < 1)

	? showImage("first_nameerror", "images/misc/fieldempty.gif", true)

	: showImage("first_nameerror", "images/misc/blankimage.gif", false);

	(f.last_name.value.length < 1)

	? showImage("last_nameerror", "images/misc/fieldempty.gif", true)

	: showImage("last_nameerror", "images/misc/blankimage.gif", false);

	(f.address.value.length < 1)

	? showImage("addresserror", "images/misc/fieldempty.gif", true)

	: showImage("addresserror", "images/misc/blankimage.gif", false);

	(f.city.value.length < 1)

	? showImage("cityerror", "images/misc/fieldempty.gif", true)

	: showImage("cityerror", "images/misc/blankimage.gif", false);

	(f.zipcode.value.length < 3)

	? showImage("zipcodeerror", "images/misc/fieldempty.gif", true)

	: showImage("zipcodeerror", "images/misc/blankimage.gif", false);

	(f.phone1.value.length < 5)

	? showImage("phoneerror", "images/misc/fieldempty.gif", true)

	: showImage("phoneerror", "images/misc/blankimage.gif", false);



	var user_input = '';



    for (i=0;i<f.has_UID.length;i++) { if (f.has_UID[i].checked) { user_input = f.has_UID[i].value; } } 

	(user_input.length < 1)

	? showImage("UIDerror", "images/misc/fieldempty.gif", true)

	: showImage("UIDerror", "images/misc/blankimage.gif", false);



	return (!haveerrors);

}



function register_invitee(f)

{

    haveerrors = 0;

    (f.first_name.value.length < 1)

    ? showImage("first_nameerror", "images/misc/fieldempty.gif", true)

    : showImage("first_nameerror", "images/misc/blankimage.gif", false);    

    

    (f.last_name.value.length < 1)

    ? showImage("last_nameerror", "images/misc/fieldempty.gif", true)

    : showImage("last_nameerror", "images/misc/blankimage.gif", false);

    

    (f.city.value.length < 1)

    ? showImage("cityerror", "images/misc/fieldempty.gif", true)

    : showImage("cityerror", "images/misc/blankimage.gif", false);    

   

    (f.email.value.search("@") == -1 || f.email.value.search("[.*]") == -1)

    ? showImage("emailerror", "images/misc/fieldempty.gif", true)

    : showImage("emailerror", "images/misc/blankimage.gif", false);

    

    return (!haveerrors);

}



function checkBoxCounter(e, num)

{

  var theBox = (e.target)?e.target:e.srcElement;

  if(theBox.name=="compare[]")

  {

    var c = 0;

    var aBox = theBox.form["compare[]"];

    var mysubmitbutton = theBox.form["submit"];

    for(var i=0;i<aBox.length;i++)

    {

      if(aBox[i].checked) c++;

    }

    var cDis = false;

    numm = num - 1;

    if(c>numm) 

    {   

        cDis = true;

    }

    

    if(c>num) 

    {   

        mysubmitbutton.disabled = true;   

    }

    else

    {

        if(c == 0)   

        {

            mysubmitbutton.disabled = true;   

        }

        else

        {

            mysubmitbutton.disabled = false;  

        }

    }

    

    if(c == 1)

    {

        alert('Sie können bis zu ' + num + ' Kategorien auswählen');

    }



    for(var i=0;i<aBox.length;i++)

    {

      if(!aBox[i].checked) aBox[i].disabled = cDis;

    }

  }

}



function checkdate(objName) {

    var datefield = objName;

    if (chkdate(objName) == false) {

        datefield.select();

        alert("Datum ungültig. (Format: 1.1.07 oder 1.1.2007) <br>Sollten Sie noch nicht sicher sein, geben Sie bitte ein ungefähres Datum an");

        datefield.value = '';

        datefield.focus();

        return false;

    }

    else {

        return true;

       }

}

function chkdate(objName) {

    //var strDatestyle = "US"; //United States date style

    var strDatestyle = "EU";  //European date style

    var strDate;

    var strDateArray;

    var strDay;

    var strMonth;

    var strYear;

    var intday;

    var intMonth;

    var intYear;

    var booFound = false;

    var datefield = objName;

    var strSeparatorArray = new Array("-"," ","/","."," .",". ");

    var intElementNr;

    var err = 0;

    var strMonthArray = new Array(12);

        strMonthArray[0] = "01";

        strMonthArray[1] = "02";

        strMonthArray[2] = "03";

        strMonthArray[3] = "04";

        strMonthArray[4] = "05";

        strMonthArray[5] = "06";

        strMonthArray[6] = "07";

        strMonthArray[7] = "08";

        strMonthArray[8] = "09";

        strMonthArray[9] = "10";

        strMonthArray[10] = "11";

        strMonthArray[11] = "12";

    strDate = datefield.value;

    if (strDate.length < 1) {

        return true;

    }

    for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {

        if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {

            strDateArray = strDate.split(strSeparatorArray[intElementNr]);

            if (strDateArray.length != 3) {

                err = 1;

                return false;

            }

            else {

                strDay = strDateArray[0];

                strMonth = strDateArray[1];

                strYear = strDateArray[2];

            }

            booFound = true;

        }

    }

    if (booFound == false) {

        if (strDate.length>5) {

            strDay = strDate.substr(0, 2);

            strMonth = strDate.substr(2, 2);

            strYear = strDate.substr(4);

        }

    }

    if (strYear.length == 1) {

        strYear = '200' + strYear;

    }

    if (strYear.length == 2) {

        strYear = '20' + strYear;

    }

    if (strDay.length == 1) {

        strDay = '0' + strDay;

    }

    

    // US style

    if (strDatestyle == "US") {

        strTemp = strDay;

        strDay = strMonth;

        strMonth = strTemp;

    }

    intday = parseInt(strDay, 10);

    if (isNaN(intday)) {

        err = 2;

        return false;

    }

    intMonth = parseInt(strMonth, 10);

    if (isNaN(intMonth)) {

        for (i = 0;i<12;i++) {

            if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {

                intMonth = i+1;

                strMonth = strMonthArray[i];

                i = 12;

            }

        }

        if (isNaN(intMonth)) {

            err = 3;

            return false;

        }

    }

    intYear = parseInt(strYear, 10);

    if (isNaN(intYear)) {

        err = 4;

        return false;

    }

    if (intMonth>12 || intMonth<1) {

        err = 5;

        return false;

    }

    if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {

        err = 6;

        return false;

    }

    if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {

        err = 7;

        return false;

    }

    if (intMonth == 2) {

        if (intday < 1) {

            err = 8;

            return false;

        }

        if (LeapYear(intYear) == true) {

            if (intday > 29) {

                err = 9;

                return false;

            }

        }

        else {

            if (intday > 28) {

                err = 10;

                return false;

            }

        }

    }

    if (strDatestyle == "US") {

        datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;

    }

    else {

        datefield.value = strDay + ". " + strMonthArray[intMonth-1] + ". " + strYear;

    }

    return true;

}



function LeapYear(intYear) {

    if (intYear % 100 == 0) {

        if (intYear % 400 == 0) { return true; }

    }

    else {

        if ((intYear % 4) == 0) { return true; }

    }

    return false;

}

function doDateCheck(from, to) {

    var fromfield = from.value;

    var tofield = to.value;

    

    if (from.value == "" || to.value == ""){ 

            alert("Beide Daten müssen eingegeben werden.");

            fromfield.focus();

    }

    else {

            document.getElementById('project_from_here').innerHTML=fromfield;

            document.getElementById('project_to_here').innerHTML=tofield;

    }



}

 

function validate_number(field, digits) {

  var valid = "0123456789,. €";

  my_value = field.value;

  my_value = my_value.replace(".", "");

  my_value = my_value.replace("€", ""); 

  my_value = my_value.replace(" ", "");

  if (my_value.substring(0,1) == ',') my_value = my_value.replace(",", "QQQ"); 

  my_value = my_value.replace("QQQ", "0,"); 



  var ok = "yes";

  var temp;

  var komma = 0;

  for (var i=0; i<my_value.length; i++) 

  {

    temp = "" + my_value.substring(i, i+1);

    if (valid.indexOf(temp) == "-1") ok = "no";

    if (temp == ",") komma = i;

  }



    if (ok == "no") {

      alert("Bitte im Format 12345,00 oder 12345 eingeben");

      field.focus();

      field.value = my_value;

      field.select();

   }

      

      if (komma == 0 && digits == 2) my_value = my_value + ",00";

      my_value_length = my_value.length

      if (komma == my_value_length - 2 && digits == 2) my_value = my_value + "0";

      if (komma == my_value_length - 1 && digits == 2) my_value = my_value + "00";

      

      field.value = my_value;

}

 

function addEvent(type)

{

    var ni = document.getElementById('myDiv');

    var numi = document.getElementById('theValue');

    var num = (document.getElementById('theValue').value -1)+ 2;

    numi.value = num;

    var divIdName = "my"+num+"Div";

    var newdiv = document.createElement('div');

    newdiv.setAttribute("id",divIdName);

    if (type == 'klassisch')

    {

    newdiv.innerHTML = "<tr><td colspan=\"5\">"+

    "<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\">"+

    "<tr><td width=\"50%\" valign=\"top\"><fieldset class=\"fieldset\" style=\"margin:0px\">"+

    "<legend>Werbeträger (Klassisch)</legend>"+

    "<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\">"+

    "<tr>"+

        "<td align=\"left\" height=\"33\">Bitte wählen Sie eine Option aus"+

            "<input type=hidden name=\"group"+num+"\" id=\"group"+num+"\" value=\"klassisch\">"+

            "<br>"+

            "<label for=\"type"+num+"1\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"1\" value=\"flyer\" checked> Flyer</label>"+ 

            "<br>"+

            "<label for=\"type"+num+"2\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"2\" value=\"poster\"> Poster</label>"+

            "<br>"+

            "<label for=\"type"+num+"3\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"3\" value=\"eintrittskarten\"> Eintrittskarten</label>"+

            "<br>"+

            "<label for=\"type"+num+"4\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"4\" value=\"schild\"> Schild</label>"+

            "<br>"+

            "<label for=\"type"+num+"5\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"5\" value=\"plane\"> LKW-Plane</label>"+

            "<br>"+

            "<label for=\"type"+num+"6\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"6\" value=\"sonstige\"> Sonstige</label>"+

        "</td>"+

        "<td align=\"left\" height=\"33\">Weitere Infos"+

            "<br>"+

            "<input type=text name=\"amount"+num+"\" size=10 maxlength=10 value=\"\" onBlur=\"validate_number(this, 0)\"> Menge?"+ 

            "<br>"+

            "<input type=text name=\"when"+num+"\" size=20 maxlength=20 value=\"1.1.2007\" onBlur=\"checkdate(this)\"> Wann verteilt/sichtbar?"+

            "<br>"+

            "<input type=text name=\"where"+num+"\" size=20 maxlength=20 value=\"\"> Wo verteilt/sichtbar?"+

            "<br>"+

            "<input type=text name=\"who"+num+"\" size=20 maxlength=20 value=\"\"> Wer verteilt?"+

            "<br>"+

            "<input type=text name=\"size"+num+"\" size=10 maxlength=10 value=\"\"> Wie groß?"+

            "<br>"+

            "<input type=text name=\"help"+num+"\" size=20 maxlength=20 value=\"\"> Sonstige Angaben"+

        "</td>"+

        "<td valign=\"bottom\">"+

        "<a href=\"javascript:;\" onclick=\"removeEvent(\'"+divIdName+"\')\"><img src=\"/images/take_werbetraeger.gif\" border=\"0\" height=\"35\" width=\"35\" alt=\"Werbeträger entfernen\" title=\"Werbeträger entfernen\"></a>"+

        "</td>"+

    "</tr>"+

    "</table>"+

    "</fieldset>"+

    "</td>"+

    "</tr>"+

    "</table>"+

    "</td>"+

    "</tr> "+

    "<!-- / Werbeträger --> ";

    

    }

    else if (type == 'web')

    {

    newdiv.innerHTML = "<tr><td colspan=\"5\">"+

    "<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\">"+

    "<tr><td width=\"50%\" valign=\"top\"><fieldset class=\"fieldset\" style=\"margin:0px\">"+

    "<legend>Werbeträger (Web)</legend>"+

    "<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\">"+

    "<tr>"+

        "<td align=\"left\" height=\"33\">Bitte wählen Sie eine Option aus"+

            "<input type=hidden name=\"group"+num+"\" id=\"group"+num+"\" value=\"web\">"+

            "<br>"+

            "<label for=\"type"+num+"1\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"1\" value=\"banner\" checked> Banner</label>"+ 

            "<br>"+

            "<label for=\"type"+num+"2\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"2\" value=\"link\"> TextLink</label>"+

            "<br>"+

            "<label for=\"type"+num+"3\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"3\" value=\"sonstige\"> Sonstige</label>"+

        "</td>"+

        "<td align=\"left\" height=\"33\">Weitere Infos"+

            "<br>"+

            "<input type=text name=\"amount"+num+"\" size=10 maxlength=10 value=\"\" onBlur=\"validate_number(this, 0)\"> Besucher/Tag?"+ 

            "<br>"+

            "<input type=text name=\"when"+num+"\" size=20 maxlength=20 value=\"\"> Zeitraum in Tagen"+

            "<br>"+

            "<input type=text name=\"where"+num+"\" size=20 maxlength=20 value=\"http://\"> Wo genau?"+

            "<br>"+

            "<input type=text name=\"who"+num+"\" size=20 maxlength=20 value=\"\"> Alexa-Rank, falls bekannt?"+

            "<br>"+

            "<input type=text name=\"size"+num+"\" size=10 maxlength=10 value=\"\"> Wie groß?"+

            "<br>"+

            "<input type=text name=\"help"+num+"\" size=20 maxlength=20 value=\"\"> Sonstige Angaben"+

        "</td>"+

        "<td valign=\"bottom\">"+

        "<a href=\"javascript:;\" onclick=\"removeEvent(\'"+divIdName+"\')\"><img src=\"/images/take_werbetraeger.gif\" border=\"0\" height=\"35\" width=\"35\" alt=\"Werbeträger entfernen\" title=\"Werbeträger entfernen\"></a>"+

        "</td>"+

    "</tr>"+

    "</table>"+

    "</fieldset>"+

    "</td>"+

    "</tr>"+

    "</table>"+

    "</td>"+

    "</tr> "+

    "<!-- / Werbeträger --> ";

    }

        else if (type == 'media')

    {

    newdiv.innerHTML = "<tr><td colspan=\"5\">"+

    "<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\">"+

    "<tr><td width=\"50%\" valign=\"top\"><fieldset class=\"fieldset\" style=\"margin:0px\">"+

    "<legend>Werbeträger (Medien - Kommunikation)</legend>"+

    "<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\">"+

    "<tr>"+

        "<td align=\"left\" height=\"33\">Bitte wählen Sie eine Option aus"+

            "<input type=hidden name=\"group"+num+"\" id=\"group"+num+"\" value=\"medien\">"+

            "<br>"+

            "<label for=\"type"+num+"1\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"1\" value=\"article\" checked> Anzeige</label>"+ 

            "<br>"+

            "<label for=\"type"+num+"2\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"2\" value=\"pr\"> Artikel/PR</label>"+

            "<br>"+

            "<label for=\"type"+num+"3\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"3\" value=\"objekt\"> Objekt-Benennung</label>"+

            "<br>"+

            "<label for=\"type"+num+"4\"><input type=radio name=\"type"+num+"\" id=\"type"+num+"4\" value=\"sonstige\"> Sonstige</label>"+

        "</td>"+

        "<td align=\"left\" height=\"33\">Weitere Infos"+

            "<br>"+

            "<input type=text name=\"when"+num+"\" size=20 maxlength=20 value=\"\"> Zeitraum in Tagen"+

            "<br>"+

            "<input type=text name=\"where"+num+"\" size=40 maxlength=40 value=\"\"> Welches Medium?"+

            "<br>"+

            "<input type=text name=\"help"+num+"\" size=40 maxlength=40 value=\"\"> Sonstige Angaben"+

            "<input type=hidden name=\"amount"+num+"\" value=\"\">"+ 

            "<input type=hidden name=\"who"+num+"\" value=\"\">"+ 

            "<input type=hidden name=\"size"+num+"\" value=\"\">"+ 

        "</td>"+

        "<td valign=\"bottom\">"+

        "<a href=\"javascript:;\" onclick=\"removeEvent(\'"+divIdName+"\')\"><img src=\"/images/take_werbetraeger.gif\" border=\"0\" height=\"35\" width=\"35\" alt=\"Werbeträger entfernen\" title=\"Werbeträger entfernen\"></a>"+

        "</td>"+

    "</tr>"+

    "</table>"+

    "</fieldset>"+

    "</td>"+

    "</tr>"+

    "</table>"+

    "</td>"+

    "</tr> "+

    "<!-- / Werbeträger --> ";

    }

    else if (type == 'other')

    {

    newdiv.innerHTML = "<tr><td colspan=\"5\">"+

    "<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\">"+

    "<tr><td width=\"50%\" valign=\"top\"><fieldset class=\"fieldset\" style=\"margin:0px\">"+

    "<legend>Werbeträger (Sonstige) Beschreibung</legend>"+

    "<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\">"+

    "<tr>"+

        "<td align=\"left\" height=\"33\">"+

        "<input type=hidden name=\"group"+num+"\" id=\"group"+num+"\" value=\"other\">"+

        "<div class=\"htmlarea\"><textarea id=\"help"+num+"\" name=\"help"+num+"\" style=\"width:580px; height:84px; padding:8px;\" wrap=\"physical\"></textarea><br>"+

        "<div style=\"width:300px;\"><a href=\"#\" onclick=\"return construct_textarea_height('help"+num+"', 50)\">Vergößern</a>&nbsp;"+

        "<a href=\"#\" onclick=\"return construct_textarea_height('help"+num+"', -50)\">Verkleinern</a></div></div>"+

        "</td>"+

        "<input type=hidden name=\"where"+num+"\" value=\"\">"+ 

        "<input type=hidden name=\"when"+num+"\" value=\"\">"+ 

        "<input type=hidden name=\"type"+num+"\" value=\"\">"+        

        "<input type=hidden name=\"amount"+num+"\" value=\"\">"+ 

        "<input type=hidden name=\"who"+num+"\" value=\"\">"+ 

        "<input type=hidden name=\"size"+num+"\" value=\"\">"+ 

        "<td valign=\"bottom\">"+

        "<a href=\"javascript:;\" onclick=\"removeEvent(\'"+divIdName+"\')\"><img src=\"/images/take_werbetraeger.gif\" border=\"0\" height=\"35\" width=\"35\" alt=\"Werbeträger entfernen\" title=\"Werbeträger entfernen\"></a>"+

        "</td>"+

    "</tr>"+

    "</table>"+

    "</fieldset>"+

    "</td>"+

    "</tr>"+

    "</table>"+

    "</td>"+

    "</tr> "+

    "<!-- / Werbeträger --> ";

    }

 

    ni.appendChild(newdiv);

}



function removeEvent(divNum)

{

    var d = document.getElementById('myDiv');

    var olddiv = document.getElementById(divNum);

    d.removeChild(olddiv);

} 

 

function validateservicerfp(f) 

{

	haveerrors = 0;

	(rfpservice.project_title.value.length < 1)

	? showImage("project_titleerror", "images/misc/fieldempty.gif", true)

	: showImage("project_titleerror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validatenewstore(f)

{

	haveerrors = 0;

	(f.title.value.length < 1)

	? showImage("titleerror", "images/misc/fieldempty.gif", true)

	: showImage("titleerror", "images/misc/blankimage.gif", false);

	(f.description.value.length < 1)

	? showImage("descriptionerror", "images/misc/fieldempty.gif", true)

	: showImage("descriptionerror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validateprofileverification(f)

{

	haveerrors = 0;

	(f.contactname.value.length < 1)

	? showImage("contactnameerror", "images/misc/fieldempty.gif", true)

	: showImage("contactnameerror", "images/misc/blankimage.gif", false);

	(f.contactnumber.value.length < 1)

	? showImage("contactnumbererror", "images/misc/fieldempty.gif", true)

	: showImage("contactnumbererror", "images/misc/blankimage.gif", false); 

	(f.contactnotes.value.length < 1)

	? showImage("contactnoteserror", "images/misc/fieldempty.gif", true) 

	: showImage("contactnoteserror", "images/misc/blankimage.gif", false); 

	return (!haveerrors);

}



function validatesend2friend(f)

{

	haveerrors = 0;

	(f.name.value.length < 1)

	? showImage("nameerror", "images/misc/fieldempty.gif", true)

	: showImage("nameerror", "images/misc/blankimage.gif", false);

	(f.email.value.length < 1)

	? showImage("emailerror", "images/misc/fieldempty.gif", true)

	: showImage("emailerror", "images/misc/blankimage.gif", false); 

	(f.comment.value.length < 1)

	? showImage("commenterror", "images/misc/fieldempty.gif", true) 

	: showImage("commenterror", "images/misc/blankimage.gif", false); 

	return (!haveerrors);

}



function validatePWR(f)

{

	haveerrors = 0;

	(f.username.value.length < 1)

	? showImage("usernameerror", "images/misc/fieldempty.gif", true)

	: showImage("usernameerror", "images/misc/blankimage.gif", false);

/*	(f.phone.value.length < 1)

	? showImage("phoneerror", "images/misc/fieldempty.gif", true)

	: showImage("phoneerror", "images/misc/blankimage.gif", false);*/

	return (!haveerrors);

}



function validateSubscriptionCancel(f)

{

	haveerrors = 0;

	(f.password.value.length < 1)

	? showImage("passworderror", "images/misc/fieldempty.gif", true)

	: showImage("passworderror", "images/misc/blankimage.gif", false);

	(f.comment.value.length < 1)

	? showImage("commenterror", "images/misc/fieldempty.gif", true)

	: showImage("commenterror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}





function ckip (Wert)

// Wandelt Kommazahl in Punktzahl um, Rückgabewert: Dezimalzahl

{

    var PosPunkt = Wert.indexOf(".",0);

    var PosKomma = Wert.indexOf(",",0);



    if ( PosPunkt != -1 )   // Wert mit Dezimalpunkt

    {

        if(check_zahl(Wert))  // Überprüfung auf Zahl

          {

            return parseFloat(Wert);

          }

        else

          {

            return Number.NaN;

          }

    }

    else

    {

         if (PosKomma >= 0)  // Wert mit Komma

          {

          Wert = Wert.substring(0, PosKomma) + "." + Wert.substring(PosKomma + 1, Wert.length);

          }

    }

    if(check_zahl(Wert))  // Überprüfung auf Zahl

    {

        return parseFloat(Wert);

    }

    else

    {

        return Number.NaN;

    }

}

function check_zahl(zahl)

{

    var flag = false;

    // Ermittelt, ob ein zu übergebender Wert eine ungültige Zahl ist (NaN = Not a Number).

    //Gibt true zurück, wenn der Wert keine Zahl ist, und false, wenn es eine Zahl ist.

    if (isNaN(zahl))

    {

        alert(zahl + " ist keine Zahl!\n\n funktionen.js \n   check_zahl()");

        return flag;

    }

    else

    {

        flag = true;

        return flag;

    }

}









function validateDepositForm(f)

{

	haveerrors = 0;

	(f.deposit_amount.value.length < 1)

	? showImage("deposit_amounterror", "images/misc/fieldempty.gif", true)

	: showImage("deposit_amounterror", "images/misc/blankimage.gif", false);

    (f.account_id.value.length < 1)

    ? showImage("deposit_methoderror", "images/misc/fieldempty.gif", true)

    : showImage("deposit_methoderror", "images/misc/blankimage.gif", false);    

	return (!haveerrors);

}



function validatetx_decideForm(f)

{



    haveerrors = 0;

    (ckip(f.accts_amount.value) > ckip(f.available_accts.value))

    ? showImage("accts_amounterror", "images/misc/fieldempty.gif", true)

    : showImage("accts_amounterror", "images/misc/blankimage.gif", false);

    

    (ckip(f.escrow_amount.value) > ckip(f.available_escrow.value))

    ? showImage("escrow_amounterror", "images/misc/fieldempty.gif", true)

    : showImage("escrow_amounterror", "images/misc/blankimage.gif", false);

        

    (ckip(f.cash_amount.value) > ckip(f.available_cash.value))

    ? showImage("cash_amounterror", "images/misc/fieldempty.gif", true)

    : showImage("cash_amounterror", "images/misc/blankimage.gif", false);

     

    fehlen = Math.abs(ckip(f.total_amount.value) - ckip(f.accts_amount.value) - ckip(f.escrow_amount.value) - ckip(f.cash_amount.value) - ckip(f.pay_in.value));



    (fehlen > 1)

    ? showImage("total_amounterror", "images/misc/fieldempty.gif", true)

    : showImage("total_amounterror", "images/misc/blankimage.gif", false);

    

    return (!haveerrors);    

}



function get_last_decide_tx_Form(f)

{

    fehlen = (ckip(f.total_amount.value) - ckip(f.accts_amount.value) - ckip(f.escrow_amount.value) - ckip(f.cash_amount.value));

    fehlen = Math.round( fehlen * 100 ) / 100;

    fehlen = fehlen.toString();

    fehlen = fehlen.replace(".", ",");



    var temp;

    var komma = 0;

    for (var i=0; i<fehlen.length; i++) 

    {

    temp = "" + fehlen.substring(i, i+1);

    if (temp == ",") komma = i;

    }

    if (komma == 0) fehlen = fehlen + ",00";

    fehlen_length = fehlen.length

    if (komma == fehlen_length - 2) fehlen = fehlen + "0";

    if (komma == fehlen_length - 1) fehlen = fehlen + "00";



    

    f.pay_in.value = fehlen;

}



function validateWithdrawForm(f)

{

	haveerrors = 0;

	(f.withdraw_amount.value.length < 1)

	? showImage("withdraw_amounterror", "images/misc/fieldempty.gif", true)

	: showImage("withdraw_amounterror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validatelogin(f)

{

	haveerrors = 0;

	(f.username.value.length < 1)

	? showImage("usernameerror", "images/misc/fieldempty.gif", true)

	: showImage("usernameerror", "images/misc/blankimage.gif", false);

	(f.password.value.length < 1)

	? showImage("passworderror", "images/misc/fieldempty.gif", true)

	: showImage("passworderror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validatebuyingprofile(f)

{

	haveerrors = 0;

	(f.company.value.length < 1)

	? showImage("companyerror", "images/misc/fieldempty.gif", true)

	: showImage("companyerror", "images/misc/blankimage.gif", false);

	(f.first_name.value.length < 1)

	? showImage("first_nameerror", "images/misc/fieldempty.gif", true)

	: showImage("first_nameerror", "images/misc/blankimage.gif", false);

	(f.last_name.value.length < 1)

	? showImage("last_nameerror", "images/misc/fieldempty.gif", true)

	: showImage("last_nameerror", "images/misc/blankimage.gif", false);

	(f.description.value.length < 1)

	? showImage("descriptionerror", "images/misc/fieldempty.gif", true)

	: showImage("descriptionerror", "images/misc/blankimage.gif", false); 

	return (!haveerrors);

}



function validateplacebid(f)

{

	var Chars = "0123456789.";

	haveerrors = 0;

	(f.bidamount.value.length < 1)

	? showImage("bidamounterror", "images/misc/fieldempty.gif", true) 

	: showImage("bidamounterror", "images/misc/blankimage.gif", false);

	(f.estimate_days.value.length < 1)

	? showImage("estimate_dayserror", "images/misc/fieldempty.gif", true)

	: showImage("estimate_dayserror", "images/misc/blankimage.gif", false);

	(f.proposal.value.length < 1)

	? showImage("proposalerror", "images/misc/fieldempty.gif", true)

	: showImage("proposalerror", "images/misc/blankimage.gif", false);

	(f.bidamounttype.value == "0")

	? showImage("bidamounttypeerror", "images/misc/fieldempty.gif", true)

	: showImage("bidamounttypeerror", "images/misc/blankimage.gif", false);

	

	//Validate Bid Amount Value

	for (var i = 0; i < f.bidamount.value.length; i++)

    {

		if (Chars.indexOf(f.bidamount.value.charAt(i)) == -1)

        { 

			alert('Ungültige Angaben. Nur Zahlen und Kommata sind erlaubt');

			haveerrors = 1;

		}

	}

	

	//Validate Zero Based Bids

	if (f.bidamount.value == "0.00" || f.bidamount.value == "0")

    { 

		alert('Ihr Gebot muß das Mindestgebot übersteigen');

		haveerrors = 1;

	}

	

	return (!haveerrors);

}



function validateplacebid2(f)

{

	var Chars = "0123456789.";

	haveerrors = 0;

	(f.bidamount.value.length < 1)

	? showImage("bidamounterror", "images/misc/fieldempty.gif", true) 

	: showImage("bidamounterror", "images/misc/blankimage.gif", false);

	

	//Validate Bid Amount Value

	for (var i = 0; i < f.bidamount.value.length; i++)

    { 

		if (Chars.indexOf(f.bidamount.value.charAt(i)) == -1)

        { 

			alert('Ungültige Angaben. Nur Zahlen und Kommata sind erlaubt');

			haveerrors = 1;

		}

	}

	

	//Validate Zero Based Bids

	if (f.bidamount.value == "0.00" || f.bidamount.value == "0")

    { 

		alert('Ihr Gebot muß das Mindestgebot übersteigen');

		haveerrors = 1;

	}

	

	return (!haveerrors);

}



function validatep2binvoice(f)

{

	var Chars = "0123456789.";

	haveerrors = 0;

	(f.amount.value.length < 1)

	? showImage("amounterror", "images/misc/fieldempty.gif", true) 

	: showImage("amounterror", "images/misc/blankimage.gif", false);

	

	//Validate Bid Amount Value

	for (var i = 0; i < f.amount.value.length; i++)

    { 

		if (Chars.indexOf(f.amount.value.charAt(i)) == -1)

        { 

			alert('Ungültige Angaben. Nur Zahlen und Kommata sind erlaubt');

			haveerrors = 1;

		}

	}

	

	//Validate Zero Based Bids

	if (f.amount.value == "0.00" || f.amount.value == "0")

    { 

		alert('Ihr Gebot muß das Mindestgebot übersteigen');

		haveerrors = 1;

	}

	

	return (!haveerrors);

}



function validateemailcode(f)

{

	haveerrors = 0;

	(f.emailcode.value.length < 1)

	? showImage("emailcodeerror", "images/misc/fieldempty.gif", true)

	: showImage("emailcodeerror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validatenewprofile2(f)

{

	haveerrors = 0;

	(f.password.value.length < 4)

	? showImage("passworderror", "images/misc/fieldempty.gif", true)

	: showImage("passworderror", "images/misc/blankimage.gif", false);

	(f.password2.value.length < 4)

	? showImage("password2error", "images/misc/fieldempty.gif", true)

	: showImage("password2error", "images/misc/blankimage.gif", false); 

	(f.username.value.length < 3) 

	? showImage("usernameerror", "images/misc/fieldempty.gif", true) 

	: showImage("usernameerror", "images/misc/blankimage.gif", false); 

	return (!haveerrors);

}



function validateregisterverify(f)

{

	haveerrors = 0;

	(f.email.value.search("@") == -1 || f.email.value.search("[.*]") == -1) // validate master email

	? showImage("emailerror", "images/misc/fieldempty.gif", true)

	: showImage("emailerror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validateSAForm(f)

{

	haveerrors = 0;

	(f.secretanswer.value.length < 1)

	? showImage("secretanswererror", "images/misc/fieldempty.gif", true)

	: showImage("secretanswererror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validateNewPWForm(f)

{

	haveerrors = 0;

	(f.password.value.length < 1) 

	? showImage("passworderror", "images/misc/fieldempty.gif", true)

	: showImage("passworderror", "images/misc/blankimage.gif", false);

	(f.password2.value.length < 1)

	? showImage("password2error", "images/misc/fieldempty.gif", true)

	: showImage("password2error", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validateAuthCCFinishForm(f)

{

	haveerrors = 0;

	(f.amount1.value.length < 1)

	? showImage("amount1error", "images/misc/fieldempty.gif", true)

	: showImage("amount1error", "images/misc/blankimage.gif", false);

	(f.amount2.value.length < 1)

	? showImage("amount2error", "images/misc/fieldempty.gif", true)

	: showImage("amount2error", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validateForm(f)

{

	haveerrors = 0;

	(f.CardNumber.value.length < 1)

	? showImage("CardNumbererror", "images/misc/fieldempty.gif", true)

	: showImage("CardNumbererror", "images/misc/blankimage.gif", false);

	(f.cvv2.value.length < 1) 

	? showImage("cvverror", "images/misc/fieldempty.gif", true)

	: showImage("cvverror", "images/misc/blankimage.gif", false);

	(f.first_name.value.length < 1)

	? showImage("firstnameerror", "images/misc/fieldempty.gif", true)

	: showImage("firstnameerror", "images/misc/blankimage.gif", false); 

	(f.last_name.value.length < 1)

	? showImage("lastnameerror", "images/misc/fieldempty.gif", true) 

	: showImage("lastnameerror", "images/misc/blankimage.gif", false); 

	(f.phone_of_cardowner.value.length < 1)

	? showImage("phoneofcardownererror", "images/misc/fieldempty.gif", true)

	: showImage("phoneofcardownererror", "images/misc/blankimage.gif", false);

	(f.email_of_cardowner.value.search("@") == -1 || f.email_of_cardowner.value.search("[.*]") == -1)

	? showImage("emailofcardownererror", "images/misc/fieldempty.gif", true)

	: showImage("emailofcardownererror", "images/misc/blankimage.gif", false);

	(f.card_billing_address1.value.length < 1)

	? showImage("cardbillingaddresserror", "images/misc/fieldempty.gif", true) 

	: showImage("cardbillingaddresserror", "images/misc/blankimage.gif", false);

	(f.card_city.value.length < 1)

	? showImage("cardcityerror", "images/misc/fieldempty.gif", true) 

	: showImage("cardcityerror", "images/misc/blankimage.gif", false); 

	(f.card_state.value.length < 1)

	? showImage("cardstateerror", "images/misc/fieldempty.gif", true)

	: showImage("cardstateerror", "images/misc/blankimage.gif", false);

	(f.card_postalzip.value.length < 1)

	? showImage("cardpostalziperror", "images/misc/fieldempty.gif", true) 

	: showImage("cardpostalziperror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validateFormBank(f)

{

	haveerrors = 0;

	(f.account_name.value.length < 1)

	? showImage("account_name_error", "images/misc/fieldempty.gif", true)

	: showImage("account_name_error", "images/misc/blankimage.gif", false);

	(f.bank_name.value.length < 1)

	? showImage("bank_name_error", "images/misc/fieldempty.gif", true)

	: showImage("bank_name_error", "images/misc/blankimage.gif", false);

	(f.account_number.value.length < 1) 

	? showImage("account_number_error", "images/misc/fieldempty.gif", true)

	: showImage("account_number_error", "images/misc/blankimage.gif", false); 

	(f.bank_routing_number.value.length < 1)

	? showImage("bank_routing_number_error", "images/misc/fieldempty.gif", true) 

	: showImage("bank_routing_number_error", "images/misc/blankimage.gif", false); 

	(f.bank_city.value.length < 1)

	? showImage("bank_city_error", "images/misc/fieldempty.gif", true) 

	: showImage("bank_city_error", "images/misc/blankimage.gif", false);



	return (!haveerrors);

}



function validateRFPUserIDForm(f)

{

	haveerrors = 0;

	(f.username.value.length < 1)

	? showImage("usernameerror", "images/misc/fieldempty.gif", true)

	: showImage("usernameerror", "images/misc/blankimage.gif", false);

	return (!haveerrors);

}



function validatecurrency(f)

{

	var temp_value = f.bidamount.value;

	var Chars = "0123456789."; 

   

	for (var i = 0; i < temp_value.length; i++)

    {

		if (Chars.indexOf(temp_value.charAt(i)) == -1)

        { 

			alert('Ungültige Angaben. Nur Zahlen und Kommata sind erlaubt');

			return false;

		}

	}

}



function validatestoreitem(f)

{

	var Chars = "0123456789.";

	haveerrors = 0;

	

	//Validate Shipping Amount Value

	for (var i = 0; i < f.shippricesingle.value.length; i++)

    {

		if (Chars.indexOf(f.shippricesingle.value.charAt(i)) == -1)

        {

			alert('Ungültige Angaben. Nur Zahlen und Kommata sind erlaubt');

			haveerrors = 1;

		}

	}



	return (!haveerrors);

}



function noenter()

{

  return !(window.event && window.event.keyCode == 13); 

}



function Go()

{

	return

}



function createWindow(u,n,w,h,r)

{

	args = 'width='+w+',height='+h+',resizable=no,scrollbars=yes,status=0';

    remote = window.open(u,n,args);

    if( remote != null ) {

    	if (remote.opener == null)

        {

        	remote.opener =  self ;

        }

    }

    

    if( r == 1 )

    { 

		return remote; 

	}

}



var attw =null;

var drww =null;



function Attach(url) 

{

	if( !attw || attw.closed ) 

	{

    	attw = createWindow( url,  'attachwin', 520, 400, 1);

    }

    attw.focus();

}



var popUpWindow=1;



function showAlert(text) 

{

	getElement('alertText').innerHTML = text;

	getElement('alertTable').style.display = '';

	window.scrollTo(0, 0);

}



function closeAlert() 

{

	getElement('alertTable').style.display = 'none';

}



function toggle_tr(target) 

{

	obj=(document.all) ? document.all[target] : document.getElementById(target);

	obj.style.display=(obj.style.display=='none') ? 'inline' : 'none';

}



function toggle_paid(target) 

{

	obj = (document.all) ? document.all[target] : document.getElementById(target);

	if (obj.style.display == 'none') 

	{

		obj.style.display = 'inline';

	}

}



function toggle_free(target) 

{

	obj = (document.all) ? document.all[target] : document.getElementById(target);

	if (obj.style.display=='inline') 

	{

		obj.style.display='none';

	}

}



function toggle_id(idobjname)

{

	obj = getv3obj(idobjname);

	if (obj) 

	{

		if (obj.style.display == "none") 

		{

			obj.style.display = "";

		}

		else 

		{

			obj.style.display = "none";

		}

	}

	return false;

}



function check_upload(formobj) 

{

	var haveupload = false;

	for (var i=0; i < formobj.elements.length; i++)	

	{

		var elm = formobj.elements[i];

		if (elm.type == 'file')	

		{

			if (elm.value != "") 

			{

				haveupload = true;

			}

		}

	}

	if (haveupload) 

	{    

		toggle_id('uploading');

		return true;

	}

	else 

	{

		alert('Bitte nutzen Sie die Browsebuttons, um Mediaelemente auszuwählen');

		return false;

	}

}



function trim(field) 

{

	value = field;

	while (value.charAt(value.length-1) == " ") 

	{

		value = value.substring(0,value.length-1);

	} 

	while(value.substring(0,1) ==" ") 

	{

		value = value.substring(1,value.length);

	}

	return value;

}



function popUP(mypage, myname, w, h, scroll, titlebar) 

{

    var winl = (screen.width - w) / 2;

    var wint = (screen.height - h) / 2;

    winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'

    win = window.open(mypage, myname, winprops)

    if (parseInt(navigator.appVersion) >= 4) 

	{

        win.window.focus();

    }

}



function ILDurationSwitch (val) 

{

	if (val == "1")

	{

		document.forms[1].duration_unit[0].disabled=false;

		document.forms[1].duration_unit[1].disabled=true;

		document.forms[1].duration_unit[2].disabled=true;

		document.forms[1].duration_unit[0].checked=true

		

		toggle_free('invitedlist')

		toggle_free('scheduledate')

	}

	

	if (val == "2")

	{

		document.forms[1].duration_unit[0].disabled=true;

		document.forms[1].duration_unit[1].disabled=false;

		document.forms[1].duration_unit[2].disabled=false;

		document.forms[1].duration_unit[1].checked=true

		

		toggle_free('invitedlist')

		toggle_free('scheduledate')

	}

	

	if (val == "3")

	{

		document.forms[1].duration_unit[0].disabled=false;

		document.forms[1].duration_unit[1].disabled=true;

		document.forms[1].duration_unit[2].disabled=true;

		document.forms[1].duration_unit[0].checked=true

		

		toggle_free('scheduledate')

	}

}



function verifynotify(field1, field2, result_id, match_html, nomatch_html)

{

	this.field1 = field1;

	this.field2 = field2;

	this.result_id = result_id;

	this.match_html = match_html;

	this.nomatch_html = nomatch_html;

	this.check = function() 

	{

		if (!this.result_id) 

		{	 

			return false; 

		}

   		if (!document.getElementById)

		{ 

			return false; 

		}

   		r = document.getElementById(this.result_id);

   		if (!r)

		{ 

			return false; 

		}



   		if (this.field1.value != "" && this.field1.value == this.field2.value) 

		{

     		r.innerHTML = this.match_html;

   		} 

		else 

		{

     		r.innerHTML = this.nomatch_html;

   		}



   		if (this.field2.value == "") 

		{

     		r.innerHTML = '&nbsp;';

   		} 

 	}

}



function insertQuotePrompt()

{	

	var _quote = prompt("Enter some QUOTE text here");

  	if (_quote) 

	{

		editor._iframe.contentWindow.focus();

    	editor.insertHTML("[QUOTE]"+_quote+"[/QUOTE]");

  	}

}



function insertQuote(_quote) 

{	

	if (_quote) 

	{

		editor._iframe.contentWindow.focus();

    	editor.insertHTML("[QUOTE]"+_quote+"[/QUOTE]");

  	}

}



function insertQuoteNamePrompt() 

{	

	var _name = prompt("Enter some Name here");

  	var _quote = prompt("Enter some QUOTE text here");

  	if (_quote && _name) 

	{

		editor._iframe.contentWindow.focus();

    	editor.insertHTML("[QUOTE="+_name+"]"+HTMLArea.htmlEncode(_quote)+"[/QUOTE]");

  	}

}



function insertQuoteName(_name,_quote) 

{	

	if (_quote && _name) 

	{

		editor._iframe.contentWindow.focus();

    	editor.insertHTML("[QUOTE="+_name+"]"+HTMLArea.htmlEncode(_quote)+"[/QUOTE]");

  	}

}



var hexcase = 0;  /* hex output format. 0 - lowercase; 1 - uppercase        */

var b64pad  = ""; /* base-64 pad character. "=" for strict RFC compliance   */

var chrsz   = 8;  /* bits per input character. 8 - ASCII; 16 - Unicode      */



function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}

function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}

function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}

function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }

function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }

function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }



function core_md5(x, len)

{

  /* append padding */

  x[len >> 5] |= 0x80 << ((len) % 32);

  x[(((len + 64) >>> 9) << 4) + 14] = len;



  var a =  1732584193;

  var b = -271733879;

  var c = -1732584194;

  var d =  271733878;



  for(var i = 0; i < x.length; i += 16)

  {

    var olda = a;

    var oldb = b;

    var oldc = c;

    var oldd = d;



    a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);

    d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);

    c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);

    b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);

    a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);

    d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);

    c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);

    b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);

    a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);

    d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);

    c = md5_ff(c, d, a, b, x[i+10], 17, -42063);

    b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);

    a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);

    d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);

    c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);

    b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);



    a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);

    d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);

    c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);

    b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);

    a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);

    d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);

    c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);

    b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);

    a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);

    d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);

    c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);

    b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);

    a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);

    d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);

    c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);

    b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);



    a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);

    d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);

    c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);

    b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);

    a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);

    d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);

    c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);

    b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);

    a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);

    d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);

    c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);

    b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);

    a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);

    d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);

    c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);

    b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);



    a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);

    d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);

    c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);

    b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);

    a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);

    d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);

    c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);

    b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);

    a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);

    d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);

    c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);

    b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);

    a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);

    d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);

    c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);

    b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);



    a = safe_add(a, olda);

    b = safe_add(b, oldb);

    c = safe_add(c, oldc);

    d = safe_add(d, oldd);

  }

  return Array(a, b, c, d);



}

function md5_cmn(q, a, b, x, s, t)

{

  return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);

}

function md5_ff(a, b, c, d, x, s, t)

{

  return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);

}

function md5_gg(a, b, c, d, x, s, t)

{

  return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);

}

function md5_hh(a, b, c, d, x, s, t)

{

  return md5_cmn(b ^ c ^ d, a, b, x, s, t);

}

function md5_ii(a, b, c, d, x, s, t)

{

  return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);

}

function core_hmac_md5(key, data)

{

  var bkey = str2binl(key);

  if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);



  var ipad = Array(16), opad = Array(16);

  for(var i = 0; i < 16; i++)

  {

    ipad[i] = bkey[i] ^ 0x36363636;

    opad[i] = bkey[i] ^ 0x5C5C5C5C;

  }



  var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);

  return core_md5(opad.concat(hash), 512 + 128);

}

function safe_add(x, y)

{

  var lsw = (x & 0xFFFF) + (y & 0xFFFF);

  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);

  return (msw << 16) | (lsw & 0xFFFF);

}

function bit_rol(num, cnt)

{

  return (num << cnt) | (num >>> (32 - cnt));

}

function str2binl(str)

{

  var bin = new Array();

  var mask = (1 << chrsz) - 1;

  for(var i = 0; i < str.length * chrsz; i += chrsz)

    bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);

  return bin;

}

function binl2str(bin)

{

  var str = "";

  var mask = (1 << chrsz) - 1;

  for(var i = 0; i < bin.length * 32; i += chrsz)

    str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);

  return str;

}

function binl2hex(binarray)

{

  var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";

  var str = "";

  for(var i = 0; i < binarray.length * 4; i++)

  {

    str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +

           hex_tab.charAt((binarray[i>>2] >> ((i%4)*8  )) & 0xF);

  }

  return str;

}

function binl2b64(binarray)

{

  var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

  var str = "";

  for(var i = 0; i < binarray.length * 4; i += 3)

  {

    var triplet = (((binarray[i   >> 2] >> 8 * ( i   %4)) & 0xFF) << 16)

                | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )

                |  ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);

    for(var j = 0; j < 4; j++)

    {

      if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;

      else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);

    }

  }

  return str;

}



function str_to_ent(str)

{

	var result = '';

	var i;



	for (i = 0; i < str.length; i++)

	{

		var c = str.charCodeAt(i);

		var tmp = '';



		if (c > 255)

		{



			while (c >= 1)

			{

				tmp = "0123456789" . charAt(c % 10) + tmp;

				c = c / 10;

			}



			if (tmp == '')

			{

				tmp = "0";

			}

			tmp = "#" + tmp;

			tmp = "&" + tmp;

			tmp = tmp + ";";



			result += tmp;

		}

		else

		{

			result += str.charAt(i);

		}

	}

	return result;

}



function trim(s)

{

	while (s.substring(0, 1) == ' ')

	{

		s = s.substring(1, s.length);

	}

	while (s.substring(s.length-1, s.length) == ' ')

	{

		s = s.substring(0, s.length-1);

	}

	return s;

}



function md5(input, outputhtml, outpututf)

{

	if (navigator.userAgent.indexOf("Mozilla/") == 0 && parseInt(navigator.appVersion) >= 4)

	{

		var md5string = hex_md5(str_to_ent(trim(input.value)));

		outputhtml.value = md5string;

		if (outpututf)

		{

			md5string = hex_md5(trim(input.value));

			outpututf.value = md5string;

		}

		input.value = '';

	}



	return true;

}



function feedback_check() 

{

	var quality_rating = false;

	var delivery_rating = false;

	var professionalism_rating = false;

	var responsiveness_rating = false;

	var price_rating = false;

	

	for (counter = 0; counter < leavefeedback.quality_rating.length; counter++) 

	{

	if (leavefeedback.quality_rating[counter].checked)

		quality_rating = true; 

	}

	

	for (counter = 0; counter < leavefeedback.delivery_rating.length; counter++) 

	{

	if (leavefeedback.delivery_rating[counter].checked)

		delivery_rating = true; 

	}

	

	for (counter = 0; counter < leavefeedback.professionalism_rating.length; counter++) 

	{

	if (leavefeedback.professionalism_rating[counter].checked)

		professionalism_rating = true; 

	}

	

	for (counter = 0; counter < leavefeedback.responsiveness_rating.length; counter++) 

	{

	if (leavefeedback.responsiveness_rating[counter].checked)

		responsiveness_rating = true; 

	}

	

	for (counter = 0; counter < leavefeedback.price_rating.length; counter++) 

	{

	if (leavefeedback.price_rating[counter].checked)

		price_rating = true; 

	}

	

    if (!quality_rating) 

    {

        alert('Bitte wählen Sie ein Qualitäts-Feedback aus')

        return (false);

    }

	if (!delivery_rating) 

	{

		alert('Bitte wählen Sie ein Pünktlichkeits-Feedback aus')

		return (false);

	}

	if (!professionalism_rating) 

	{

		alert('Bitte wählen Sie ein Professionalitäts-Feedback aus')

		return (false);

	}

	if (!responsiveness_rating) 

	{

		alert(phrase['Bitte wählen Sie ein Kommunikations-Feedback aus'])

		return (false);

	}

	if (!price_rating) 

	{

		alert(phrase['Bitte wählen Sie ein Preis-Leistungs-Feedback aus'])

		return (false);

	}

	return (true);

}



function hasSupport() 

{

	if (typeof hasSupport.support != "undefined")

		return hasSupport.support;

	

	var ie55 = /msie 5\.[56789]/i.test( navigator.userAgent );

	

	hasSupport.support = ( typeof document.implementation != "undefined" &&

			document.implementation.hasFeature( "html", "1.0" ) || ie55 )

			

	// IE55 has a serious DOM1 bug... Patch it!

	if ( ie55 ) {

		document._getElementsByTagName = document.getElementsByTagName;

		document.getElementsByTagName = function ( sTagName ) {

			if ( sTagName == "*" )

				return document.all;

			else

				return document._getElementsByTagName( sTagName );

		};

	}



	return hasSupport.support;

}



function WebFXTabPane( el, bUseCookie ) 

{

	if ( !hasSupport() || el == null ) return;

	

	this.element = el;

	this.element.tabPane = this;

	this.pages = [];

	this.selectedIndex = null;

	this.useCookie = bUseCookie != null ? bUseCookie : true;

	

	// add class name tag to class name

	this.element.className = this.classNameTag + " " + this.element.className;

	

	// add tab row

	this.tabRow = document.createElement( "div" );

	this.tabRow.className = "tab-row";

	el.insertBefore( this.tabRow, el.firstChild );



    var tabIndex = null;



	if (ILADMIN == 1)

	{

        tabIndex = 0;



    	if (this.useCookie)

        {

    		tabIndex = Number(WebFXTabPane.getCookie("webfxtab_" + this.element.id));

    		if (isNaN(tabIndex))

    		{

    			tabIndex = 0;

            }

    	}

    }

	else

	{

        var tabIndex = document.formtab.viewtab.value;

    }

    

	this.selectedIndex = tabIndex;

	

	// loop through child nodes and add them

	var cs = el.childNodes;

	var n;

	for (var i = 0; i < cs.length; i++) {

		if (cs[i].nodeType == 1 && cs[i].className == "tab-page") {

			this.addTabPage( cs[i] );

		}

	}

}



WebFXTabPane.prototype.classNameTag = "dynamic-tab-pane-control";



WebFXTabPane.prototype.setSelectedIndex = function ( n ) 

{

	if (this.selectedIndex != n) 

	{

		if (this.selectedIndex != null && this.pages[ this.selectedIndex ] != null )

			this.pages[ this.selectedIndex ].hide();

		this.selectedIndex = n;

		this.pages[ this.selectedIndex ].show();

		

		if ( this.useCookie )

			WebFXTabPane.setCookie( "webfxtab_" + this.element.id, n );	// session cookie

	}

};

	

WebFXTabPane.prototype.getSelectedIndex = function () 

{

	return this.selectedIndex;

};

	

WebFXTabPane.prototype.addTabPage = function ( oElement ) 

{

	if ( !hasSupport() ) return;

	

	if ( oElement.tabPage == this )	// already added

		return oElement.tabPage;



	var n = this.pages.length;

	var tp = this.pages[n] = new WebFXTabPage( oElement, this, n );

	tp.tabPane = this;

	

	// move the tab out of the box

	this.tabRow.appendChild( tp.tab );

			

	if ( n == this.selectedIndex )

		tp.show();

	else

		tp.hide();



	return tp;

};

	

WebFXTabPane.prototype.dispose = function () 

{

	this.element.tabPane = null;

	this.element = null;		

	this.tabRow = null;

	

	for (var i = 0; i < this.pages.length; i++) 

	{

		this.pages[i].dispose();

		this.pages[i] = null;

	}

	this.pages = null;

};



// Cookie handling

WebFXTabPane.setCookie = function ( sName, sValue, nDays ) 

{

	var expires = "";

	if ( nDays ) 

	{

		var d = new Date();

		d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 );

		expires = "; expires=" + d.toGMTString();

	}

	document.cookie = sName + "=" + sValue + expires + "; path=/";

};



WebFXTabPane.getCookie = function (sName) 

{

	var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" );

	var res = re.exec( document.cookie );

	return res != null ? res[3] : null;

};



WebFXTabPane.removeCookie = function ( name ) 

{

	setCookie( name, "", -1 );

};



function WebFXTabPage( el, tabPane, nIndex ) 

{

	if ( !hasSupport() || el == null ) return;

	

	this.element = el;

	this.element.tabPage = this;

	this.index = nIndex;

	

	var cs = el.childNodes;

	for (var i = 0; i < cs.length; i++) 

	{

		if (cs[i].nodeType == 1 && cs[i].className == "tab") 

		{

			this.tab = cs[i];

			break;

		}

	}

	

	// insert a tag around content to support keyboard navigation

	var a = document.createElement( "A" );

	this.aElement = a;

	a.href = "#";

	a.onclick = function () { return false; };

	while ( this.tab.hasChildNodes() )

		a.appendChild( this.tab.firstChild );

	this.tab.appendChild( a );



	

	// hook up events, using DOM0

	var oThis = this;

	this.tab.onclick = function () { oThis.select(); };

	this.tab.onmouseover = function () { WebFXTabPage.tabOver( oThis ); };

	this.tab.onmouseout = function () { WebFXTabPage.tabOut( oThis ); };

}



WebFXTabPage.prototype.show = function () 

{

	var el = this.tab;

	var s = el.className + " selected";

	s = s.replace(/ +/g, " ");

	el.className = s;

	

	this.element.style.display = "block";

};



WebFXTabPage.prototype.hide = function () 

{

	var el = this.tab;

	var s = el.className;

	s = s.replace(/ selected/g, "");

	el.className = s;



	this.element.style.display = "none";

};

	

WebFXTabPage.prototype.select = function () 

{

	this.tabPane.setSelectedIndex( this.index );

};

	

WebFXTabPage.prototype.dispose = function () 

{

	this.aElement.onclick = null;

	this.aElement = null;

	this.element.tabPage = null;

	this.tab.onclick = null;

	this.tab.onmouseover = null;

	this.tab.onmouseout = null;

	this.tab = null;

	this.tabPane = null;

	this.element = null;

};



WebFXTabPage.tabOver = function ( tabpage ) 

{

	var el = tabpage.tab;

	var s = el.className + " hover";

	s = s.replace(/ +/g, " ");

	el.className = s;

};



WebFXTabPage.tabOut = function ( tabpage ) 

{

	var el = tabpage.tab;

	var s = el.className;

	s = s.replace(/ hover/g, "");

	el.className = s;

};





// This function initializes all uninitialized tab panes and tab pages

function setupAllTabs() 

{

	if ( !hasSupport() ) return;



	var all = document.getElementsByTagName( "*" );

	var l = all.length;

	var tabPaneRe = /tab\-pane/;

	var tabPageRe = /tab\-page/;

	var cn, el;

	var parentTabPane;

	

	for ( var i = 0; i < l; i++ ) {

		el = all[i]

		cn = el.className;



		// no className

		if ( cn == "" ) continue;

		

		// uninitiated tab pane

		if ( tabPaneRe.test( cn ) && !el.tabPane )

			new WebFXTabPane( el );

	

		// unitiated tab page wit a valid tab pane parent

		else if ( tabPageRe.test( cn ) && !el.tabPage &&

					tabPaneRe.test( el.parentNode.className ) ) {

			el.parentNode.tabPane.addTabPage( el );			

		}

	}

}



function disposeAllTabs() 

{

	if ( !hasSupport() ) return;

	

	var all = document.getElementsByTagName( "*" );

	var l = all.length;

	var tabPaneRe = /tab\-pane/;

	var cn, el;

	var tabPanes = [];

	

	for ( var i = 0; i < l; i++ ) {

		el = all[i]

		cn = el.className;



		// no className

		if ( cn == "" ) continue;

		

		// tab pane

		if ( tabPaneRe.test( cn ) && el.tabPane )

			tabPanes[tabPanes.length] = el.tabPane;

	}

	

	for (var i = tabPanes.length - 1; i >= 0; i--) {

		tabPanes[i].dispose();

		tabPanes[i] = null;

	}

}



// DOM2

if ( typeof window.addEventListener != "undefined" )

	window.addEventListener( "load", setupAllTabs, false );



// IE 

else if ( typeof window.attachEvent != "undefined" ) 

{

	window.attachEvent( "onload", setupAllTabs );

	window.attachEvent( "onunload", disposeAllTabs );

}



else 

{

	if ( window.onload != null ) 

	{

		var oldOnload = window.onload;

		window.onload = function ( e ) 

		{

			oldOnload( e );

			setupAllTabs();

		};

	}

	else 

		window.onload = setupAllTabs;

}



function changerow(nRowID) 

{

	document.getElementById("row" + nRowID).className = 'newstyle';

}



function highlightRow (checkbox, color) 

{

	var tr;

	if (checkbox.parentNode) 

	{

		tr = checkbox.parentNode;

		while (tr.nodeName.toLowerCase() != 'tr')

		tr = tr.parentNode;

	}

	else if (checkbox.parentElement) 

	{

		tr = checkbox.parentElement;

		while (tr.tagName.toLowerCase() != 'tr')

		tr = tr.parentElement;

	}

	if (tr) 

	{

		if (checkbox.checked) 

		{

			tr.oldBackgroundColor = tr.style.backgroundColor;

			tr.style.backgroundColor = color;

		}

		else 

		{

			tr.style.backgroundColor = tr.oldBackgroundColor;

		}

	}

}



function checkAll(field) 

{

	for (i = 0; i < field.length; i++)

		field[i].checked = true ;

}



var accessKeyEnabled = true;



function useAccessKey (evt) 

{

	if (accessKeyEnabled == true) 

	{

		if (event.altKey) 

		{

			event.srcElement.click();

		}

	} 

	else 

	{

		event.srcElement.blur();

		accessKeyEnabled = true;

	}

}



function releaseAccessKey() 

{

	if (accessKeyEnabled == false) 

	{

		accessKeyEnabled = true;

	}

}



function initAccessKey() 

{

	if (navigator.appName == "Microsoft Internet Explorer") 

	{

		for (i=0;i<document.all.length;i++) 

		{

			a = document.all(i);

			if (a.tagName == 'A' && a.accessKey != '') 

			{

				a.blur();

				a.onfocus = useAccessKey;

			}

		}

		if (event.altKey) 

		{

			accessKeyEnabled = false;

			document.onkeyup = releaseAccessKey;

			setTimeout ('releaseAccessKey()', 100);

		}

	}

}



function findObj(n, d) 

{

  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=findObj(n,d.layers[i].document);

	if(!x && document.getElementById) x=document.getElementById(n); return x;

}



function openWindow(theURL,winName,features) 

{

	window.open(theURL,winName,features);

	return false;

}



function setTextOfLayer(objName,newText) 

{

	while (obj = document.getElementById(objName)) 

	{

		with (obj)

			if (document.layers) 

			{

				document.write(unescape(newText)); document.close();

			}

			else innerHTML = unescape(newText);

		obj.id = '';

	}

}



function showLayer(obj) 

{

	if (obj.style) 

		obj=obj.style; 

    

	obj.display = 'block'

}



function hideLayer(obj) 

{

	if (obj.style) 

		obj=obj.style; 

    

	obj.display = 'none'

}



function insertQuotePrompt() 

{

    var _quote = prompt("Enter some QUOTE text here");

  	if (_quote) 

	{

		editor._iframe.contentWindow.focus();

    	editor.insertHTML("[QUOTE]"+_quote+"[/QUOTE]");

  	}

}



function insertQuoteNamePrompt() 

{

    var _name = prompt("Enter some Name here");

  	var _quote = prompt("Enter some QUOTE text here");

  	if (_quote && _name) 

	{

		editor._iframe.contentWindow.focus();

    	editor.insertHTML("[QUOTE="+_name+"]"+HTMLArea.htmlEncode(_quote)+"[/QUOTE]");

  	}

}



function insertQuote(_quote) 

{

    if (_quote) 

	{

		editor._iframe.contentWindow.focus();

    	editor.insertHTML("[QUOTE]"+_quote+"[/QUOTE]");

  	}

}



function insertQuoteName(_name,_quote) 

{

    if (_quote && _name) 

	{

        editor._iframe.contentWindow.focus();

        editor.insertHTML("[QUOTE="+_name+"]"+HTMLArea.htmlEncode(_quote)+"[/QUOTE]");

  	}

}



/*==========================================================================*\

|| ######################################################################## ||

|| # -------------------------------------------------------------------- #	||

|| # Title........: Auction Image SlideShow System

|| # -------------------------------------------------------------------- # ||

|| ######################################################################## ||

\*==========================================================================*/

var rotate_delay = 5000; // delay in milliseconds (5000 = 5 secs)

current = 0;

function next() 

{

	if (document.slideform.slide[current+1]) 

	{

		document.images.show.src = document.slideform.slide[current+1].value;

		document.slideform.slide.selectedIndex = ++current;

   }

	else first();

}



function previous() 

{

	if (current-1 >= 0) 

	{

		document.images.show.src = document.slideform.slide[current-1].value;

		document.slideform.slide.selectedIndex = --current;

   }

	else last();

}



function first() 

{

	current = 0;

	document.images.show.src = document.slideform.slide[0].value;

	document.slideform.slide.selectedIndex = 0;

}



function last() 

{

	current = document.slideform.slide.length-1;

	document.images.show.src = document.slideform.slide[current].value;

	document.slideform.slide.selectedIndex = current;

}



function ap(text) 

{

	document.slideform.slidebutton.value = (text == "Stop") ? "Start" : "Stop";

	rotate();

}



function change() 

{

	current = document.slideform.slide.selectedIndex;

	document.images.show.src = document.slideform.slide[current].value;

}



function rotate() 

{

	if (document.slideform.slidebutton.value == "Stop") 

	{

		current = (current == document.slideform.slide.length-1) ? 0 : current+1;

		document.images.show.src = document.slideform.slide[current].value;

		document.slideform.slide.selectedIndex = current;

		window.setTimeout("rotate()", rotate_delay);

	}

}



function urlswitch(styleobj, _type)

{

	var themeid = styleobj.options[styleobj.selectedIndex].value;

    

	if (themeid == "")

	{

		return;

	}



	var url = new String(window.location);

	var fragment = new String("");



	url = url.split("#");



	if (url[1])

	{

		fragment = "#" + url[1];

	}



	url = url[0];



    if (_type == "dostyle")

    {

    	if (url.indexOf("styleid=") != -1)

    	{

    		re = new RegExp("styleid=\\d+&?");

    		url = url.replace(re, "");

    	}

    }

    else

    {

        if (url.indexOf("language=") != -1)

    	{

    		re = new RegExp("language=\\d+&?");

    		url = url.replace(re, "");

    	}

    }



	if (url.indexOf("?") == -1)

	{

		url += "?";

	}

	else

	{

		endchar = url.substr(url.length - 1);

		if (endchar != "&" && endchar != "?")

		{

			url += "&";

		}

	}

	

	if (_type == "dostyle")

	{

        window.location = url + "styleid=" + themeid + fragment;     }

    else

    {

        window.location = url + "language=" + themeid + fragment;

    }

}



var opt = new OptionTransfer("list1","list2");

var opt2 = new OptionTransfer("list3","list4");



opt.setAutoSort(false);

opt.setDelimiter(",");

opt.saveNewRightOptions("newRight");



opt2.setAutoSort(false);

opt2.setDelimiter(",");

opt2.saveNewRightOptions("newRight2");



function selectUnselectMatchingOptions(obj,regex,which,only)

{

	if (window.RegExp)

	{

		if (which == "select")

		{

			var selected1=true;

			var selected2=false;

		}

		else if (which == "unselect")

		{

			var selected1=false;

			var selected2=true;

		}

		else

		{

			return;

		}

		var re = new RegExp(regex);

		for (var i=0; i<obj.options.length; i++)

		{

			if (re.test(obj.options[i].text))

			{

				obj.options[i].selected = selected1;

			}

			else

			{

				if (only == true)

				{

					obj.options[i].selected = selected2;

				}

			}

		}

	}

}



function selectMatchingOptions(obj,regex)

{

	selectUnselectMatchingOptions(obj,regex,"select",false);

}



function selectOnlyMatchingOptions(obj,regex)

{

	selectUnselectMatchingOptions(obj,regex,"select",true);

}



function unSelectMatchingOptions(obj,regex)

{

	selectUnselectMatchingOptions(obj,regex,"unselect",false);

}



function sortSelect(obj)

{

	var o = new Array();

	if (obj.options==null)

	{

		return;

	}

	for (var i=0; i<obj.options.length; i++)

	{

		o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;

	}

	if (o.length==0)

	{

		return;

	}

	o = o.sort(

		function(a,b)

		{

			if ((a.text+"") < (b.text+""))

			{

				return -1;

			}

			if ((a.text+"") > (b.text+""))

			{

				return 1;

			}

			return 0;

		}

	);



	for (var i=0; i<o.length; i++)

	{

		obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);

	}

}



function selectAllOptions(obj)

{

	for (var i=0; i<obj.options.length; i++)

	{

		obj.options[i].selected = true;

	}

}



function moveSelectedOptions(from,to)

{

	// Unselect matching options, if required

	if (arguments.length>3)

	{

		var regex = arguments[3];

		if (regex != "")

		{

			unSelectMatchingOptions(from,regex);

		}

	}

	// Move them over

	for (var i=0; i<from.options.length; i++)

	{

		var o = from.options[i];

		if (o.selected)

		{

			to.options[to.options.length] = new Option( o.text, o.value, false, false);

		}

	}

	// Delete them from original

	for (var i=(from.options.length-1); i>=0; i--)

	{

		var o = from.options[i];

		if (o.selected)

		{

			from.options[i] = null;

		}

	}

	if ((arguments.length<3) || (arguments[2]==true))

	{

		sortSelect(from);

		sortSelect(to);

	}

	from.selectedIndex = -1;

	to.selectedIndex = -1;

}



function copySelectedOptions(from,to)

{

	var options = new Object();

	for (var i=0; i<to.options.length; i++)

	{

		options[to.options[i].text] = true;

	}

	for (var i=0; i<from.options.length; i++)

	{

		var o = from.options[i];

		if (o.selected)

		{

			if (options[o.text] == null || options[o.text] == "undefined")

			{

				to.options[to.options.length] = new Option( o.text, o.value, false, false);

			}

		}

	}

	if ((arguments.length<3) || (arguments[2]==true))

	{

		sortSelect(to);

	}

	from.selectedIndex = -1;

	to.selectedIndex = -1;

}



function moveAllOptions(from,to)

{

	selectAllOptions(from);

	if (arguments.length==2)

	{

		moveSelectedOptions(from,to);

	}

	else if (arguments.length==3)

	{

		moveSelectedOptions(from,to,arguments[2]);

	}

	else if (arguments.length==4)

	{

		moveSelectedOptions(from,to,arguments[2],arguments[3]);

	}

}



function copyAllOptions(from,to)

{

	selectAllOptions(from);

	if (arguments.length==2)

	{

		copySelectedOptions(from,to);

	}

	else if (arguments.length==3)

	{

		copySelectedOptions(from,to,arguments[2]);

	}

}



function swapOptions(obj,i,j)

{

	var o = obj.options;

	var i_selected = o[i].selected;

	var j_selected = o[j].selected;

	var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);

	var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);

	o[i] = temp2;

	o[j] = temp;

	o[i].selected = j_selected;

	o[j].selected = i_selected;

}



function moveOptionUp(obj)

{

	// If > 1 option selected, do nothing

	var selectedCount=0;

	for (i=0; i<obj.options.length; i++)

	{

		if (obj.options[i].selected)

		{

			selectedCount++;

		}

	}

	if (selectedCount!=1)

	{

		return;

	}

	// If this is the first item in the list, do nothing

	var i = obj.selectedIndex;

	if (i == 0)

	{

		return;

	}

	swapOptions(obj,i,i-1);

	obj.options[i-1].selected = true;

}



function moveOptionDown(obj)

{

	// If > 1 option selected, do nothing

	var selectedCount=0;

	for (i=0; i<obj.options.length; i++)

	{

		if (obj.options[i].selected)

		{

			selectedCount++;

		}

	}

	if (selectedCount != 1)

	{

		return;

	}

	// If this is the last item in the list, do nothing

	var i = obj.selectedIndex;

	if (i == (obj.options.length-1))

	{

		return;

	}

	swapOptions(obj,i,i+1);

	obj.options[i+1].selected = true;

}



function removeSelectedOptions(from)

{

	for (var i=(from.options.length-1); i>=0; i--)

	{

		var o=from.options[i];

		if (o.selected)

		{

			from.options[i] = null;

		}

	}

	from.selectedIndex = -1;

}



function OT_transferLeft()

{

	moveSelectedOptions(this.right,this.left,this.autoSort); this.update();

}



function OT_transferRight()

{

	moveSelectedOptions(this.left,this.right,this.autoSort); this.update();

}



function OT_transferAllLeft()

{

	moveAllOptions(this.right,this.left,this.autoSort); this.update();

}



function OT_transferAllRight()

{

	moveAllOptions(this.left,this.right,this.autoSort); this.update();

}



function OT_saveRemovedLeftOptions(f)

{

	this.removedLeftField = f;

}



function OT_saveRemovedRightOptions(f)

{

	this.removedRightField = f;

}



function OT_saveAddedLeftOptions(f)

{

	this.addedLeftField = f;

}



function OT_saveAddedRightOptions(f)

{

	this.addedRightField = f;

}



function OT_saveNewLeftOptions(f)

{

	this.newLeftField = f;

}



function OT_saveNewRightOptions(f)

{

	this.newRightField = f;

}



function OT_update()

{

	var removedLeft = new Object();

	var removedRight = new Object();

	var addedLeft = new Object();

	var addedRight = new Object();

	var newLeft = new Object();

	var newRight = new Object();

	for (var i=0;i<this.left.options.length;i++)

	{

		var o=this.left.options[i];

		newLeft[o.value]=1;

		if (typeof(this.originalLeftValues[o.value])=="undefined")

		{

			addedLeft[o.value]=1;

			removedRight[o.value]=1;

		}

	}

	for (var i=0;i<this.right.options.length;i++)

	{

		var o=this.right.options[i];

		newRight[o.value]=1;

		if (typeof(this.originalRightValues[o.value])=="undefined")

		{

			addedRight[o.value]=1;

			removedLeft[o.value]=1;

		}

	}

	if (this.removedLeftField!=null)

	{

		this.removedLeftField.value = OT_join(removedLeft,this.delimiter);

	}

	if (this.removedRightField!=null)

	{

		this.removedRightField.value = OT_join(removedRight,this.delimiter);

	}

	if (this.addedLeftField!=null)

	{

		this.addedLeftField.value = OT_join(addedLeft,this.delimiter);

	}

	if (this.addedRightField!=null)

	{

		this.addedRightField.value = OT_join(addedRight,this.delimiter);

	}

	if (this.newLeftField!=null)

	{

		this.newLeftField.value = OT_join(newLeft,this.delimiter);

	}

	if (this.newRightField!=null)

	{

		this.newRightField.value = OT_join(newRight,this.delimiter);

	}

}



function OT_join(o,delimiter)

{

	var val; var str="";

	for(val in o)

	{

		if (str.length>0)

		{

			str=str+delimiter;

		}

		str=str+val;

	}

	return str;

}



function OT_setDelimiter(val)

{

	this.delimiter=val;

}



function OT_setAutoSort(val)

{

	this.autoSort=val;

}



function OT_init(theform)

{

	this.form = theform;

	if(!theform[this.left])

	{

		return false;

	}

	if(!theform[this.right])

	{

		return false;

	}

	this.left=theform[this.left];

	this.right=theform[this.right];

	for(var i=0;i<this.left.options.length;i++)

	{

		this.originalLeftValues[this.left.options[i].value]=1;

	}

	for(var i=0;i<this.right.options.length;i++)

	{

		this.originalRightValues[this.right.options[i].value]=1;

	}

	if(this.removedLeftField!=null)

	{

		this.removedLeftField=theform[this.removedLeftField];

	}

	if(this.removedRightField!=null)

	{

		this.removedRightField=theform[this.removedRightField];

	}

	if(this.addedLeftField!=null)

	{

		this.addedLeftField=theform[this.addedLeftField];

	}

	if(this.addedRightField!=null)

	{

		this.addedRightField=theform[this.addedRightField];

	}

	if(this.newLeftField!=null)

	{

		this.newLeftField=theform[this.newLeftField];

	}

	if(this.newRightField!=null)

	{

		this.newRightField=theform[this.newRightField];

	}

	this.update();

}



function OptionTransfer(l,r)

{

	this.form = null;

	this.left=l;

	this.right=r;

	this.autoSort=false;

	this.delimiter=",";

	this.originalLeftValues = new Object();

	this.originalRightValues = new Object();

	this.removedLeftField = null;

	this.removedRightField = null;

	this.addedLeftField = null;

	this.addedRightField = null;

	this.newLeftField = null;

	this.newRightField = null;

	this.transferLeft=OT_transferLeft;

	this.transferRight=OT_transferRight;

	this.transferAllLeft=OT_transferAllLeft;

	this.transferAllRight=OT_transferAllRight;

	this.saveRemovedLeftOptions=OT_saveRemovedLeftOptions;

	this.saveRemovedRightOptions=OT_saveRemovedRightOptions;

	this.saveAddedLeftOptions=OT_saveAddedLeftOptions;

	this.saveAddedRightOptions=OT_saveAddedRightOptions;

	this.saveNewLeftOptions=OT_saveNewLeftOptions;

	this.saveNewRightOptions=OT_saveNewRightOptions;

	this.setDelimiter=OT_setDelimiter;

	this.setAutoSort=OT_setAutoSort;

	this.init=OT_init;

	this.update=OT_update;

}



function AJAX_Handler(async)

{

	this.async = async ? true : false;

}



AJAX_Handler.prototype.init = function()

{

	try

	{

		this.handler = new XMLHttpRequest();

		return (this.handler.setRequestHeader ? true : false);

	}

	catch(e)

	{

		try

		{

			this.handler = eval("new A" + "ctiv" + "eX" + "Ob" + "ject('Micr" + "osoft.XM" + "LHTTP');");

			return true;

		}

		catch(e)

		{

			return false;

		}

	}

}



AJAX_Handler.prototype.not_ready = function()

{

	return (this.handler.readyState && (this.handler.readyState < 4));

}



AJAX_Handler.prototype.onreadystatechange = function(event)

{

	if (!this.handler)

	{

		if  (!this.init())

		{

			return false;

		}

	}

	if (typeof event == 'function')

	{

		this.handler.onreadystatechange = event;

	}

	else

	{

		alert('XML Sender OnReadyState event is not a function');

	}

}



AJAX_Handler.prototype.send = function(url, data)

{

	if (!this.handler)

	{

		if (!this.init())

		{

			return false;

		}

	}

	if (!this.not_ready())

	{

		this.handler.open('POST', url, this.async);

		this.handler.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

		this.handler.send(data + '&s=' + fetch_session_hash());



		if (!this.async && this.handler.readyState == 4 && this.handler.status == 200)

		{

			return true;

		}

	}

	return false;

}
