function Set(formname, fieldname, fieldvalue, submit)
{
	document.forms[formname].elements[fieldname].value	= fieldvalue;
	if (submit)
	{
		document.forms[formname].submit();
	}
}
function showimageurl(theURL,laius,korgus) 
{
	today= new Date();
	seconds= today.getSeconds();	window.open(theURL,'aken','resizable=1,scrollbars=0,statusbar=0,toolbar=0,width='+laius+',height='+korgus+',top=80,left=80');
}
function FullOrderData()
{
	Set('eshopForm','action', 'basket_view',0);
	Set('eshopForm','sub_action', 'order_full_view',1);
}

/**
*
*  Base64 encode / decode
*  http://www.webtoolkit.info/
*
**/

var Base64 = {

    // private property
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

    // public method for encoding
    encode : function (input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0;

        input = Base64._utf8_encode(input);

        while (i < input.length) {

            chr1 = input.charCodeAt(i++);
            chr2 = input.charCodeAt(i++);
            chr3 = input.charCodeAt(i++);

            enc1 = chr1 >> 2;
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
            enc4 = chr3 & 63;

            if (isNaN(chr2)) {
                enc3 = enc4 = 64;
            } else if (isNaN(chr3)) {
                enc4 = 64;
            }

            output = output +
            this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
            this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);

        }

        return output;
    },

    // public method for decoding
    decode : function (input) {
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;

        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

        while (i < input.length) {

            enc1 = this._keyStr.indexOf(input.charAt(i++));
            enc2 = this._keyStr.indexOf(input.charAt(i++));
            enc3 = this._keyStr.indexOf(input.charAt(i++));
            enc4 = this._keyStr.indexOf(input.charAt(i++));

            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;

            output = output + String.fromCharCode(chr1);

            if (enc3 != 64) {
                output = output + String.fromCharCode(chr2);
            }
            if (enc4 != 64) {
                output = output + String.fromCharCode(chr3);
            }

        }

        output = Base64._utf8_decode(output);

        return output;

    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}
function hello(string, obj)
{
	var aStrings = string.split('.');
	for (var i=0;i<aStrings.length;i++)
	{
		aStrings[i] = Base64.decode(aStrings[i]);
	}
	obj.href='mailto:'+aStrings.join('@');
}


function selectALL(frm, fld)
{
	for(var i=0;i<document.forms[frm].elements[fld].length;i++)
	{
		document.forms[frm].elements[fld].options[i].selected=true;
	}
	document.forms[frm].elements[fld].name=fld + '[]';
	//document.forms[frm].submit();
}

function downn(frm, fld)
{
	m2len = document.forms[frm].elements[fld].length;


	for(i=0; i<m2len; i++)
	{
		if (document.forms[frm].elements[fld].options[i].selected == true && i != m2len-1)
		{
			var this_text = document.forms[frm].elements[fld].options[i].text;
			var this_val = document.forms[frm].elements[fld].options[i].value;

			document.forms[frm].elements[fld].options[i].text = document.forms[frm].elements[fld].options[i+1].text;
			document.forms[frm].elements[fld].options[i].value = document.forms[frm].elements[fld].options[i+1].value;

			document.forms[frm].elements[fld].options[i+1].text = this_text;
			document.forms[frm].elements[fld].options[i+1].value = this_val;

			document.forms[frm].elements[fld].options[i].selected = false;
			document.forms[frm].elements[fld].options[i+1].selected = true;

			break;
		}
	}
}

function upp(frm, fld)
{
	m2len = document.forms[frm].elements[fld].length;

	for(i=0; i<m2len; i++)
	{
		if (document.forms[frm].elements[fld].options[i].selected == true && i != 0)
		{
			var this_text = document.forms[frm].elements[fld].options[i].text;
			var this_val = document.forms[frm].elements[fld].options[i].value;

			document.forms[frm].elements[fld].options[i].text = document.forms[frm].elements[fld].options[i-1].text;
			document.forms[frm].elements[fld].options[i].value = document.forms[frm].elements[fld].options[i-1].value;

			document.forms[frm].elements[fld].options[i-1].text = this_text;
			document.forms[frm].elements[fld].options[i-1].value = this_val;

			document.forms[frm].elements[fld].options[i].selected = false;
			document.forms[frm].elements[fld].options[i-1].selected = true;

			break;
		}
	}

}

function one2two(frm, fld_1, fld_2)
{
	m1len = document.forms[frm].elements[fld_1].length;

	for(i=0; i<m1len ; i++)
	{
		if (document.forms[frm].elements[fld_1].options[i].selected == true )
		{
			m2len = document.forms[frm].elements[fld_2].length;
			document.forms[frm].elements[fld_2].options[m2len]= new Option(document.forms[frm].elements[fld_1].options[i].text);
			document.forms[frm].elements[fld_2].options[m2len].value = document.forms[frm].elements[fld_1].options[i].value;
		}
	}
	for(i=(m1len -1); i>=0; i--)
	{
		if (document.forms[frm].elements[fld_1].options[i].selected == true )
		{
			document.forms[frm].elements[fld_1].options[i] = null;
		}
	}
}

function addEmptyOption(frm, fld)
{
	if(document.forms[frm].elements[fld].selectedIndex == -1) return;
	nextIndex = document.forms[frm].elements[fld].selectedIndex + 1;
	myLength = document.forms[frm].elements[fld].length;
	document.forms[frm].elements[fld].options[myLength] = new Option();
	for(i=myLength; i>nextIndex; i--)
	{
		document.forms[frm].elements[fld].options[i].text= document.forms[frm].elements[fld].options[i-1].text;
		document.forms[frm].elements[fld].options[i].value = document.forms[frm].elements[fld].options[i-1].value;
	}
	document.forms[frm].elements[fld].options[nextIndex]= new Option();
	document.forms[frm].elements[fld].options[nextIndex].text= '';
	//unikaalne väärtus, et välja ei kaotataks
	var d = new Date();
	document.forms[frm].elements[fld].options[nextIndex].value= d.getTime();
}

function removeImportField(frm, fld_1, fld_2)
{
	two2one(frm, fld_1, fld_2);
}

function addImportField(frm, fld_1, fld_2)
{
	one2two(frm, fld_1, fld_2);
}

function two2one(frm, fld_2, fld_1)
{
	m2len = document.forms[frm].elements[fld_2].length ;

	for(i=0; i<m2len ; i++)
	{
		if (document.forms[frm].elements[fld_2].options[i].selected == true )
		{
			m1len = document.forms[frm].elements[fld_1].length;
			document.forms[frm].elements[fld_1].options[m1len]= new Option(document.forms[frm].elements[fld_2].options[i].text);
			document.forms[frm].elements[fld_1].options[m1len].value = document.forms[frm].elements[fld_2].options[i].value;
		}
	}
	for(i=(m2len-1); i>=0; i--)
	{
		if (document.forms[frm].elements[fld_2].options[i].selected == true )
		{
			document.forms[frm].elements[fld_2].options[i] = null;
		}
	}
}

function openWin(Url, width, height)
{
	today= new Date();
	seconds= today.getSeconds();
	window.open(Url, seconds,"width="+width+",height="+height+",status=no,toolbar=no,statusbar=no,resizable=yes,scrollbars=no,top=100,left=100");
}
function Set(formname, fieldname, fieldvalue, submit)
{	
	document.forms[formname].elements[fieldname].value	= fieldvalue;
	if (submit)
	{
		document.forms[formname].submit();
	}
	return;	
}
function SortList(sForm, sField, sDirection, bSubmit)
{
	var sPrevSort = document.forms[sForm].field.value;
	var sPrevDirection = document.forms[sForm].direction.value;
	if (sField == sPrevSort)
	{
		if (sPrevDirection=='ASC')
		{
			document.forms[sForm].direction.value = 'DESC';
		}
		else
		{
			document.forms[sForm].direction.value = 'ASC';
		}
	}
	else
	{
		document.forms[sForm].field.value = sField;
		document.forms[sForm].direction.value = sDirection;
	}
	if (bSubmit)
	{
		document.forms[sForm].submit();
	}
	return;
}
/*returns element position*/
function findPos(obj)
{
	var curleft = curtop = 0;
	if (obj.offsetParent)
	{
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent)
		{
			if (obj.style.left!='')
			{
				return [curleft, curtop];
				/*
				curleft += parseInt(obj.style.left,10);
				curtop +=parseInt(obj.style.top,10);*/
				
			}
			else
			{
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			}
		}
	}
	return [curleft, curtop];
}
/*returns element position*/

